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

📄 sei.h

📁 jsvm开发代码包括抽样,编码,抽取,解码等一系列功能,可以做工具或研究用
💻 H
📖 第 1 页 / 共 4 页
字号:

    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 + -