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

📄 sei.h

📁 SVC最新更新代码
💻 H
📖 第 1 页 / 共 5 页
字号:
    UInt m_uiNumPriorityIds;
    UInt m_uiPrDependencyId;
  };
  //SEI changes update }

  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];
    UInt    m_uiNumNonRequiredPicsMinus1[MAX_NUM_INFO_ENTRIES];
    UInt    m_uiNonRequiredPicDependencyId[MAX_NUM_INFO_ENTRIES][MAX_NUM_NON_REQUIRED_PICS];
    UInt    m_uiNonRequiredPicQulityLevel[MAX_NUM_INFO_ENTRIES][MAX_NUM_NON_REQUIRED_PICS];
    UInt    m_uiNonRequiredPicFragmentOrder[MAX_NUM_INFO_ENTRIES][MAX_NUM_NON_REQUIRED_PICS];
  };//shenqiu 05-09-15

  // JVT-S080 LMI {
  class H264AVCCOMMONLIB_API ScalableSeiLayersNotPresent: public SEIMessage
  {
  protected:
      ScalableSeiLayersNotPresent ();
   ~ScalableSeiLayersNotPresent();

  public:
      static ErrVal create ( ScalableSeiLayersNotPresent*&      rpcSeiMessage);
   //TMM_FIX
      ErrVal destroy ();
   //TMM_FIX
      ErrVal write         ( HeaderSymbolWriteIf  *pcWriteIf);
      ErrVal read           ( HeaderSymbolReadIf    *pcReadIf);
      Void setNumLayers( UInt ui )                                        { m_uiNumLayers = ui;  }
      Void setLayerId ( UInt uiLayer, UInt uiId )                                { m_auiLayerId                              [uiLayer] = uiId; }
    Void setOutputFlag ( Bool bFlag )  { m_bOutputFlag = bFlag; }

      UInt getNumLayers() const {return m_uiNumLayers;}
      UInt getLayerId ( UInt uiLayer ) const { return m_auiLayerId[uiLayer]; }
    Bool getOutputFlag ( ) const { return m_bOutputFlag; }
      static UInt m_uiLeftNumLayers;
      static UInt m_auiLeftLayerId[MAX_SCALABLE_LAYERS];

  private:
      UInt m_uiNumLayers;
      UInt m_auiLayerId[MAX_SCALABLE_LAYERS];
    Bool m_bOutputFlag;

  };

  class H264AVCCOMMONLIB_API ScalableSeiDependencyChange: public SEIMessage
  {
  protected:
      ScalableSeiDependencyChange ();
   ~ScalableSeiDependencyChange();

  public:
      static ErrVal create ( ScalableSeiDependencyChange*&      rpcSeiMessage);
      ErrVal write         ( HeaderSymbolWriteIf  *pcWriteIf);
      ErrVal read           ( HeaderSymbolReadIf    *pcReadIf);
      Void setNumLayersMinus1( UInt ui )                                        { m_uiNumLayersMinus1 = ui;  }
      Void setDependencyId ( UInt uiLayer, UInt uiId )                                { m_auiLayerId                              [uiLayer] = uiId; }
    Void setLayerDependencyInfoPresentFlag ( UInt uiLayer, Bool bFlag ) { m_abLayerDependencyInfoPresentFlag[uiLayer] = bFlag; }
      Void setNumDirectDependentLayers ( UInt uiLayer, UInt ui ) { m_auiNumDirectDependentLayers[uiLayer] = ui; }
    Void setDirectDependentLayerIdDeltaMinus1( UInt uiLayer, UInt uiDirectLayer, UInt uiIdDeltaMinus1 )  { m_auiDirectDependentLayerIdDeltaMinus1[uiLayer][uiDirectLayer] = uiIdDeltaMinus1; }
    Void setLayerDependencyInfoSrcLayerIdDeltaMinus1 ( UInt uiLayer, UInt uiIdDeltaMinus1 ) { m_auiLayerDependencyInfoSrcLayerIdDeltaMinus1[uiLayer] = uiIdDeltaMinus1; }
    Void setOutputFlag ( Bool bFlag )  { m_bOutputFlag = bFlag; }

      UInt getNumLayersMinus1() const {return m_uiNumLayersMinus1;}
      UInt getDependencyId ( UInt uiLayer ) const { return m_auiLayerId[uiLayer]; }
      UInt getNumDirectDependentLayers ( UInt uiLayer ) const { return m_auiNumDirectDependentLayers[uiLayer]; }
    UInt getDirectDependentLayerIdDeltaMinus1( UInt uiLayer, UInt uiDirectLayer ) const { return m_auiDirectDependentLayerIdDeltaMinus1[uiLayer][uiDirectLayer]; }
    UInt getLayerDependencyInfoSrcLayerIdDeltaMinus1 ( UInt uiLayer ) const { return m_auiLayerDependencyInfoSrcLayerIdDeltaMinus1[uiLayer]; }
    Bool getLayerDependencyInfoPresentFlag ( UInt uiLayer ) const { return m_abLayerDependencyInfoPresentFlag[uiLayer]; }
    Bool getOutputFlag ( ) const { return m_bOutputFlag; }

  private:
      UInt m_uiNumLayersMinus1;
      UInt m_auiLayerId[MAX_SCALABLE_LAYERS];
      UInt m_auiNumDirectDependentLayers[MAX_SCALABLE_LAYERS];
      UInt m_auiDirectDependentLayerIdDeltaMinus1[MAX_SCALABLE_LAYERS][MAX_SCALABLE_LAYERS];
      UInt m_auiLayerDependencyInfoSrcLayerIdDeltaMinus1[MAX_SCALABLE_LAYERS];
    Bool m_abLayerDependencyInfoPresentFlag[MAX_SCALABLE_LAYERS];
    Bool m_bOutputFlag;
  };

  // JVT-S080 LMI }
// JVT-T073 {
#define MAX_LREP_IN_ACCESS_UNIT 50
  class H264AVCCOMMONLIB_API ScalableNestingSei : public SEIMessage
  {
  protected:
    ScalableNestingSei()
      : SEIMessage(SCALABLE_NESTING_SEI)
      , m_bAllPicturesInAuFlag  (0)
    , m_uiNumPictures         (0)
    //, m_pcSEIMessage          (NULL)
    {}

  public:
    static ErrVal create( ScalableNestingSei*&  rpcSEIMessage );
  ErrVal      destroy();
    ErrVal        write ( HeaderSymbolWriteIf*  pcWriteIf );
    ErrVal        read  ( HeaderSymbolReadIf*   pcReadIf );
    ErrVal        init  ( Bool                  m_bAllPicturesInAuFlag,
                        UInt                  m_uiNumPictures,
                        UInt*                 m_auiDependencyId,
                        UInt*                 m_auiQualityLevel
            );

    Bool getAllPicturesInAuFlag()  const { return m_bAllPicturesInAuFlag; }
    UInt getNumPictures()          const { return m_uiNumPictures; }
  UInt getDependencyId( UInt uiIndex ) { return m_auiDependencyId[uiIndex]; }
  UInt getQualityId( UInt uiIndex ) { return m_auiQualityLevel[uiIndex]; }

  Void setAllPicturesInAuFlag( Bool bFlag ) { m_bAllPicturesInAuFlag = bFlag; }
  Void setNumPictures( UInt uiNum ) { m_uiNumPictures = uiNum; }
  Void setDependencyId( UInt uiIndex, UInt uiValue ) { m_auiDependencyId[uiIndex] = uiValue; }
  Void setQualityLevel( UInt uiIndex, UInt uiValue ) { m_auiQualityLevel[uiIndex] = uiValue; }

    // JVT-V068 {
    UInt getTemporalId() { return m_uiTemporalId; }
    Void setTemporalId( UInt uiValue ) { m_uiTemporalId = uiValue; }
    // JVT-V068 }
  //JVT-W062 {
//  Void setTemporalId( UInt uiValue ) { m_uiTemporalId = uiValue; }
  private:
    UInt  m_uiTemporalId;
  //JVT-W062 }  
    Bool  m_bAllPicturesInAuFlag;
    UInt  m_uiNumPictures;
    UInt  m_auiDependencyId[MAX_LREP_IN_ACCESS_UNIT];
    UInt  m_auiQualityLevel[MAX_LREP_IN_ACCESS_UNIT];
    // JVT-V068 {
    //UInt  m_uiTemporalId;  //????
    // JVT-V068 }
    //SEIMessage *m_pcSEIMessage;
  };


  //scene_info is taken as en example
  class H264AVCCOMMONLIB_API SceneInfoSei : public SEIMessage
  {
  protected:
    SceneInfoSei() : SEIMessage(SCENE_INFO_SEI)
    {}
  public:
    static ErrVal create( SceneInfoSei*& rpcSceneInfoSei );
    ErrVal    destroy ();
    ErrVal        write ( HeaderSymbolWriteIf*  pcWriteIf);
      ErrVal        read  ( HeaderSymbolReadIf*   pcReadIf );

    Bool getSceneInfoPresentFlag() const { return m_bSceneInfoPresentFlag; }
    UInt getSceneId()              const { return m_uiSceneId; }
    UInt getSceneTransitionType()  const { return m_uiSceneTransitionType; }
    UInt getSecondSceneId()        const { return m_uiSecondSceneId; }
    Void setSceneInfoPresentFlag( Bool bFlag )          { m_bSceneInfoPresentFlag = bFlag; }
    Void setSceneId( UInt uiSceneId )                   { m_uiSceneId = uiSceneId; }
    Void setSceneTransitionType( UInt uiTransitionType) { m_uiSceneTransitionType = uiTransitionType; }
    Void setSecondSceneId( UInt uiSecondId )            { m_uiSecondSceneId = uiSecondId; }
  private:
    Bool m_bSceneInfoPresentFlag;
    UInt m_uiSceneId;
    UInt m_uiSceneTransitionType;
    UInt m_uiSecondSceneId;
  };
  // JVT-T073 }

  // JVT-V068 HRD {
  class H264AVCCOMMONLIB_API BufferingPeriod :
    public SEIMessage
  {

  public:
    class H264AVCCOMMONLIB_API SchedSel
    {
    public:
      SchedSel() : m_uiInitialCpbRemovalDelay(0), m_uiInitialCpbRemovalDelayOffset(0) {}
      SchedSel& operator = (const SchedSel& rcSchedSel)
      {
        m_uiInitialCpbRemovalDelay = rcSchedSel.m_uiInitialCpbRemovalDelay;
        m_uiInitialCpbRemovalDelayOffset = rcSchedSel.m_uiInitialCpbRemovalDelayOffset;
        return *this;
      }
      ErrVal write( HeaderSymbolWriteIf* pcWriteIf, const HRD& rcHrd );
      ErrVal read ( HeaderSymbolReadIf* pcReadIf,   const HRD& rcHrd );

      UInt getDelay() { return m_uiInitialCpbRemovalDelay; }
      UInt getDelayOffset() { return m_uiInitialCpbRemovalDelayOffset; }
      ErrVal setDelay( UInt uiInitialCpbRemovalDelay)
      {
        m_uiInitialCpbRemovalDelay = uiInitialCpbRemovalDelay;
        return Err::m_nOK;
      }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -