source: 3DVCSoftware/branches/HTM-5.0-Sony/source/Lib/TLibEncoder/TEncCfg.h @ 197

Last change on this file since 197 was 197, checked in by sony, 12 years ago

Add DV_V_RESTRICTION_B0037 macro and two config parameters (DisparitySearchRangeRestriction, VerticalDisparitySearchRange).

It enables to restrict disparity vector range at encoder on motion search.
When users want to try the option, please set DisparitySearchRangeRestriction to 1 and set VerticalDisparitySearchRange to any positive integer value to be tested. The restriction is disabled by default.

  • Property svn:eol-style set to native
File size: 39.2 KB
RevLine 
[5]1/* The copyright in this software is being made available under the BSD
2 * License, included below. This software may be subject to other third party
3 * and contributor rights, including patent rights, and no such rights are
[56]4 * granted under this license. 
[5]5 *
[56]6 * Copyright (c) 2010-2012, ITU/ISO/IEC
[5]7 * All rights reserved.
8 *
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions are met:
11 *
12 *  * Redistributions of source code must retain the above copyright notice,
13 *    this list of conditions and the following disclaimer.
14 *  * Redistributions in binary form must reproduce the above copyright notice,
15 *    this list of conditions and the following disclaimer in the documentation
16 *    and/or other materials provided with the distribution.
[56]17 *  * Neither the name of the ITU/ISO/IEC nor the names of its contributors may
[5]18 *    be used to endorse or promote products derived from this software without
19 *    specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
31 * THE POSSIBILITY OF SUCH DAMAGE.
32 */
[2]33
34/** \file     TEncCfg.h
35    \brief    encoder configuration class (header)
36*/
37
38#ifndef __TENCCFG__
39#define __TENCCFG__
40
41#if _MSC_VER > 1000
42#pragma once
43#endif // _MSC_VER > 1000
44
[56]45#include "TLibCommon/CommonDef.h"
[2]46#include <assert.h>
47
[56]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};
[2]92
[56]93std::istringstream &operator>>(std::istringstream &in, GOPEntryMvc &entry);
94
95//! \ingroup TLibEncoder
96//! \{
97
[2]98// ====================================================================================================================
99// Class definition
100// ====================================================================================================================
101
102/// encoder configuration class
103class TEncCfg
104{
105protected:
106  //==== File I/O ========
107  Int       m_iFrameRate;
108  Int       m_FrameSkip;
109  Int       m_iSourceWidth;
110  Int       m_iSourceHeight;
[56]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
[2]118  Int       m_iFrameToBeEncoded;
[56]119  Double    m_adLambdaModifier[ MAX_TLAYER ];
[2]120
121  //====== Coding Structure ========
[56]122  UInt      m_uiIntraPeriod;
[2]123  UInt      m_uiDecodingRefreshType;            ///< the type of decoding refresh employed for the random access.
[56]124  Int       m_iGOPSize;
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;
[2]133#endif
[56]134 
[2]135  Int       m_iQP;                              //  if (AdaptiveQP == OFF)
[56]136 
[2]137  Int       m_aiTLayerQPOffset[MAX_TLAYER];
138  Int       m_aiPad[2];
[56]139 
[2]140
[56]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;
[2]152  //======= Transform =============
153  UInt      m_uiQuadtreeTULog2MaxSize;
154  UInt      m_uiQuadtreeTULog2MinSize;
155  UInt      m_uiQuadtreeTUMaxDepthInter;
156  UInt      m_uiQuadtreeTUMaxDepthIntra;
[56]157 
158  Bool      m_useNSQT;
159 
[2]160  //====== Loop/Deblock Filter ========
161  Bool      m_bLoopFilterDisable;
[56]162  Bool      m_loopFilterOffsetInAPS;
163  Int       m_loopFilterBetaOffsetDiv2;
164  Int       m_loopFilterTcOffsetDiv2;
165#if DBL_CONTROL
166  Bool      m_DeblockingFilterControlPresent;
167#endif
[2]168  Bool      m_bUseSAO;
[189]169#if LGE_ILLUCOMP_B0045
170  Bool      m_bUseIC;
171#endif
[56]172#if SAO_UNIT_INTERLEAVING
173  Int       m_maxNumOffsetsPerPic;
174  Bool      m_saoInterleavingFlag;
[2]175#endif
176
[56]177  //====== Lossless ========
178#if LOSSLESS_CODING
179  Bool      m_useLossless;
180#endif
[2]181  //====== Motion search ========
182  Int       m_iFastSearch;                      //  0:Full search  1:Diamond  2:PMVFAST
183  Int       m_iSearchRange;                     //  0:Full frame
184  Int       m_bipredSearchRange;
[197]185#if DV_V_RESTRICTION_B0037
186  Bool      m_bUseDisparitySearchRangeRestriction;
187  Int       m_iVerticalDisparitySearchRange;
188#endif
[56]189  //====== Quality control ========
[2]190  Int       m_iMaxDeltaQP;                      //  Max. absolute delta QP (1:default)
[56]191  Int       m_iMaxCuDQPDepth;                   //  Max. depth for a minimum CuDQP (0:default)
[2]192
[56]193  Int       m_iChromaQpOffset  ;                //  ChromaQpOffset    (0:default)
194  Int       m_iChromaQpOffset2nd;               //  ChromaQpOffset2nd (0:default)
195
196#if ADAPTIVE_QP_SELECTION
197  Bool      m_bUseAdaptQpSelect;
198#endif
199
200  Bool      m_bUseAdaptiveQP;
201  Int       m_iQPAdaptationRange;
202 
[5]203#if HHI_VSO
[2]204  //====== View Synthesis Optimization ======
[56]205  Bool      m_bUseVSO;
[2]206  Bool      m_bForceLambdaScale;
[5]207#if HHI_VSO_DIST_INT
[2]208  Bool      m_bAllowNegDist;
209#endif
210  Double    m_dLambdaScaleVSO;
211  UInt      m_uiVSOMode;
[115]212#if LGE_WVSO_A0119
[120]213  Bool      m_bUseWVSO;
[116]214  Int       m_iVSOWeight;
[115]215  Int       m_iVSDWeight;
[116]216  Int       m_iDWeight;
[5]217#endif
[115]218#endif
[100]219#if SAIT_VSO_EST_A0033
220  Bool      m_bUseEstimatedVSD; 
221  Double    m_dDispCoeff;
222#endif
[2]223
[100]224
[2]225  //====== Tool list ========
226  Bool      m_bUseSBACRD;
227  Bool      m_bUseALF;
228  Int       m_iALFEncodePassReduction;
[56]229
230  Int       m_iALFMaxNumberFilters;
231#if LCU_SYNTAX_ALF
232  Bool      m_bALFParamInSlice;
233  Bool      m_bALFPicBasedEncode;
[2]234#endif
[56]235
[2]236  Bool      m_bUseASR;
237  Bool      m_bUseHADME;
238  Bool      m_bUseLComb;
239  Bool      m_bLCMod;
240  Bool      m_bUseRDOQ;
[56]241#if !PIC_CROPPING
242  Bool      m_bUsePAD;
[2]243#endif
244  Bool      m_bUseFastEnc;
[56]245  Bool      m_bUseEarlyCU;
[2]246
[56]247#if FAST_DECISION_FOR_MRG_RD_COST
248  Bool      m_useFastDecisionForMerge;
[2]249#endif
[56]250  Bool      m_bUseCbfFastMode;
251  Bool      m_bUseLMChroma; 
252#if HHI_MPI
253  Bool      m_bUseMVI;
254#endif
[189]255#if RWTH_SDC_DLT_B0036
256  Bool      m_bUseDLT;
257  Bool      m_bUseSDC;
258#endif
[2]259
260  Int*      m_aidQP;
261  UInt      m_uiDeltaQpRD;
[56]262 
[2]263  Bool      m_bUseConstrainedIntraPred;
[56]264  Bool      m_usePCM;
265  UInt      m_pcmLog2MaxSize;
266  UInt      m_uiPCMLog2MinSize;
[2]267  //====== Slice ========
268  Int       m_iSliceMode;
[56]269  Int       m_iSliceArgument; 
[2]270  //====== Entropy Slice ========
271  Int       m_iEntropySliceMode;
272  Int       m_iEntropySliceArgument;
[56]273  Int       m_iSliceGranularity;
[2]274  Bool      m_bLFCrossSliceBoundaryFlag;
275
[56]276  Bool      m_bPCMInputBitDepthFlag;
277  UInt      m_uiPCMBitDepthLuma;
278  UInt      m_uiPCMBitDepthChroma;
279  Bool      m_bPCMFilterDisableFlag;
280  Int       m_iTileBehaviorControlPresentFlag;
281  Bool      m_bLFCrossTileBoundaryFlag;
282  Int       m_iColumnRowInfoPresent;
283  Int       m_iUniformSpacingIdr;
284  Int       m_iNumColumnsMinus1;
285  UInt*     m_puiColumnWidth;
286  Int       m_iNumRowsMinus1;
287  UInt*     m_puiRowHeight;
288  Int       m_iTileLocationInSliceHeaderFlag; //< enable(1)/disable(0) transmitssion of tile location in slice header
289
290  Int       m_iTileMarkerFlag;              //< enable(1)/disable(0) transmitssion of light weight tile marker
291  Int       m_iMaxTileMarkerEntryPoints;    //< maximum number of tile markers allowed in a slice (controls degree of parallelism)
292  Double    m_dMaxTileMarkerOffset;         //< Calculated offset. Light weight tile markers will be transmitted for TileIdx= Offset, 2*Offset, 3*Offset ...
293
294  Int       m_iWaveFrontSynchro;
295  Int       m_iWaveFrontFlush;
296  Int       m_iWaveFrontSubstreams;
297
[121]298  Bool      m_pictureDigestEnabled; ///< enable(1)/disable(0) md5 computation and SEI signalling
[2]299
300  //====== Weighted Prediction ========
[56]301  Bool      m_bUseWeightPred;       //< Use of Weighting Prediction (P_SLICE)
302  UInt      m_uiBiPredIdc;          //< Use of Bi-Directional Weighting Prediction (B_SLICE)
303  Int       m_useScalingListId;            ///< Using quantization matrix i.e. 0=off, 1=default, 2=file.
304  char*     m_scalingListFile;          ///< quantization matrix file name
305
306  Bool      m_bEnableTMVP;
307#if MULTIBITS_DATA_HIDING
308  Int       m_signHideFlag;
309  Int       m_signHidingThreshold;
[2]310#endif
311
[195]312#if VIDYO_VPS_INTEGRATION|QC_MVHEVC_B0046
[77]313  UInt     m_layerId;
314#endif
315 
[56]316  Int      m_viewId;
317  Bool     m_isDepth;
[2]318
[56]319#if HHI_INTERVIEW_SKIP
320  Bool        m_bInterViewSkip;
321#if HHI_INTERVIEW_SKIP_LAMBDA_SCALE
322  Double      m_dInterViewSkipLambdaScale;
[42]323#endif
[56]324#endif
325#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
[116]326  Bool     m_bUseDMM;
[56]327#endif
[2]328
[189]329#if OL_QTLIMIT_PREDCODING_B0068
330  Bool     m_bUseQTLPC;
[115]331#endif
332
[56]333  Int      m_iViewOrderIdx;
334
335  UInt     m_uiCamParPrecision;
336  Bool     m_bCamParInSliceHeader;
337  Int**    m_aaiCodedScale;
338  Int**    m_aaiCodedOffset;
339
[5]340#if DEPTH_MAP_GENERATION
[56]341  UInt     m_uiPredDepthMapGeneration;
342  UInt     m_uiPdmPrecision;
343  Int**    m_aaiPdmScaleNomDelta;
344  Int**    m_aaiPdmOffset;
[5]345#endif
[56]346
[5]347#if HHI_INTER_VIEW_MOTION_PRED
348  UInt        m_uiMultiviewMvPredMode;
[2]349  UInt        m_uiMultiviewMvRegMode;
350  Double      m_dMultiviewMvRegLambdaScale;
[5]351#endif
352#if HHI_INTER_VIEW_RESIDUAL_PRED
[2]353  UInt        m_uiMultiviewResPredMode;
[5]354#endif
[2]355
356public:
357  TEncCfg()          {}
[56]358  virtual ~TEncCfg()
359  {
360    if( m_iUniformSpacingIdr == 0 )
361    {
362      if( m_iNumColumnsMinus1 )
363      { 
364        delete[] m_puiColumnWidth; 
365        m_puiColumnWidth = NULL;
366      }
367      if( m_iNumRowsMinus1 )
368      {
369        delete[] m_puiRowHeight;
370        m_puiRowHeight = NULL;
371      }
372    }
373    m_iTileLocationInSliceHeaderFlag = 0;
374    m_iTileMarkerFlag              = 0;
375  }
376 
[2]377  Void      setFrameRate                    ( Int   i )      { m_iFrameRate = i; }
378  Void      setFrameSkip                    ( unsigned int i ) { m_FrameSkip = i; }
379  Void      setSourceWidth                  ( Int   i )      { m_iSourceWidth = i; }
380  Void      setSourceHeight                 ( Int   i )      { m_iSourceHeight = i; }
[56]381#if PIC_CROPPING
382  Void      setCroppingMode                 ( Int   i )      { m_croppingMode = i; }
383  Void      setCropLeft                     ( Int   i )      { m_cropLeft = i; }
384  Void      setCropRight                    ( Int   i )      { m_cropRight = i; }
385  Void      setCropTop                      ( Int   i )      { m_cropTop = i; }
386  Void      setCropBottom                   ( Int   i )      { m_cropBottom = i; }
387#endif
[2]388  Void      setFrameToBeEncoded             ( Int   i )      { m_iFrameToBeEncoded = i; }
[56]389 
[2]390  //====== Coding Structure ========
[56]391  Void      setIntraPeriod                  ( Int   i )      { m_uiIntraPeriod = (UInt)i; }
[2]392  Void      setDecodingRefreshType          ( Int   i )      { m_uiDecodingRefreshType = (UInt)i; }
[56]393  Void      setGOPSize                      ( Int   i )      { m_iGOPSize = i; }
394  Void      setGopList                      ( GOPEntryMvc* GOPList ) { for( Int i = 0; i < MAX_GOP+1; i++ ) m_GOPList[i] = GOPList[i]; }
395  Void      setExtraRPSs                    ( Int   i )      { m_extraRPSs = i; }
396  GOPEntryMvc getGOPEntry                   ( Int   i )      { return m_GOPList[i]; }
397#if H0567_DPB_PARAMETERS_PER_TEMPORAL_LAYER
398  Void      setMaxDecPicBuffering           ( UInt u, UInt tlayer ) { m_maxDecPicBuffering[tlayer] = u;    }
399  Void      setNumReorderPics               ( Int  i, UInt tlayer ) { m_numReorderPics[tlayer] = i;    }
400#else
401  Void      setMaxNumberOfReferencePictures ( Int u )       { m_maxNumberOfReferencePictures = u;    }
402  Void      setNumReorderFrames             ( Int  i )       { m_numReorderFrames = i;    }
[2]403#endif
[56]404 
405#if HHI_INTERVIEW_SKIP
406  Void      setInterViewSkip            ( UInt  u )       { m_bInterViewSkip         = u; }
407  Bool      getInterViewSkip            ( )       { return m_bInterViewSkip  ;}
408#if HHI_INTERVIEW_SKIP_LAMBDA_SCALE
409  Void      setInterViewSkipLambdaScale ( UInt  u )       { m_dInterViewSkipLambdaScale = u; }
410  Double      getInterViewSkipLambdaScale ()                { return m_dInterViewSkipLambdaScale; }
411#endif
412#endif
413  Void      setQP                           ( Int   i )      { m_iQP = i; }
414 
415  Void      setTemporalLayerQPOffset        ( Int*  piTemporalLayerQPOffset )      { for ( Int i = 0; i < MAX_TLAYER; i++ ) m_aiTLayerQPOffset[i] = piTemporalLayerQPOffset[i]; }
416  Void      setPad                          ( Int*  iPad                   )      { for ( Int i = 0; i < 2; i++ ) m_aiPad[i] = iPad[i]; }
417 
418  Int       getMaxRefPicNum                 ()                              { return m_iMaxRefPicNum;           }
419  Void      setMaxRefPicNum                 ( Int iMaxRefPicNum )           { m_iMaxRefPicNum = iMaxRefPicNum;  }
[2]420
[56]421#if H0566_TLA
422  Bool      getMaxTempLayer                 ()                              { return m_maxTempLayer;              } 
423  Void      setMaxTempLayer                 ( Int maxTempLayer )            { m_maxTempLayer = maxTempLayer;      }
424#else
425  Bool      getTLayering                    ()                              { return m_bTLayering;              } 
426  Void      setTLayering                    ( Bool bTLayering )             { m_bTLayering = bTLayering;        }
427  Bool      getTLayerSwitchingFlag          ( UInt uiTLayer )               { assert (uiTLayer < MAX_TLAYER ); return  m_abTLayerSwitchingFlag[uiTLayer];                   }
428  Void      setTLayerSwitchingFlag          ( Bool* pbTLayerSwitchingFlag ) { for ( Int i = 0; i < MAX_TLAYER; i++ ) m_abTLayerSwitchingFlag[i] = pbTLayerSwitchingFlag[i]; }
[42]429#endif
[2]430
[56]431  Bool      getDisInter4x4                  ()              { return m_bDisInter4x4;        }
432  Void      setDisInter4x4                  ( Bool b )      { m_bDisInter4x4  = b;          }
433  Bool      isDepthCoder                    ()               { return m_isDepth; }
434 
[5]435#if DEPTH_MAP_GENERATION
[2]436  Void      setPredDepthMapGeneration       ( UInt  u )      { m_uiPredDepthMapGeneration   = u; }
437  Void      setPdmPrecision                 ( UInt  u )      { m_uiPdmPrecision             = u; }
438  Void      setPdmScaleNomDelta             ( Int** p )      { m_aaiPdmScaleNomDelta        = p; }
439  Void      setPdmOffset                    ( Int** p )      { m_aaiPdmOffset               = p; }
[5]440#endif
[56]441
[5]442#if HHI_INTER_VIEW_MOTION_PRED
443  Void      setMultiviewMvPredMode          ( UInt  u )      { m_uiMultiviewMvPredMode      = u; }
[2]444  Void      setMultiviewMvRegMode           ( UInt  u )      { m_uiMultiviewMvRegMode       = u; }
445  Void      setMultiviewMvRegLambdaScale    ( Double d)      { m_dMultiviewMvRegLambdaScale = d; }
[5]446#endif
447#if HHI_INTER_VIEW_RESIDUAL_PRED
[2]448  Void      setMultiviewResPredMode         ( UInt  u )      { m_uiMultiviewResPredMode     = u; }
[5]449#endif
[56]450 
[2]451  //======== Transform =============
452  Void      setQuadtreeTULog2MaxSize        ( UInt  u )      { m_uiQuadtreeTULog2MaxSize = u; }
453  Void      setQuadtreeTULog2MinSize        ( UInt  u )      { m_uiQuadtreeTULog2MinSize = u; }
454  Void      setQuadtreeTUMaxDepthInter      ( UInt  u )      { m_uiQuadtreeTUMaxDepthInter = u; }
455  Void      setQuadtreeTUMaxDepthIntra      ( UInt  u )      { m_uiQuadtreeTUMaxDepthIntra = u; }
[56]456 
457  Void setUseNSQT( Bool b ) { m_useNSQT = b; }
458  Void setUseAMP( Bool b ) { m_useAMP = b; }
459 
[2]460  //====== Loop/Deblock Filter ========
461  Void      setLoopFilterDisable            ( Bool  b )      { m_bLoopFilterDisable       = b; }
[56]462  Void      setLoopFilterOffsetInAPS        ( Bool  b )      { m_loopFilterOffsetInAPS      = b; }
463  Void      setLoopFilterBetaOffset         ( Int   i )      { m_loopFilterBetaOffsetDiv2  = i; }
464  Void      setLoopFilterTcOffset           ( Int   i )      { m_loopFilterTcOffsetDiv2    = i; }
465#if DBL_CONTROL
466  Void      setDeblockingFilterControlPresent ( Bool b ) { m_DeblockingFilterControlPresent = b; }
467#endif
[2]468
469  //====== Motion search ========
470  Void      setFastSearch                   ( Int   i )      { m_iFastSearch = i; }
471  Void      setSearchRange                  ( Int   i )      { m_iSearchRange = i; }
472  Void      setBipredSearchRange            ( Int   i )      { m_bipredSearchRange = i; }
[197]473#if DV_V_RESTRICTION_B0037
474  Void      setUseDisparitySearchRangeRestriction ( Bool   b )      { m_bUseDisparitySearchRangeRestriction = b; }
475  Void      setVerticalDisparitySearchRange ( Int   i )      { m_iVerticalDisparitySearchRange = i; }
476#endif
[56]477#if HHI_INTER_VIEW_MOTION_PRED
478  UInt      getMultiviewMvRegMode           ()      { return  m_uiMultiviewMvRegMode; }
479  Double    getMultiviewMvRegLambdaScale    ()      { return  m_dMultiviewMvRegLambdaScale; }
480#endif
481
[5]482#if HHI_VSO
[2]483 //==== VSO  ==========
484  Void      setVSOMode                      ( UInt  ui )    { m_uiVSOMode   = ui; }
485  Void      setForceLambdaScaleVSO          ( Bool  b )     { m_bForceLambdaScale = b; };
486  Void      setLambdaScaleVSO               ( Double d )    { m_dLambdaScaleVSO   = d; };
[5]487#if HHI_VSO_DIST_INT
[2]488  Void      setAllowNegDist                 ( Bool b  )     { m_bAllowNegDist     = b; };
489#endif
[115]490#if LGE_WVSO_A0119
[120]491  Void      setUseWVSO                      ( Bool  b )     { m_bUseWVSO   = b; }
[116]492  Void      setVSOWeight                    ( Int   i )     { m_iVSOWeight = i; }
493  Void      setVSDWeight                    ( Int   i )     { m_iVSDWeight = i; }
494  Void      setDWeight                      ( Int   i )     { m_iDWeight   = i; }
[5]495#endif
[115]496#endif
[2]497
[56]498  //====== Quality control ========
499  Void      setMaxDeltaQP                   ( Int   i )      { m_iMaxDeltaQP = i; }
500  Void      setMaxCuDQPDepth                ( Int   i )      { m_iMaxCuDQPDepth = i; }
501
502  Void      setChromaQpOffset               ( Int   i ) { m_iChromaQpOffset    = i; }
503  Void      setChromaQpOffset2nd            ( Int   i ) { m_iChromaQpOffset2nd = i; }
504
505#if ADAPTIVE_QP_SELECTION
506  Void      setUseAdaptQpSelect             ( Bool   i ) { m_bUseAdaptQpSelect    = i; }
507  Bool      getUseAdaptQpSelect             ()           { return   m_bUseAdaptQpSelect; }
508#endif
509
510  Void      setUseAdaptiveQP                ( Bool  b )      { m_bUseAdaptiveQP = b; }
511  Void      setQPAdaptationRange            ( Int   i )      { m_iQPAdaptationRange = i; }
512 
513  //====== Lossless ========
514#if LOSSLESS_CODING
515  Void      setUseLossless                  (Bool    b  )        { m_useLossless = b;  }
516#endif
[2]517  //====== Sequence ========
518  Int       getFrameRate                    ()      { return  m_iFrameRate; }
519  unsigned int getFrameSkip                 ()      { return  m_FrameSkip; }
520  Int       getSourceWidth                  ()      { return  m_iSourceWidth; }
521  Int       getSourceHeight                 ()      { return  m_iSourceHeight; }
[56]522#if PIC_CROPPING
523  Int       getCroppingMode                 ()      { return  m_croppingMode; }
524  Int       getCropLeft                     ()      { return  m_cropLeft; }
525  Int       getCropRight                    ()      { return  m_cropRight; }
526  Int       getCropTop                      ()      { return  m_cropTop; }
527  Int       getCropBottom                   ()      { return  m_cropBottom; }
528#endif
[2]529  Int       getFrameToBeEncoded             ()      { return  m_iFrameToBeEncoded; }
[56]530  void setLambdaModifier                    ( UInt uiIndex, Double dValue ) { m_adLambdaModifier[ uiIndex ] = dValue; }
531  Double getLambdaModifier                  ( UInt uiIndex ) const { return m_adLambdaModifier[ uiIndex ]; }
[2]532
533  //==== Coding Structure ========
[56]534  UInt      getIntraPeriod                  ()      { return  m_uiIntraPeriod; }
[2]535  UInt      getDecodingRefreshType          ()      { return  m_uiDecodingRefreshType; }
[56]536  Int       getGOPSize                      ()      { return  m_iGOPSize; }
537#if H0567_DPB_PARAMETERS_PER_TEMPORAL_LAYER
538  Int       getMaxDecPicBuffering           (UInt tlayer) { return m_maxDecPicBuffering[tlayer]; }
539  Int       getNumReorderPics               (UInt tlayer) { return m_numReorderPics[tlayer]; }
540#else
541  Int      getMaxNumberOfReferencePictures ()      { return m_maxNumberOfReferencePictures; }
542  Int       geNumReorderFrames              ()      { return m_numReorderFrames; }
[2]543#endif
544  Int       getQP                           ()      { return  m_iQP; }
[56]545 
[2]546  Int       getTemporalLayerQPOffset        ( Int i )      { assert (i < MAX_TLAYER ); return  m_aiTLayerQPOffset[i]; }
547  Int       getPad                          ( Int i )      { assert (i < 2 );                      return  m_aiPad[i]; }
[56]548 
[2]549  //======== Transform =============
550  UInt      getQuadtreeTULog2MaxSize        ()      const { return m_uiQuadtreeTULog2MaxSize; }
551  UInt      getQuadtreeTULog2MinSize        ()      const { return m_uiQuadtreeTULog2MinSize; }
552  UInt      getQuadtreeTUMaxDepthInter      ()      const { return m_uiQuadtreeTUMaxDepthInter; }
553  UInt      getQuadtreeTUMaxDepthIntra      ()      const { return m_uiQuadtreeTUMaxDepthIntra; }
[56]554 
[2]555  //==== Loop/Deblock Filter ========
556  Bool      getLoopFilterDisable            ()      { return  m_bLoopFilterDisable;       }
[56]557  Bool      getLoopFilterOffsetInAPS        ()      { return m_loopFilterOffsetInAPS; }
558  Int       getLoopFilterBetaOffset         ()      { return m_loopFilterBetaOffsetDiv2; }
559  Int       getLoopFilterTcOffset           ()      { return m_loopFilterTcOffsetDiv2; }
560#if DBL_CONTROL
561  Bool      getDeblockingFilterControlPresent()  { return  m_DeblockingFilterControlPresent; }
562#endif
[2]563
564  //==== Motion search ========
565  Int       getFastSearch                   ()      { return  m_iFastSearch; }
566  Int       getSearchRange                  ()      { return  m_iSearchRange; }
[197]567#if DV_V_RESTRICTION_B0037
568  Bool      getUseDisparitySearchRangeRestriction ()      { return  m_bUseDisparitySearchRangeRestriction; }
569  Int       getVerticalDisparitySearchRange ()      { return  m_iVerticalDisparitySearchRange; }
570#endif
[5]571#if HHI_VSO
[2]572  //==== VSO  ==========
573  UInt      getVSOMode                      ()      { return m_uiVSOMode; }
574  Bool      getForceLambdaScaleVSO          ()      { return m_bForceLambdaScale; }
575  Double    getLambdaScaleVSO               ()      { return m_dLambdaScaleVSO;   }
[5]576#if HHI_VSO_DIST_INT
[2]577  Bool      getAllowNegDist                 ()      { return m_bAllowNegDist;     }
578#endif
[115]579#if LGE_WVSO_A0119
[120]580  Bool      getUseWVSO                      ()      { return m_bUseWVSO;     }
[115]581  Int       getVSOWeight                    ()      { return m_iVSOWeight;    }
582  Int       getVSDWeight                    ()      { return m_iVSDWeight;    }
[116]583  Int       getDWeight                      ()      { return m_iDWeight;    }
[5]584#endif
[115]585#endif
[2]586
[56]587  //==== Quality control ========
588  Int       getMaxDeltaQP                   ()      { return  m_iMaxDeltaQP; }
589  Int       getMaxCuDQPDepth                ()      { return  m_iMaxCuDQPDepth; }
590  Bool      getUseAdaptiveQP                ()      { return  m_bUseAdaptiveQP; }
591  Int       getQPAdaptationRange            ()      { return  m_iQPAdaptationRange; }
592  //====== Lossless ========
593#if LOSSLESS_CODING
594  Bool      getUseLossless                  ()      { return  m_useLossless;  }
595#endif
596 
[2]597  //==== Tool list ========
598  Void      setUseSBACRD                    ( Bool  b )     { m_bUseSBACRD  = b; }
599  Void      setUseASR                       ( Bool  b )     { m_bUseASR     = b; }
600  Void      setUseHADME                     ( Bool  b )     { m_bUseHADME   = b; }
601  Void      setUseALF                       ( Bool  b )     { m_bUseALF   = b; }
602  Void      setUseLComb                     ( Bool  b )     { m_bUseLComb   = b; }
603  Void      setLCMod                        ( Bool  b )     { m_bLCMod   = b;    }
604  Void      setUseRDOQ                      ( Bool  b )     { m_bUseRDOQ    = b; }
[56]605#if !PIC_CROPPING
606  Void      setUsePAD                       ( Bool  b )     { m_bUsePAD     = b; }
[2]607#endif
[5]608#if HHI_VSO
[2]609  Void      setUseVSO                       ( Bool  b )     { m_bUseVSO     = b; }
[5]610#endif
[56]611
[100]612#if SAIT_VSO_EST_A0033
613  Void      setUseEstimatedVSD              ( Bool  b )     { m_bUseEstimatedVSD = b; }
614  Void      setDispCoeff                    ( Double  d )   { m_dDispCoeff  = d; }
615#endif
616
[56]617  Void      setUseFastEnc                   ( Bool  b )     { m_bUseFastEnc = b; }
618  Void      setUseEarlyCU                   ( Bool  b )     { m_bUseEarlyCU = b; }
619#if FAST_DECISION_FOR_MRG_RD_COST
620  Void      setUseFastDecisionForMerge      ( Bool  b )     { m_useFastDecisionForMerge = b; }
621#endif
622  Void      setUseCbfFastMode            ( Bool  b )     { m_bUseCbfFastMode = b; }
[2]623  Void      setUseConstrainedIntraPred      ( Bool  b )     { m_bUseConstrainedIntraPred = b; }
[56]624  Void      setPCMInputBitDepthFlag         ( Bool  b )     { m_bPCMInputBitDepthFlag = b; }
625  Void      setPCMFilterDisableFlag         ( Bool  b )     {  m_bPCMFilterDisableFlag = b; }
626  Void      setUsePCM                       ( Bool  b )     {  m_usePCM = b;               }
627  Void      setPCMLog2MaxSize               ( UInt u )      { m_pcmLog2MaxSize = u;      }
628  Void      setPCMLog2MinSize               ( UInt u )     { m_uiPCMLog2MinSize = u;      }
[2]629  Void      setdQPs                         ( Int*  p )     { m_aidQP       = p; }
630  Void      setDeltaQpRD                    ( UInt  u )     {m_uiDeltaQpRD  = u; }
631  Bool      getUseSBACRD                    ()      { return m_bUseSBACRD;  }
632  Bool      getUseASR                       ()      { return m_bUseASR;     }
633  Bool      getUseHADME                     ()      { return m_bUseHADME;   }
634  Bool      getUseALF                       ()      { return m_bUseALF;     }
635  Void      setALFEncodePassReduction       (Int i)  { m_iALFEncodePassReduction = i; }
636  Int       getALFEncodePassReduction       ()       { return m_iALFEncodePassReduction; }
[56]637
638  Void      setALFMaxNumberFilters          (Int i)  { m_iALFMaxNumberFilters = i; } 
639  Int       getALFMaxNumberFilters          ()       { return m_iALFMaxNumberFilters; } 
640#if LCU_SYNTAX_ALF
641  Void      setALFParamInSlice              (Bool b) {m_bALFParamInSlice = b;}
642  Bool      getALFParamInSlice              ()       {return m_bALFParamInSlice;}
643  Void      setALFPicBasedEncode            (Bool b) {m_bALFPicBasedEncode = b;}
644  Bool      getALFPicBasedEncode            ()       {return m_bALFPicBasedEncode;}
[2]645#endif
[56]646
[2]647  Bool      getUseLComb                     ()      { return m_bUseLComb;   }
648  Bool      getLCMod                        ()      { return m_bLCMod; }
649  Bool      getUseRDOQ                      ()      { return m_bUseRDOQ;    }
[56]650#if !PIC_CROPPING
651  Bool      getUsePAD                       ()      { return m_bUsePAD;     }
[2]652#endif
653
[5]654#if HHI_VSO
[2]655  Bool      getUseVSO                       ()      { return m_bUseVSO;     }
[5]656#endif
[100]657#if SAIT_VSO_EST_A0033
658  Bool      getUseEstimatedVSD              ()      { return m_bUseEstimatedVSD; }
659  Double    getDispCoeff                    ()      { return m_dDispCoeff;    }
660#endif
661
[56]662  Bool      getUseFastEnc                   ()      { return m_bUseFastEnc; }
663  Bool      getUseEarlyCU                   ()      { return m_bUseEarlyCU; }
664#if FAST_DECISION_FOR_MRG_RD_COST
665  Bool      getUseFastDecisionForMerge      ()      { return m_useFastDecisionForMerge; }
666#endif
667  Bool      getUseCbfFastMode           ()      { return m_bUseCbfFastMode; }
[2]668  Bool      getUseConstrainedIntraPred      ()      { return m_bUseConstrainedIntraPred; }
[56]669#if NS_HAD
670  Bool      getUseNSQT                      ()      { return m_useNSQT; }
[2]671#endif
[56]672  Bool      getPCMInputBitDepthFlag         ()      { return m_bPCMInputBitDepthFlag;   } 
673  Bool      getPCMFilterDisableFlag         ()      { return m_bPCMFilterDisableFlag;   } 
674  Bool      getUsePCM                       ()      { return m_usePCM;                 }
675  UInt      getPCMLog2MaxSize               ()      { return m_pcmLog2MaxSize;  }
676  UInt      getPCMLog2MinSize               ()      { return  m_uiPCMLog2MinSize;  }
677
[2]678  Bool getUseLMChroma                       ()      { return m_bUseLMChroma;        }
679  Void setUseLMChroma                       ( Bool b ) { m_bUseLMChroma  = b;       }
680
681  Int*      getdQPs                         ()      { return m_aidQP;       }
682  UInt      getDeltaQpRD                    ()      { return m_uiDeltaQpRD; }
[56]683
[2]684  //====== Slice ========
685  Void  setSliceMode                   ( Int  i )       { m_iSliceMode = i;              }
686  Void  setSliceArgument               ( Int  i )       { m_iSliceArgument = i;          }
687  Int   getSliceMode                   ()              { return m_iSliceMode;           }
688  Int   getSliceArgument               ()              { return m_iSliceArgument;       }
689  //====== Entropy Slice ========
690  Void  setEntropySliceMode            ( Int  i )      { m_iEntropySliceMode = i;       }
691  Void  setEntropySliceArgument        ( Int  i )      { m_iEntropySliceArgument = i;   }
692  Int   getEntropySliceMode            ()              { return m_iEntropySliceMode;    }
693  Int   getEntropySliceArgument        ()              { return m_iEntropySliceArgument;}
[56]694  Void  setSliceGranularity            ( Int  i )      { m_iSliceGranularity = i;       }
695  Int   getSliceGranularity            ()              { return m_iSliceGranularity;    }
[120]696  Void  setLFCrossSliceBoundaryFlag    ( Bool   bValue  )    { m_bLFCrossSliceBoundaryFlag = bValue; }
697  Bool  getLFCrossSliceBoundaryFlag    ()                    { return m_bLFCrossSliceBoundaryFlag;   }
[56]698
699#if HHI_MPI
[120]700  Void  setUseMVI                      ( Bool bVal )   {m_bUseMVI = bVal;}
[2]701#endif
[189]702#if RWTH_SDC_DLT_B0036
703  Void  setUseDLT                       ( Bool  b )     { m_bUseDLT   = b; }
704  Void  setUseSDC                       ( Bool  b )     { m_bUseSDC   = b; }
705#endif
[120]706  Void  setUseSAO                      ( Bool bVal )   {m_bUseSAO = bVal;}
707  Bool  getUseSAO                      ()              {return m_bUseSAO;}
[189]708#if LGE_ILLUCOMP_B0045
709  Void  setUseIC                       ( Bool bVal )   {m_bUseIC = bVal;}
710  Bool  getUseIC                       ()              {return m_bUseIC;}
711#endif
[56]712#if SAO_UNIT_INTERLEAVING
713  Void  setMaxNumOffsetsPerPic                   (Int iVal)            { m_maxNumOffsetsPerPic = iVal; }
714  Int   getMaxNumOffsetsPerPic                   ()                    { return m_maxNumOffsetsPerPic; }
715  Void  setSaoInterleavingFlag                   (bool bVal)           { m_saoInterleavingFlag = bVal; }
716  Bool  getSaoInterleavingFlag                   ()                    { return m_saoInterleavingFlag; }
[2]717#endif
[56]718  Void  setTileBehaviorControlPresentFlag        ( Int i )             { m_iTileBehaviorControlPresentFlag = i;    }
719  Int   getTileBehaviorControlPresentFlag        ()                    { return m_iTileBehaviorControlPresentFlag; }
720  Void  setLFCrossTileBoundaryFlag               ( Bool   bValue  )    { m_bLFCrossTileBoundaryFlag = bValue; }
721  Bool  getLFCrossTileBoundaryFlag               ()                    { return m_bLFCrossTileBoundaryFlag;   }
722  Void  setColumnRowInfoPresent        ( Int i )           { m_iColumnRowInfoPresent = i; }
723  Int   getColumnRowInfoPresent        ()                  { return m_iColumnRowInfoPresent; }
724  Void  setUniformSpacingIdr           ( Int i )           { m_iUniformSpacingIdr = i; }
725  Int   getUniformSpacingIdr           ()                  { return m_iUniformSpacingIdr; }
726#if !REMOVE_TILE_DEPENDENCE
727  Void  setTileBoundaryIndependenceIdr ( Int i )           { m_iTileBoundaryIndependenceIdr = i; }
728  Int   getTileBoundaryIndependenceIdr ()                  { return m_iTileBoundaryIndependenceIdr; }
[5]729#endif
[56]730  Void  setNumColumnsMinus1            ( Int i )           { m_iNumColumnsMinus1 = i; }
731  Int   getNumColumnsMinus1            ()                  { return m_iNumColumnsMinus1; }
732  Void  setColumnWidth ( char* str )
733  {
734    char *columnWidth;
735    int  i=0;
736    Int  m_iWidthInCU = ( m_iSourceWidth%g_uiMaxCUWidth ) ? m_iSourceWidth/g_uiMaxCUWidth + 1 : m_iSourceWidth/g_uiMaxCUWidth;
[2]737
[56]738    if( m_iUniformSpacingIdr == 0 && m_iNumColumnsMinus1 > 0 )
739    {
740      m_puiColumnWidth = new UInt[m_iNumColumnsMinus1];
741
742      columnWidth = strtok(str, " ,-");
743      while(columnWidth!=NULL)
744      {
745        if( i>=m_iNumColumnsMinus1 )
746        {
747          printf( "The number of columns whose width are defined is larger than the allowed number of columns.\n" );
748          exit( EXIT_FAILURE );
749        }
750        *( m_puiColumnWidth + i ) = atoi( columnWidth );
751        printf("col: m_iWidthInCU= %4d i=%4d width= %4d\n",m_iWidthInCU,i,m_puiColumnWidth[i]); //AFU
752        columnWidth = strtok(NULL, " ,-");
753        i++;
754      }
755      if( i<m_iNumColumnsMinus1 )
756      {
757        printf( "The width of some columns is not defined.\n" );
758        exit( EXIT_FAILURE );
759      }
760    }
761  }
762  UInt  getColumnWidth                 ( UInt columnidx )  { return *( m_puiColumnWidth + columnidx ); }
763  Void  setNumRowsMinus1               ( Int i )           { m_iNumRowsMinus1 = i; }
764  Int   getNumRowsMinus1               ()                  { return m_iNumRowsMinus1; }
765  Void  setRowHeight (char* str)
766  {
767    char *rowHeight;
768    int  i=0;
769    Int  m_iHeightInCU = ( m_iSourceHeight%g_uiMaxCUHeight ) ? m_iSourceHeight/g_uiMaxCUHeight + 1 : m_iSourceHeight/g_uiMaxCUHeight;
770
771    if( m_iUniformSpacingIdr == 0 && m_iNumRowsMinus1 > 0 )
772    {
773      m_puiRowHeight = new UInt[m_iNumRowsMinus1];
774
775      rowHeight = strtok(str, " ,-");
776      while(rowHeight!=NULL)
777      {
778        if( i>=m_iNumRowsMinus1 )
779        {
780          printf( "The number of rows whose height are defined is larger than the allowed number of rows.\n" );
781          exit( EXIT_FAILURE );
782        }
783        *( m_puiRowHeight + i ) = atoi( rowHeight );
784        printf("row: m_iHeightInCU=%4d i=%4d height=%4d\n",m_iHeightInCU,i,m_puiRowHeight[i]); //AFU
785        rowHeight = strtok(NULL, " ,-");
786        i++;
787      }
788      if( i<m_iNumRowsMinus1 )
789      {
790        printf( "The height of some rows is not defined.\n" );
791        exit( EXIT_FAILURE );
792     }
793    }
794  }
795  UInt  getRowHeight                   ( UInt rowIdx )     { return *( m_puiRowHeight + rowIdx ); }
796  Void  xCheckGSParameters();
797  Int  getTileLocationInSliceHeaderFlag ()                 { return m_iTileLocationInSliceHeaderFlag; }
798  Void setTileLocationInSliceHeaderFlag ( Int iFlag )      { m_iTileLocationInSliceHeaderFlag = iFlag;}
799  Int  getTileMarkerFlag              ()                 { return m_iTileMarkerFlag;              }
800  Void setTileMarkerFlag              ( Int iFlag )      { m_iTileMarkerFlag = iFlag;             }
801  Int  getMaxTileMarkerEntryPoints    ()                 { return m_iMaxTileMarkerEntryPoints;    }
802  Void setMaxTileMarkerEntryPoints    ( Int iCount )     { m_iMaxTileMarkerEntryPoints = iCount;  }
803  Double getMaxTileMarkerOffset       ()                 { return m_dMaxTileMarkerOffset;         }
804  Void setMaxTileMarkerOffset         ( Double dCount )  { m_dMaxTileMarkerOffset = dCount;       }
805  Void  setWaveFrontSynchro(Int iWaveFrontSynchro)       { m_iWaveFrontSynchro = iWaveFrontSynchro; }
806  Int   getWaveFrontsynchro()                            { return m_iWaveFrontSynchro; }
807  Void  setWaveFrontFlush(Int iWaveFrontFlush)           { m_iWaveFrontFlush = iWaveFrontFlush; }
808  Int   getWaveFrontFlush()                              { return m_iWaveFrontFlush; }
809  Void  setWaveFrontSubstreams(Int iWaveFrontSubstreams) { m_iWaveFrontSubstreams = iWaveFrontSubstreams; }
810  Int   getWaveFrontSubstreams()                         { return m_iWaveFrontSubstreams; }
[2]811  void setPictureDigestEnabled(bool b) { m_pictureDigestEnabled = b; }
812  bool getPictureDigestEnabled() { return m_pictureDigestEnabled; }
813
[56]814  Void      setUseWP               ( Bool  b )   { m_bUseWeightPred    = b;    }
815  Void      setWPBiPredIdc         ( UInt u )    { m_uiBiPredIdc       = u;    }
816  Bool      getUseWP               ()            { return m_bUseWeightPred;    }
817  UInt      getWPBiPredIdc         ()            { return m_uiBiPredIdc;       }
818  Void      setUseScalingListId    ( Int  u )    { m_useScalingListId       = u;   }
819  Int       getUseScalingListId    ()            { return m_useScalingListId;      }
820  Void      setScalingListFile     ( char*  pch ){ m_scalingListFile     = pch; }
821  char*     getScalingListFile     ()            { return m_scalingListFile;    }
822
823  Void      setEnableTMVP          ( Bool b )    { m_bEnableTMVP = b;    }
824  Bool      getEnableTMVP          ()            { return m_bEnableTMVP; }
825#if MULTIBITS_DATA_HIDING
826  Void      setSignHideFlag( Int signHideFlag )  { m_signHideFlag = signHideFlag; }
827  Void      setTSIG( Int tsig )                  { m_signHidingThreshold = tsig; }
828  Int       getSignHideFlag()                    { return m_signHideFlag; }
829  Int       getTSIG()                            { return m_signHidingThreshold; }
[2]830#endif
[195]831#if VIDYO_VPS_INTEGRATION |QC_MVHEVC_B0046
[77]832  Void      setLayerId             ( UInt layerId )   { m_layerId = layerId; }
833  UInt      getLayerId             ()               { return m_layerId; }
834#endif
[2]835
[56]836  Void      setViewId             ( Int viewId )   { m_viewId = viewId; }
837  Int       getViewId             ()               { return m_viewId; }
838  Void      setIsDepth            ( Bool isDepth ) { m_isDepth = isDepth; }
839  Bool      getIsDepth            ()               { return m_isDepth; }
840
841#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
[120]842  Void      setUseDMM( Bool b) { m_bUseDMM = b;    }
843  Bool      getUseDMM()        { return m_bUseDMM; }
[56]844#endif
845
[189]846#if OL_QTLIMIT_PREDCODING_B0068
847  Void      setUseQTLPC( Bool b ) { m_bUseQTLPC = b;    }
848  Bool      getUseQTLPC()         { return m_bUseQTLPC; }
[115]849#endif
[189]850 
851#if RWTH_SDC_DLT_B0036
852  Bool      getUseDLT()      { return m_bUseDLT;     }
853  Bool      getUseSDC()      { return m_bUseSDC;     }
854#endif
[115]855
[56]856  Void      setViewOrderIdx       ( Int   i )      { m_iViewOrderIdx          = i; }
857  Void      setCamParPrecision              ( UInt  u )      { m_uiCamParPrecision      = u; }
858  Void      setCamParInSliceHeader          ( Bool  b )      { m_bCamParInSliceHeader   = b; }
859  Void      setCodedScale                   ( Int** p )      { m_aaiCodedScale          = p; }
860  Void      setCodedOffset                  ( Int** p )      { m_aaiCodedOffset         = p; }
861
862#if SONY_COLPIC_AVAILABILITY
863  Int       getViewOrderIdx                 ()      { return  m_iViewOrderIdx; }
864#endif
[2]865};
866
[56]867//! \}
868
[2]869#endif // !defined(AFX_TENCCFG_H__6B99B797_F4DA_4E46_8E78_7656339A6C41__INCLUDED_)
Note: See TracBrowser for help on using the repository browser.