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

Last change on this file since 368 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
Line 
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
4 * granted under this license. 
5 *
6 * Copyright (c) 2010-2012, ITU/ISO/IEC
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.
17 *  * Neither the name of the ITU/ISO/IEC nor the names of its contributors may
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 */
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
45#include "TLibCommon/CommonDef.h"
46#include <assert.h>
47
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//! \{
97
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;
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
118  Int       m_iFrameToBeEncoded;
119  Double    m_adLambdaModifier[ MAX_TLAYER ];
120
121  //====== Coding Structure ========
122  UInt      m_uiIntraPeriod;
123  UInt      m_uiDecodingRefreshType;            ///< the type of decoding refresh employed for the random access.
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;
133#endif
134 
135  Int       m_iQP;                              //  if (AdaptiveQP == OFF)
136 
137  Int       m_aiTLayerQPOffset[MAX_TLAYER];
138  Int       m_aiPad[2];
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;
152  //======= Transform =============
153  UInt      m_uiQuadtreeTULog2MaxSize;
154  UInt      m_uiQuadtreeTULog2MinSize;
155  UInt      m_uiQuadtreeTUMaxDepthInter;
156  UInt      m_uiQuadtreeTUMaxDepthIntra;
157 
158  Bool      m_useNSQT;
159 
160  //====== Loop/Deblock Filter ========
161  Bool      m_bLoopFilterDisable;
162  Bool      m_loopFilterOffsetInAPS;
163  Int       m_loopFilterBetaOffsetDiv2;
164  Int       m_loopFilterTcOffsetDiv2;
165#if DBL_CONTROL
166  Bool      m_DeblockingFilterControlPresent;
167#endif
168  Bool      m_bUseSAO;
169#if LGE_ILLUCOMP_B0045
170  Bool      m_bUseIC;
171#endif
172#if SAO_UNIT_INTERLEAVING
173  Int       m_maxNumOffsetsPerPic;
174  Bool      m_saoInterleavingFlag;
175#endif
176
177  //====== Lossless ========
178#if LOSSLESS_CODING
179  Bool      m_useLossless;
180#endif
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;
185#if DV_V_RESTRICTION_B0037
186  Bool      m_bUseDisparitySearchRangeRestriction;
187  Int       m_iVerticalDisparitySearchRange;
188#endif
189  //====== Quality control ========
190  Int       m_iMaxDeltaQP;                      //  Max. absolute delta QP (1:default)
191  Int       m_iMaxCuDQPDepth;                   //  Max. depth for a minimum CuDQP (0:default)
192
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 
203#if HHI_VSO
204  //====== View Synthesis Optimization ======
205  Bool      m_bUseVSO;
206  Bool      m_bForceLambdaScale;
207#if HHI_VSO_DIST_INT
208  Bool      m_bAllowNegDist;
209#endif
210  Double    m_dLambdaScaleVSO;
211  UInt      m_uiVSOMode;
212#if LGE_WVSO_A0119
213  Bool      m_bUseWVSO;
214  Int       m_iVSOWeight;
215  Int       m_iVSDWeight;
216  Int       m_iDWeight;
217#endif
218#endif
219#if SAIT_VSO_EST_A0033
220  Bool      m_bUseEstimatedVSD; 
221  Double    m_dDispCoeff;
222#endif
223
224
225  //====== Tool list ========
226  Bool      m_bUseSBACRD;
227  Bool      m_bUseALF;
228  Int       m_iALFEncodePassReduction;
229
230  Int       m_iALFMaxNumberFilters;
231#if LCU_SYNTAX_ALF
232  Bool      m_bALFParamInSlice;
233  Bool      m_bALFPicBasedEncode;
234#endif
235
236  Bool      m_bUseASR;
237  Bool      m_bUseHADME;
238  Bool      m_bUseLComb;
239  Bool      m_bLCMod;
240  Bool      m_bUseRDOQ;
241#if !PIC_CROPPING
242  Bool      m_bUsePAD;
243#endif
244  Bool      m_bUseFastEnc;
245  Bool      m_bUseEarlyCU;
246
247#if FAST_DECISION_FOR_MRG_RD_COST
248  Bool      m_useFastDecisionForMerge;
249#endif
250  Bool      m_bUseCbfFastMode;
251  Bool      m_bUseLMChroma; 
252#if HHI_MPI
253  Bool      m_bUseMVI;
254#endif
255#if RWTH_SDC_DLT_B0036
256  Bool      m_bUseDLT;
257  Bool      m_bUseSDC;
258#endif
259
260  Int*      m_aidQP;
261  UInt      m_uiDeltaQpRD;
262 
263  Bool      m_bUseConstrainedIntraPred;
264  Bool      m_usePCM;
265  UInt      m_pcmLog2MaxSize;
266  UInt      m_uiPCMLog2MinSize;
267  //====== Slice ========
268  Int       m_iSliceMode;
269  Int       m_iSliceArgument; 
270  //====== Entropy Slice ========
271  Int       m_iEntropySliceMode;
272  Int       m_iEntropySliceArgument;
273  Int       m_iSliceGranularity;
274  Bool      m_bLFCrossSliceBoundaryFlag;
275
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
298  Bool      m_pictureDigestEnabled; ///< enable(1)/disable(0) md5 computation and SEI signalling
299
300  //====== Weighted Prediction ========
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;
310#endif
311
312#if VIDYO_VPS_INTEGRATION|QC_MVHEVC_B0046
313  UInt     m_layerId;
314#endif
315 
316  Int      m_viewId;
317  Bool     m_isDepth;
318
319#if HHI_INTERVIEW_SKIP
320  Bool        m_bInterViewSkip;
321#if HHI_INTERVIEW_SKIP_LAMBDA_SCALE
322  Double      m_dInterViewSkipLambdaScale;
323#endif
324#endif
325#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
326  Bool     m_bUseDMM;
327#endif
328
329#if OL_QTLIMIT_PREDCODING_B0068
330  Bool     m_bUseQTLPC;
331#endif
332
333  Int      m_iViewOrderIdx;
334
335  UInt     m_uiCamParPrecision;
336  Bool     m_bCamParInSliceHeader;
337  Int**    m_aaiCodedScale;
338  Int**    m_aaiCodedOffset;
339
340#if DEPTH_MAP_GENERATION
341  UInt     m_uiPredDepthMapGeneration;
342  UInt     m_uiPdmPrecision;
343  Int**    m_aaiPdmScaleNomDelta;
344  Int**    m_aaiPdmOffset;
345#endif
346
347#if HHI_INTER_VIEW_MOTION_PRED
348  UInt        m_uiMultiviewMvPredMode;
349  UInt        m_uiMultiviewMvRegMode;
350  Double      m_dMultiviewMvRegLambdaScale;
351#endif
352#if HHI_INTER_VIEW_RESIDUAL_PRED
353  UInt        m_uiMultiviewResPredMode;
354#endif
355
356public:
357  TEncCfg()          {}
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 
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; }
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
388  Void      setFrameToBeEncoded             ( Int   i )      { m_iFrameToBeEncoded = i; }
389 
390  //====== Coding Structure ========
391  Void      setIntraPeriod                  ( Int   i )      { m_uiIntraPeriod = (UInt)i; }
392  Void      setDecodingRefreshType          ( Int   i )      { m_uiDecodingRefreshType = (UInt)i; }
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;    }
403#endif
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;  }
420
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]; }
429#endif
430
431  Bool      getDisInter4x4                  ()              { return m_bDisInter4x4;        }
432  Void      setDisInter4x4                  ( Bool b )      { m_bDisInter4x4  = b;          }
433  Bool      isDepthCoder                    ()               { return m_isDepth; }
434 
435#if DEPTH_MAP_GENERATION
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; }
440#endif
441
442#if HHI_INTER_VIEW_MOTION_PRED
443  Void      setMultiviewMvPredMode          ( UInt  u )      { m_uiMultiviewMvPredMode      = u; }
444  Void      setMultiviewMvRegMode           ( UInt  u )      { m_uiMultiviewMvRegMode       = u; }
445  Void      setMultiviewMvRegLambdaScale    ( Double d)      { m_dMultiviewMvRegLambdaScale = d; }
446#endif
447#if HHI_INTER_VIEW_RESIDUAL_PRED
448  Void      setMultiviewResPredMode         ( UInt  u )      { m_uiMultiviewResPredMode     = u; }
449#endif
450 
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; }
456 
457  Void setUseNSQT( Bool b ) { m_useNSQT = b; }
458  Void setUseAMP( Bool b ) { m_useAMP = b; }
459 
460  //====== Loop/Deblock Filter ========
461  Void      setLoopFilterDisable            ( Bool  b )      { m_bLoopFilterDisable       = b; }
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
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; }
473#if DV_V_RESTRICTION_B0037
474  Void      setUseDisparitySearchRangeRestriction ( Bool   b )      { m_bUseDisparitySearchRangeRestriction = b; }
475  Void      setVerticalDisparitySearchRange ( Int   i )      { m_iVerticalDisparitySearchRange = i; }
476#endif
477#if HHI_INTER_VIEW_MOTION_PRED
478  UInt      getMultiviewMvRegMode           ()      { return  m_uiMultiviewMvRegMode; }
479  Double    getMultiviewMvRegLambdaScale    ()      { return  m_dMultiviewMvRegLambdaScale; }
480#endif
481
482#if HHI_VSO
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; };
487#if HHI_VSO_DIST_INT
488  Void      setAllowNegDist                 ( Bool b  )     { m_bAllowNegDist     = b; };
489#endif
490#if LGE_WVSO_A0119
491  Void      setUseWVSO                      ( Bool  b )     { m_bUseWVSO   = b; }
492  Void      setVSOWeight                    ( Int   i )     { m_iVSOWeight = i; }
493  Void      setVSDWeight                    ( Int   i )     { m_iVSDWeight = i; }
494  Void      setDWeight                      ( Int   i )     { m_iDWeight   = i; }
495#endif
496#endif
497
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
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; }
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
529  Int       getFrameToBeEncoded             ()      { return  m_iFrameToBeEncoded; }
530  void setLambdaModifier                    ( UInt uiIndex, Double dValue ) { m_adLambdaModifier[ uiIndex ] = dValue; }
531  Double getLambdaModifier                  ( UInt uiIndex ) const { return m_adLambdaModifier[ uiIndex ]; }
532
533  //==== Coding Structure ========
534  UInt      getIntraPeriod                  ()      { return  m_uiIntraPeriod; }
535  UInt      getDecodingRefreshType          ()      { return  m_uiDecodingRefreshType; }
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; }
543#endif
544  Int       getQP                           ()      { return  m_iQP; }
545 
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]; }
548 
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; }
554 
555  //==== Loop/Deblock Filter ========
556  Bool      getLoopFilterDisable            ()      { return  m_bLoopFilterDisable;       }
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
563
564  //==== Motion search ========
565  Int       getFastSearch                   ()      { return  m_iFastSearch; }
566  Int       getSearchRange                  ()      { return  m_iSearchRange; }
567#if DV_V_RESTRICTION_B0037
568  Bool      getUseDisparitySearchRangeRestriction ()      { return  m_bUseDisparitySearchRangeRestriction; }
569  Int       getVerticalDisparitySearchRange ()      { return  m_iVerticalDisparitySearchRange; }
570#endif
571#if HHI_VSO
572  //==== VSO  ==========
573  UInt      getVSOMode                      ()      { return m_uiVSOMode; }
574  Bool      getForceLambdaScaleVSO          ()      { return m_bForceLambdaScale; }
575  Double    getLambdaScaleVSO               ()      { return m_dLambdaScaleVSO;   }
576#if HHI_VSO_DIST_INT
577  Bool      getAllowNegDist                 ()      { return m_bAllowNegDist;     }
578#endif
579#if LGE_WVSO_A0119
580  Bool      getUseWVSO                      ()      { return m_bUseWVSO;     }
581  Int       getVSOWeight                    ()      { return m_iVSOWeight;    }
582  Int       getVSDWeight                    ()      { return m_iVSDWeight;    }
583  Int       getDWeight                      ()      { return m_iDWeight;    }
584#endif
585#endif
586
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 
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; }
605#if !PIC_CROPPING
606  Void      setUsePAD                       ( Bool  b )     { m_bUsePAD     = b; }
607#endif
608#if HHI_VSO
609  Void      setUseVSO                       ( Bool  b )     { m_bUseVSO     = b; }
610#endif
611
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
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; }
623  Void      setUseConstrainedIntraPred      ( Bool  b )     { m_bUseConstrainedIntraPred = b; }
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;      }
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; }
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;}
645#endif
646
647  Bool      getUseLComb                     ()      { return m_bUseLComb;   }
648  Bool      getLCMod                        ()      { return m_bLCMod; }
649  Bool      getUseRDOQ                      ()      { return m_bUseRDOQ;    }
650#if !PIC_CROPPING
651  Bool      getUsePAD                       ()      { return m_bUsePAD;     }
652#endif
653
654#if HHI_VSO
655  Bool      getUseVSO                       ()      { return m_bUseVSO;     }
656#endif
657#if SAIT_VSO_EST_A0033
658  Bool      getUseEstimatedVSD              ()      { return m_bUseEstimatedVSD; }
659  Double    getDispCoeff                    ()      { return m_dDispCoeff;    }
660#endif
661
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; }
668  Bool      getUseConstrainedIntraPred      ()      { return m_bUseConstrainedIntraPred; }
669#if NS_HAD
670  Bool      getUseNSQT                      ()      { return m_useNSQT; }
671#endif
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
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; }
683
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;}
694  Void  setSliceGranularity            ( Int  i )      { m_iSliceGranularity = i;       }
695  Int   getSliceGranularity            ()              { return m_iSliceGranularity;    }
696  Void  setLFCrossSliceBoundaryFlag    ( Bool   bValue  )    { m_bLFCrossSliceBoundaryFlag = bValue; }
697  Bool  getLFCrossSliceBoundaryFlag    ()                    { return m_bLFCrossSliceBoundaryFlag;   }
698
699#if HHI_MPI
700  Void  setUseMVI                      ( Bool bVal )   {m_bUseMVI = bVal;}
701#endif
702#if RWTH_SDC_DLT_B0036
703  Void  setUseDLT                       ( Bool  b )     { m_bUseDLT   = b; }
704  Void  setUseSDC                       ( Bool  b )     { m_bUseSDC   = b; }
705#endif
706  Void  setUseSAO                      ( Bool bVal )   {m_bUseSAO = bVal;}
707  Bool  getUseSAO                      ()              {return m_bUseSAO;}
708#if LGE_ILLUCOMP_B0045
709  Void  setUseIC                       ( Bool bVal )   {m_bUseIC = bVal;}
710  Bool  getUseIC                       ()              {return m_bUseIC;}
711#endif
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; }
717#endif
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; }
729#endif
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;
737
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; }
811  void setPictureDigestEnabled(bool b) { m_pictureDigestEnabled = b; }
812  bool getPictureDigestEnabled() { return m_pictureDigestEnabled; }
813
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; }
830#endif
831#if VIDYO_VPS_INTEGRATION |QC_MVHEVC_B0046
832  Void      setLayerId             ( UInt layerId )   { m_layerId = layerId; }
833  UInt      getLayerId             ()               { return m_layerId; }
834#endif
835
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
842  Void      setUseDMM( Bool b) { m_bUseDMM = b;    }
843  Bool      getUseDMM()        { return m_bUseDMM; }
844#endif
845
846#if OL_QTLIMIT_PREDCODING_B0068
847  Void      setUseQTLPC( Bool b ) { m_bUseQTLPC = b;    }
848  Bool      getUseQTLPC()         { return m_bUseQTLPC; }
849#endif
850 
851#if RWTH_SDC_DLT_B0036
852  Bool      getUseDLT()      { return m_bUseDLT;     }
853  Bool      getUseSDC()      { return m_bUseSDC;     }
854#endif
855
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
865};
866
867//! \}
868
869#endif // !defined(AFX_TENCCFG_H__6B99B797_F4DA_4E46_8E78_7656339A6C41__INCLUDED_)
Note: See TracBrowser for help on using the repository browser.