#include <vdpau.h>
Note: The referenceFrames array must contain the "DPB" as defined by the H.264 specification. In particular, once a reference frame has been decoded to a surface, that surface must continue to appear in the DPB until no longer required to predict any future frame. Once a surface is removed from the DPB, it can no longer be used as a reference, unless decoded again.
Also note that only surfaces previously generated using VdpDecoderRender may be used as reference frames. In particular, surfaces filled using any "put bits" API will not work.
Data Fields | |
uint32_t | slice_count |
int32_t | field_order_cnt [2] |
VdpBool | is_reference |
uint16_t | frame_num |
uint8_t | field_pic_flag |
uint8_t | bottom_field_flag |
uint8_t | num_ref_frames |
uint8_t | mb_adaptive_frame_field_flag |
uint8_t | constrained_intra_pred_flag |
uint8_t | weighted_pred_flag |
uint8_t | weighted_bipred_idc |
uint8_t | frame_mbs_only_flag |
uint8_t | transform_8x8_mode_flag |
int8_t | chroma_qp_index_offset |
int8_t | second_chroma_qp_index_offset |
int8_t | pic_init_qp_minus26 |
uint8_t | num_ref_idx_l0_active_minus1 |
uint8_t | num_ref_idx_l1_active_minus1 |
uint8_t | log2_max_frame_num_minus4 |
uint8_t | pic_order_cnt_type |
uint8_t | log2_max_pic_order_cnt_lsb_minus4 |
uint8_t | delta_pic_order_always_zero_flag |
uint8_t | direct_8x8_inference_flag |
uint8_t | entropy_coding_mode_flag |
uint8_t | pic_order_present_flag |
uint8_t | deblocking_filter_control_present_flag |
uint8_t | redundant_pic_cnt_present_flag |
uint8_t | scaling_lists_4x4 [6][16] |
uint8_t | scaling_lists_8x8 [2][64] |
VdpReferenceFrameH264 | referenceFrames [16] |
uint32_t VdpPictureInfoH264::slice_count |
int32_t VdpPictureInfoH264::field_order_cnt[2] |
uint16_t VdpPictureInfoH264::frame_num |
uint8_t VdpPictureInfoH264::scaling_lists_4x4[6][16] |
uint8_t VdpPictureInfoH264::scaling_lists_8x8[2][64] |
See VdpPictureInfoH264 for instructions regarding this field