24 #include <vdpau/vdpau.h>
41 info->forward_reference = VDP_INVALID_HANDLE;
42 info->backward_reference = VDP_INVALID_HANDLE;
47 assert(ref != VDP_INVALID_HANDLE);
48 info->backward_reference = ref;
52 info->forward_reference = ref;
55 info->slice_count = 0;
66 info->full_pel_forward_vector = s->
full_pel[0];
67 info->full_pel_backward_vector = s->
full_pel[1];
73 for (i = 0; i < 64; ++i) {
75 info->non_intra_quantizer_matrix[i] = s->
inter_matrix[i];
97 #if CONFIG_MPEG1_VDPAU_HWACCEL
99 .
name =
"mpeg1_vdpau",
110 #if CONFIG_MPEG2_VDPAU_HWACCEL
112 .
name =
"mpeg2_vdpau",
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)
static int vdpau_mpeg_decode_slice(AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
VdpPictureInfoMPEG1Or2 mpeg
Public libavcodec VDPAU header.
const char * name
Name of the hardware accelerated codec.
Picture * current_picture_ptr
pointer to the current picture
void * hwaccel_picture_private
hardware accelerator private data
preferred ID for MPEG-1/2 video decoding
uint16_t inter_matrix[64]
int concealment_motion_vectors
Libavcodec external API header.
int ff_vdpau_mpeg_end_frame(AVCodecContext *avctx)
main external API structure.
HW acceleration through VDPAU, Picture.data[3] contains a VdpVideoSurface.
int pict_type
AV_PICTURE_TYPE_I, AV_PICTURE_TYPE_P, AV_PICTURE_TYPE_B, ...
int ff_vdpau_add_buffer(struct vdpau_picture_context *pic_ctx, const uint8_t *buf, uint32_t size)
Picture last_picture
copy of the previous picture structure.
Picture next_picture
copy of the next picture structure.
uint16_t intra_matrix[64]
matrix transmitted in the bitstream
static int vdpau_mpeg_start_frame(AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
static uintptr_t ff_vdpau_get_surface_id(AVFrame *pic)
Extract VdpVideoSurface from an AVFrame.