📄 sei.h
字号:
UInt getNumDirectlyDependentLayers ( UInt uilayer ) const { return m_num_directly_dependent_layers[uilayer]; }
// BUG_FIX liuhui{
UInt getNumDirectlyDependentLayerIdDeltaMinus1( UInt uilayer, UInt uiIndex ) const { return m_directly_dependent_layer_id_delta_minus1[uilayer][uiIndex]; } //JVT-S036 lsj
// BUG_FIX liuhui}
UInt getLayerDependencyInfoSrcLayerIdDelta( UInt uilayer ) const { return m_layer_dependency_info_src_layer_id_delta[uilayer];} //JVT-S036 lsj
//
UInt getNumInitSPSMinus1 ( UInt uilayer ) const { return m_num_init_seq_parameter_set_minus1[uilayer]; }
UInt getNumInitPPSMinus1 ( UInt uilayer ) const { return m_num_init_pic_parameter_set_minus1[uilayer]; }
// BUG_FIX liuhui{
UInt getInitSPSIdDelta ( UInt uilayer, UInt uiIndex ) const { return m_init_seq_parameter_set_id_delta[uilayer][uiIndex]; }
UInt getInitPPSIdDelta ( UInt uilayer, UInt uiIndex ) const { return m_init_pic_parameter_set_id_delta[uilayer][uiIndex]; }
// BUG_FIX liuhui}
UInt getInitParameterSetsInfoSrcLayerIdDelta ( UInt uilayer ) const { return m_init_parameter_sets_info_src_layer_id_delta[uilayer]; } //JVT-S036 lsj
private:
// BUG_FIX liuhui{
UInt m_std_AVC_Offset;
// BUG_FIX liuhui}
// JVT-U085 LMI
Bool m_temporal_level_nesting_flag;
UInt m_num_layers_minus1;
UInt m_layer_id[MAX_SCALABLE_LAYERS];
//JVT-S036 lsj start
//Bool m_fgs_layer_flag[MAX_SCALABLE_LAYERS];
UInt m_simple_priority_id[MAX_SCALABLE_LAYERS];
Bool m_discardable_flag[MAX_SCALABLE_LAYERS];
UInt m_temporal_level[MAX_SCALABLE_LAYERS];
UInt m_dependency_id[MAX_SCALABLE_LAYERS];
UInt m_quality_level[MAX_SCALABLE_LAYERS];
Bool m_sub_pic_layer_flag[MAX_SCALABLE_LAYERS];
Bool m_sub_region_layer_flag[MAX_SCALABLE_LAYERS];
Bool m_iroi_slice_division_info_present_flag[MAX_SCALABLE_LAYERS];
Bool m_profile_level_info_present_flag[MAX_SCALABLE_LAYERS];
//JVT-S036 lsj end
Bool m_bitrate_info_present_flag[MAX_SCALABLE_LAYERS];
Bool m_frm_rate_info_present_flag[MAX_SCALABLE_LAYERS];
Bool m_frm_size_info_present_flag[MAX_SCALABLE_LAYERS];
Bool m_layer_dependency_info_present_flag[MAX_SCALABLE_LAYERS];
Bool m_init_parameter_sets_info_present_flag[MAX_SCALABLE_LAYERS];
Bool m_exact_interlayer_pred_flag[MAX_SCALABLE_LAYERS]; //JVT-S036 lsj
UInt m_layer_profile_idc[MAX_SCALABLE_LAYERS];
Bool m_layer_constraint_set0_flag[MAX_SCALABLE_LAYERS];
Bool m_layer_constraint_set1_flag[MAX_SCALABLE_LAYERS];
Bool m_layer_constraint_set2_flag[MAX_SCALABLE_LAYERS];
Bool m_layer_constraint_set3_flag[MAX_SCALABLE_LAYERS];
UInt m_layer_level_idc[MAX_SCALABLE_LAYERS];
//JVT-S036 lsj start
UInt m_profile_level_info_src_layer_id_delta[MAX_SCALABLE_LAYERS]; //
UInt m_avg_bitrate[MAX_SCALABLE_LAYERS];
UInt m_max_bitrate_layer[MAX_SCALABLE_LAYERS];//
UInt m_max_bitrate_decoded_picture[MAX_SCALABLE_LAYERS];//
UInt m_max_bitrate_calc_window[MAX_SCALABLE_LAYERS];//
UInt m_constant_frm_rate_idc[MAX_SCALABLE_LAYERS];
UInt m_avg_frm_rate[MAX_SCALABLE_LAYERS];
UInt m_frm_rate_info_src_layer_id_delta[MAX_SCALABLE_LAYERS];//
UInt m_frm_width_in_mbs_minus1[MAX_SCALABLE_LAYERS];
UInt m_frm_height_in_mbs_minus1[MAX_SCALABLE_LAYERS];
UInt m_frm_size_info_src_layer_id_delta[MAX_SCALABLE_LAYERS];//
UInt m_base_region_layer_id[MAX_SCALABLE_LAYERS];
Bool m_dynamic_rect_flag[MAX_SCALABLE_LAYERS];
UInt m_horizontal_offset[MAX_SCALABLE_LAYERS];
UInt m_vertical_offset[MAX_SCALABLE_LAYERS];
UInt m_region_width[MAX_SCALABLE_LAYERS];
UInt m_region_height[MAX_SCALABLE_LAYERS];
UInt m_sub_region_info_src_layer_id_delta[MAX_SCALABLE_LAYERS];//
UInt m_roi_id[MAX_SCALABLE_LAYERS]; //
UInt m_iroi_slice_division_type[MAX_SCALABLE_LAYERS]; //
UInt m_grid_slice_width_in_mbs_minus1[MAX_SCALABLE_LAYERS]; //
UInt m_grid_slice_height_in_mbs_minus1[MAX_SCALABLE_LAYERS]; //
UInt m_num_slice_minus1[MAX_SCALABLE_LAYERS];//
// JVT-S054 (REPLACE) ->
/*
UInt m_first_mb_in_slice[MAX_SCALABLE_LAYERS][MAX_SCALABLE_LAYERS];//
UInt m_slice_width_in_mbs_minus1[MAX_SCALABLE_LAYERS][MAX_SCALABLE_LAYERS];//
UInt m_slice_height_in_mbs_minus1[MAX_SCALABLE_LAYERS][MAX_SCALABLE_LAYERS];//
UInt m_slice_id[MAX_SCALABLE_LAYERS][MAX_SCALABLE_LAYERS];//
*/
UInt* m_first_mb_in_slice[MAX_SCALABLE_LAYERS];//
UInt* m_slice_width_in_mbs_minus1[MAX_SCALABLE_LAYERS];//
UInt* m_slice_height_in_mbs_minus1[MAX_SCALABLE_LAYERS];//
UInt* m_slice_id[MAX_SCALABLE_LAYERS];//
// JVT-S054 (REPLACE) <-
// BUG_FIX liuhui{
UInt m_num_directly_dependent_layers[MAX_SCALABLE_LAYERS];
UInt m_directly_dependent_layer_id_delta_minus1[MAX_SCALABLE_LAYERS][MAX_SCALABLE_LAYERS];//
UInt m_layer_dependency_info_src_layer_id_delta[MAX_SCALABLE_LAYERS];//
UInt m_num_init_seq_parameter_set_minus1[MAX_SCALABLE_LAYERS];
UInt m_init_seq_parameter_set_id_delta[MAX_SCALABLE_LAYERS][32];
UInt m_num_init_pic_parameter_set_minus1[MAX_SCALABLE_LAYERS];
UInt m_init_pic_parameter_set_id_delta[MAX_SCALABLE_LAYERS][256];
// BUG_FIX liuhui}
UInt m_init_parameter_sets_info_src_layer_id_delta[MAX_SCALABLE_LAYERS];//
//JVT-S036 lsj end
UInt m_aiNumRoi[MAX_SCALABLE_LAYERS];
UInt m_aaiRoiID[MAX_SCALABLE_LAYERS][MAX_SCALABLE_LAYERS];
UInt m_aaiSGID[MAX_SCALABLE_LAYERS][MAX_SCALABLE_LAYERS];
UInt m_aaiSLID[MAX_SCALABLE_LAYERS][MAX_SCALABLE_LAYERS];
};
class H264AVCCOMMONLIB_API SubPicSei : public SEIMessage
{
protected:
SubPicSei ();
~SubPicSei();
public:
static ErrVal create ( SubPicSei*& rpcSeiMessage );
ErrVal write ( HeaderSymbolWriteIf* pcWriteIf );
ErrVal read ( HeaderSymbolReadIf* pcReadIf );
UInt getLayerId () const { return m_uiLayerId; }
Void setLayerId ( UInt uiLayerId) { m_uiLayerId = uiLayerId; }
private:
UInt m_uiLayerId;
};
class H264AVCCOMMONLIB_API MotionSEI : public SEIMessage
{
protected:
MotionSEI();
~MotionSEI();
public:
UInt m_num_slice_groups_in_set_minus1;
UInt m_slice_group_id[8];
Bool m_exact_sample_value_match_flag;
Bool m_pan_scan_rect_flag;
static ErrVal create ( MotionSEI*& rpcSeiMessage );
ErrVal write ( HeaderSymbolWriteIf* pcWriteIf );
ErrVal read ( HeaderSymbolReadIf* pcReadIf );
ErrVal setSliceGroupId(UInt id);
UInt getSliceGroupId(){return m_slice_group_id[0];}
};
//{{Quality level estimation and modified truncation- JVTO044 and m12007
//France Telecom R&D-(nathalie.cammas@francetelecom.com)
class H264AVCCOMMONLIB_API QualityLevelSEI : public SEIMessage
{
protected:
QualityLevelSEI ();
~QualityLevelSEI();
public:
static ErrVal create ( QualityLevelSEI*& rpcSeiMessage );
ErrVal write ( HeaderSymbolWriteIf* pcWriteIf );
ErrVal read ( HeaderSymbolReadIf* pcReadIf );
UInt getNumLevel() { return m_uiNumLevels;}
Void setNumLevel(UInt ui) { m_uiNumLevels = ui;}
UInt getDeltaBytesRateOfLevel(UInt ui) { return m_auiDeltaBytesRateOfLevel[ui];}
Void setDeltaBytesRateOfLevel(UInt uiIndex, UInt ui) { m_auiDeltaBytesRateOfLevel[uiIndex] = ui;}
UInt getQualityLevel(UInt ui) { return m_auiQualityLevel[ui];}
Void setQualityLevel(UInt uiIndex, UInt ui) { m_auiQualityLevel[uiIndex] = ui;}
UInt getDependencyId() { return m_uiDependencyId;}
Void setDependencyId( UInt ui) { m_uiDependencyId = ui;}
private:
UInt m_auiQualityLevel[MAX_NUM_RD_LEVELS];
UInt m_auiDeltaBytesRateOfLevel[MAX_NUM_RD_LEVELS];
UInt m_uiNumLevels;
UInt m_uiDependencyId;
};
//}}Quality level estimation and modified truncation- JVTO044 and m12007
class H264AVCCOMMONLIB_API NonRequiredSei : public SEIMessage
{
protected:
NonRequiredSei ();
~NonRequiredSei();
public:
static ErrVal create (NonRequiredSei*& rpcSeiMessage);
ErrVal destroy ();
ErrVal write (HeaderSymbolWriteIf* pcWriteIf);
ErrVal read (HeaderSymbolReadIf* pcReadIf);
UInt getNumInfoEntriesMinus1() const{ return m_uiNumInfoEntriesMinus1;}
UInt getEntryDependencyId(UInt uiLayer) const{ return m_uiEntryDependencyId[uiLayer];}
UInt getNumNonRequiredPicsMinus1(UInt uiLayer) const{ return m_uiNumNonRequiredPicsMinus1[uiLayer];}
UInt getNonRequiredPicDependencyId(UInt uiLayer, UInt uiNonRequiredLayer) const{ return m_uiNonRequiredPicDependencyId[uiLayer][uiNonRequiredLayer];}
UInt getNonRequiredPicQulityLevel(UInt uiLayer, UInt uiNonRequiredLayer) const{ return m_uiNonRequiredPicQulityLevel[uiLayer][uiNonRequiredLayer];}
UInt getNonRequiredPicFragmentOrder(UInt uiLayer, UInt uiNonRequiredLayer) const{ return m_uiNonRequiredPicFragmentOrder[uiLayer][uiNonRequiredLayer];}
Void setNumInfoEntriesMinus1(UInt ui) { m_uiNumInfoEntriesMinus1 = ui;}
Void setEntryDependencyId(UInt uiLayer, UInt ui) { m_uiEntryDependencyId[uiLayer] = ui;}
Void setNumNonRequiredPicsMinus1(UInt uiLayer, UInt ui) { m_uiNumNonRequiredPicsMinus1[uiLayer] = ui;}
Void setNonNonRequiredPicDependencyId(UInt uiLayer, UInt uiNonRequiredLayer, UInt ui) {m_uiNonRequiredPicDependencyId[uiLayer][uiNonRequiredLayer] = ui;}
Void setNonNonRequiredPicQulityLevel(UInt uiLayer, UInt uiNonRequiredLayer, UInt ui) {m_uiNonRequiredPicQulityLevel[uiLayer][uiNonRequiredLayer] = ui;}
Void setNonNonRequiredPicFragmentOrder(UInt uiLayer, UInt uiNonRequiredLayer, UInt ui) {m_uiNonRequiredPicFragmentOrder[uiLayer][uiNonRequiredLayer] = ui;}
private:
UInt m_uiNumInfoEntriesMinus1;
UInt m_uiEntryDependencyId[MAX_NUM_INFO_ENTRIES];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -