📄 sei.h
字号:
Bool getRewritingInfoFlag ( UInt uilayer, UInt bType ) const { return m_rewriting_info_flag [uilayer][bType]; }
UInt getConversionTypeIdc ( UInt uilayer ) const { return m_conversion_type_idc [uilayer]; }
Int32 getRewritingProfileLevelIdc ( UInt uilayer, UInt bType ) const { return m_rewriting_profile_level_idc [uilayer][bType]; }
UInt getRewritingAvgBitrateBPS ( UInt uilayer, UInt bType ) const { return xConvertToBPS( m_rewriting_avg_bitrate[uilayer][bType] ); }
UInt getRewritingMaxBitrateBPS ( UInt uilayer, UInt bType ) const { return xConvertToBPS( m_rewriting_max_bitrate[uilayer][bType] ); }
UInt getRewritingAvgBitrateCode( UInt uilayer, UInt bType ) const { return m_rewriting_avg_bitrate[uilayer][bType]; }
UInt getRewritingMaxBitrateCode( UInt uilayer, UInt bType ) const { return m_rewriting_max_bitrate[uilayer][bType]; }
//JVT-W046 }
//SEI changes update }
//JVT-W047 wxwan
Bool getLayerOutputFlag( UInt uilayer ) const { return m_layer_output_flag[uilayer]; }
//JVT-W047 wxwan
//UInt getLayerProfileIdc ( UInt uilayer ) const { return m_layer_profile_idc[uilayer]; }
UInt getLayerProfileIdc ( UInt uilayer ) const { return m_layer_profile_level_idc[uilayer]; }//JVT-W051
//SEI changes update {
//Bool getLayerConstraintSet0Flag ( UInt uilayer ) const { return m_layer_constraint_set0_flag[uilayer]; }
//Bool getLayerConstraintSet1Flag ( UInt uilayer ) const { return m_layer_constraint_set1_flag[uilayer]; }
//Bool getLayerConstraintSet2Flag ( UInt uilayer ) const { return m_layer_constraint_set2_flag[uilayer]; }
//Bool getLayerConstraintSet3Flag ( UInt uilayer ) const { return m_layer_constraint_set3_flag[uilayer]; }
//UInt getLayerLevelIdc ( UInt uilayer ) const { return m_layer_level_idc[uilayer]; }
//SEI changes update }
//JVT-S036 lsj start
//UInt getProfileLevelInfoSrcLayerIdDelta ( UInt uilayer) const { return m_profile_level_info_src_layer_id_delta [uilayer];}//SEI changes update
UInt getAvgBitrateCode ( UInt uilayer ) const { return m_avg_bitrate[uilayer]; }
UInt getMaxBitrateLayerCode ( UInt uilayer ) const { return m_max_bitrate_layer[uilayer]; }
UInt getMaxBitrateDecodedPictureCode ( UInt uilayer ) const { return m_max_bitrate_layer_representation[uilayer]; }
UInt getAvgBitrateBPS ( UInt uilayer ) const { return xConvertToBPS( m_avg_bitrate[uilayer] ); }
UInt getMaxBitrateLayerBPS ( UInt uilayer ) const { return xConvertToBPS( m_max_bitrate_layer[uilayer] ); }
UInt getMaxBitrateDecodedPictureBPS ( UInt uilayer ) const { return xConvertToBPS( m_max_bitrate_layer_representation[uilayer] ); }
UInt getMaxBitrateCalcWindow ( UInt uilayer ) const { return m_max_bitrate_calc_window[uilayer]; }
//JVT-S036 lsj end
UInt getConstantFrmRateIdc ( UInt uilayer ) const { return m_constant_frm_rate_idc[uilayer]; }
UInt getAvgFrmRate ( UInt uilayer ) const { return m_avg_frm_rate[uilayer]; }
//UInt getFrmRateInfoSrcLayerIdDelta ( UInt uilayer ) const { return m_frm_rate_info_src_layer_id_delta[uilayer]; } //JVT-S036 lsj SEI changes update
UInt getFrmWidthInMbsMinus1 ( UInt uilayer ) const { return m_frm_width_in_mbs_minus1[uilayer]; }
UInt getFrmHeightInMbsMinus1 ( UInt uilayer ) const { return m_frm_height_in_mbs_minus1[uilayer]; }
//UInt getFrmSizeInfoSrcLayerIdDelta ( UInt uilayer ) const { return m_frm_size_info_src_layer_id_delta[uilayer]; } //JVT-S036 lsj SEI changes update
UInt getBaseRegionLayerId ( UInt uilayer ) const { return m_base_region_layer_id[uilayer]; }
Bool getDynamicRectFlag ( UInt uilayer ) const { return m_dynamic_rect_flag[uilayer]; }
UInt getHorizontalOffset ( UInt uilayer ) const { return m_horizontal_offset[uilayer]; }
UInt getVerticalOffset ( UInt uilayer ) const { return m_vertical_offset[uilayer]; }
UInt getRegionWidth ( UInt uilayer ) const { return m_region_width[uilayer]; }
UInt getRegionHeight ( UInt uilayer ) const { return m_region_height[uilayer]; }
//UInt getSubRegionInfoSrcLayerIdDelta ( UInt uilayer ) const { return m_sub_region_info_src_layer_id_delta[uilayer]; } ///JVT-S036 lsj SEI changes update
//JVT-S036 lsj start
UInt getRoiId ( UInt uilayer ) const { return m_roi_id[uilayer]; }
//UInt getIroiSliceDivisionType ( UInt uilayer ) const { return m_iroi_division_type[uilayer]; }
//SEI changes update {
Bool getIroiGridFlag ( UInt uilayer ) const { return m_iroi_grid_flag[uilayer]; }
//UInt getGridSliceWidthInMbsMinus1 ( UInt uilayer ) const { return m_grid_slice_width_in_mbs_minus1[uilayer]; }
//UInt getGridSliceHeightInMbsMinus1 ( UInt uilayer ) const { return m_grid_slice_height_in_mbs_minus1[uilayer]; }
UInt getGridSliceWidthInMbsMinus1 ( UInt uilayer ) const { return m_grid_width_in_mbs_minus1[uilayer]; }//JVT-W051
UInt getGridSliceHeightInMbsMinus1 ( UInt uilayer ) const { return m_grid_height_in_mbs_minus1[uilayer]; }//JVT-W051
UInt getNumSliceMinus1 ( UInt uilayer ) const { return m_num_rois_minus1[uilayer]; }
UInt getFirstMbInSlice ( UInt uilayer, UInt uiTar ) const { return m_first_mb_in_roi[uilayer][uiTar]; }
UInt getSliceWidthInMbsMinus1 ( UInt uilayer, UInt uiTar ) const { return m_roi_width_in_mbs_minus1[uilayer][uiTar]; }
UInt getSliceHeightInMbsMinus1 ( UInt uilayer, UInt uiTar ) const { return m_roi_height_in_mbs_minus1[uilayer][uiTar]; }
//UInt getSliceId ( UInt uilayer, UInt uiTar ) const { return m_slice_id[uilayer][uiTar]; }
//SEI changes update }
//JVT-S036 lsj end
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
//SEI changes update {
//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
UInt getNumInitSPSMinus1 ( UInt uilayer ) const { return m_num_seq_parameter_set_minus1[uilayer]; }
UInt getNumInitSSPSMinus1( UInt uilayer ) const { return m_num_subset_seq_parameter_set_minus1[uilayer]; }
UInt getNumInitPPSMinus1 ( UInt uilayer ) const { return m_num_pic_parameter_set_minus1[uilayer]; }
// BUG_FIX liuhui{
UInt getInitSPSIdDelta ( UInt uilayer, UInt uiIndex ) const { return m_seq_parameter_set_id_delta[uilayer][uiIndex]; }
UInt getInitSSPSIdDelta ( UInt uilayer, UInt uiIndex ) const { return m_subset_seq_parameter_set_id_delta[uilayer][uiIndex]; }
UInt getInitPPSIdDelta ( UInt uilayer, UInt uiIndex ) const { return m_pic_parameter_set_id_delta[uilayer][uiIndex]; }
// BUG_FIX liuhui}
UInt getInitParameterSetsInfoSrcLayerIdDelta ( UInt uilayer ) const { return m_parameter_sets_info_src_layer_id_delta[uilayer]; } //JVT-S036 lsj
//JVT-W051 {
//Bool getQualityLayerInfoPresentFlag ( void ) const { return m_quality_layer_info_present_flag; }
Bool getPriorityLayerInfoPresentFlag ( void ) const { return m_priority_layer_info_present_flag; }
//Bool getBitstreamRestrictionFlag ( UInt uilayer ) const { return m_bitstream_restriction_flag[uilayer]; }
Bool getBitstreamRestrictionInfoPresentFlag ( UInt uilayer ) const { return m_bitstream_restriction_info_present_flag[uilayer]; }
//SEI changes update }
Bool getMotionVectorsOverPicBoundariesFlag ( UInt uilayer ) const { return m_motion_vectors_over_pic_boundaries_flag [uilayer]; }
UInt getMaxBytesPerPicDenom ( UInt uilayer ) const { return m_max_bytes_per_pic_denom [uilayer]; }
UInt getMaxBitsPerMbDenom ( UInt uilayer ) const { return m_max_bits_per_mb_denom [uilayer]; }
UInt getLog2MaxMvLengthHorizontal ( UInt uilayer ) const { return m_log2_max_mv_length_horizontal [uilayer]; }
UInt getLog2MaxMvLengthVertical ( UInt uilayer ) const { return m_log2_max_mv_length_vertical [uilayer]; }
UInt getMaxDecFrameBuffering ( UInt uilayer ) const { return m_max_dec_frame_buffering [uilayer]; }
UInt getNumReorderFrames ( UInt uilayer ) const { return m_num_reorder_frames [uilayer]; }
//SEI changes update {
//UInt getQlNumdIdMinus1 ( void ) const { return m_ql_num_dId_minus1; }
//UInt getQlNumMinus1 ( UInt uilayer ) const { return m_ql_num_minus1 [uilayer]; }
//UInt getQlDependencyId ( UInt uilayer ) const { return m_ql_dependency_id [uilayer]; }
//UInt getQlId ( UInt uilayer, UInt uiIndex ) const { return m_ql_id [uilayer][uiIndex]; }
//Int32 getQlProfileLevelIdc ( UInt uilayer, UInt uiIndex ) const { return m_ql_profile_level_idc [uilayer][uiIndex]; }
//UInt getQlAvgBitrate ( UInt uilayer, UInt uiIndex ) const { return m_ql_avg_bitrate [uilayer][uiIndex]; }
//UInt getQlMaxBitrate ( UInt uilayer, UInt uiIndex ) const { return m_ql_max_bitrate [uilayer][uiIndex]; }
UInt getPrNumdIdMinus1 ( void ) const { return m_pr_num_dId_minus1; }
UInt getPrNumMinus1 ( UInt uilayer ) const { return m_pr_num_minus1 [uilayer]; }
UInt getPrDependencyId ( UInt uilayer ) const { return m_pr_dependency_id [uilayer]; }
UInt getPrId ( UInt uilayer, UInt uiIndex ) const { return m_pr_id [uilayer][uiIndex]; }
Int32 getPrProfileLevelIdc ( UInt uilayer, UInt uiIndex ) const { return m_pr_profile_level_idc [uilayer][uiIndex]; }
UInt getPrAvgBitrateCode( UInt uilayer, UInt uiIndex ) const { return m_pr_avg_bitrate [uilayer][uiIndex]; }
UInt getPrMaxBitrateCode( UInt uilayer, UInt uiIndex ) const { return m_pr_max_bitrate [uilayer][uiIndex]; }
UInt getPrAvgBitrateBPS ( UInt uilayer, UInt uiIndex ) const { return xConvertToBPS( m_pr_avg_bitrate [uilayer][uiIndex] ); }
UInt getPrMaxBitrateBPS ( UInt uilayer, UInt uiIndex ) const { return xConvertToBPS( m_pr_max_bitrate [uilayer][uiIndex] ); }
//void setQualityLayerInfoPresentFlag ( Bool bFlag ) { m_quality_layer_info_present_flag = bFlag; }
void setPriorityLayerInfoPresentFlag ( Bool bFlag ) { m_priority_layer_info_present_flag = bFlag; }
//void setBitstreamRestrictionFlag ( UInt uilayer, Bool bFlag ){ m_bitstream_restriction_info_present_flag [uilayer] = bFlag; }
void setBitstreamRestrictionInfoPresentFlag ( UInt uilayer, Bool bFlag ){ m_bitstream_restriction_info_present_flag [uilayer] = bFlag; }
//SEI changes update }
void setMotionVectorsOverPicBoundariesFlag ( UInt uilayer, Bool bFlag ) { m_motion_vectors_over_pic_boundaries_flag [uilayer] = bFlag; }
void setMaxBytesPerPicDenom ( UInt uilayer, UInt uiMaxBytesPerPicDenom ) { m_max_bytes_per_pic_denom [uilayer] = uiMaxBytesPerPicDenom; }
void setMaxBitsPerMbDenom ( UInt uilayer, UInt uiMaxBitsPerMbDenom ) { m_max_bits_per_mb_denom [uilayer] = uiMaxBitsPerMbDenom; }
void setLog2MaxMvLengthHorizontal ( UInt uilayer, UInt uiLog2MaxMvLengthHorizontal ) { m_log2_max_mv_length_horizontal [uilayer] = uiLog2MaxMvLengthHorizontal; }
void setLog2MaxMvLengthVertical ( UInt uilayer, UInt uiLog2MaxMvLengthVertical ) { m_log2_max_mv_length_vertical [uilayer] = uiLog2MaxMvLengthVertical; }
void setMaxDecFrameBuffering ( UInt uilayer, UInt uiMaxDecFrameBuffering ) { m_max_dec_frame_buffering [uilayer] = uiMaxDecFrameBuffering; }
void setNumReorderFrames ( UInt uilayer, UInt uiNumReorderFrames ) { m_num_reorder_frames [uilayer] = uiNumReorderFrames; }
//SEI changes update {
//void setQlNumdIdMinus1 (UInt uiQlNumdIdMinus1) { m_ql_num_dId_minus1 = uiQlNumdIdMinus1; }
//void setQlNumMinus1 ( UInt uilayer, UInt uiQlNumMinus1 ) { m_ql_num_minus1 [uilayer] = uiQlNumMinus1; }
//void setQlDependencyId ( UInt uilayer, UInt uiQlDependencyId ) { m_ql_dependency_id [uilayer] = uiQlDependencyId; }
//void setQlId ( UInt uilayer, UInt uiIndex, UInt uiQlId ) { m_ql_id [uilayer][uiIndex] = uiQlId; }
//void setQlProfileLevelIdx ( UInt uilayer, UInt uiIndex, Int32 uiQlProfileLevelIdc ) { m_ql_profile_level_idc [uilayer][uiIndex] = uiQlProfileLevelIdc; }
//void setQlAvgBitrate ( UInt uilayer, UInt uiIndex, UInt uiQlAvgBitrate ) { m_ql_avg_bitrate [uilayer][uiIndex] = uiQlAvgBitrate; }
//void setQlMaxBitrate ( UInt uilayer, UInt uiIndex, UInt uiQlMaxBitrate ) { m_ql_max_bitrate [uilayer][uiIndex] = uiQlMaxBitrate; }
void setPrNumdIdMinus1 (UInt uiPrNumdIdMinus1) { m_pr_num_dId_minus1 = uiPrNumdIdMinus1; }
void setPrNumMinus1 ( UInt uilayer, UInt uiPrNumMinus1 ) { m_pr_num_minus1 [uilayer] = uiPrNumMinus1; }
void setPrDependencyId ( UInt uilayer, UInt uiPrDependencyId ) { m_pr_dependency_id [uilayer] = uiPrDependencyId; }
void setPrId ( UInt uilayer, UInt uiIndex, UInt uiPrId ) { m_pr_id [uilayer][uiIndex] = uiPrId; }
void setPrProfileLevelIdx ( UInt uilayer, UInt uiIndex, Int32 uiPrProfileLevelIdc ) { m_pr_profile_level_idc [uilayer][uiIndex] = uiPrProfileLevelIdc; }
void setPrAvgBitrateBPS ( UInt uilayer, UInt uiIndex, Double dPrAvgBitrate ) { m_pr_avg_bitrate [uilayer][uiIndex] = xConvertFromBPS(dPrAvgBitrate); }
void setPrMaxBitrateBPS ( UInt uilayer, UInt uiIndex, Double dPrMaxBitrate ) { m_pr_max_bitrate [uilayer][uiIndex] = xConvertFromBPS(dPrMaxBitrate); }
//JVT-W051 }
//SEI changes update }
protected:
static UInt xConvertToBPS( UInt x )
{
const UInt auiScale[4] = { 100, 1000, 10000, 100000 };
return ( x & 0x3fff ) * auiScale[ x >> 14 ];
}
static UInt xConvertFromBPS( Double d )
{
const Double adScale[4] = { 100.0, 1000.0, 10000.0, 100000.0 };
for( UInt uiExp = 0; uiExp < 4; uiExp++ )
{
UInt x = (UInt)floor( d / adScale[ uiExp ] + 0.5 );
if( x < ( 1 << 14 ) )
{
return ( ( uiExp << 14 ) | x );
}
}
AOT(1);
return MSYS_UINT_MAX;
}
private:
// BUG_FIX liuhui{
UInt m_std_AVC_Offset;
// BUG_FIX liuhui}
// JVT-U085 LMI
//Bool m_temporal_level_nesting_flag;//SEI changes update
Bool m_temporal_id_nesting_flag;//SEI changes update
Bool m_priority_id_setting_flag;//JVT-W053
char priority_id_setting_uri[20];//JVT-W053
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];//SEI changes
UInt m_priority_id[MAX_SCALABLE_LAYERS];//SEI changes
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];
//JVT-W051 {
//rename
//Bool m_iroi_slice_division_info_present_flag[MAX_SCALABLE_LAYERS];
Bool m_iroi_division_info_present_flag[MAX_SCALABLE_LAYERS];
//JVT-W051 }
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];//SEI changes update
Bool m_parameter_sets_info_present_flag[MAX_SCALABLE_LAYERS];//SEI changes update
Bool m_exact_interlayer_pred_flag[MAX_SCALABLE_LAYERS]; //JVT-S036 lsj
//SEI changes update {
Bool m_exact_sample_value_match_flag[MAX_SCALABLE_LAYERS];
//JVT-W046 {
//Bool m_avc_layer_conversion_flag[MAX_SCALABLE_LAYERS];
// Bool m_avc_info_flag[MAX_SCALABLE_LAYERS][2];
// UInt m_avc_conversion_type_idc[MAX_SCALABLE_LAYERS];
//Int32 m_avc_profile_level_idc[MAX_SCALABLE_LAYERS][2];
//UInt m_avc_avg_bitrate[MAX_SCALABLE_LAYERS][2];
//UInt m_avc_max_bitrate[MAX_SCALABLE_LAYERS][2];
Bool m_layer_conversion_flag[MAX_SCALABLE_LAYERS];
Bool m_rewriting_info_flag[MAX_SCALABLE_LAYERS][2];
UInt m_conversion_type_idc[MAX_SCALABLE_LAYERS];
Int32 m_rewriting_profile_level_idc[MAX_SCALABLE_LAYERS][2];
UInt m_rewriting_avg_bitrate[MAX_SCALABLE_LAYERS][2];
UInt m_rewriting_max_bitrate[MAX_SCALABLE_LAYERS][2];
//JVT-W046 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -