51 #if CONFIG_H263_VDPAU_HWACCEL || CONFIG_MPEG1_VDPAU_HWACCEL || \ 52 CONFIG_MPEG2_VDPAU_HWACCEL || CONFIG_MPEG4_VDPAU_HWACCEL || \ 53 CONFIG_VC1_VDPAU_HWACCEL || CONFIG_WMV3_VDPAU_HWACCEL 85 buffers->struct_version = VDP_BITSTREAM_BUFFER_VERSION;
86 buffers->bitstream = buf;
87 buffers->bitstream_bytes =
size;
93 #define PROFILE(prof) \ 105 default:
return AVERROR(EINVAL);
112 default:
return AVERROR(EINVAL);
120 default:
return AVERROR(EINVAL);
128 default:
return AVERROR(EINVAL);
#define FF_PROFILE_H264_MAIN
#define FF_PROFILE_MPEG4_SIMPLE
#define FF_PROFILE_MPEG2_MAIN
union AVVDPAUPictureInfo info
VDPAU picture information.
int ff_vdpau_common_start_frame(struct vdpau_picture_context *pic_ctx, av_unused const uint8_t *buffer, av_unused uint32_t size)
#define FF_PROFILE_H264_INTRA
int bitstream_buffers_used
Useful bitstream buffers in the bitstream buffers table.
Public libavcodec VDPAU header.
AVVDPAUContext * av_vdpau_alloc_context(void)
Allocate an AVVDPAUContext.
void av_freep(void *arg)
Free a memory block which has been allocated with av_malloc(z)() or av_realloc() and set the pointer ...
void ff_mpeg_draw_horiz_band(MpegEncContext *s, int y, int h)
VdpBitstreamBuffer * bitstream_buffers
Table of bitstream buffers.
#define FF_PROFILE_H264_BASELINE
void * hwaccel_context
Hardware accelerator context.
VdpDecoder decoder
VDPAU decoder handle.
int av_vdpau_get_profile(AVCodecContext *avctx, VdpDecoderProfile *profile)
Get a decoder profile that should be used for initializing a VDPAU decoder.
H.264 / AVC / MPEG4 part10 codec.
void * av_fast_realloc(void *ptr, unsigned int *size, size_t min_size)
Reallocate the given block if it is not large enough, otherwise do nothing.
This structure is used to share data between the libavcodec library and the client video application...
#define FF_PROFILE_H264_HIGH
int bitstream_buffers_allocated
Allocated size of the bitstream_buffers table.
#define FF_PROFILE_VC1_MAIN
Picture * current_picture_ptr
pointer to the current picture
void * hwaccel_picture_private
hardware accelerator private data
#define FF_PROFILE_VC1_SIMPLE
preferred ID for MPEG-1/2 video decoding
Libavcodec external API header.
int ff_vdpau_mpeg_end_frame(AVCodecContext *avctx)
main external API structure.
#define FF_PROFILE_MPEG4_ADVANCED_SIMPLE
VdpDecoderRender * render
VDPAU decoder render callback.
struct AVCodecContext * avctx
int ff_vdpau_add_buffer(struct vdpau_picture_context *pic_ctx, const uint8_t *buf, uint32_t size)
#define FF_PROFILE_VC1_ADVANCED
#define FF_PROFILE_MPEG2_SIMPLE
#define FF_PROFILE_H264_CONSTRAINED_BASELINE
void * av_mallocz(size_t size)
Allocate a block of size bytes with alignment suitable for all memory accesses (including vectors if ...
static uintptr_t ff_vdpau_get_surface_id(AVFrame *pic)
Extract VdpVideoSurface from an AVFrame.