Ignore:
Timestamp:
12 Apr 2018, 11:12:21 (7 years ago)
Author:
tech
Message:
  • Update HM-16.18
  • Cleanups
  • Encoder Extension

-- Representation formats
-- Parameter set sharing
-- GOP configuration

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-16.2-dev/source/Lib/TLibEncoder/TEncCfg.h

    r1405 r1412  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2016, ITU/ISO/IEC
     6 * Copyright (c) 2010-2017, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    6262  Int m_POC;
    6363  Int m_QPOffset;
    64 #if W0038_CQP_ADJ
     64#if X0038_LAMBDA_FROM_QP_CAPABILITY
     65  Double m_QPOffsetModelOffset;
     66  Double m_QPOffsetModelScale;
     67#endif
    6568  Int m_CbQPoffset;
    6669  Int m_CrQPoffset;
    67 #endif
    6870  Double m_QPFactor;
    6971  Int m_tcOffsetDiv2;
     
    9395  : m_POC(-1)
    9496  , m_QPOffset(0)
    95 #if W0038_CQP_ADJ
     97#if X0038_LAMBDA_FROM_QP_CAPABILITY
     98  , m_QPOffsetModelOffset(0)
     99  , m_QPOffsetModelScale(0)
     100#endif
    96101  , m_CbQPoffset(0)
    97102  , m_CrQPoffset(0)
    98 #endif
    99103  , m_QPFactor(0)
    100104  , m_tcOffsetDiv2(0)
     
    155159  Bool      m_printFrameMSE;
    156160  Bool      m_printSequenceMSE;
     161#if JVET_F0064_MSSSIM
     162  Bool      m_printMSSSIM;
     163#endif
    157164  Bool      m_cabacZeroWordPaddingEnabled;
    158165
     
    174181  UInt      m_uiIntraPeriod;                    // TODO: make this an Int - it can be -1!
    175182  UInt      m_uiDecodingRefreshType;            ///< the type of decoding refresh employed for the random access.
     183#if JCTVC_Y0038_PARAMS
     184  Bool      m_bReWriteParamSetsFlag;
     185#endif
     186
    176187  Int       m_iGOPSize;
    177188#if NH_MV
     
    186197  Int       m_iQP;                              //  if (AdaptiveQP == OFF)
    187198
     199#if X0038_LAMBDA_FROM_QP_CAPABILITY
     200  Int       m_intraQPOffset;                    ///< QP offset for intra slice (integer)
     201  Int       m_lambdaFromQPEnable;               ///< enable lambda derivation from QP
     202#endif
    188203  Int       m_aiPad[2];
    189204
     
    211226  Int       m_loopFilterBetaOffsetDiv2;
    212227  Int       m_loopFilterTcOffsetDiv2;
    213 #if W0038_DB_OPT
    214228  Int       m_deblockingFilterMetric;
    215 #else
    216   Bool      m_DeblockingFilterMetric;
    217 #endif
    218229  Bool      m_bUseSAO;
    219230  Bool      m_bTestSAODisableAtPictureLevel;
     
    222233  Int       m_maxNumOffsetsPerPic;
    223234  Bool      m_saoCtuBoundary;
    224 #if OPTIONAL_RESET_SAO_ENCODING_AFTER_IRAP
    225235  Bool      m_saoResetEncoderStateAfterIRAP;
    226 #endif
    227236
    228237  //====== Motion search ========
     
    247256  Int       m_chromaCbQpOffset;                 //  Chroma Cb QP Offset (0:default)
    248257  Int       m_chromaCrQpOffset;                 //  Chroma Cr Qp Offset (0:default)
    249 #if W0038_CQP_ADJ
     258  WCGChromaQPControl m_wcgChromaQpControl;                    ///< Wide-colour-gamut chroma QP control.
    250259  UInt      m_sliceChromaQpOffsetPeriodicity;                 ///< Used in conjunction with Slice Cb/Cr QpOffsetIntraOrPeriodic. Use 0 (default) to disable periodic nature.
    251260  Int       m_sliceChromaQpOffsetIntraOrPeriodic[2/*Cb,Cr*/]; ///< Chroma Cb QP Offset at slice level for I slice or for periodic inter slices as defined by SliceChromaQPOffsetPeriodicity. Replaces offset in the GOP table.
    252 #endif
    253261
    254262  ChromaFormat m_chromaFormatIDC;
     
    268276  Bool      m_useRDOQ;
    269277  Bool      m_useRDOQTS;
    270 #if T0196_SELECTIVE_RDOQ
    271278  Bool      m_useSelectiveRDOQ;
    272 #endif
    273279  UInt      m_rdPenalty;
    274280  FastInterSearchMode m_fastInterSearchMode;
     
    288294  Bool      m_cabacBypassAlignmentEnabledFlag;
    289295  Bool      m_rdpcmEnabledFlag[NUMBER_OF_RDPCM_SIGNALLING_MODES];
     296  LumaLevelToDeltaQPMapping m_lumaLevelToDeltaQPMapping; ///< mapping from luma level to delta QP.
    290297  Int*      m_aidQP;
    291298  UInt      m_uiDeltaQpRD;
     
    368375  Bool      m_scalableNestingSEIEnabled;
    369376  Bool      m_tmctsSEIEnabled;
     377#if MCTS_ENC_CHECK
     378  Bool      m_tmctsSEITileConstraint;
     379#endif
    370380  Bool      m_timeCodeSEIEnabled;
    371381  Int       m_timeCodeSEINumTs;
     
    384394  std::string m_colourRemapSEIFileRoot;          ///< SEI Colour Remapping File (initialized from external file)
    385395  TComSEIMasteringDisplay m_masteringDisplay;
    386 #if U0033_ALTERNATIVE_TRANSFER_CHARACTERISTICS_SEI
    387396  Bool      m_alternativeTransferCharacteristicsSEIEnabled;
    388397  UChar     m_preferredTransferCharacteristics;
    389 #endif
     398  Bool      m_greenMetadataInfoSEIEnabled;
     399  UChar     m_greenMetadataType;
     400  UChar     m_xsdMetricType;
    390401
    391402#if NH_MV
    392403  SEIMessages* m_seiMessages;
     404  Bool         m_sendParameterSets;
     405  Int          m_parameterSetId;
    393406#endif
    394407  //====== Weighted Prediction ========
     
    401414  std::string m_scalingListFileName;              ///< quantization matrix file name
    402415  Int       m_TMVPModeId;
    403   Bool      m_signHideFlag;
     416  Bool      m_SignDataHidingEnabledFlag;
    404417  Bool      m_RCEnableRateControl;
    405418  Int       m_RCTargetBitrate;
     
    409422  Int       m_RCInitialQP;
    410423  Bool      m_RCForceIntraQP;
    411 #if U0132_TARGET_BITS_SATURATION
    412424  Bool      m_RCCpbSaturationEnabled;                   
    413425  UInt      m_RCCpbSize;
    414426  Double    m_RCInitialCpbFullness;
    415 #endif
    416 
    417427#if KWU_RC_MADPRED_E0227
    418428  UInt       m_depthMADPred;
     
    421431  Bool      m_bViewWiseRateCtrl;
    422432#endif
    423   Bool      m_TransquantBypassEnableFlag;                     ///< transquant_bypass_enable_flag setting in PPS.
    424   Bool      m_CUTransquantBypassFlagForce;                    ///< if transquant_bypass_enable_flag, then, if true, all CU transquant bypass flags will be set to true.
     433  Bool      m_TransquantBypassEnabledFlag;                     ///< transquant_bypass_enabled_flag setting in PPS.
     434  Bool      m_CUTransquantBypassFlagForce;                    ///< if transquant_bypass_enabled_flag, then, if true, all CU transquant bypass flags will be set to true.
    425435
    426436  CostMode  m_costMode;                                       ///< The cost function to use, primarily when considering lossless coding.
    427437#if NH_MV
    428438  TComVPS*  m_cVPS;                                           ///< pointer to VPS, same for all layers
     439  TComSPS   m_activeSps;                                      /// Keep local copy; since syntax elements can be changed by layer specific inference.
     440  TComPPS   m_activePps;                                      /// Keep local copy; since syntax elements can be changed by layer specific inference.
    429441#else
    430 
    431442  TComVPS   m_cVPS;
    432443#endif
    433444
    434 #if NH_3D_DLT
     445#if NH_3D
    435446  TComDLT   m_cDLT;
    436447#endif
     
    519530  Bool      m_useSDC;
    520531  Bool      m_useDLT;
    521 #endif
    522 #if NH_3D_QTL
    523532  Bool      m_bUseQTL;
    524 #endif
    525 #if NH_3D
    526533  Int       m_profileIdc;
    527534#endif
     
    578585  Void      setPrintSequenceMSE             (Bool value)     { m_printSequenceMSE = value;          }
    579586
     587#if JVET_F0064_MSSSIM
     588  Bool      getPrintMSSSIM                  ()         const { return m_printMSSSIM;               }
     589  Void      setPrintMSSSIM                  (Bool value)     { m_printMSSSIM = value;              }
     590#endif
     591
    580592  Bool      getCabacZeroWordPaddingEnabled()           const { return m_cabacZeroWordPaddingEnabled;  }
    581593  Void      setCabacZeroWordPaddingEnabled(Bool value)       { m_cabacZeroWordPaddingEnabled = value; }
    582594#if NH_MV
    583595  Void      setLayerId                       ( Int layerId )      { m_layerId = layerId; }
    584   Int       getLayerId                       ()                   { return m_layerId;    }
    585   Int       getLayerIdInVps                  ()                   { return m_layerIdInVps; }
     596  Int       getLayerId                       ()         const     { return m_layerId;    }
     597  Int       getLayerIdInVps                  ()         const     { return m_layerIdInVps; }
    586598  Void      setLayerIdInVps                  ( Int layerIdInVps)  { m_layerIdInVps = layerIdInVps; }
    587599  Void      setViewId                        ( Int viewId  )      { m_viewId  = viewId;  }
    588   Int       getViewId                        ()                   { return m_viewId;    }
     600  Int       getViewId                        ()         const     { return m_viewId;    }
    589601  Void      setViewIndex                     ( Int viewIndex  )   { m_viewIndex  = viewIndex;  }
    590   Int       getViewIndex                     ()                   { return m_viewIndex;    }
     602  Int       getViewIndex                     ()         const     { return m_viewIndex;    }
     603#if NH_MV
     604  Void      setSendParameterSets            ( Bool value )       { m_sendParameterSets = value; };
     605  Bool      getSendParameterSets            (  )                 { return m_sendParameterSets; };
     606
     607  Void      setParameterSetId               ( Int  value )       { m_parameterSetId = value; };
     608  Int       getParameterSetId               (  )                 { return m_parameterSetId;  };
     609
     610
     611#endif
    591612#if NH_3D_VSO || NH_3D
    592   Void      setIsDepth                       ( Bool isDepth )   { m_isDepth = isDepth; }
    593   Bool      getIsDepth                       ()                 { return m_isDepth; }
     613  Void      setIsDepth                       ( Bool isDepth )    { m_isDepth = isDepth; }
     614  Bool      getIsDepth                       ()         const    { return m_isDepth; }
    594615  Void      setIsAuxDepth                    ( Bool isAuxDepth ) { m_isAuxDepth = isAuxDepth; }
    595616  Bool      getIsAuxDepth                       ()               { return m_isAuxDepth; }
     
    601622  Void      setIntraPeriod                  ( Int   i )      { m_uiIntraPeriod = (UInt)i; }
    602623  Void      setDecodingRefreshType          ( Int   i )      { m_uiDecodingRefreshType = (UInt)i; }
     624#if JCTVC_Y0038_PARAMS
     625  Void      setReWriteParamSetsFlag         ( Bool  b )      { m_bReWriteParamSetsFlag = b; }
     626#endif
     627
    603628  Void      setGOPSize                      ( Int   i )      { m_iGOPSize = i; }
    604629#if NH_MV
    605630  Void      setGopList                      ( GOPEntry*  GOPList ) {  for ( Int i = 0; i < MAX_GOP+1; i++ ) m_GOPList[i] = GOPList[i]; }
    606631#else
    607   Void      setGopList                      ( GOPEntry*  GOPList ) {  for ( Int i = 0; i < MAX_GOP; i++ ) m_GOPList[i] = GOPList[i]; }
     632  Void      setGopList                      ( const GOPEntry GOPList[MAX_GOP] ) {  for ( Int i = 0; i < MAX_GOP; i++ ) m_GOPList[i] = GOPList[i]; }
    608633#endif
    609634  Void      setExtraRPSs                    ( Int   i )      { m_extraRPSs = i; }
    610   GOPEntry  getGOPEntry                     ( Int   i )      { return m_GOPList[i]; }
     635  const GOPEntry &getGOPEntry               ( Int   i ) const { return m_GOPList[i]; }
    611636  Void      setEncodedFlag                  ( Int  i, Bool value )  { m_GOPList[i].m_isEncoded = value; }
    612637  Void      setMaxDecPicBuffering           ( UInt u, UInt tlayer ) { m_maxDecPicBuffering[tlayer] = u;    }
     
    615640  Void      setQP                           ( Int   i )      { m_iQP = i; }
    616641
     642#if X0038_LAMBDA_FROM_QP_CAPABILITY
     643  Void      setIntraQPOffset                ( Int   i )         { m_intraQPOffset = i; }
     644  Void      setLambdaFromQPEnable           ( Bool  b )         { m_lambdaFromQPEnable = b; }
     645#endif
    617646  Void      setPad                          ( Int*  iPad                   )      { for ( Int i = 0; i < 2; i++ ) m_aiPad[i] = iPad[i]; }
    618647
     
    626655  Void      setMaxTotalCUDepth              ( UInt  u )      { m_maxTotalCUDepth = u; }
    627656  Void      setLog2DiffMaxMinCodingBlockSize( UInt  u )      { m_log2DiffMaxMinCodingBlockSize = u; }
    628 #if NH_3D_IC
     657#if NH_3D
    629658  Void       setUseIC                       ( Bool bVal )    { m_bUseIC = bVal; }
    630659  Bool       getUseIC                       ()               { return m_bUseIC; }
     
    646675  Void      setLoopFilterBetaOffset         ( Int   i )      { m_loopFilterBetaOffsetDiv2  = i; }
    647676  Void      setLoopFilterTcOffset           ( Int   i )      { m_loopFilterTcOffsetDiv2    = i; }
    648 #if W0038_DB_OPT
    649677  Void      setDeblockingFilterMetric       ( Int   i )      { m_deblockingFilterMetric = i; }
    650 #else
    651   Void      setDeblockingFilterMetric       ( Bool  b )      { m_DeblockingFilterMetric = b; }
    652 #endif
     678
    653679  //====== Motion search ========
    654680  Void      setDisableIntraPUsInInterSlices ( Bool  b )      { m_bDisableIntraPUsInInterSlices = b; }
     
    675701  Void      setChromaCbQpOffset             ( Int   i )      { m_chromaCbQpOffset = i; }
    676702  Void      setChromaCrQpOffset             ( Int   i )      { m_chromaCrQpOffset = i; }
    677 #if W0038_CQP_ADJ
     703  Void      setWCGChromaQpControl           ( const WCGChromaQPControl &ctrl )     { m_wcgChromaQpControl = ctrl; }
     704  const WCGChromaQPControl &getWCGChromaQPControl () const { return m_wcgChromaQpControl; }
    678705  Void      setSliceChromaOffsetQpIntraOrPeriodic( UInt periodicity, Int sliceChromaQpOffsetIntraOrPeriodic[2]) { m_sliceChromaQpOffsetPeriodicity = periodicity; memcpy(m_sliceChromaQpOffsetIntraOrPeriodic, sliceChromaQpOffsetIntraOrPeriodic, sizeof(m_sliceChromaQpOffsetIntraOrPeriodic)); }
    679706  Int       getSliceChromaOffsetQpIntraOrPeriodic( Bool bIsCr) const                                            { return m_sliceChromaQpOffsetIntraOrPeriodic[bIsCr?1:0]; }
    680707  UInt      getSliceChromaOffsetQpPeriodicity() const                                                           { return m_sliceChromaQpOffsetPeriodicity; }
    681 #endif
    682708
    683709  Void      setChromaFormatIdc              ( ChromaFormat cf ) { m_chromaFormatIDC = cf; }
    684710  ChromaFormat  getChromaFormatIdc          ( )              { return m_chromaFormatIDC; }
     711
     712  Void      setLumaLevelToDeltaQPControls( const LumaLevelToDeltaQPMapping &lumaLevelToDeltaQPMapping ) { m_lumaLevelToDeltaQPMapping=lumaLevelToDeltaQPMapping; }
     713  const LumaLevelToDeltaQPMapping& getLumaLevelToDeltaQPMapping() const { return m_lumaLevelToDeltaQPMapping; }
    685714
    686715#if ADAPTIVE_QP_SELECTION
     
    717746  UInt      getIntraPeriod                  ()      { return  m_uiIntraPeriod; }
    718747  UInt      getDecodingRefreshType          ()      { return  m_uiDecodingRefreshType; }
    719   Int       getGOPSize                      ()      { return  m_iGOPSize; }
     748#if JCTVC_Y0038_PARAMS
     749  Bool      getReWriteParamSetsFlag         ()      { return m_bReWriteParamSetsFlag; }
     750#endif
     751  #if NH_MV
     752Int       getGOPSize                      ()    const  { return  m_iGOPSize; }
     753#else
     754Int       getGOPSize                      ()      { return  m_iGOPSize; }
     755#endif
    720756  Int       getMaxDecPicBuffering           (UInt tlayer) { return m_maxDecPicBuffering[tlayer]; }
    721757  Int       getNumReorderPics               (UInt tlayer) { return m_numReorderPics[tlayer]; }
     758#if X0038_LAMBDA_FROM_QP_CAPABILITY
     759  Int       getIntraQPOffset                () const    { return  m_intraQPOffset; }
     760  Int       getLambdaFromQPEnable           () const    { return  m_lambdaFromQPEnable; }
     761protected:
     762  Int       getBaseQP                       () const { return  m_iQP; } // public should use getQPForPicture.
     763public:
     764  Int       getQPForPicture                 (const UInt gopIndex, const TComSlice *pSlice) const; // Function actually defined in TEncTop.cpp
     765#else
    722766  Int       getQP                           ()      { return  m_iQP; }
    723 
     767#endif
    724768  Int       getPad                          ( Int i )      { assert (i < 2 );                      return  m_aiPad[i]; }
    725769
     
    734778
    735779  //==== Loop/Deblock Filter ========
     780#if NH_MV
     781  Bool      getLoopFilterDisable            ()      const { return  m_bLoopFilterDisable;       }
     782  Bool      getLoopFilterOffsetInPPS        ()      const { return m_loopFilterOffsetInPPS; }
     783  Int       getLoopFilterBetaOffset         ()      const { return m_loopFilterBetaOffsetDiv2; }
     784  Int       getLoopFilterTcOffset           ()      const { return m_loopFilterTcOffsetDiv2; }
     785  Int       getDeblockingFilterMetric       ()      const { return m_deblockingFilterMetric; }
     786#else
    736787  Bool      getLoopFilterDisable            ()      { return  m_bLoopFilterDisable;       }
    737788  Bool      getLoopFilterOffsetInPPS        ()      { return m_loopFilterOffsetInPPS; }
    738789  Int       getLoopFilterBetaOffset         ()      { return m_loopFilterBetaOffsetDiv2; }
    739790  Int       getLoopFilterTcOffset           ()      { return m_loopFilterTcOffsetDiv2; }
    740 #if W0038_DB_OPT
    741791  Int       getDeblockingFilterMetric       ()      { return m_deblockingFilterMetric; }
    742 #else
    743   Bool      getDeblockingFilterMetric       ()      { return m_DeblockingFilterMetric; }
    744792#endif
    745793
     
    759807
    760808  //==== Quality control ========
    761   Int       getMaxDeltaQP                   ()     { return  m_iMaxDeltaQP; }
    762   Int       getMaxCuDQPDepth                ()     { return  m_iMaxCuDQPDepth; }
    763   Bool      getUseAdaptiveQP                ()     { return  m_bUseAdaptiveQP; }
    764   Int       getQPAdaptationRange            ()     { return  m_iQPAdaptationRange; }
     809  Int       getMaxDeltaQP                   () const { return  m_iMaxDeltaQP; }
     810  Int       getMaxCuDQPDepth                () const { return  m_iMaxCuDQPDepth; }
     811  Bool      getUseAdaptiveQP                () const { return  m_bUseAdaptiveQP; }
     812  Int       getQPAdaptationRange            () const { return  m_iQPAdaptationRange; }
    765813
    766814  //==== Tool list ========
     
    770818  Void      setUseRDOQ                      ( Bool  b )     { m_useRDOQ    = b; }
    771819  Void      setUseRDOQTS                    ( Bool  b )     { m_useRDOQTS  = b; }
    772 #if T0196_SELECTIVE_RDOQ
    773820  Void      setUseSelectiveRDOQ             ( Bool b )      { m_useSelectiveRDOQ = b; }
    774 #endif
    775821  Void      setRDpenalty                    ( UInt  u )     { m_rdPenalty  = u; }
    776822  Void      setFastInterSearchMode          ( FastInterSearchMode m ) { m_fastInterSearchMode = m; }
     
    797843  Bool      getUseRDOQ                      ()      { return m_useRDOQ;    }
    798844  Bool      getUseRDOQTS                    ()      { return m_useRDOQTS;  }
    799 #if T0196_SELECTIVE_RDOQ
    800845  Bool      getUseSelectiveRDOQ             ()      { return m_useSelectiveRDOQ; }
    801 #endif
    802846  Int       getRDpenalty                    ()      { return m_rdPenalty;  }
    803847  FastInterSearchMode getFastInterSearchMode() const{ return m_fastInterSearchMode;  }
     
    841885  Void setIntraSmoothingDisabledFlag               (Bool bValue) { m_intraSmoothingDisabledFlag=bValue; }
    842886
    843   Int*      getdQPs                         ()      { return m_aidQP;       }
     887  const Int* getdQPs                        () const { return m_aidQP;       }
    844888  UInt      getDeltaQpRD                    () const { return m_uiDeltaQpRD; }
    845889  Bool      getFastDeltaQp                  () const { return m_bFastDeltaQP; }
     
    871915  Void  setSaoCtuBoundary              (Bool val)                    { m_saoCtuBoundary = val; }
    872916  Bool  getSaoCtuBoundary              ()                            { return m_saoCtuBoundary; }
    873 #if OPTIONAL_RESET_SAO_ENCODING_AFTER_IRAP
    874917  Void  setSaoResetEncoderStateAfterIRAP(Bool b)                     { m_saoResetEncoderStateAfterIRAP = b; }
    875918  Bool  getSaoResetEncoderStateAfterIRAP() const                     { return m_saoResetEncoderStateAfterIRAP; }
    876 #endif
    877919  Void  setLFCrossTileBoundaryFlag               ( Bool   val  )     { m_loopFilterAcrossTilesEnabledFlag = val; }
    878920  Bool  getLFCrossTileBoundaryFlag               ()                  { return m_loopFilterAcrossTilesEnabledFlag;   }
     
    9861028  Void  setTMCTSSEIEnabled(Bool b)                                   { m_tmctsSEIEnabled = b; }
    9871029  Bool  getTMCTSSEIEnabled()                                         { return m_tmctsSEIEnabled; }
     1030#if MCTS_ENC_CHECK
     1031  Void  setTMCTSSEITileConstraint(Bool b)                            { m_tmctsSEITileConstraint = b; }
     1032  Bool  getTMCTSSEITileConstraint()                                  { return m_tmctsSEITileConstraint; }
     1033#endif
    9881034  Void  setTimeCodeSEIEnabled(Bool b)                                { m_timeCodeSEIEnabled = b; }
    9891035  Bool  getTimeCodeSEIEnabled()                                      { return m_timeCodeSEIEnabled; }
     
    10191065
    10201066  Void  setMasteringDisplaySEI(const TComSEIMasteringDisplay &src)   { m_masteringDisplay = src; }
    1021 #if U0033_ALTERNATIVE_TRANSFER_CHARACTERISTICS_SEI
    10221067  Void  setSEIAlternativeTransferCharacteristicsSEIEnable( Bool b)   { m_alternativeTransferCharacteristicsSEIEnabled = b;    }
    10231068  Bool  getSEIAlternativeTransferCharacteristicsSEIEnable( ) const   { return m_alternativeTransferCharacteristicsSEIEnabled; }
    10241069  Void  setSEIPreferredTransferCharacteristics(UChar v)              { m_preferredTransferCharacteristics = v;    }
    10251070  UChar getSEIPreferredTransferCharacteristics() const               { return m_preferredTransferCharacteristics; }
    1026 #endif
     1071  Void  setSEIGreenMetadataInfoSEIEnable( Bool b)                    { m_greenMetadataInfoSEIEnabled = b;    }
     1072  Bool  getSEIGreenMetadataInfoSEIEnable( ) const                    { return m_greenMetadataInfoSEIEnabled; }
     1073  Void  setSEIGreenMetadataType(UChar v)                             { m_greenMetadataType = v;    }
     1074  UChar getSEIGreenMetadataType() const                              { return m_greenMetadataType; }
     1075  Void  setSEIXSDMetricType(UChar v)                                 { m_xsdMetricType = v;    }
     1076  UChar getSEIXSDMetricType() const                                  { return m_xsdMetricType; }
     1077
    10271078  const TComSEIMasteringDisplay &getMasteringDisplaySEI() const      { return m_masteringDisplay; }
    10281079#if NH_MV
     
    10461097  WeightedPredictionMethod getWeightedPredictionMethod() const       { return m_weightedPredictionMethod; }
    10471098  Void         setWeightedPredictionMethod( WeightedPredictionMethod m ) { m_weightedPredictionMethod = m; }
    1048   Void         setSignHideFlag( Bool signHideFlag )                  { m_signHideFlag = signHideFlag; }
    1049   Bool         getSignHideFlag()                                     { return m_signHideFlag; }
     1099  Void         setSignDataHidingEnabledFlag( Bool b )                { m_SignDataHidingEnabledFlag = b;    }
     1100#if NH_MV
     1101  Bool         getSignDataHidingEnabledFlag()       const            { return m_SignDataHidingEnabledFlag; }
     1102#else
     1103  Bool         getSignDataHidingEnabledFlag()                        { return m_SignDataHidingEnabledFlag; }
     1104#endif
    10501105  Bool         getUseRateCtrl         ()                             { return m_RCEnableRateControl;   }
    10511106  Void         setUseRateCtrl         ( Bool b )                     { m_RCEnableRateControl = b;      }
     
    10621117  Bool         getForceIntraQP        ()                             { return m_RCForceIntraQP;        }
    10631118  Void         setForceIntraQP        ( Bool b )                     { m_RCForceIntraQP = b;           }
    1064 
    1065 #if U0132_TARGET_BITS_SATURATION
    10661119  Bool         getCpbSaturationEnabled()                             { return m_RCCpbSaturationEnabled;}
    10671120  Void         setCpbSaturationEnabled( Bool b )                     { m_RCCpbSaturationEnabled = b;   }
     
    10701123  Double       getInitialCpbFullness  ()                             { return m_RCInitialCpbFullness;  }
    10711124  Void         setInitialCpbFullness  (Double f)                     { m_RCInitialCpbFullness = f;     }
    1072 #endif
    10731125
    10741126#if KWU_RC_MADPRED_E0227
     
    10801132  Void         setUseViewWiseRateCtrl (Bool b)                       { m_bViewWiseRateCtrl    = b;        }
    10811133#endif
    1082   Bool         getTransquantBypassEnableFlag()                       { return m_TransquantBypassEnableFlag; }
    1083   Void         setTransquantBypassEnableFlag(Bool flag)              { m_TransquantBypassEnableFlag = flag; }
     1134#if NH_MV
     1135  Bool         getTransquantBypassEnabledFlag()               const   { return m_TransquantBypassEnabledFlag; }
     1136#else
     1137  Bool         getTransquantBypassEnabledFlag()                       { return m_TransquantBypassEnabledFlag; }
     1138#endif
     1139  Void         setTransquantBypassEnabledFlag(Bool flag)             { m_TransquantBypassEnabledFlag = flag; }
    10841140  Bool         getCUTransquantBypassFlagForceValue()                 { return m_CUTransquantBypassFlagForce; }
    10851141  Void         setCUTransquantBypassFlagForceValue(Bool flag)        { m_CUTransquantBypassFlagForce = flag; }
    1086   CostMode     getCostMode( )                                        { return m_costMode; }
     1142  CostMode     getCostMode( ) const                                  { return m_costMode; }
    10871143  Void         setCostMode(CostMode m )                              { m_costMode = m; }
    10881144#if NH_MV
    10891145  Void         setVPS( TComVPS *p )                                  { m_cVPS = p;    }
    10901146  TComVPS*     getVPS()                                              { return m_cVPS; }
     1147  TComVPS*     getVPS() const                                        { return m_cVPS; }
     1148 
    10911149#else
    10921150  Void         setVPS(TComVPS *p)                                    { m_cVPS = *p; }
     
    10941152#endif
    10951153
    1096 #if NH_3D_DLT
     1154#if NH_3D
    10971155  Void         setDLT( TComDLT p )                                   { m_cDLT = p; }
    10981156  TComDLT*     getDLT()                                              { return &m_cDLT; }
     
    12611319#endif
    12621320
    1263 #if NH_3D_QTL
     1321#if NH_3D
    12641322  Void      setUseQTL                       ( Bool b ) { m_bUseQTL = b;    }
    12651323  Bool      getUseQTL                       ()         { return m_bUseQTL; }
    1266 #endif
    1267 #if NH_3D
    1268 
    1269   Void      setProfileIdc( Int a )    { assert( a == 1 || a == 6 || a == 8 ); m_profileIdc = a;  }
     1324#if NH_MV_ALLOW_NON_CONFORMING
     1325  Void      setProfileIdc( Int a )    { assert( a == Profile::MAIN || a == Profile::MULTIVIEWMAIN|| a == Profile::MAIN3D  ||  a == Profile::NONE || a == Profile::MAIN3D_NONCONFORMING || a == Profile::MULTIVIEWMAIN_NONCONFORMING|| a == Profile::MAIN3D_NONCONFORMING  ); m_profileIdc = a;  }
     1326  Bool      decProcAnnexI()           { assert( m_profileIdc != -1 ); return ( m_profileIdc == Profile::MAIN3D  || m_profileIdc == Profile::MAIN3D_NONCONFORMING ); }   
     1327#else
     1328  Void      setProfileIdc( Int a )    { assert( a == Profile::MAIN || a == Profile::MULTIVIEWMAIN|| a == Profile::MAIN3D ); m_profileIdc = a;  }
    12701329  Bool      decProcAnnexI()           { assert( m_profileIdc != -1 ); return ( m_profileIdc == Profile::MAIN3D ); }   
     1330#endif
     1331
     1332 
    12711333#endif // NH_3D
    12721334};
Note: See TracChangeset for help on using the changeset viewer.