24 #include <vdpau/vdpau.h>
36 VdpPictureInfoMPEG4Part2 *info = &pic_ctx->info.mpeg4;
41 info->forward_reference = VDP_INVALID_HANDLE;
42 info->backward_reference = VDP_INVALID_HANDLE;
43 info->vop_coding_type = 0;
48 assert(ref != VDP_INVALID_HANDLE);
49 info->backward_reference = ref;
50 info->vop_coding_type = 2;
54 assert(ref != VDP_INVALID_HANDLE);
55 info->forward_reference = ref;
63 info->vop_fcode_forward = s->
f_code;
64 info->vop_fcode_backward = s->
b_code;
73 for (i = 0; i < 64; ++i) {
75 info->non_intra_quantizer_matrix[i] = s->
inter_matrix[i];
89 #if CONFIG_H263_VDPAU_HWACCEL
98 .priv_data_size =
sizeof(
struct vdpau_picture_context),
102 #if CONFIG_MPEG4_VDPAU_HWACCEL
104 .
name =
"mpeg4_vdpau",
111 .priv_data_size =
sizeof(
struct vdpau_picture_context),
AVRational time_base
This is the fundamental unit of time (in seconds) in terms of which frame timestamps are represented...
int no_rounding
apply no rounding to motion compensation (MPEG4, msmpeg4, ...) for b-frames rounding mode is always 0...
int resync_marker
could this stream contain resync markers
uint16_t pp_time
time distance between the last 2 p,s,i frames
int ff_vdpau_common_start_frame(Picture *pic, av_unused const uint8_t *buffer, av_unused uint32_t size)
static uintptr_t ff_vdpau_get_surface_id(Picture *pic)
Extract VdpVideoSurface from a Picture.
int quarter_sample
1->qpel, 0->half pel ME/MC
Libavcodec external API header.
#define av_unused
Disable warnings about deprecated features This is useful for sections of code kept for backward comp...
static int vdpau_mpeg4_decode_slice(av_unused AVCodecContext *avctx, av_unused const uint8_t *buffer, av_unused uint32_t size)
Picture * current_picture_ptr
pointer to the current picture
void * hwaccel_picture_private
hardware accelerator private data
const char * name
Name of the hardware accelerated codec.
uint16_t inter_matrix[64]
int ff_vdpau_mpeg_end_frame(AVCodecContext *avctx)
main external API structure.
int f_code
forward MV resolution
int pict_type
AV_PICTURE_TYPE_I, AV_PICTURE_TYPE_P, AV_PICTURE_TYPE_B, ...
Public libavcodec VDPAU header.
uint16_t pb_field_time
like above, just for interlaced
struct AVCodecContext * avctx
Picture last_picture
copy of the previous picture structure.
static int vdpau_mpeg4_start_frame(AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
int ff_vdpau_add_buffer(Picture *pic, const uint8_t *buf, uint32_t size)
Picture next_picture
copy of the next picture structure.
HW acceleration through VDPAU, Picture.data[3] contains a VdpVideoSurface.
uint16_t intra_matrix[64]
matrix transmitted in the bitstream
int b_code
backward MV resolution for B Frames (mpeg4)
uint16_t pb_time
time distance between the last b and p,s,i frame