Changeset 56 in 3DVCSoftware for trunk/source/Lib/TLibEncoder/TEncCfg.h


Ignore:
Timestamp:
11 May 2012, 21:20:17 (13 years ago)
Author:
hschwarz
Message:

updated trunk (move to HM6.1)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibEncoder/TEncCfg.h

    r42 r56  
    22 * License, included below. This software may be subject to other third party
    33 * and contributor rights, including patent rights, and no such rights are
    4  * granted under this license.
     4 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2012, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    1515 *    this list of conditions and the following disclaimer in the documentation
    1616 *    and/or other materials provided with the distribution.
    17  *  * Neither the name of the ISO/IEC nor the names of its contributors may
     17 *  * Neither the name of the ITU/ISO/IEC nor the names of its contributors may
    1818 *    be used to endorse or promote products derived from this software without
    1919 *    specific prior written permission.
     
    3232 */
    3333
    34 
    3534/** \file     TEncCfg.h
    3635    \brief    encoder configuration class (header)
     
    4443#endif // _MSC_VER > 1000
    4544
    46 #include "../TLibCommon/CommonDef.h"
    47 #include "TEncSeqStructure.h"
     45#include "TLibCommon/CommonDef.h"
    4846#include <assert.h>
    4947
    50 #include <vector>
     48struct GOPEntryMvc
     49{
     50  Int m_POC;
     51  Int m_QPOffset;
     52  Double m_QPFactor;
     53  Int m_temporalId;
     54  Bool m_refPic;
     55  Int m_numRefPicsActive;
     56  Char m_sliceType;
     57  Int m_numRefPics;
     58  Int m_referencePics[MAX_NUM_REF_PICS];
     59  Int m_usedByCurrPic[MAX_NUM_REF_PICS];
     60  Bool m_interRPSPrediction;
     61  Int m_deltaRIdxMinus1;
     62  Int m_deltaRPS;
     63  Int m_numRefIdc;
     64  Int m_refIdc[MAX_NUM_REF_PICS+1];
     65  Int m_numInterViewRefPics;
     66  Int m_interViewRefs[MAX_NUM_REF_PICS];
     67  Int m_interViewRefPosL0[MAX_NUM_REF_PICS];
     68  Int m_interViewRefPosL1[MAX_NUM_REF_PICS];
     69 GOPEntryMvc()
     70  : m_POC(-1)
     71  , m_QPOffset()
     72  , m_QPFactor()
     73  , m_temporalId()
     74  , m_refPic()
     75  , m_numRefPicsActive()
     76  , m_sliceType()
     77  , m_numRefPics()
     78  , m_interRPSPrediction()
     79  , m_deltaRIdxMinus1()
     80  , m_deltaRPS()
     81  , m_numRefIdc()
     82  , m_numInterViewRefPics()
     83  {
     84    ::memset( m_referencePics, 0, sizeof(m_referencePics) );
     85    ::memset( m_usedByCurrPic, 0, sizeof(m_usedByCurrPic) );
     86    ::memset( m_refIdc,        0, sizeof(m_refIdc) );
     87    ::memset( m_interViewRefs,   0, sizeof(m_interViewRefs) );
     88    ::memset( m_interViewRefPosL0, 0, sizeof(m_interViewRefPosL0) );
     89    ::memset( m_interViewRefPosL1, 0, sizeof(m_interViewRefPosL1) );
     90  }
     91};
     92
     93std::istringstream &operator>>(std::istringstream &in, GOPEntryMvc &entry);
     94
     95//! \ingroup TLibEncoder
     96//! \{
    5197
    5298// ====================================================================================================================
     
    63109  Int       m_iSourceWidth;
    64110  Int       m_iSourceHeight;
     111#if PIC_CROPPING
     112  Int       m_croppingMode;
     113  Int       m_cropLeft;
     114  Int       m_cropRight;
     115  Int       m_cropTop;
     116  Int       m_cropBottom;
     117#endif
    65118  Int       m_iFrameToBeEncoded;
     119  Double    m_adLambdaModifier[ MAX_TLAYER ];
    66120
    67121  //====== Coding Structure ========
    68 #if DCM_DECODING_REFRESH
     122  UInt      m_uiIntraPeriod;
    69123  UInt      m_uiDecodingRefreshType;            ///< the type of decoding refresh employed for the random access.
    70 #endif
    71 
    72   UInt      m_uiCodedPictureStoreSize ;
    73124  Int       m_iGOPSize;
    74   Int       m_iRateGOPSize;
    75 
    76   std::string     m_cInputFormatString ;
    77 
     125  GOPEntryMvc m_GOPList[MAX_GOP+1];
     126  Int       m_extraRPSs;
     127#if H0567_DPB_PARAMETERS_PER_TEMPORAL_LAYER
     128  Int       m_maxDecPicBuffering[MAX_TLAYER];
     129  Int       m_numReorderPics[MAX_TLAYER];
     130#else
     131  Int       m_maxNumberOfReferencePictures;
     132  Int       m_numReorderFrames;
     133#endif
     134 
    78135  Int       m_iQP;                              //  if (AdaptiveQP == OFF)
    79 
     136 
    80137  Int       m_aiTLayerQPOffset[MAX_TLAYER];
    81138  Int       m_aiPad[2];
    82 
     139 
     140
     141  Int       m_iMaxRefPicNum;                     ///< this is used to mimic the sliding mechanism used by the decoder
     142                                                 // TODO: We need to have a common sliding mechanism used by both the encoder and decoder
     143
     144#if H0566_TLA
     145  Int       m_maxTempLayer;                      ///< Max temporal layer
     146#else
     147  Bool      m_bTLayering;                        ///< indicates whether temporal IDs are set based on the hierarchical coding structure
     148  Bool      m_abTLayerSwitchingFlag[MAX_TLAYER]; ///< temporal layer switching flags corresponding to temporal layer
     149#endif
     150  Bool      m_bDisInter4x4;
     151  Bool m_useAMP;
    83152  //======= Transform =============
    84153  UInt      m_uiQuadtreeTULog2MaxSize;
     
    86155  UInt      m_uiQuadtreeTUMaxDepthInter;
    87156  UInt      m_uiQuadtreeTUMaxDepthIntra;
    88 
    89   //====== B Slice ========
    90 
    91   //====== Entropy Coding ========
    92   Int       m_iSymbolMode;                      //  (CAVLC, CABAC)
    93 
     157 
     158  Bool      m_useNSQT;
     159 
    94160  //====== Loop/Deblock Filter ========
    95161  Bool      m_bLoopFilterDisable;
    96   Int       m_iLoopFilterAlphaC0Offset;
    97   Int       m_iLoopFilterBetaOffset;
    98 
    99 #if MTK_SAO
     162  Bool      m_loopFilterOffsetInAPS;
     163  Int       m_loopFilterBetaOffsetDiv2;
     164  Int       m_loopFilterTcOffsetDiv2;
     165#if DBL_CONTROL
     166  Bool      m_DeblockingFilterControlPresent;
     167#endif
    100168  Bool      m_bUseSAO;
    101 #endif
    102 
     169#if SAO_UNIT_INTERLEAVING
     170  Int       m_maxNumOffsetsPerPic;
     171  Bool      m_saoInterleavingFlag;
     172#endif
     173
     174  //====== Lossless ========
     175#if LOSSLESS_CODING
     176  Bool      m_useLossless;
     177#endif
    103178  //====== Motion search ========
    104179  Int       m_iFastSearch;                      //  0:Full search  1:Diamond  2:PMVFAST
    105180  Int       m_iSearchRange;                     //  0:Full frame
    106181  Int       m_bipredSearchRange;
     182
     183  //====== Quality control ========
    107184  Int       m_iMaxDeltaQP;                      //  Max. absolute delta QP (1:default)
    108 
     185  Int       m_iMaxCuDQPDepth;                   //  Max. depth for a minimum CuDQP (0:default)
     186
     187  Int       m_iChromaQpOffset  ;                //  ChromaQpOffset    (0:default)
     188  Int       m_iChromaQpOffset2nd;               //  ChromaQpOffset2nd (0:default)
     189
     190#if ADAPTIVE_QP_SELECTION
     191  Bool      m_bUseAdaptQpSelect;
     192#endif
     193
     194  Bool      m_bUseAdaptiveQP;
     195  Int       m_iQPAdaptationRange;
     196 
    109197#if HHI_VSO
    110198  //====== View Synthesis Optimization ======
     199  Bool      m_bUseVSO;
    111200  Bool      m_bForceLambdaScale;
    112201#if HHI_VSO_DIST_INT
     
    120209  Bool      m_bUseSBACRD;
    121210  Bool      m_bUseALF;
    122 #if MQT_ALF_NPASS
    123211  Int       m_iALFEncodePassReduction;
    124 #endif
     212
     213  Int       m_iALFMaxNumberFilters;
     214#if LCU_SYNTAX_ALF
     215  Bool      m_bALFParamInSlice;
     216  Bool      m_bALFPicBasedEncode;
     217#endif
     218
    125219  Bool      m_bUseASR;
    126220  Bool      m_bUseHADME;
    127 #if DCM_COMB_LIST
    128221  Bool      m_bUseLComb;
    129222  Bool      m_bLCMod;
    130 #endif
    131223  Bool      m_bUseRDOQ;
    132 #if !HHI_NO_LowDelayCoding
    133   Bool      m_bUseLDC;
    134 #endif
     224#if !PIC_CROPPING
    135225  Bool      m_bUsePAD;
     226#endif
    136227  Bool      m_bUseFastEnc;
    137 
    138 #if HHI_VSO
    139   Bool      m_bUseVSO;
    140 #endif 
    141   Bool      m_bUseMRG; // SOPH:
    142 #if LM_CHROMA
    143   Bool      m_bUseLMChroma;
     228  Bool      m_bUseEarlyCU;
     229
     230#if FAST_DECISION_FOR_MRG_RD_COST
     231  Bool      m_useFastDecisionForMerge;
     232#endif
     233  Bool      m_bUseCbfFastMode;
     234  Bool      m_bUseLMChroma;
     235#if HHI_MPI
     236  Bool      m_bUseMVI;
    144237#endif
    145238
    146239  Int*      m_aidQP;
    147240  UInt      m_uiDeltaQpRD;
    148 
    149 #if HHI_RMP_SWITCH
    150   Bool      m_bUseRMP;
    151 #endif
    152 #ifdef ROUNDING_CONTROL_BIPRED
    153   Bool m_useRoundingControlBipred;
    154 #endif
    155 #if CONSTRAINED_INTRA_PRED
     241 
    156242  Bool      m_bUseConstrainedIntraPred;
    157 #endif
    158 #if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
    159   Bool m_bUseDMM;
    160 #endif
    161 #if HHI_DMM_PRED_TEX && FLEX_CODING_ORDER
    162   Bool m_bUseDMM34;
    163 #endif
    164 #if HHI_MPI
    165   Bool m_bUseMVI;
    166 #endif
    167 
     243  Bool      m_usePCM;
     244  UInt      m_pcmLog2MaxSize;
     245  UInt      m_uiPCMLog2MinSize;
    168246  //====== Slice ========
    169247  Int       m_iSliceMode;
    170   Int       m_iSliceArgument;
     248  Int       m_iSliceArgument; 
    171249  //====== Entropy Slice ========
    172250  Int       m_iEntropySliceMode;
    173251  Int       m_iEntropySliceArgument;
    174 #if MTK_NONCROSS_INLOOP_FILTER
     252  Int       m_iSliceGranularity;
    175253  Bool      m_bLFCrossSliceBoundaryFlag;
    176 #endif
     254
     255  Bool      m_bPCMInputBitDepthFlag;
     256  UInt      m_uiPCMBitDepthLuma;
     257  UInt      m_uiPCMBitDepthChroma;
     258  Bool      m_bPCMFilterDisableFlag;
     259  Int       m_iTileBehaviorControlPresentFlag;
     260  Bool      m_bLFCrossTileBoundaryFlag;
     261  Int       m_iColumnRowInfoPresent;
     262  Int       m_iUniformSpacingIdr;
     263  Int       m_iTileBoundaryIndependenceIdr;
     264  Int       m_iNumColumnsMinus1;
     265  UInt*     m_puiColumnWidth;
     266  Int       m_iNumRowsMinus1;
     267  UInt*     m_puiRowHeight;
     268  Int       m_iTileLocationInSliceHeaderFlag; //< enable(1)/disable(0) transmitssion of tile location in slice header
     269
     270  Int       m_iTileMarkerFlag;              //< enable(1)/disable(0) transmitssion of light weight tile marker
     271  Int       m_iMaxTileMarkerEntryPoints;    //< maximum number of tile markers allowed in a slice (controls degree of parallelism)
     272  Double    m_dMaxTileMarkerOffset;         //< Calculated offset. Light weight tile markers will be transmitted for TileIdx= Offset, 2*Offset, 3*Offset ...
     273
     274  Int       m_iWaveFrontSynchro;
     275  Int       m_iWaveFrontFlush;
     276  Int       m_iWaveFrontSubstreams;
    177277
    178278  bool m_pictureDigestEnabled; ///< enable(1)/disable(0) md5 computation and SEI signalling
    179279
    180 #ifdef WEIGHT_PRED
    181280  //====== Weighted Prediction ========
    182   Bool      m_bUseWeightPred;       // Use of Weighting Prediction (P_SLICE)
    183   UInt      m_uiBiPredIdc;          // Use of Bi-Directional Weighting Prediction (B_SLICE)
    184 #endif
    185 
    186   TEncSeqStructure m_cSequenceStructure;
    187   //std::vector<int>  m_aiLayerQPOffset;
    188 
    189 #if BITSTREAM_EXTRACTION
    190   UInt        m_uiLayerId;
    191 #endif
    192   UInt        m_uiViewId;
    193   Int         m_iViewOrderIdx;
    194   Bool        m_bIsDepth;
    195   UInt        m_uiCamParPrecision;
    196   Bool        m_bCamParInSliceHeader;
    197   Int**       m_aaiCodedScale;
    198   Int**       m_aaiCodedOffset;
     281  Bool      m_bUseWeightPred;       //< Use of Weighting Prediction (P_SLICE)
     282  UInt      m_uiBiPredIdc;          //< Use of Bi-Directional Weighting Prediction (B_SLICE)
     283  Int       m_useScalingListId;            ///< Using quantization matrix i.e. 0=off, 1=default, 2=file.
     284  char*     m_scalingListFile;          ///< quantization matrix file name
     285
     286  Bool      m_bEnableTMVP;
     287#if MULTIBITS_DATA_HIDING
     288  Int       m_signHideFlag;
     289  Int       m_signHidingThreshold;
     290#endif
     291
     292  Int      m_viewId;
     293  Bool     m_isDepth;
     294
     295#if HHI_INTERVIEW_SKIP
     296  Bool        m_bInterViewSkip;
     297#if HHI_INTERVIEW_SKIP_LAMBDA_SCALE
     298  Double      m_dInterViewSkipLambdaScale;
     299#endif
     300#endif
     301#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
     302  Bool      m_bUseDMM;
     303#endif
     304
     305  Int      m_iViewOrderIdx;
     306
     307  UInt     m_uiCamParPrecision;
     308  Bool     m_bCamParInSliceHeader;
     309  Int**    m_aaiCodedScale;
     310  Int**    m_aaiCodedOffset;
    199311
    200312#if DEPTH_MAP_GENERATION
    201   UInt        m_uiPredDepthMapGeneration;
    202   UInt        m_uiPdmPrecision;
    203   Int**       m_aaiPdmScaleNomDelta;
    204   Int**       m_aaiPdmOffset;
    205 #endif
     313  UInt     m_uiPredDepthMapGeneration;
     314  UInt     m_uiPdmPrecision;
     315  Int**    m_aaiPdmScaleNomDelta;
     316  Int**    m_aaiPdmOffset;
     317#endif
     318
    206319#if HHI_INTER_VIEW_MOTION_PRED
    207320  UInt        m_uiMultiviewMvPredMode;
     
    213326#endif
    214327
    215   PicOrderCnt m_iQpChangeFrame;
    216   Int         m_iQpChangeOffsetVideo;
    217   Int         m_iQpChangeOffsetDepth;
    218 #if HHI_INTERVIEW_SKIP
    219   UInt        m_uiInterViewSkip;
    220 #if HHI_INTERVIEW_SKIP_LAMBDA_SCALE
    221   Double      m_dInterViewSkipLambdaScale;
    222 #endif
    223 #endif
    224 
    225328public:
    226329  TEncCfg()          {}
    227   virtual ~TEncCfg() {}
    228 
     330  virtual ~TEncCfg()
     331  {
     332    if( m_iUniformSpacingIdr == 0 )
     333    {
     334      if( m_iNumColumnsMinus1 )
     335      {
     336        delete[] m_puiColumnWidth;
     337        m_puiColumnWidth = NULL;
     338      }
     339      if( m_iNumRowsMinus1 )
     340      {
     341        delete[] m_puiRowHeight;
     342        m_puiRowHeight = NULL;
     343      }
     344    }
     345    m_iTileLocationInSliceHeaderFlag = 0;
     346    m_iTileMarkerFlag              = 0;
     347  }
     348 
    229349  Void      setFrameRate                    ( Int   i )      { m_iFrameRate = i; }
    230350  Void      setFrameSkip                    ( unsigned int i ) { m_FrameSkip = i; }
    231351  Void      setSourceWidth                  ( Int   i )      { m_iSourceWidth = i; }
    232352  Void      setSourceHeight                 ( Int   i )      { m_iSourceHeight = i; }
     353#if PIC_CROPPING
     354  Void      setCroppingMode                 ( Int   i )      { m_croppingMode = i; }
     355  Void      setCropLeft                     ( Int   i )      { m_cropLeft = i; }
     356  Void      setCropRight                    ( Int   i )      { m_cropRight = i; }
     357  Void      setCropTop                      ( Int   i )      { m_cropTop = i; }
     358  Void      setCropBottom                   ( Int   i )      { m_cropBottom = i; }
     359#endif
    233360  Void      setFrameToBeEncoded             ( Int   i )      { m_iFrameToBeEncoded = i; }
    234 
     361 
    235362  //====== Coding Structure ========
    236 #if DCM_DECODING_REFRESH
     363  Void      setIntraPeriod                  ( Int   i )      { m_uiIntraPeriod = (UInt)i; }
    237364  Void      setDecodingRefreshType          ( Int   i )      { m_uiDecodingRefreshType = (UInt)i; }
    238 #endif
    239   Void      setCPSSize                      ( Int   i )      { m_uiCodedPictureStoreSize = (UInt) i ;}
    240365  Void      setGOPSize                      ( Int   i )      { m_iGOPSize = i; }
    241   Void      setRateGOPSize                  ( Int   i )      { m_iRateGOPSize = i; }
    242 
    243 #if BITSTREAM_EXTRACTION
    244   Void      setLayerId                      ( UInt  u )      { m_uiLayerId              = u; }
    245   UInt      getLayerId                      ( )              { return m_uiLayerId; }
    246 #endif
    247   Void      setViewId                       ( UInt  u )      { m_uiViewId               = u; }
    248   Void      setViewOrderIdx                 ( Int   i )      { m_iViewOrderIdx          = i; }
    249   Void      setIsDepth                      ( Bool  b )      { m_bIsDepth               = b; }
    250   Void      setCamParPrecision              ( UInt  u )      { m_uiCamParPrecision      = u; }
    251   Void      setCamParInSliceHeader          ( Bool  b )      { m_bCamParInSliceHeader   = b; }
    252   Void      setCodedScale                   ( Int** p )      { m_aaiCodedScale          = p; }
    253   Void      setCodedOffset                  ( Int** p )      { m_aaiCodedOffset         = p; }
    254 
     366  Void      setGopList                      ( GOPEntryMvc* GOPList ) { for( Int i = 0; i < MAX_GOP+1; i++ ) m_GOPList[i] = GOPList[i]; }
     367  Void      setExtraRPSs                    ( Int   i )      { m_extraRPSs = i; }
     368  GOPEntryMvc getGOPEntry                   ( Int   i )      { return m_GOPList[i]; }
     369#if H0567_DPB_PARAMETERS_PER_TEMPORAL_LAYER
     370  Void      setMaxDecPicBuffering           ( UInt u, UInt tlayer ) { m_maxDecPicBuffering[tlayer] = u;    }
     371  Void      setNumReorderPics               ( Int  i, UInt tlayer ) { m_numReorderPics[tlayer] = i;    }
     372#else
     373  Void      setMaxNumberOfReferencePictures ( Int u )       { m_maxNumberOfReferencePictures = u;    }
     374  Void      setNumReorderFrames             ( Int  i )       { m_numReorderFrames = i;    }
     375#endif
     376 
     377#if HHI_INTERVIEW_SKIP
     378  Void      setInterViewSkip            ( UInt  u )       { m_bInterViewSkip         = u; }
     379  Bool      getInterViewSkip            ( )       { return m_bInterViewSkip  ;}
     380#if HHI_INTERVIEW_SKIP_LAMBDA_SCALE
     381  Void      setInterViewSkipLambdaScale ( UInt  u )       { m_dInterViewSkipLambdaScale = u; }
     382  Double      getInterViewSkipLambdaScale ()                { return m_dInterViewSkipLambdaScale; }
     383#endif
     384#endif
     385  Void      setQP                           ( Int   i )      { m_iQP = i; }
     386 
     387  Void      setTemporalLayerQPOffset        ( Int*  piTemporalLayerQPOffset )      { for ( Int i = 0; i < MAX_TLAYER; i++ ) m_aiTLayerQPOffset[i] = piTemporalLayerQPOffset[i]; }
     388  Void      setPad                          ( Int*  iPad                   )      { for ( Int i = 0; i < 2; i++ ) m_aiPad[i] = iPad[i]; }
     389 
     390  Int       getMaxRefPicNum                 ()                              { return m_iMaxRefPicNum;           }
     391  Void      setMaxRefPicNum                 ( Int iMaxRefPicNum )           { m_iMaxRefPicNum = iMaxRefPicNum;  }
     392
     393#if H0566_TLA
     394  Bool      getMaxTempLayer                 ()                              { return m_maxTempLayer;              }
     395  Void      setMaxTempLayer                 ( Int maxTempLayer )            { m_maxTempLayer = maxTempLayer;      }
     396#else
     397  Bool      getTLayering                    ()                              { return m_bTLayering;              }
     398  Void      setTLayering                    ( Bool bTLayering )             { m_bTLayering = bTLayering;        }
     399  Bool      getTLayerSwitchingFlag          ( UInt uiTLayer )               { assert (uiTLayer < MAX_TLAYER ); return  m_abTLayerSwitchingFlag[uiTLayer];                   }
     400  Void      setTLayerSwitchingFlag          ( Bool* pbTLayerSwitchingFlag ) { for ( Int i = 0; i < MAX_TLAYER; i++ ) m_abTLayerSwitchingFlag[i] = pbTLayerSwitchingFlag[i]; }
     401#endif
     402
     403  Bool      getDisInter4x4                  ()              { return m_bDisInter4x4;        }
     404  Void      setDisInter4x4                  ( Bool b )      { m_bDisInter4x4  = b;          }
     405  Bool      isDepthCoder                    ()               { return m_isDepth; }
     406 
    255407#if DEPTH_MAP_GENERATION
    256408  Void      setPredDepthMapGeneration       ( UInt  u )      { m_uiPredDepthMapGeneration   = u; }
     
    259411  Void      setPdmOffset                    ( Int** p )      { m_aaiPdmOffset               = p; }
    260412#endif
     413
    261414#if HHI_INTER_VIEW_MOTION_PRED
    262415  Void      setMultiviewMvPredMode          ( UInt  u )      { m_uiMultiviewMvPredMode      = u; }
     
    267420  Void      setMultiviewResPredMode         ( UInt  u )      { m_uiMultiviewResPredMode     = u; }
    268421#endif
    269 
    270 #if HHI_INTERVIEW_SKIP
    271   Void      setInterViewSkip            ( UInt  u )       { m_uiInterViewSkip         = u; }
    272   Bool      getInterViewSkip            ( )       { return (m_uiInterViewSkip?true:false) ;}
    273 #if HHI_INTERVIEW_SKIP_LAMBDA_SCALE
    274   Void      setInterViewSkipLambdaScale ( UInt  u )       { m_dInterViewSkipLambdaScale = u; }
    275   Double      getInterViewSkipLambdaScale ()                { return m_dInterViewSkipLambdaScale; }
    276 #endif
    277 #endif
    278 
    279   Bool      isDepthCoder                    ()               { return m_bIsDepth; }
    280 
    281   Void      setSeqStructure( std::string s )                 { m_cSequenceStructure.init( s ); }
    282 
    283   Void      setQP                           ( Int   i )      { m_iQP = i; }
    284 
    285   Void      setTemporalLayerQPOffset        ( Int*  piTemporalLayerQPOffset )      { for ( Int i = 0; i < MAX_TLAYER; i++ ) m_aiTLayerQPOffset[i] = piTemporalLayerQPOffset[i]; }
    286   Void      setPad                          ( Int*  iPad                   )      { for ( Int i = 0; i < 2; i++ ) m_aiPad[i] = iPad[i]; }
    287 
     422 
    288423  //======== Transform =============
    289424  Void      setQuadtreeTULog2MaxSize        ( UInt  u )      { m_uiQuadtreeTULog2MaxSize = u; }
     
    291426  Void      setQuadtreeTUMaxDepthInter      ( UInt  u )      { m_uiQuadtreeTUMaxDepthInter = u; }
    292427  Void      setQuadtreeTUMaxDepthIntra      ( UInt  u )      { m_uiQuadtreeTUMaxDepthIntra = u; }
    293 
    294   //====== b; Slice ========
    295 
    296   //====== Entropy Coding ========
    297   Void      setSymbolMode                   ( Int   i )      { m_iSymbolMode = i; }
    298 
     428 
     429  Void setUseNSQT( Bool b ) { m_useNSQT = b; }
     430  Void setUseAMP( Bool b ) { m_useAMP = b; }
     431 
    299432  //====== Loop/Deblock Filter ========
    300433  Void      setLoopFilterDisable            ( Bool  b )      { m_bLoopFilterDisable       = b; }
    301   Void      setLoopFilterAlphaC0Offset      ( Int   i )      { m_iLoopFilterAlphaC0Offset = i; }
    302   Void      setLoopFilterBetaOffset         ( Int   i )      { m_iLoopFilterBetaOffset    = i; }
     434  Void      setLoopFilterOffsetInAPS        ( Bool  b )      { m_loopFilterOffsetInAPS      = b; }
     435  Void      setLoopFilterBetaOffset         ( Int   i )      { m_loopFilterBetaOffsetDiv2  = i; }
     436  Void      setLoopFilterTcOffset           ( Int   i )      { m_loopFilterTcOffsetDiv2    = i; }
     437#if DBL_CONTROL
     438  Void      setDeblockingFilterControlPresent ( Bool b ) { m_DeblockingFilterControlPresent = b; }
     439#endif
    303440
    304441  //====== Motion search ========
     
    306443  Void      setSearchRange                  ( Int   i )      { m_iSearchRange = i; }
    307444  Void      setBipredSearchRange            ( Int   i )      { m_bipredSearchRange = i; }
    308   Void      setMaxDeltaQP                   ( Int   i )      { m_iMaxDeltaQP = i; }
     445
     446#if HHI_INTER_VIEW_MOTION_PRED
     447  UInt      getMultiviewMvRegMode           ()      { return  m_uiMultiviewMvRegMode; }
     448  Double    getMultiviewMvRegLambdaScale    ()      { return  m_dMultiviewMvRegLambdaScale; }
     449#endif
    309450
    310451#if HHI_VSO
     
    318459#endif
    319460
     461  //====== Quality control ========
     462  Void      setMaxDeltaQP                   ( Int   i )      { m_iMaxDeltaQP = i; }
     463  Void      setMaxCuDQPDepth                ( Int   i )      { m_iMaxCuDQPDepth = i; }
     464
     465  Void      setChromaQpOffset               ( Int   i ) { m_iChromaQpOffset    = i; }
     466  Void      setChromaQpOffset2nd            ( Int   i ) { m_iChromaQpOffset2nd = i; }
     467
     468#if ADAPTIVE_QP_SELECTION
     469  Void      setUseAdaptQpSelect             ( Bool   i ) { m_bUseAdaptQpSelect    = i; }
     470  Bool      getUseAdaptQpSelect             ()           { return   m_bUseAdaptQpSelect; }
     471#endif
     472
     473  Void      setUseAdaptiveQP                ( Bool  b )      { m_bUseAdaptiveQP = b; }
     474  Void      setQPAdaptationRange            ( Int   i )      { m_iQPAdaptationRange = i; }
     475 
     476  //====== Lossless ========
     477#if LOSSLESS_CODING
     478  Void      setUseLossless                  (Bool    b  )        { m_useLossless = b;  }
     479#endif
    320480  //====== Sequence ========
    321481  Int       getFrameRate                    ()      { return  m_iFrameRate; }
     
    323483  Int       getSourceWidth                  ()      { return  m_iSourceWidth; }
    324484  Int       getSourceHeight                 ()      { return  m_iSourceHeight; }
     485#if PIC_CROPPING
     486  Int       getCroppingMode                 ()      { return  m_croppingMode; }
     487  Int       getCropLeft                     ()      { return  m_cropLeft; }
     488  Int       getCropRight                    ()      { return  m_cropRight; }
     489  Int       getCropTop                      ()      { return  m_cropTop; }
     490  Int       getCropBottom                   ()      { return  m_cropBottom; }
     491#endif
    325492  Int       getFrameToBeEncoded             ()      { return  m_iFrameToBeEncoded; }
     493  void setLambdaModifier                    ( UInt uiIndex, Double dValue ) { m_adLambdaModifier[ uiIndex ] = dValue; }
     494  Double getLambdaModifier                  ( UInt uiIndex ) const { return m_adLambdaModifier[ uiIndex ]; }
    326495
    327496  //==== Coding Structure ========
    328 #if DCM_DECODING_REFRESH
     497  UInt      getIntraPeriod                  ()      { return  m_uiIntraPeriod; }
    329498  UInt      getDecodingRefreshType          ()      { return  m_uiDecodingRefreshType; }
    330 #endif
    331   UInt getCodedPictureBufferSize            ()      { return m_uiCodedPictureStoreSize ;}
    332 
    333499  Int       getGOPSize                      ()      { return  m_iGOPSize; }
    334   Int       getRateGOPSize                  ()      { return  m_iRateGOPSize; }
    335 
     500#if H0567_DPB_PARAMETERS_PER_TEMPORAL_LAYER
     501  Int       getMaxDecPicBuffering           (UInt tlayer) { return m_maxDecPicBuffering[tlayer]; }
     502  Int       getNumReorderPics               (UInt tlayer) { return m_numReorderPics[tlayer]; }
     503#else
     504  Int      getMaxNumberOfReferencePictures ()      { return m_maxNumberOfReferencePictures; }
     505  Int       geNumReorderFrames              ()      { return m_numReorderFrames; }
     506#endif
    336507  Int       getQP                           ()      { return  m_iQP; }
    337 
     508 
    338509  Int       getTemporalLayerQPOffset        ( Int i )      { assert (i < MAX_TLAYER ); return  m_aiTLayerQPOffset[i]; }
    339510  Int       getPad                          ( Int i )      { assert (i < 2 );                      return  m_aiPad[i]; }
    340 
     511 
    341512  //======== Transform =============
    342513  UInt      getQuadtreeTULog2MaxSize        ()      const { return m_uiQuadtreeTULog2MaxSize; }
     
    344515  UInt      getQuadtreeTUMaxDepthInter      ()      const { return m_uiQuadtreeTUMaxDepthInter; }
    345516  UInt      getQuadtreeTUMaxDepthIntra      ()      const { return m_uiQuadtreeTUMaxDepthIntra; }
    346 
    347   //==== b; Slice ========
    348 
    349   //==== Entropy Coding ========
    350   Int       getSymbolMode                   ()      { return  m_iSymbolMode; }
    351 
     517 
    352518  //==== Loop/Deblock Filter ========
    353519  Bool      getLoopFilterDisable            ()      { return  m_bLoopFilterDisable;       }
    354   Int       getLoopFilterAlphaC0Offget      ()      { return  m_iLoopFilterAlphaC0Offset; }
    355   Int       getLoopFilterBetaOffget         ()      { return  m_iLoopFilterBetaOffset;    }
     520  Bool      getLoopFilterOffsetInAPS        ()      { return m_loopFilterOffsetInAPS; }
     521  Int       getLoopFilterBetaOffset         ()      { return m_loopFilterBetaOffsetDiv2; }
     522  Int       getLoopFilterTcOffset           ()      { return m_loopFilterTcOffsetDiv2; }
     523#if DBL_CONTROL
     524  Bool      getDeblockingFilterControlPresent()  { return  m_DeblockingFilterControlPresent; }
     525#endif
    356526
    357527  //==== Motion search ========
    358528  Int       getFastSearch                   ()      { return  m_iFastSearch; }
    359529  Int       getSearchRange                  ()      { return  m_iSearchRange; }
    360   Int       getMaxDeltaQP                   ()      { return  m_iMaxDeltaQP; }
    361 
    362 #if HHI_INTER_VIEW_MOTION_PRED
    363   UInt      getMultiviewMvRegMode           ()      { return  m_uiMultiviewMvRegMode; }
    364   Double    getMultiviewMvRegLambdaScale    ()      { return  m_dMultiviewMvRegLambdaScale; }
    365 #endif
    366 
    367 #if SONY_COLPIC_AVAILABILITY
    368   Int       getViewOrderIdx                 ()      { return  m_iViewOrderIdx; }
    369 #endif
    370530
    371531#if HHI_VSO
     
    379539#endif
    380540
     541  //==== Quality control ========
     542  Int       getMaxDeltaQP                   ()      { return  m_iMaxDeltaQP; }
     543  Int       getMaxCuDQPDepth                ()      { return  m_iMaxCuDQPDepth; }
     544  Bool      getUseAdaptiveQP                ()      { return  m_bUseAdaptiveQP; }
     545  Int       getQPAdaptationRange            ()      { return  m_iQPAdaptationRange; }
     546  //====== Lossless ========
     547#if LOSSLESS_CODING
     548  Bool      getUseLossless                  ()      { return  m_useLossless;  }
     549#endif
     550 
    381551  //==== Tool list ========
    382552  Void      setUseSBACRD                    ( Bool  b )     { m_bUseSBACRD  = b; }
     
    384554  Void      setUseHADME                     ( Bool  b )     { m_bUseHADME   = b; }
    385555  Void      setUseALF                       ( Bool  b )     { m_bUseALF   = b; }
    386 #if DCM_COMB_LIST
    387556  Void      setUseLComb                     ( Bool  b )     { m_bUseLComb   = b; }
    388557  Void      setLCMod                        ( Bool  b )     { m_bLCMod   = b;    }
    389 #endif
    390558  Void      setUseRDOQ                      ( Bool  b )     { m_bUseRDOQ    = b; }
    391 #if !HHI_NO_LowDelayCoding
    392   Void      setUseLDC                       ( Bool  b )     { m_bUseLDC     = b; }
    393 #endif
     559#if !PIC_CROPPING
    394560  Void      setUsePAD                       ( Bool  b )     { m_bUsePAD     = b; }
    395   Void      setUseFastEnc                   ( Bool  b )     { m_bUseFastEnc = b; }
     561#endif
    396562#if HHI_VSO
    397563  Void      setUseVSO                       ( Bool  b )     { m_bUseVSO     = b; }
    398564#endif
    399   Void      setUseMRG                       ( Bool  b )     { m_bUseMRG     = b; } // SOPH:
    400 #if CONSTRAINED_INTRA_PRED
     565
     566  Void      setUseFastEnc                   ( Bool  b )     { m_bUseFastEnc = b; }
     567  Void      setUseEarlyCU                   ( Bool  b )     { m_bUseEarlyCU = b; }
     568#if FAST_DECISION_FOR_MRG_RD_COST
     569  Void      setUseFastDecisionForMerge      ( Bool  b )     { m_useFastDecisionForMerge = b; }
     570#endif
     571  Void      setUseCbfFastMode            ( Bool  b )     { m_bUseCbfFastMode = b; }
    401572  Void      setUseConstrainedIntraPred      ( Bool  b )     { m_bUseConstrainedIntraPred = b; }
    402 #endif
     573  Void      setPCMInputBitDepthFlag         ( Bool  b )     { m_bPCMInputBitDepthFlag = b; }
     574  Void      setPCMFilterDisableFlag         ( Bool  b )     {  m_bPCMFilterDisableFlag = b; }
     575  Void      setUsePCM                       ( Bool  b )     {  m_usePCM = b;               }
     576  Void      setPCMLog2MaxSize               ( UInt u )      { m_pcmLog2MaxSize = u;      }
     577  Void      setPCMLog2MinSize               ( UInt u )     { m_uiPCMLog2MinSize = u;      }
    403578  Void      setdQPs                         ( Int*  p )     { m_aidQP       = p; }
    404579  Void      setDeltaQpRD                    ( UInt  u )     {m_uiDeltaQpRD  = u; }
    405 
    406580  Bool      getUseSBACRD                    ()      { return m_bUseSBACRD;  }
    407581  Bool      getUseASR                       ()      { return m_bUseASR;     }
    408582  Bool      getUseHADME                     ()      { return m_bUseHADME;   }
    409583  Bool      getUseALF                       ()      { return m_bUseALF;     }
    410 #if MQT_ALF_NPASS
    411584  Void      setALFEncodePassReduction       (Int i)  { m_iALFEncodePassReduction = i; }
    412585  Int       getALFEncodePassReduction       ()       { return m_iALFEncodePassReduction; }
    413 #endif
    414 #if DCM_COMB_LIST
     586
     587  Void      setALFMaxNumberFilters          (Int i)  { m_iALFMaxNumberFilters = i; }
     588  Int       getALFMaxNumberFilters          ()       { return m_iALFMaxNumberFilters; }
     589#if LCU_SYNTAX_ALF
     590  Void      setALFParamInSlice              (Bool b) {m_bALFParamInSlice = b;}
     591  Bool      getALFParamInSlice              ()       {return m_bALFParamInSlice;}
     592  Void      setALFPicBasedEncode            (Bool b) {m_bALFPicBasedEncode = b;}
     593  Bool      getALFPicBasedEncode            ()       {return m_bALFPicBasedEncode;}
     594#endif
     595
    415596  Bool      getUseLComb                     ()      { return m_bUseLComb;   }
    416597  Bool      getLCMod                        ()      { return m_bLCMod; }
    417 #endif
    418598  Bool      getUseRDOQ                      ()      { return m_bUseRDOQ;    }
    419 #if !HHI_NO_LowDelayCoding
    420   Bool      getUseLDC                       ()      { return m_bUseLDC;     }
    421 #endif
     599#if !PIC_CROPPING
    422600  Bool      getUsePAD                       ()      { return m_bUsePAD;     }
    423   Bool      getUseFastEnc                   ()      { return m_bUseFastEnc; }
     601#endif
    424602
    425603#if HHI_VSO
    426604  Bool      getUseVSO                       ()      { return m_bUseVSO;     }
    427605#endif
    428   Bool      getUseMRG                       ()      { return m_bUseMRG;     } // SOPH:
    429 #if CONSTRAINED_INTRA_PRED
     606  Bool      getUseFastEnc                   ()      { return m_bUseFastEnc; }
     607  Bool      getUseEarlyCU                   ()      { return m_bUseEarlyCU; }
     608#if FAST_DECISION_FOR_MRG_RD_COST
     609  Bool      getUseFastDecisionForMerge      ()      { return m_useFastDecisionForMerge; }
     610#endif
     611  Bool      getUseCbfFastMode           ()      { return m_bUseCbfFastMode; }
    430612  Bool      getUseConstrainedIntraPred      ()      { return m_bUseConstrainedIntraPred; }
    431 #endif
    432 #if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
    433   Void setUseDMM( Bool b) { m_bUseDMM = b;    }
    434   Bool getUseDMM()        { return m_bUseDMM; }
    435 #endif
    436 #if HHI_DMM_PRED_TEX && FLEX_CODING_ORDER
    437   Void setUseDMM34( Bool b) { m_bUseDMM34 = b;    }
    438   Bool getUseDMM34()        { return m_bUseDMM34; }
    439 #endif
    440 #if LM_CHROMA
     613#if NS_HAD
     614  Bool      getUseNSQT                      ()      { return m_useNSQT; }
     615#endif
     616  Bool      getPCMInputBitDepthFlag         ()      { return m_bPCMInputBitDepthFlag;   }
     617  Bool      getPCMFilterDisableFlag         ()      { return m_bPCMFilterDisableFlag;   }
     618  Bool      getUsePCM                       ()      { return m_usePCM;                 }
     619  UInt      getPCMLog2MaxSize               ()      { return m_pcmLog2MaxSize;  }
     620  UInt      getPCMLog2MinSize               ()      { return  m_uiPCMLog2MinSize;  }
     621
    441622  Bool getUseLMChroma                       ()      { return m_bUseLMChroma;        }
    442623  Void setUseLMChroma                       ( Bool b ) { m_bUseLMChroma  = b;       }
    443 #endif
    444624
    445625  Int*      getdQPs                         ()      { return m_aidQP;       }
    446626  UInt      getDeltaQpRD                    ()      { return m_uiDeltaQpRD; }
    447 #if HHI_RMP_SWITCH
    448   Void      setUseRMP                      ( Bool b ) { m_bUseRMP = b; }
    449   Bool      getUseRMP                      ()      {return m_bUseRMP; }
    450 #endif
    451 #ifdef ROUNDING_CONTROL_BIPRED
    452   Void setUseRoundingControlBipred(Bool b) { m_useRoundingControlBipred = b; }
    453   Bool getUseRoundingControlBipred() { return m_useRoundingControlBipred; }
    454 #endif
     627
    455628  //====== Slice ========
    456629  Void  setSliceMode                   ( Int  i )       { m_iSliceMode = i;              }
     
    463636  Int   getEntropySliceMode            ()              { return m_iEntropySliceMode;    }
    464637  Int   getEntropySliceArgument        ()              { return m_iEntropySliceArgument;}
    465 #if MTK_NONCROSS_INLOOP_FILTER
     638  Void  setSliceGranularity            ( Int  i )      { m_iSliceGranularity = i;       }
     639  Int   getSliceGranularity            ()              { return m_iSliceGranularity;    }
    466640  Void      setLFCrossSliceBoundaryFlag     ( Bool   bValue  )    { m_bLFCrossSliceBoundaryFlag = bValue; }
    467641  Bool      getLFCrossSliceBoundaryFlag     ()                    { return m_bLFCrossSliceBoundaryFlag;   }
    468 #endif
    469 #if MTK_SAO
     642
     643#if HHI_MPI
     644  Void      setUseMVI                  (Bool bVal)     {m_bUseMVI = bVal;}
     645#endif
    470646  Void      setUseSAO                  (Bool bVal)     {m_bUseSAO = bVal;}
    471647  Bool      getUseSAO                  ()              {return m_bUseSAO;}
    472 #endif
    473 #if HHI_MPI
    474   Void      setUseMVI                  (Bool bVal)     {m_bUseMVI = bVal;}
    475 #endif
    476 
     648#if SAO_UNIT_INTERLEAVING
     649  Void  setMaxNumOffsetsPerPic                   (Int iVal)            { m_maxNumOffsetsPerPic = iVal; }
     650  Int   getMaxNumOffsetsPerPic                   ()                    { return m_maxNumOffsetsPerPic; }
     651  Void  setSaoInterleavingFlag                   (bool bVal)           { m_saoInterleavingFlag = bVal; }
     652  Bool  getSaoInterleavingFlag                   ()                    { return m_saoInterleavingFlag; }
     653#endif
     654  Void  setTileBehaviorControlPresentFlag        ( Int i )             { m_iTileBehaviorControlPresentFlag = i;    }
     655  Int   getTileBehaviorControlPresentFlag        ()                    { return m_iTileBehaviorControlPresentFlag; }
     656  Void  setLFCrossTileBoundaryFlag               ( Bool   bValue  )    { m_bLFCrossTileBoundaryFlag = bValue; }
     657  Bool  getLFCrossTileBoundaryFlag               ()                    { return m_bLFCrossTileBoundaryFlag;   }
     658  Void  setColumnRowInfoPresent        ( Int i )           { m_iColumnRowInfoPresent = i; }
     659  Int   getColumnRowInfoPresent        ()                  { return m_iColumnRowInfoPresent; }
     660  Void  setUniformSpacingIdr           ( Int i )           { m_iUniformSpacingIdr = i; }
     661  Int   getUniformSpacingIdr           ()                  { return m_iUniformSpacingIdr; }
     662#if !REMOVE_TILE_DEPENDENCE
     663  Void  setTileBoundaryIndependenceIdr ( Int i )           { m_iTileBoundaryIndependenceIdr = i; }
     664  Int   getTileBoundaryIndependenceIdr ()                  { return m_iTileBoundaryIndependenceIdr; }
     665#endif
     666  Void  setNumColumnsMinus1            ( Int i )           { m_iNumColumnsMinus1 = i; }
     667  Int   getNumColumnsMinus1            ()                  { return m_iNumColumnsMinus1; }
     668  Void  setColumnWidth ( char* str )
     669  {
     670    char *columnWidth;
     671    int  i=0;
     672    Int  m_iWidthInCU = ( m_iSourceWidth%g_uiMaxCUWidth ) ? m_iSourceWidth/g_uiMaxCUWidth + 1 : m_iSourceWidth/g_uiMaxCUWidth;
     673
     674    if( m_iUniformSpacingIdr == 0 && m_iNumColumnsMinus1 > 0 )
     675    {
     676      m_puiColumnWidth = new UInt[m_iNumColumnsMinus1];
     677
     678      columnWidth = strtok(str, " ,-");
     679      while(columnWidth!=NULL)
     680      {
     681        if( i>=m_iNumColumnsMinus1 )
     682        {
     683          printf( "The number of columns whose width are defined is larger than the allowed number of columns.\n" );
     684          exit( EXIT_FAILURE );
     685        }
     686        *( m_puiColumnWidth + i ) = atoi( columnWidth );
     687        printf("col: m_iWidthInCU= %4d i=%4d width= %4d\n",m_iWidthInCU,i,m_puiColumnWidth[i]); //AFU
     688        columnWidth = strtok(NULL, " ,-");
     689        i++;
     690      }
     691      if( i<m_iNumColumnsMinus1 )
     692      {
     693        printf( "The width of some columns is not defined.\n" );
     694        exit( EXIT_FAILURE );
     695      }
     696    }
     697  }
     698  UInt  getColumnWidth                 ( UInt columnidx )  { return *( m_puiColumnWidth + columnidx ); }
     699  Void  setNumRowsMinus1               ( Int i )           { m_iNumRowsMinus1 = i; }
     700  Int   getNumRowsMinus1               ()                  { return m_iNumRowsMinus1; }
     701  Void  setRowHeight (char* str)
     702  {
     703    char *rowHeight;
     704    int  i=0;
     705    Int  m_iHeightInCU = ( m_iSourceHeight%g_uiMaxCUHeight ) ? m_iSourceHeight/g_uiMaxCUHeight + 1 : m_iSourceHeight/g_uiMaxCUHeight;
     706
     707    if( m_iUniformSpacingIdr == 0 && m_iNumRowsMinus1 > 0 )
     708    {
     709      m_puiRowHeight = new UInt[m_iNumRowsMinus1];
     710
     711      rowHeight = strtok(str, " ,-");
     712      while(rowHeight!=NULL)
     713      {
     714        if( i>=m_iNumRowsMinus1 )
     715        {
     716          printf( "The number of rows whose height are defined is larger than the allowed number of rows.\n" );
     717          exit( EXIT_FAILURE );
     718        }
     719        *( m_puiRowHeight + i ) = atoi( rowHeight );
     720        printf("row: m_iHeightInCU=%4d i=%4d height=%4d\n",m_iHeightInCU,i,m_puiRowHeight[i]); //AFU
     721        rowHeight = strtok(NULL, " ,-");
     722        i++;
     723      }
     724      if( i<m_iNumRowsMinus1 )
     725      {
     726        printf( "The height of some rows is not defined.\n" );
     727        exit( EXIT_FAILURE );
     728     }
     729    }
     730  }
     731  UInt  getRowHeight                   ( UInt rowIdx )     { return *( m_puiRowHeight + rowIdx ); }
     732  Void  xCheckGSParameters();
     733  Int  getTileLocationInSliceHeaderFlag ()                 { return m_iTileLocationInSliceHeaderFlag; }
     734  Void setTileLocationInSliceHeaderFlag ( Int iFlag )      { m_iTileLocationInSliceHeaderFlag = iFlag;}
     735  Int  getTileMarkerFlag              ()                 { return m_iTileMarkerFlag;              }
     736  Void setTileMarkerFlag              ( Int iFlag )      { m_iTileMarkerFlag = iFlag;             }
     737  Int  getMaxTileMarkerEntryPoints    ()                 { return m_iMaxTileMarkerEntryPoints;    }
     738  Void setMaxTileMarkerEntryPoints    ( Int iCount )     { m_iMaxTileMarkerEntryPoints = iCount;  }
     739  Double getMaxTileMarkerOffset       ()                 { return m_dMaxTileMarkerOffset;         }
     740  Void setMaxTileMarkerOffset         ( Double dCount )  { m_dMaxTileMarkerOffset = dCount;       }
     741  Void  setWaveFrontSynchro(Int iWaveFrontSynchro)       { m_iWaveFrontSynchro = iWaveFrontSynchro; }
     742  Int   getWaveFrontsynchro()                            { return m_iWaveFrontSynchro; }
     743  Void  setWaveFrontFlush(Int iWaveFrontFlush)           { m_iWaveFrontFlush = iWaveFrontFlush; }
     744  Int   getWaveFrontFlush()                              { return m_iWaveFrontFlush; }
     745  Void  setWaveFrontSubstreams(Int iWaveFrontSubstreams) { m_iWaveFrontSubstreams = iWaveFrontSubstreams; }
     746  Int   getWaveFrontSubstreams()                         { return m_iWaveFrontSubstreams; }
    477747  void setPictureDigestEnabled(bool b) { m_pictureDigestEnabled = b; }
    478748  bool getPictureDigestEnabled() { return m_pictureDigestEnabled; }
    479749
    480 #ifdef WEIGHT_PRED
    481   Void      setUseWP                        ( Bool  b )   { m_bUseWeightPred    = b;    }
    482   Void      setWPBiPredIdc                  ( UInt u )    { m_uiBiPredIdc       = u;    }
    483   Bool      getUseWP                        ()            { return m_bUseWeightPred;    }
    484   UInt      getWPBiPredIdc                  ()            { return m_uiBiPredIdc;       }
    485 #endif
    486 
    487   Void setQpChangeFrame( PicOrderCnt iPoc ) { m_iQpChangeFrame = iPoc; }
    488   Int  getQpChangeFrame() { return (Int)m_iQpChangeFrame; }
    489   Void setQpChangeOffsetVideo( Int iOffset ) { m_iQpChangeOffsetVideo = iOffset; }
    490   Int  getQpChangeOffsetVideo() { return m_iQpChangeOffsetVideo; }
    491   Void setQpChangeOffsetDepth( Int iOffset ) { m_iQpChangeOffsetDepth = iOffset; }
    492   Int  getQpChangeOffsetDepth() { return m_iQpChangeOffsetDepth; }
     750  Void      setUseWP               ( Bool  b )   { m_bUseWeightPred    = b;    }
     751  Void      setWPBiPredIdc         ( UInt u )    { m_uiBiPredIdc       = u;    }
     752  Bool      getUseWP               ()            { return m_bUseWeightPred;    }
     753  UInt      getWPBiPredIdc         ()            { return m_uiBiPredIdc;       }
     754  Void      setUseScalingListId    ( Int  u )    { m_useScalingListId       = u;   }
     755  Int       getUseScalingListId    ()            { return m_useScalingListId;      }
     756  Void      setScalingListFile     ( char*  pch ){ m_scalingListFile     = pch; }
     757  char*     getScalingListFile     ()            { return m_scalingListFile;    }
     758
     759  Void      setEnableTMVP          ( Bool b )    { m_bEnableTMVP = b;    }
     760  Bool      getEnableTMVP          ()            { return m_bEnableTMVP; }
     761#if MULTIBITS_DATA_HIDING
     762  Void      setSignHideFlag( Int signHideFlag )  { m_signHideFlag = signHideFlag; }
     763  Void      setTSIG( Int tsig )                  { m_signHidingThreshold = tsig; }
     764  Int       getSignHideFlag()                    { return m_signHideFlag; }
     765  Int       getTSIG()                            { return m_signHidingThreshold; }
     766#endif
     767
     768  Void      setViewId             ( Int viewId )   { m_viewId = viewId; }
     769  Int       getViewId             ()               { return m_viewId; }
     770  Void      setIsDepth            ( Bool isDepth ) { m_isDepth = isDepth; }
     771  Bool      getIsDepth            ()               { return m_isDepth; }
     772
     773#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
     774  Void setUseDMM( Bool b) { m_bUseDMM = b;    }
     775  Bool getUseDMM()        { return m_bUseDMM; }
     776#endif
     777
     778  Void      setViewOrderIdx       ( Int   i )      { m_iViewOrderIdx          = i; }
     779  Void      setCamParPrecision              ( UInt  u )      { m_uiCamParPrecision      = u; }
     780  Void      setCamParInSliceHeader          ( Bool  b )      { m_bCamParInSliceHeader   = b; }
     781  Void      setCodedScale                   ( Int** p )      { m_aaiCodedScale          = p; }
     782  Void      setCodedOffset                  ( Int** p )      { m_aaiCodedOffset         = p; }
     783
     784#if SONY_COLPIC_AVAILABILITY
     785  Int       getViewOrderIdx                 ()      { return  m_iViewOrderIdx; }
     786#endif
    493787};
    494788
     789//! \}
     790
    495791#endif // !defined(AFX_TENCCFG_H__6B99B797_F4DA_4E46_8E78_7656339A6C41__INCLUDED_)
    496 
Note: See TracChangeset for help on using the changeset viewer.