⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sei.h

📁 SVC最新更新代码
💻 H
📖 第 1 页 / 共 5 页
字号:
		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 + -