45 VdpReferenceFrameH264 *rf, *rf2;
47 int i, list, pic_frame_idx;
52 rf = &render->
info.
h264.referenceFrames[0];
53 #define H264_RF_COUNT FF_ARRAY_ELEMS(render->info.h264.referenceFrames)
55 for (list = 0; list < 2; ++list) {
59 for (i = 0; i < ls; ++i) {
68 rf2 = &render->
info.
h264.referenceFrames[0];
71 (rf2->surface == render_ref->
surface)
72 && (rf2->is_long_term == pic->
long_ref)
73 && (rf2->frame_idx == pic_frame_idx)
87 rf->surface = render_ref->
surface;
91 rf->field_order_cnt[0] = pic->
field_poc[0];
92 rf->field_order_cnt[1] = pic->
field_poc[1];
93 rf->frame_idx = pic_frame_idx;
100 rf->surface = VDP_INVALID_HANDLE;
101 rf->is_long_term = 0;
102 rf->top_is_reference = 0;
103 rf->bottom_is_reference = 0;
104 rf->field_order_cnt[0] = 0;
105 rf->field_order_cnt[1] = 0;
111 const uint8_t *buf,
int buf_size)
139 for (i = 0; i < 2; ++i) {
143 render->
info.
h264.field_order_cnt[i] = foc;
158 if (render->
info.
h264.slice_count < 1)
194 int buf_size,
int slice_count)
220 for (i = 0; i < 64; ++i) {
225 render->
info.
mpeg.forward_reference = VDP_INVALID_HANDLE;
226 render->
info.
mpeg.backward_reference = VDP_INVALID_HANDLE;
243 render->
info.
mpeg.slice_count = slice_count;
290 render->
info.
vc1.forward_reference = VDP_INVALID_HANDLE;
291 render->
info.
vc1.backward_reference = VDP_INVALID_HANDLE;
294 render->
info.
vc1.picture_type = 4;
313 render->
info.
vc1.slice_count = 1;
347 for (i = 0; i < 64; ++i) {
351 render->
info.
mpeg4.forward_reference = VDP_INVALID_HANDLE;
352 render->
info.
mpeg4.backward_reference = VDP_INVALID_HANDLE;
#define PICT_BOTTOM_FIELD
void ff_vdpau_h264_set_reference_frames(MpegEncContext *s)
void ff_vdpau_h264_picture_complete(MpegEncContext *s)
int chroma_qp_index_offset[2]
int extended_mv
Ext MV in P/B (not in Simple)
int broadcast
TFF/RFF present.
unsigned int ref_count[2]
num_ref_idx_l0/1_active_minus1 + 1
uint8_t rangeredfrm
Frame decoding info for S/M profiles only.
void ff_vdpau_mpeg4_decode_picture(MpegEncContext *s, const uint8_t *buf, int buf_size)
int fastuvmc
Rounding of qpel vector to hpel ? (not in Simple)
AVRational time_base
This is the fundamental unit of time (in seconds) in terms of which frame timestamps are represented...
int long_ref
1->long term reference 0->short term reference
uint8_t scaling_matrix4[6][16]
int deblocking_filter_parameters_present
deblocking_filter_parameters_present_flag
int panscanflag
NUMPANSCANWIN, TOPLEFT{X,Y}, BOTRIGHT{X,Y} present.
int interlace
Progressive/interlaced (RPTFTM syntax element)
int cabac
entropy_coding_mode_flag
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
Picture current_picture
copy of the current picture structure.
int refdist_flag
REFDIST syntax element present in II, IP, PI or PP field picture headers.
int redundant_pic_cnt_present
redundant_pic_cnt_present_flag
uint16_t pp_time
time distance between the last 2 p,s,i frames
int psf
Progressive Segmented Frame.
H.264 / AVC / MPEG4 part10 codec.
int mb_aff
mb_adaptive_frame_field_flag
VdpBitstreamBuffer * bitstream_buffers
The user is responsible for freeing this buffer using av_freep().
int overlap
overlapped transforms in use
int poc_type
pic_order_cnt_type
int constrained_intra_pred
constrained_intra_pred_flag
int reference
is this picture used as reference The values for this are the same as the MpegEncContext.picture_structure variable, that is 1->top field, 2->bottom field, 3->frame/both fields.
int weighted_pred
weighted_pred_flag
int quarter_sample
1->qpel, 0->half pel ME/MC
int postprocflag
Per-frame processing suggestion flag present.
int delta_pic_order_always_zero_flag
uint8_t scaling_matrix8[6][64]
int ref_frame_count
num_ref_frames
int tfcntrflag
TFCNTR present.
Picture * current_picture_ptr
pointer to the current picture
void ff_vdpau_h264_picture_start(MpegEncContext *s)
VdpPictureInfoMPEG4Part2 mpeg4
int init_qp
pic_init_qp_minus26 + 26
int frame_num
h264 frame_num (raw frame_num from slice header)
int direct_8x8_inference_flag
void ff_vdpau_add_data_chunk(MpegEncContext *s, const uint8_t *buf, int buf_size)
int pic_order_present
pic_order_present_flag
int rangered
RANGEREDFRM (range reduction) syntax element present at frame level.
int finterpflag
INTERPFRM present.
uint16_t inter_matrix[64]
int concealment_motion_vectors
int multires
frame-level RESPIC syntax element present
int bitstream_buffers_used
int extended_dmv
Additional extended dmv range at P/B frame-level.
int bitstream_buffers_allocated
Describe size/location of the compressed video data.
void ff_draw_horiz_band(MpegEncContext *s, int y, int h)
int quantizer_mode
2bits, quantizer mode used for sequence, see QUANT_*
int f_code
forward MV resolution
int log2_max_poc_lsb
log2_max_pic_order_cnt_lsb_minus4
int max_b_frames
max number of b-frames for encoding
int pict_type
AV_PICTURE_TYPE_I, AV_PICTURE_TYPE_P, AV_PICTURE_TYPE_B, ...
int vstransform
variable-size [48]x[48] transform type + info
int field_poc[2]
h264 top/bottom POC
int transform_8x8_mode
transform_8x8_mode_flag
uint16_t pb_field_time
like above, just for interlaced
uint8_t * data[AV_NUM_DATA_POINTERS]
pointer to the picture/channel planes.
struct AVCodecContext * avctx
VdpPictureInfoMPEG1Or2 mpeg
This structure is used as a callback between the Libav decoder (vd_) and presentation (vo_) module...
enum FrameCodingMode fcm
Frame decoding info for Advanced profile.
int log2_max_frame_num
log2_max_frame_num_minus4 + 4
void ff_vdpau_mpeg_picture_complete(MpegEncContext *s, const uint8_t *buf, int buf_size, int slice_count)
Picture last_picture
copy of the previous picture structure.
void ff_vdpau_vc1_decode_picture(MpegEncContext *s, const uint8_t *buf, int buf_size)
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.
int pic_id
h264 pic_num (short -> no wrap version of pic_num, pic_num & max_pic_num; long -> long_pic_num) ...
union vdpau_render_state::VdpPictureInfo info
Picture next_picture
copy of the next picture structure.
uint16_t intra_matrix[64]
matrix transmitted in the bitstream
int dquant
How qscale varies with MBs, 2bits (not in Simple)
int b_code
backward MV resolution for B Frames (mpeg4)
VdpVideoSurface surface
Used as rendered surface, never changed.
uint16_t pb_time
time distance between the last b and p,s,i frame
int short_ref_count
number of actual short term references