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

📄 codingparameter.h

📁 JVT-S203 contains the JSVM 6 reference software. It corresponds to CVS tag “JSVM_5_12_1”. For obt
💻 H
📖 第 1 页 / 共 4 页
字号:
  Void                            setIndependentParsing( UInt ui ) { m_uiIndependentParsing = ui; }
#endif

  //S051{
  const std::string&              getInSIPFileName             () const { return m_cInSIPFileName; }
  const std::string&              getOutSIPFileName            () const { return m_cOutSIPFileName; }
  Void							  setInSIPFileName			   (Char* p) { m_cInSIPFileName=p; }
  Void							  setOutSIPFileName			   (Char* p) { m_cOutSIPFileName=p; }
  Void							  setAnaSIP					   (UInt	uiAnaSIP){ m_uiAnaSIP = uiAnaSIP;}
  Void						      setEncSIP					   (Bool	bEncSIP){ m_bEncSIP = bEncSIP;}
  UInt							  getAnaSIP					   (){ return m_uiAnaSIP; }
  Bool							  getEncSIP					   (){ return m_bEncSIP; }
  //S051}

public:
  UInt                      m_uiLayerId;
  UInt                      m_uiFrameWidth;
  UInt                      m_uiFrameHeight;
  Double                    m_dInputFrameRate;
  Double                    m_dOutputFrameRate;
  std::string               m_cInputFilename;
  std::string               m_cOutputFilename;

  UInt                      m_uiClosedLoop;
  UInt                      m_uiEntropyCodingModeFlag;
  UInt                      m_uiAdaptiveTransform;

  UInt                      m_uiMaxAbsDeltaQP;
  Double                    m_dBaseQpResidual;
  Double                    m_dNumFGSLayers;
  
  Double                    m_adQpModeDecision[MAX_DSTAGES];
  Double                    m_dQpModeDecisionLP;
  UInt                      m_uiInterLayerPredictionMode;
  UInt                      m_uiDecodingLoops;
  Bool                      m_bConstrainedIntraPredForLP;
  UInt                      m_uiForceReorderingCommands;
  UInt                      m_uiBaseLayerId;

  UInt                      m_uiBaseQualityLevel;

  UInt                      m_uiMotionInfoMode;
  std::string               m_cMotionInfoFilename;

  UInt                      m_uiFGSMode;
  std::string               m_cFGSRateFilename;
  Double                    m_dFGSRate;
  
  //----- derived parameters -----
  UInt                      m_uiDecompositionStages;
  UInt                      m_uiNotCodedMCTFStages;
  UInt                      m_uiTemporalResolution;
  UInt                      m_uiFrameDelay;

  //----- for scalable SEI ----
  UInt                      m_uiBaseLayerSpatRes;
  UInt                      m_uiBaseLayerTempRes;

  //----- ESS ---- 
  ResizeParameters          m_ResizeParameter;

  Double                    m_dLowPassEnhRef;
  UInt                      m_uiBaseWeightZeroBaseBlock;
  UInt                      m_uiBaseWeightZeroBaseCoeff;
  UInt                      m_uiFgsEncStructureFlag;

  //--ICU/ETRI FMO Implementation : FMO start
  UInt         m_uiNumSliceGroupsMinus1;  
  UInt         m_uiSliceGroupMapType;  
  UInt         m_uiRunLengthMinus1[CodParMAXNumSliceGroupsMinus1];  
  UInt         m_uiTopLeft[CodParMAXNumSliceGroupsMinus1];
  UInt         m_uiBottomRight[CodParMAXNumSliceGroupsMinus1];
  Bool         m_bSliceGroupChangeDirection_flag;
  UInt         m_uiSliceGroupChangeRateMinus1;
  UInt         m_uiNumSliceGroupMapUnitsMinus1;
  UInt         m_uiSliceGroupId[CodParMAXNumSliceGroupsMinus1];
  UInt         m_uiSliceMode;
  UInt         m_uiSliceArgument;
  std::string  m_cSliceGroupConfigFileName;

  std::string  m_cROIConfigFileName;
  UInt		   m_uiNumROI;
  UInt		   m_uiROIID[CodParMAXNumSliceGroupsMinus1];
  UInt		   m_uiSGID[CodParMAXNumSliceGroupsMinus1];
  UInt		   m_uiSLID[CodParMAXNumSliceGroupsMinus1];

  //--ICU/ETRI FMO Implementation : FMO end
  UInt         m_uiUseRedundantSlice;   // JVT-Q054 Red. Picture

  // JVT-S054 (ADD) ->
  Bool         m_bSliceDivisionFlag;
  UInt         m_uiNumSliceMinus1;
  UInt         m_uiSliceDivisionType;
  UInt*        m_puiGridSliceWidthInMbsMinus1;
  UInt*        m_puiGridSliceHeightInMbsMinus1;
  UInt*        m_puiFirstMbInSlice;
  UInt*        m_puiLastMbInSlice;
  UInt*        m_puiSliceId;
  // JVT-S054 (ADD) <-

  //JVT-P031
  Bool                      m_bUseDiscardable; //indicate if discardable stream is coded for this layer 
                                                //discardable stream should not be used for inter-layer prediction
  Double                    m_dPredFGSRate; //rate use for inter-layer prediction (after that rate, stream is discardable)

  UInt                      m_uiFGSMotionMode;

// JVT-Q065 EIDR{
  Int						m_iIDRPeriod;
  Bool						m_bBLSkipEnable;
// JVT-Q065 EIDR}

  UInt               m_uiPLR; //JVT-R057 LA-RDO
  UInt       m_uiFGSCodingMode;
  UInt       m_uiGroupingSize;
  UInt       m_uiPosVect[16];

#if INDEPENDENT_PARSING
  UInt         m_uiIndependentParsing;
#endif

  //S051{
  std::string    m_cOutSIPFileName;
  std::string	 m_cInSIPFileName;
  UInt			 m_uiAnaSIP;
  Bool			 m_bEncSIP;
  //S051}
};


//TMM_WP
class H264AVCENCODERLIB_API SampleWeightingParams
{
  public:
    SampleWeightingParams() : m_uiIPMode(0), m_uiBMode(0), m_uiLumaDenom(5), m_uiChromaDenom(5), m_fDiscardThr(1) { }
        ErrVal check() const ;
        ErrVal checkForValidChanges( const SampleWeightingParams& rcSW )const;

        Bool operator == ( const SampleWeightingParams& rcSWP ) const ;
        Bool operator != ( const SampleWeightingParams& rcSWP ) const { return !((*this) == rcSWP); }
        ErrVal writeBinary( BinDataAccessor& rcBinDataAccessor )  const;
        ErrVal readBinary( BinDataAccessor& rcBinDataAccessor );

        UInt getIPMode()                  const { return m_uiIPMode; }
        UInt getBMode()                   const { return m_uiBMode; }
        UInt getLumaDenom()               const { return m_uiLumaDenom; }
        UInt getChromaDenom()             const { return m_uiChromaDenom; }
        Float getDiscardThr()             const { return m_fDiscardThr; }
        Void setIPMode( UInt uiIPMode )         { m_uiIPMode      = uiIPMode; }
        Void setBMode( UInt uiBMode )           { m_uiBMode       = uiBMode; }
        Void setLumaDenom( UInt uiDenom )       { m_uiLumaDenom   = uiDenom; }
        Void setChromaDenom( UInt uiDenom )     { m_uiChromaDenom = uiDenom; }
        Void setDiscardThr( Float fDiscardThr ) { m_fDiscardThr = fDiscardThr; }

  protected:
        UInt m_uiIPMode;      // 0 off, 1 on, 2 random
        UInt m_uiBMode;       // 0 off, 1 explicit, 2 implicit, 3 random
        UInt m_uiLumaDenom;   // 0-7
        UInt m_uiChromaDenom; // 0-7
        Float m_fDiscardThr;
};
//TMM_WP



class H264AVCENCODERLIB_API CodingParameter
{
public:
  CodingParameter()
    : m_dMaximumFrameRate                 ( 0.0 )
    , m_dMaximumDelay                     ( 1e6 )
    , m_uiTotalFrames                     ( 0 )
    , m_uiGOPSize                         ( 0 )
    , m_uiDecompositionStages             ( 0 )
    , m_uiIntraPeriod                     ( 0 )
    , m_uiIntraPeriodLowPass              ( 0 )
    , m_uiNumRefFrames                    ( 0 )
    , m_uiBaseLayerMode                   ( 0 )
    , m_uiNumberOfLayers                  ( 0 )
    , m_bExtendedPriorityId               ( 0 )
    , m_uiNumSimplePris                   (0)
    //{{Adaptive GOP structure
    // --ETRI & KHU
    , m_uiUseAGS                          (0)
    , m_uiWriteGOPMode                    (0)
    //}}Adaptive GOP structure
    , m_dLowPassEnhRef                    ( -1.0 )
    , m_uiBaseWeightZeroBaseBlock         ( MSYS_UINT_MAX )
    , m_uiBaseWeightZeroBaseCoeff         ( MSYS_UINT_MAX )
    , m_uiFgsEncStructureFlag             ( MSYS_UINT_MAX )
    , m_uiLowPassFgsMcFilter              ( AR_FGS_DEFAULT_FILTER )
    , m_uiMVCmode                         ( 0 )
    , m_uiFrameWidth                      ( 0 )
    , m_uiFrameHeight                     ( 0 )
    , m_uiSymbolMode                      ( 0 )
    , m_ui8x8Mode                         ( 0 )
    , m_dBasisQp                          ( 0 )
    , m_uiDPBSize                         ( 0 )
    , m_uiNumDPBRefFrames                 ( 0 )
    , m_uiLog2MaxFrameNum                 ( 0 )
    , m_uiLog2MaxPocLsb                   ( 0 )
    , m_cSequenceFormatString             ()
    , m_uiMaxRefIdxActiveBL0              ( 0 )
    , m_uiMaxRefIdxActiveBL1              ( 0 )
    , m_uiMaxRefIdxActiveP                ( 0 )
//TMM_WP
      , m_uiIPMode                       (0)
      , m_uiBMode                        (0)
//TMM_WP
	  , m_bNonRequiredEnable				( 0 ) //NonRequired JVT-Q066
	  , m_uiLARDOEnable                  (0)      //JVT-R057 LA-RDO
	  , m_uiSuffixUnitEnable			  (0)  //JVT-S036 lsj
	  , m_uiMMCOBaseEnable					  ( 0 ) //JVT-S036 lsj
  {
    for( UInt uiLayer = 0; uiLayer < 6; uiLayer++ )
    {
      m_adDeltaQpLayer[uiLayer] = 0;
    }
 /*     for ( UInt uiLoop = 0; uiLoop < (1 << PRI_ID_BITS); uiLoop++ )
      {
        m_uiTemporalLevelList[uiLoop] = 0;
        m_uiDependencyIdList [uiLoop] = 0;
        m_uiQualityLevelList [uiLoop] = 0;
      }
 JVT-S036 lsj */
  }
	virtual ~CodingParameter()
  {
  }

⌨️ 快捷键说明

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