📄 umc_h264_dec_defs_dec.h
字号:
Ipp8u initial_cpb_removal_delay_length; Ipp8u cpb_removal_delay_length; Ipp8u dpb_output_delay_length; Ipp8u time_offset_length;}; // H264SeqParamSet// Picture parameter set structure, corresponding to the H.264 bitstream definition.struct H264PicParamSet{// Flexible macroblock order structure, defining the FMO map for a picture// paramter set. struct SliceGroupInfoStruct { Ipp8u slice_group_map_type; // 0..6 // The additional slice group data depends upon map type union { // type 0 Ipp32u run_length[MAX_NUM_SLICE_GROUPS]; // type 2 struct { Ipp32u top_left[MAX_NUM_SLICE_GROUPS-1]; Ipp32u bottom_right[MAX_NUM_SLICE_GROUPS-1]; }t1; // types 3-5 struct { Ipp8u slice_group_change_direction_flag; Ipp32u slice_group_change_rate; }t2; // type 6 struct { Ipp32u pic_size_in_map_units; // number of macroblocks if no field coding Ipp8u *pSliceGroupIDMap; // Id for each slice group map unit }t3; }; }; // SliceGroupInfoStruct struct FMOMapStruct { Ipp8u mb_allocation_map_type; }; // FMOMapStruct Ipp8u pic_parameter_set_id; // of this picture parameter set Ipp8u seq_parameter_set_id; // of seq param set used for this pic param set Ipp8u entropy_coding_mode; // zero: CAVLC, else CABAC Ipp8u pic_order_present_flag; // Zero indicates only delta_pic_order_cnt[0] is // present in slice header; nonzero indicates // delta_pic_order_cnt[1] is also present. Ipp8u weighted_pred_flag; // Nonzero indicates weighted prediction applied to // P and SP slices Ipp8u weighted_bipred_idc; // 0: no weighted prediction in B slices // 1: explicit weighted prediction // 2: implicit weighted prediction Ipp8u pic_init_qp; // default QP for I,P,B slices Ipp8u pic_init_qs; // default QP for SP, SI slices Ipp8s chroma_qp_index_offset; // offset to add to QP for chroma Ipp8u deblocking_filter_variables_present_flag; // If nonzero, deblock filter params are // present in the slice header. Ipp8u constrained_intra_pred_flag; // Nonzero indicates constrained intra mode Ipp8u redundant_pic_cnt_present_flag; // Nonzero indicates presence of redundant_pic_cnt // in slice header Ipp32u num_slice_groups; // One: no FMO FMOMapStruct*pFMOMap; // pointer to FMO map for this pic param set Ipp32u num_ref_idx_l0_active; // num of ref pics in list 0 used to decode the picture Ipp32u num_ref_idx_l1_active; // num of ref pics in list 1 used to decode the picture // in slice header SliceGroupInfoStruct SliceGroupInfo; // Used only when num_slice_groups > 1}; // H264PicParamSetstruct RefPicListReorderInfo{ Ipp32u num_entries; // number of currently valid idc,value pairs Ipp8u reordering_of_pic_nums_idc[MAX_NUM_REF_FRAMES]; Ipp32u reorder_value[MAX_NUM_REF_FRAMES]; // abs_diff_pic_num or long_term_pic_num};struct AdaptiveMarkingInfo{ Ipp32u num_entries; // number of currently valid mmco,value pairs Ipp8u mmco[MAX_NUM_REF_FRAMES]; // memory management control operation id Ipp32u value[MAX_NUM_REF_FRAMES*2];// operation-dependent data, max 2 per operation};struct PredWeightTable{ Ipp8u luma_weight_flag; // nonzero: luma weight and offset in bitstream Ipp8u chroma_weight_flag; // nonzero: chroma weight and offset in bitstream Ipp8s luma_weight; // luma weighting factor Ipp8s luma_offset; // luma weighting offset Ipp8s chroma_weight[2]; // chroma weighting factor (Cb,Cr) Ipp8s chroma_offset[2]; // chroma weighting offset (Cb,Cr)}; // PredWeightTabletypedef Ipp32s H264DecoderMBAddr;// Slice header structure, corresponding to the H.264 bitstream definition.struct H264SliceHeader{ Ipp8u pic_parameter_set_id; // of pic param set used for this slice Ipp8u field_pic_flag; // zero: frame picture, else field picture Ipp8u MbaffFrameFlag; Ipp8u bottom_field_flag; // zero: top field, else bottom field Ipp8u direct_spatial_mv_pred_flag; // zero: temporal direct, else spatial direct Ipp8u num_ref_idx_active_override_flag; // nonzero: use ref_idx_active from slice header // instead of those from pic param set Ipp8u no_output_of_prior_pics_flag; // nonzero: remove previously decoded pictures // from decoded picture buffer Ipp8u long_term_reference_flag; // How to set MaxLongTermFrameIdx Ipp8u cabac_init_idc; // CABAC initialization table index (0..2) Ipp8u adaptive_ref_pic_marking_mode_flag; // Ref pic marking mode of current picture Ipp8s slice_qp_delta; // to calculate default slice QP Ipp8u sp_for_switch_flag; // SP slice decoding control Ipp8s slice_qs_delta; // to calculate default SP,SI slice QS Ipp8u disable_deblocking_filter_idc; // deblock filter control, 0=filter all edges Ipp8s slice_alpha_c0_offset; // deblock filter c0, alpha table offset Ipp8s slice_beta_offset; // deblock filter beta table offset H264DecoderMBAddr first_mb_in_slice; Ipp32u frame_num; EnumSliceCodType slice_type; Ipp32u idr_pic_id; // ID of an IDR picture Ipp32u pic_order_cnt_lsb; // picture order count (mod MaxPicOrderCntLsb) Ipp32s delta_pic_order_cnt_bottom; // Pic order count difference, top & bottom fields Ipp32u difference_of_pic_nums; // Ref pic memory mgmt Ipp32u long_term_pic_num; // Ref pic memory mgmt Ipp32u long_term_frame_idx; // Ref pic memory mgmt Ipp32u max_long_term_frame_idx; // Ref pic memory mgmt Ipp32s delta_pic_order_cnt[2]; // picture order count differences Ipp32u redundant_pic_cnt; // for redundant slices Ipp32u num_ref_idx_l0_active; // num of ref pics in list 0 used to decode the slice, // see num_ref_idx_active_override_flag Ipp32u num_ref_idx_l1_active; // num of ref pics in list 1 used to decode the slice // see num_ref_idx_active_override_flag Ipp32u slice_group_change_cycle; // for FMO Ipp8u luma_log2_weight_denom; // luma weighting denominator Ipp8u chroma_log2_weight_denom; // chroma weighting denominator}; // H264SliceHeaderstruct H264LimitedSliceHeader{ EnumSliceCodType slice_type; // (EnumSliceCodType) slice type Ipp8u disable_deblocking_filter_idc; // (Ipp8u) deblock filter control, 0 = filter all edges Ipp8s slice_alpha_c0_offset; // (Ipp8s) deblock filter c0, alpha table offset Ipp8s slice_beta_offset; // (Ipp8s) deblock filter beta table offset}; // H264LimitedSliceHeaderstruct H264SEIPayLoad{ Ipp32u payLoadType; Ipp32u payLoadSize; union SEIMessages { struct BufferingPeriod { Ipp8u initial_cbp_removal_delay[2][16]; Ipp8u initial_cbp_removal_delay_offset[2][16]; }buffering_period; struct PicTiming { Ipp8u cbp_removal_delay; Ipp8u dpb_ouput_delay; Ipp8u pic_struct; Ipp8u clock_timestamp_flag[16]; struct ClockTimestamps { Ipp8u ct_type; Ipp8u nunit_field_based_flag; Ipp8u counting_type; Ipp8u full_timestamp_flag; Ipp8u discontinuity_flag; Ipp8u cnt_dropped_flag; Ipp8u n_frames; Ipp8u seconds_value; Ipp8u minutes_value; Ipp8u hours_value; Ipp8u time_offset; }clock_timestamps[16]; }pic_timing; struct PanScanRect { Ipp8u pan_scan_rect_id; Ipp8u pan_scan_rect_cancel_flag; Ipp8u pan_scan_cnt; Ipp32u pan_scan_rect_left_offset[32]; Ipp32u pan_scan_rect_right_offset[32]; Ipp32u pan_scan_rect_top_offset[32]; Ipp32u pan_scan_rect_bottom_offset[32]; Ipp8u pan_scan_rect_repetition_period; }pan_scan_rect; struct RecoveryPoint { Ipp8u recovery_frame_cnt; Ipp8u exact_match_flag; Ipp8u broken_link_flag; Ipp8u changing_slice_group_idc; }recovery_point; struct DecRefPicMarkingRepetition { Ipp8u original_idr_flag; Ipp8u original_frame_num; Ipp8u original_field_pic_flag; Ipp8u original_bottom_field_flag; }dec_ref_pic_marking_repetition; struct SparePic { Ipp32u target_frame_num; Ipp8u spare_field_flag; Ipp8u target_bottom_field_flag; Ipp8u num_spare_pics; Ipp8u delta_spare_frame_num[16]; Ipp8u spare_bottom_field_flag[16]; Ipp8u spare_area_idc[16]; Ipp8u *spare_unit_flag[16]; Ipp8u *zero_run_length[16]; }spare_pic; struct SceneInfo { Ipp8u scene_info_present_flag; Ipp8u scene_id; Ipp8u scene_transition_type; Ipp8u second_scene_id; }scene_info; struct SubSeqInfo { Ipp8u sub_seq_layer_num; Ipp8u sub_seq_id; Ipp8u first_ref_pic_flag; Ipp8u leading_non_ref_pic_flag; Ipp8u last_pic_flag; Ipp8u sub_seq_frame_num_flag; Ipp8u sub_seq_frame_num; }sub_seq_info; struct SubSeqLayerCharacteristics { Ipp8u num_sub_seq_layers; Ipp8u accurate_statistics_flag[16]; Ipp16u average_bit_rate[16]; Ipp16u average_frame_rate[16]; }sub_seq_layer_characteristics; struct SubSeqCharacteristics { Ipp8u sub_seq_layer_num; Ipp8u sub_seq_id; Ipp8u duration_flag; Ipp8u sub_seq_duration; Ipp8u average_rate_flag; Ipp8u accurate_statistics_flag; Ipp16u average_bit_rate; Ipp16u average_frame_rate; Ipp8u num_referenced_subseqs; Ipp8u ref_sub_seq_layer_num[16]; Ipp8u ref_sub_seq_id[16]; Ipp8u ref_sub_seq_direction[16]; }sub_seq_characteristics; struct FullFrameFreeze { Ipp32u full_frame_freeze_repetition_period; }full_frame_freeze; struct FullFrameSnapshot { Ipp8u snapshot_id;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -