HEVC Test Model (HM)  HM-16.3
TComSlice.h
Go to the documentation of this file.
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-2015, 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 
38 #ifndef __TCOMSLICE__
39 #define __TCOMSLICE__
40 
41 #include <cstring>
42 #include <map>
43 #include <vector>
44 #include "CommonDef.h"
45 #include "TComRom.h"
46 #include "TComList.h"
47 #include "TComChromaFormat.h"
48 
51 
52 class TComPic;
53 class TComTrQuant;
54 // ====================================================================================================================
55 // Constants
56 // ====================================================================================================================
57 
58 static const UInt REF_PIC_LIST_NUM_IDX=32;
59 
60 // ====================================================================================================================
61 // Class definition
62 // ====================================================================================================================
63 
66 {
67 private:
84 
85 public:
87  virtual ~TComReferencePictureSet();
88  Int getPocLSBLT(Int i) const { return m_pocLSBLT[i]; }
89  Void setPocLSBLT(Int i, Int x) { m_pocLSBLT[i] = x; }
90  Int getDeltaPocMSBCycleLT(Int i) const { return m_deltaPOCMSBCycleLT[i]; }
91  Void setDeltaPocMSBCycleLT(Int i, Int x) { m_deltaPOCMSBCycleLT[i] = x; }
92  Bool getDeltaPocMSBPresentFlag(Int i) const { return m_deltaPocMSBPresentFlag[i]; }
93  Void setDeltaPocMSBPresentFlag(Int i, Bool x) { m_deltaPocMSBPresentFlag[i] = x; }
94  Void setUsed(Int bufferNum, Bool used);
95  Void setDeltaPOC(Int bufferNum, Int deltaPOC);
96  Void setPOC(Int bufferNum, Int deltaPOC);
97  Void setNumberOfPictures(Int numberOfPictures);
98  Void setCheckLTMSBPresent(Int bufferNum, Bool b );
99  Bool getCheckLTMSBPresent(Int bufferNum) const;
100 
101  Int getUsed(Int bufferNum) const;
102  Int getDeltaPOC(Int bufferNum) const;
103  Int getPOC(Int bufferNum) const;
104  Int getNumberOfPictures() const;
105 
106  Void setNumberOfNegativePictures(Int number) { m_numberOfNegativePictures = number; }
108  Void setNumberOfPositivePictures(Int number) { m_numberOfPositivePictures = number; }
110  Void setNumberOfLongtermPictures(Int number) { m_numberOfLongtermPictures = number; }
112 
113  Void setInterRPSPrediction(Bool flag) { m_interRPSPrediction = flag; }
115  Void setDeltaRIdxMinus1(Int x) { m_deltaRIdxMinus1 = x; }
117  Void setDeltaRPS(Int x) { m_deltaRPS = x; }
118  Int getDeltaRPS() const { return m_deltaRPS; }
119  Void setNumRefIdc(Int x) { m_numRefIdc = x; }
120  Int getNumRefIdc() const { return m_numRefIdc; }
121 
122  Void setRefIdc(Int bufferNum, Int refIdc);
123  Int getRefIdc(Int bufferNum) const ;
124 
125  Void sortDeltaPOC();
126  Void printDeltaPOC() const;
127 };
128 
131 {
132 private:
133  std::vector<TComReferencePictureSet> m_referencePictureSets;
134 
135 public:
137  virtual ~TComRPSList() { }
138 
139  Void create (Int numberOfEntries) { m_referencePictureSets.resize(numberOfEntries); }
140  Void destroy () { }
141 
142 
143  TComReferencePictureSet* getReferencePictureSet(Int referencePictureSetNum) { return &m_referencePictureSets[referencePictureSetNum]; }
144  const TComReferencePictureSet* getReferencePictureSet(Int referencePictureSetNum) const { return &m_referencePictureSets[referencePictureSetNum]; }
145 
146  Int getNumberOfReferencePictureSets() const { return Int(m_referencePictureSets.size()); }
147 };
148 
151 {
152 public:
153  TComScalingList();
154  virtual ~TComScalingList() { }
155  Int* getScalingListAddress(UInt sizeId, UInt listId) { return &(m_scalingListCoef[sizeId][listId][0]); }
156  const Int* getScalingListAddress(UInt sizeId, UInt listId) const { return &(m_scalingListCoef[sizeId][listId][0]); }
157  Void checkPredMode(UInt sizeId, UInt listId);
158 
159  Void setRefMatrixId(UInt sizeId, UInt listId, UInt u) { m_refMatrixId[sizeId][listId] = u; }
160  UInt getRefMatrixId(UInt sizeId, UInt listId) const { return m_refMatrixId[sizeId][listId]; }
161 
162  Int* getScalingListDefaultAddress(UInt sizeId, UInt listId);
163  Void processDefaultMatrix(UInt sizeId, UInt listId);
164 
165  Void setScalingListDC(UInt sizeId, UInt listId, UInt u) { m_scalingListDC[sizeId][listId] = u; }
166  Int getScalingListDC(UInt sizeId, UInt listId) const { return m_scalingListDC[sizeId][listId]; }
167 
168  Void setScalingListPredModeFlag(UInt sizeId, UInt listId, Bool bIsDPCM) { m_scalingListPredModeFlagIsDPCM[sizeId][listId] = bIsDPCM; }
169  Bool getScalingListPredModeFlag(UInt sizeId, UInt listId) const { return m_scalingListPredModeFlagIsDPCM[sizeId][listId]; }
170 
172  Void processRefMatrix(UInt sizeId, UInt listId , UInt refListId );
173  Bool xParseScalingList(Char* pchFile);
176 
177 private:
178  Void outputScalingLists(std::ostream &os) const;
183 };
184 
186 {
192 
201 
202 public:
204 
205  Int getProfileSpace() const { return m_profileSpace; }
206  Void setProfileSpace(Int x) { m_profileSpace = x; }
207 
208  Level::Tier getTierFlag() const { return m_tierFlag; }
209  Void setTierFlag(Level::Tier x) { m_tierFlag = x; }
210 
212  Void setProfileIdc(Profile::Name x) { m_profileIdc = x; }
213 
214  Bool getProfileCompatibilityFlag(Int i) const { return m_profileCompatibilityFlag[i]; }
215  Void setProfileCompatibilityFlag(Int i, Bool x) { m_profileCompatibilityFlag[i] = x; }
216 
217  Level::Name getLevelIdc() const { return m_levelIdc; }
218  Void setLevelIdc(Level::Name x) { m_levelIdc = x; }
219 
221  Void setProgressiveSourceFlag(Bool b) { m_progressiveSourceFlag = b; }
222 
224  Void setInterlacedSourceFlag(Bool b) { m_interlacedSourceFlag = b; }
225 
227  Void setNonPackedConstraintFlag(Bool b) { m_nonPackedConstraintFlag = b; }
228 
230  Void setFrameOnlyConstraintFlag(Bool b) { m_frameOnlyConstraintFlag = b; }
231 
233  Void setBitDepthConstraint(UInt bitDepth) { m_bitDepthConstraintValue=bitDepth; }
234 
236  Void setChromaFormatConstraint(ChromaFormat fmt) { m_chromaFormatConstraintValue=fmt; }
237 
239  Void setIntraConstraintFlag(Bool b) { m_intraConstraintFlag = b; }
240 
242  Void setLowerBitRateConstraintFlag(Bool b) { m_lowerBitRateConstraintFlag = b; }
243 };
244 
245 
246 class TComPTL
247 {
249  ProfileTierLevel m_subLayerPTL [MAX_TLAYER-1]; // max. value of max_sub_layers_minus1 is MAX_TLAYER-1 (= 6)
252 
253 public:
254  TComPTL();
255  Bool getSubLayerProfilePresentFlag(Int i) const { return m_subLayerProfilePresentFlag[i]; }
256  Void setSubLayerProfilePresentFlag(Int i, Bool x) { m_subLayerProfilePresentFlag[i] = x; }
257 
258  Bool getSubLayerLevelPresentFlag(Int i) const { return m_subLayerLevelPresentFlag[i]; }
259  Void setSubLayerLevelPresentFlag(Int i, Bool x) { m_subLayerLevelPresentFlag[i] = x; }
260 
262  const ProfileTierLevel* getGeneralPTL() const { return &m_generalPTL; }
263  ProfileTierLevel* getSubLayerPTL(Int i) { return &m_subLayerPTL[i]; }
264  const ProfileTierLevel* getSubLayerPTL(Int i) const { return &m_subLayerPTL[i]; }
265 };
266 
268 
270 {
281 };
282 
283 class TComHRD
284 {
285 private:
301 
302 public:
304  :m_nalHrdParametersPresentFlag (0)
305  ,m_vclHrdParametersPresentFlag (0)
306  ,m_subPicCpbParamsPresentFlag (false)
307  ,m_tickDivisorMinus2 (0)
308  ,m_duCpbRemovalDelayLengthMinus1 (0)
309  ,m_subPicCpbParamsInPicTimingSEIFlag (false)
310  ,m_dpbOutputDelayDuLengthMinus1 (0)
311  ,m_bitRateScale (0)
312  ,m_cpbSizeScale (0)
313  ,m_initialCpbRemovalDelayLengthMinus1(23)
314  ,m_cpbRemovalDelayLengthMinus1 (23)
315  ,m_dpbOutputDelayLengthMinus1 (23)
316  {}
317 
318  virtual ~TComHRD() {}
319 
320  Void setNalHrdParametersPresentFlag( Bool flag ) { m_nalHrdParametersPresentFlag = flag; }
322 
323  Void setVclHrdParametersPresentFlag( Bool flag ) { m_vclHrdParametersPresentFlag = flag; }
325 
326  Void setSubPicCpbParamsPresentFlag( Bool flag ) { m_subPicCpbParamsPresentFlag = flag; }
328 
329  Void setTickDivisorMinus2( UInt value ) { m_tickDivisorMinus2 = value; }
331 
332  Void setDuCpbRemovalDelayLengthMinus1( UInt value ) { m_duCpbRemovalDelayLengthMinus1 = value; }
334 
335  Void setSubPicCpbParamsInPicTimingSEIFlag( Bool flag) { m_subPicCpbParamsInPicTimingSEIFlag = flag; }
337 
338  Void setDpbOutputDelayDuLengthMinus1(UInt value ) { m_dpbOutputDelayDuLengthMinus1 = value; }
340 
341  Void setBitRateScale( UInt value ) { m_bitRateScale = value; }
342  UInt getBitRateScale( ) const { return m_bitRateScale; }
343 
344  Void setCpbSizeScale( UInt value ) { m_cpbSizeScale = value; }
345  UInt getCpbSizeScale( ) const { return m_cpbSizeScale; }
346  Void setDuCpbSizeScale( UInt value ) { m_ducpbSizeScale = value; }
348 
349  Void setInitialCpbRemovalDelayLengthMinus1( UInt value ) { m_initialCpbRemovalDelayLengthMinus1 = value; }
351 
352  Void setCpbRemovalDelayLengthMinus1( UInt value ) { m_cpbRemovalDelayLengthMinus1 = value; }
354 
355  Void setDpbOutputDelayLengthMinus1( UInt value ) { m_dpbOutputDelayLengthMinus1 = value; }
357 
358  Void setFixedPicRateFlag( Int layer, Bool flag ) { m_HRD[layer].fixedPicRateFlag = flag; }
359  Bool getFixedPicRateFlag( Int layer ) const { return m_HRD[layer].fixedPicRateFlag; }
360 
361  Void setFixedPicRateWithinCvsFlag( Int layer, Bool flag ) { m_HRD[layer].fixedPicRateWithinCvsFlag = flag; }
362  Bool getFixedPicRateWithinCvsFlag( Int layer ) const { return m_HRD[layer].fixedPicRateWithinCvsFlag; }
363 
364  Void setPicDurationInTcMinus1( Int layer, UInt value ) { m_HRD[layer].picDurationInTcMinus1 = value; }
365  UInt getPicDurationInTcMinus1( Int layer ) const { return m_HRD[layer].picDurationInTcMinus1; }
366 
367  Void setLowDelayHrdFlag( Int layer, Bool flag ) { m_HRD[layer].lowDelayHrdFlag = flag; }
368  Bool getLowDelayHrdFlag( Int layer ) const { return m_HRD[layer].lowDelayHrdFlag; }
369 
370  Void setCpbCntMinus1( Int layer, UInt value ) { m_HRD[layer].cpbCntMinus1 = value; }
371  UInt getCpbCntMinus1( Int layer ) const { return m_HRD[layer].cpbCntMinus1; }
372 
373  Void setBitRateValueMinus1( Int layer, Int cpbcnt, Int nalOrVcl, UInt value ) { m_HRD[layer].bitRateValueMinus1[cpbcnt][nalOrVcl] = value; }
374  UInt getBitRateValueMinus1( Int layer, Int cpbcnt, Int nalOrVcl ) const { return m_HRD[layer].bitRateValueMinus1[cpbcnt][nalOrVcl]; }
375 
376  Void setCpbSizeValueMinus1( Int layer, Int cpbcnt, Int nalOrVcl, UInt value ) { m_HRD[layer].cpbSizeValue[cpbcnt][nalOrVcl] = value; }
377  UInt getCpbSizeValueMinus1( Int layer, Int cpbcnt, Int nalOrVcl ) const { return m_HRD[layer].cpbSizeValue[cpbcnt][nalOrVcl]; }
378  Void setDuCpbSizeValueMinus1( Int layer, Int cpbcnt, Int nalOrVcl, UInt value ) { m_HRD[layer].ducpbSizeValue[cpbcnt][nalOrVcl] = value; }
379  UInt getDuCpbSizeValueMinus1( Int layer, Int cpbcnt, Int nalOrVcl ) const { return m_HRD[layer].ducpbSizeValue[cpbcnt][nalOrVcl]; }
380  Void setDuBitRateValueMinus1( Int layer, Int cpbcnt, Int nalOrVcl, UInt value ) { m_HRD[layer].duBitRateValue[cpbcnt][nalOrVcl] = value; }
381  UInt getDuBitRateValueMinus1(Int layer, Int cpbcnt, Int nalOrVcl ) const { return m_HRD[layer].duBitRateValue[cpbcnt][nalOrVcl]; }
382  Void setCbrFlag( Int layer, Int cpbcnt, Int nalOrVcl, Bool value ) { m_HRD[layer].cbrFlag[cpbcnt][nalOrVcl] = value; }
383  Bool getCbrFlag( Int layer, Int cpbcnt, Int nalOrVcl ) const { return m_HRD[layer].cbrFlag[cpbcnt][nalOrVcl]; }
384 
385  Void setNumDU( UInt value ) { m_numDU = value; }
386  UInt getNumDU( ) const { return m_numDU; }
388 };
389 
391 {
397 public:
399  : m_timingInfoPresentFlag (false)
400  , m_numUnitsInTick (1001)
401  , m_timeScale (60000)
402  , m_pocProportionalToTimingFlag(false)
403  , m_numTicksPocDiffOneMinus1 (0)
404  {}
405 
406  Void setTimingInfoPresentFlag( Bool flag ) { m_timingInfoPresentFlag = flag; }
408 
409  Void setNumUnitsInTick( UInt value ) { m_numUnitsInTick = value; }
411 
412  Void setTimeScale( UInt value ) { m_timeScale = value; }
413  UInt getTimeScale( ) const { return m_timeScale; }
414 
415  Void setPocProportionalToTimingFlag(Bool x) { m_pocProportionalToTimingFlag = x; }
417 
418  Void setNumTicksPocDiffOneMinus1(Int x) { m_numTicksPocDiffOneMinus1 = x; }
420 };
421 
423 {
424  union
425  {
426  struct {
429  } comp;
430  Int offset[2]; /* two chroma components */
431  } u;
432 };
433 
434 class TComVPS
435 {
436 private:
441 
444  UInt m_uiMaxLatencyIncrease[MAX_TLAYER]; // Really max latency increase plus 1 (value 0 expresses no limit)
445 
448  std::vector<TComHRD> m_hrdParameters;
449  std::vector<UInt> m_hrdOpSetIdx;
450  std::vector<Bool> m_cprmsPresentFlag;
453 
456 
457 public:
458  TComVPS();
459 
460  virtual ~TComVPS();
461 
463  {
464  m_hrdParameters.resize(getNumHrdParameters());
465  m_hrdOpSetIdx.resize(getNumHrdParameters());
466  m_cprmsPresentFlag.resize(getNumHrdParameters());
467  }
468 
469  TComHRD* getHrdParameters( UInt i ) { return &m_hrdParameters[ i ]; }
470  const TComHRD* getHrdParameters( UInt i ) const { return &m_hrdParameters[ i ]; }
471  UInt getHrdOpSetIdx( UInt i ) const { return m_hrdOpSetIdx[ i ]; }
472  Void setHrdOpSetIdx( UInt val, UInt i ) { m_hrdOpSetIdx[ i ] = val; }
473  Bool getCprmsPresentFlag( UInt i ) const { return m_cprmsPresentFlag[ i ]; }
474  Void setCprmsPresentFlag( Bool val, UInt i ) { m_cprmsPresentFlag[ i ] = val; }
475 
476  Int getVPSId() const { return m_VPSId; }
477  Void setVPSId(Int i) { m_VPSId = i; }
478 
479  UInt getMaxTLayers() const { return m_uiMaxTLayers; }
480  Void setMaxTLayers(UInt t) { m_uiMaxTLayers = t; }
481 
482  UInt getMaxLayers() const { return m_uiMaxLayers; }
483  Void setMaxLayers(UInt l) { m_uiMaxLayers = l; }
484 
486  Void setTemporalNestingFlag(Bool t) { m_bTemporalIdNestingFlag = t; }
487 
488  Void setNumReorderPics(UInt v, UInt tLayer) { m_numReorderPics[tLayer] = v; }
489  UInt getNumReorderPics(UInt tLayer) const { return m_numReorderPics[tLayer]; }
490 
491  Void setMaxDecPicBuffering(UInt v, UInt tLayer) { assert(tLayer < MAX_TLAYER); m_uiMaxDecPicBuffering[tLayer] = v; }
492  UInt getMaxDecPicBuffering(UInt tLayer) const { return m_uiMaxDecPicBuffering[tLayer]; }
493 
494  Void setMaxLatencyIncrease(UInt v, UInt tLayer) { m_uiMaxLatencyIncrease[tLayer] = v; }
495  UInt getMaxLatencyIncrease(UInt tLayer) const { return m_uiMaxLatencyIncrease[tLayer]; }
496 
498  Void setNumHrdParameters(UInt v) { m_numHrdParameters = v; }
499 
501  Void setMaxNuhReservedZeroLayerId(UInt v) { m_maxNuhReservedZeroLayerId = v; }
502 
503  UInt getMaxOpSets() const { return m_numOpSets; }
504  Void setMaxOpSets(UInt v) { m_numOpSets = v; }
505  Bool getLayerIdIncludedFlag(UInt opsIdx, UInt id) const { return m_layerIdIncludedFlag[opsIdx][id]; }
506  Void setLayerIdIncludedFlag(Bool v, UInt opsIdx, UInt id) { m_layerIdIncludedFlag[opsIdx][id] = v; }
507 
508  TComPTL* getPTL() { return &m_pcPTL; }
509  const TComPTL* getPTL() const { return &m_pcPTL; }
511  const TimingInfo* getTimingInfo() const { return &m_timingInfo; }
512 };
513 
514 class Window
515 {
516 private:
522 public:
524  : m_enabledFlag (false)
525  , m_winLeftOffset (0)
526  , m_winRightOffset (0)
527  , m_winTopOffset (0)
528  , m_winBottomOffset(0)
529  { }
530 
532  Int getWindowLeftOffset() const { return m_enabledFlag ? m_winLeftOffset : 0; }
533  Void setWindowLeftOffset(Int val) { m_winLeftOffset = val; m_enabledFlag = true; }
534  Int getWindowRightOffset() const { return m_enabledFlag ? m_winRightOffset : 0; }
535  Void setWindowRightOffset(Int val) { m_winRightOffset = val; m_enabledFlag = true; }
536  Int getWindowTopOffset() const { return m_enabledFlag ? m_winTopOffset : 0; }
537  Void setWindowTopOffset(Int val) { m_winTopOffset = val; m_enabledFlag = true; }
538  Int getWindowBottomOffset() const { return m_enabledFlag ? m_winBottomOffset: 0; }
539  Void setWindowBottomOffset(Int val) { m_winBottomOffset = val; m_enabledFlag = true; }
540 
541  Void setWindow(Int offsetLeft, Int offsetLRight, Int offsetLTop, Int offsetLBottom)
542  {
543  m_enabledFlag = true;
544  m_winLeftOffset = offsetLeft;
545  m_winRightOffset = offsetLRight;
546  m_winTopOffset = offsetLTop;
547  m_winBottomOffset = offsetLBottom;
548  }
549 };
550 
551 
552 class TComVUI
553 {
554 private:
587 
588 public:
590  : m_aspectRatioInfoPresentFlag (false) //TODO: This initialiser list contains magic numbers
591  , m_aspectRatioIdc (0)
592  , m_sarWidth (0)
593  , m_sarHeight (0)
594  , m_overscanInfoPresentFlag (false)
595  , m_overscanAppropriateFlag (false)
596  , m_videoSignalTypePresentFlag (false)
597  , m_videoFormat (5)
598  , m_videoFullRangeFlag (false)
599  , m_colourDescriptionPresentFlag (false)
600  , m_colourPrimaries (2)
601  , m_transferCharacteristics (2)
602  , m_matrixCoefficients (2)
603  , m_chromaLocInfoPresentFlag (false)
604  , m_chromaSampleLocTypeTopField (0)
605  , m_chromaSampleLocTypeBottomField (0)
606  , m_neutralChromaIndicationFlag (false)
607  , m_fieldSeqFlag (false)
608  , m_frameFieldInfoPresentFlag (false)
609  , m_hrdParametersPresentFlag (false)
610  , m_bitstreamRestrictionFlag (false)
611  , m_tilesFixedStructureFlag (false)
612  , m_motionVectorsOverPicBoundariesFlag(true)
613  , m_restrictedRefPicListsFlag (1)
614  , m_minSpatialSegmentationIdc (0)
615  , m_maxBytesPerPicDenom (2)
616  , m_maxBitsPerMinCuDenom (1)
617  , m_log2MaxMvLengthHorizontal (15)
618  , m_log2MaxMvLengthVertical (15)
619  {}
620 
621  virtual ~TComVUI() {}
622 
624  Void setAspectRatioInfoPresentFlag(Bool i) { m_aspectRatioInfoPresentFlag = i; }
625 
627  Void setAspectRatioIdc(Int i) { m_aspectRatioIdc = i; }
628 
629  Int getSarWidth() const { return m_sarWidth; }
630  Void setSarWidth(Int i) { m_sarWidth = i; }
631 
632  Int getSarHeight() const { return m_sarHeight; }
633  Void setSarHeight(Int i) { m_sarHeight = i; }
634 
636  Void setOverscanInfoPresentFlag(Bool i) { m_overscanInfoPresentFlag = i; }
637 
639  Void setOverscanAppropriateFlag(Bool i) { m_overscanAppropriateFlag = i; }
640 
642  Void setVideoSignalTypePresentFlag(Bool i) { m_videoSignalTypePresentFlag = i; }
643 
644  Int getVideoFormat() const { return m_videoFormat; }
645  Void setVideoFormat(Int i) { m_videoFormat = i; }
646 
648  Void setVideoFullRangeFlag(Bool i) { m_videoFullRangeFlag = i; }
649 
651  Void setColourDescriptionPresentFlag(Bool i) { m_colourDescriptionPresentFlag = i; }
652 
654  Void setColourPrimaries(Int i) { m_colourPrimaries = i; }
655 
657  Void setTransferCharacteristics(Int i) { m_transferCharacteristics = i; }
658 
660  Void setMatrixCoefficients(Int i) { m_matrixCoefficients = i; }
661 
663  Void setChromaLocInfoPresentFlag(Bool i) { m_chromaLocInfoPresentFlag = i; }
664 
666  Void setChromaSampleLocTypeTopField(Int i) { m_chromaSampleLocTypeTopField = i; }
667 
669  Void setChromaSampleLocTypeBottomField(Int i) { m_chromaSampleLocTypeBottomField = i; }
670 
672  Void setNeutralChromaIndicationFlag(Bool i) { m_neutralChromaIndicationFlag = i; }
673 
674  Bool getFieldSeqFlag() const { return m_fieldSeqFlag; }
675  Void setFieldSeqFlag(Bool i) { m_fieldSeqFlag = i; }
676 
678  Void setFrameFieldInfoPresentFlag(Bool i) { m_frameFieldInfoPresentFlag = i; }
679 
682  Void setDefaultDisplayWindow(Window& defaultDisplayWindow ) { m_defaultDisplayWindow = defaultDisplayWindow; }
683 
685  Void setHrdParametersPresentFlag(Bool i) { m_hrdParametersPresentFlag = i; }
686 
688  Void setBitstreamRestrictionFlag(Bool i) { m_bitstreamRestrictionFlag = i; }
689 
691  Void setTilesFixedStructureFlag(Bool i) { m_tilesFixedStructureFlag = i; }
692 
694  Void setMotionVectorsOverPicBoundariesFlag(Bool i) { m_motionVectorsOverPicBoundariesFlag = i; }
695 
697  Void setRestrictedRefPicListsFlag(Bool b) { m_restrictedRefPicListsFlag = b; }
698 
700  Void setMinSpatialSegmentationIdc(Int i) { m_minSpatialSegmentationIdc = i; }
701 
703  Void setMaxBytesPerPicDenom(Int i) { m_maxBytesPerPicDenom = i; }
704 
706  Void setMaxBitsPerMinCuDenom(Int i) { m_maxBitsPerMinCuDenom = i; }
707 
709  Void setLog2MaxMvLengthHorizontal(Int i) { m_log2MaxMvLengthHorizontal = i; }
710 
712  Void setLog2MaxMvLengthVertical(Int i) { m_log2MaxMvLengthVertical = i; }
713 
715  const TComHRD* getHrdParameters() const { return &m_hrdParameters; }
716 
718  const TimingInfo* getTimingInfo() const { return &m_timingInfo; }
719 };
720 
722 class TComSPS
723 {
724 private:
728 
729  UInt m_uiMaxTLayers; // maximum number of temporal layers
730 
731  // Structure
734 
740 
742 
747 
748  // Tool list
757 
758  // Parameter
771 
776  // Max physical transform size
778 
780 
781  Bool m_bTemporalIdNestingFlag; // temporal_id_nesting_flag
782 
787  UInt m_uiMaxLatencyIncrease[MAX_TLAYER]; // Really max latency increase plus 1 (value 0 expresses no limit)
788 
790 
793 
797 
798 #if O0043_BEST_EFFORT_DECODING
799  UInt m_forceDecodeBitDepth; // 0 = do not force the decoder's bit depth, other = force the decoder's bit depth to this value (best effort decoding)
800 #endif
801 
802 public:
803  TComSPS();
804  virtual ~TComSPS();
805 #if O0043_BEST_EFFORT_DECODING
806  Void setForceDecodeBitDepth(UInt bitDepth) { m_forceDecodeBitDepth = bitDepth; }
807  UInt getForceDecodeBitDepth() const { return m_forceDecodeBitDepth; }
808 #endif
809 
810  Int getVPSId() const { return m_VPSId; }
811  Void setVPSId(Int i) { m_VPSId = i; }
812  Int getSPSId() const { return m_SPSId; }
813  Void setSPSId(Int i) { m_SPSId = i; }
815  Void setChromaFormatIdc (ChromaFormat i) { m_chromaFormatIdc = i; }
816 
817  static Int getWinUnitX (Int chromaFormatIdc) { assert (chromaFormatIdc >= 0 && chromaFormatIdc <= MAX_CHROMA_FORMAT_IDC); return m_winUnitX[chromaFormatIdc]; }
818  static Int getWinUnitY (Int chromaFormatIdc) { assert (chromaFormatIdc >= 0 && chromaFormatIdc <= MAX_CHROMA_FORMAT_IDC); return m_winUnitY[chromaFormatIdc]; }
819 
820  // structure
821  Void setPicWidthInLumaSamples( UInt u ) { m_picWidthInLumaSamples = u; }
823  Void setPicHeightInLumaSamples( UInt u ) { m_picHeightInLumaSamples = u; }
825 
828  Void setConformanceWindow(Window& conformanceWindow ) { m_conformanceWindow = conformanceWindow; }
829 
831  Void setNumLongTermRefPicSPS(UInt val) { m_numLongTermRefPicSPS = val; }
832 
833  UInt getLtRefPicPocLsbSps(UInt index) const { assert( index < MAX_NUM_LONG_TERM_REF_PICS ); return m_ltRefPicPocLsbSps[index]; }
834  Void setLtRefPicPocLsbSps(UInt index, UInt val) { assert( index < MAX_NUM_LONG_TERM_REF_PICS ); m_ltRefPicPocLsbSps[index] = val; }
835 
836  Bool getUsedByCurrPicLtSPSFlag(Int i) const { assert( i < MAX_NUM_LONG_TERM_REF_PICS ); return m_usedByCurrPicLtSPSFlag[i]; }
837  Void setUsedByCurrPicLtSPSFlag(Int i, Bool x) { assert( i < MAX_NUM_LONG_TERM_REF_PICS ); m_usedByCurrPicLtSPSFlag[i] = x; }
838 
840  Void setLog2MinCodingBlockSize(Int val) { m_log2MinCodingBlockSize = val; }
842  Void setLog2DiffMaxMinCodingBlockSize(Int val) { m_log2DiffMaxMinCodingBlockSize = val; }
843 
844  Void setMaxCUWidth( UInt u ) { m_uiMaxCUWidth = u; }
845  UInt getMaxCUWidth() const { return m_uiMaxCUWidth; }
846  Void setMaxCUHeight( UInt u ) { m_uiMaxCUHeight = u; }
847  UInt getMaxCUHeight() const { return m_uiMaxCUHeight; }
848  Void setMaxCUDepth( UInt u ) { m_uiMaxCUDepth = u; }
849  UInt getMaxCUDepth() const { return m_uiMaxCUDepth; }
850  Void setUsePCM( Bool b ) { m_usePCM = b; }
851  Bool getUsePCM() const { return m_usePCM; }
852  Void setPCMLog2MaxSize( UInt u ) { m_pcmLog2MaxSize = u; }
854  Void setPCMLog2MinSize( UInt u ) { m_uiPCMLog2MinSize = u; }
856  Void setBitsForPOC( UInt u ) { m_uiBitsForPOC = u; }
857  UInt getBitsForPOC() const { return m_uiBitsForPOC; }
858  Bool getUseAMP() const { return m_useAMP; }
859  Void setUseAMP( Bool b ) { m_useAMP = b; }
860  Void setQuadtreeTULog2MaxSize( UInt u ) { m_uiQuadtreeTULog2MaxSize = u; }
862  Void setQuadtreeTULog2MinSize( UInt u ) { m_uiQuadtreeTULog2MinSize = u; }
864  Void setQuadtreeTUMaxDepthInter( UInt u ) { m_uiQuadtreeTUMaxDepthInter = u; }
865  Void setQuadtreeTUMaxDepthIntra( UInt u ) { m_uiQuadtreeTUMaxDepthIntra = u; }
868  Void setNumReorderPics(Int i, UInt tlayer) { m_numReorderPics[tlayer] = i; }
869  Int getNumReorderPics(UInt tlayer) const { return m_numReorderPics[tlayer]; }
870  Void createRPSList( Int numRPS );
871  const TComRPSList* getRPSList() const { return &m_RPSList; }
874  Void setLongTermRefsPresent(Bool b) { m_bLongTermRefsPresent=b; }
876  Void setTMVPFlagsPresent(Bool b) { m_TMVPFlagsPresent=b; }
877  // physical transform
878  Void setMaxTrSize( UInt u ) { m_uiMaxTrSize = u; }
879  UInt getMaxTrSize() const { return m_uiMaxTrSize; }
880 
881  // Bit-depth
882  Int getBitDepth(ChannelType type) const { return m_uiBitDepth[type]; }
883  Void setBitDepth(ChannelType type, Int u ) { m_uiBitDepth[type] = u; }
884  Int getDifferentialLumaChromaBitDepth() const { return Int(m_uiBitDepth[CHANNEL_TYPE_LUMA]) - Int(m_uiBitDepth[CHANNEL_TYPE_CHROMA]); }
885  Int getQpBDOffset(ChannelType type) const { return m_qpBDOffset[type]; }
886  Void setQpBDOffset(ChannelType type, Int i) { m_qpBDOffset[type] = i; }
888  Void setUseExtendedPrecision(Bool value) { m_useExtendedPrecision = value; }
890  Void setUseHighPrecisionPredictionWeighting(Bool value) { m_useHighPrecisionPredictionWeighting = value; }
891 
892  Void setUseSAO(Bool bVal) { m_bUseSAO = bVal; }
893  Bool getUseSAO() const { return m_bUseSAO; }
894 
896  Void setUseResidualRotation(const Bool value) { m_useResidualRotation = value; }
897 
899  Void setUseSingleSignificanceMapContext(const Bool value) { m_useSingleSignificanceMapContext = value; }
900 
902  Void setUseGolombRiceParameterAdaptation(const Bool value) { m_useGolombRiceParameterAdaptation = value; }
903 
905  Void setAlignCABACBeforeBypass(const Bool value) { m_alignCABACBeforeBypass = value; }
906 
907  Bool getUseResidualDPCM(const RDPCMSignallingMode signallingMode) const { return m_useResidualDPCM[signallingMode]; }
908  Void setUseResidualDPCM(const RDPCMSignallingMode signallingMode, const Bool value) { m_useResidualDPCM[signallingMode] = value; }
909 
910  UInt getMaxTLayers() const { return m_uiMaxTLayers; }
911  Void setMaxTLayers( UInt uiMaxTLayers ) { assert( uiMaxTLayers <= MAX_TLAYER ); m_uiMaxTLayers = uiMaxTLayers; }
912 
914  Void setTemporalIdNestingFlag( Bool bValue ) { m_bTemporalIdNestingFlag = bValue; }
915  UInt getPCMBitDepth(ChannelType type) const { return m_uiPCMBitDepth[type]; }
916  Void setPCMBitDepth(ChannelType type, UInt u) { m_uiPCMBitDepth[type] = u; }
917  Void setPCMFilterDisableFlag( Bool bValue ) { m_bPCMFilterDisableFlag = bValue; }
919  Void setDisableIntraReferenceSmoothing(Bool bValue) { m_disableIntraReferenceSmoothing=bValue; }
921 
923  Void setScalingListFlag( Bool b ) { m_scalingListEnabledFlag = b; }
925  Void setScalingListPresentFlag( Bool b ) { m_scalingListPresentFlag = b; }
926  Void setScalingList( TComScalingList *scalingList);
928  const TComScalingList& getScalingList() const { return m_scalingList; }
929  UInt getMaxDecPicBuffering(UInt tlayer) const { return m_uiMaxDecPicBuffering[tlayer]; }
930  Void setMaxDecPicBuffering( UInt ui, UInt tlayer ) { assert(tlayer < MAX_TLAYER); m_uiMaxDecPicBuffering[tlayer] = ui; }
931  UInt getMaxLatencyIncrease(UInt tlayer) const { return m_uiMaxLatencyIncrease[tlayer]; }
932  Void setMaxLatencyIncrease( UInt ui , UInt tlayer) { m_uiMaxLatencyIncrease[tlayer] = ui; }
933 
934  Void setUseStrongIntraSmoothing(Bool bVal) { m_useStrongIntraSmoothing = bVal; }
936 
938  Void setVuiParametersPresentFlag(Bool b) { m_vuiParametersPresentFlag = b; }
940  const TComVUI* getVuiParameters() const { return &m_vuiParameters; }
941  Void setHrdParameters( UInt frameRate, UInt numDU, UInt bitRate, Bool randomAccess );
942 
943  const TComPTL* getPTL() const { return &m_pcPTL; }
944  TComPTL* getPTL() { return &m_pcPTL; }
945 
946 };
947 
948 
950 
952 {
953 private:
958 
959 public:
961  virtual ~TComRefPicListModification();
962 
963  Void create();
964  Void destroy();
965 
967  Void setRefPicListModificationFlagL0(Bool flag) { m_refPicListModificationFlagL0 = flag; }
969  Void setRefPicListModificationFlagL1(Bool flag) { m_refPicListModificationFlagL1 = flag; }
970  UInt getRefPicSetIdxL0(UInt idx) const { assert(idx<REF_PIC_LIST_NUM_IDX); return m_RefPicSetIdxL0[idx]; }
971  Void setRefPicSetIdxL0(UInt idx, UInt refPicSetIdx) { assert(idx<REF_PIC_LIST_NUM_IDX); m_RefPicSetIdxL0[idx] = refPicSetIdx; }
972  UInt getRefPicSetIdxL1(UInt idx) const { assert(idx<REF_PIC_LIST_NUM_IDX); return m_RefPicSetIdxL1[idx]; }
973  Void setRefPicSetIdxL1(UInt idx, UInt refPicSetIdx) { assert(idx<REF_PIC_LIST_NUM_IDX); m_RefPicSetIdxL1[idx] = refPicSetIdx; }
974 };
975 
977 class TComPPS
978 {
979 private:
980  Int m_PPSId; // pic_parameter_set_id
981  Int m_SPSId; // seq_parameter_set_id
984  Bool m_bConstrainedIntraPred; // constrained_intra_pred_flag
985  Bool m_bSliceChromaQpFlag; // slicelevel_chroma_qp_flag
986 
987  // access channel
989 
990  // Chroma QP Adjustments
992  Int m_ChromaQpAdjTableSize; // size (excludes the null entry used in the following array).
994 
997 
1000 
1012 
1017  std::vector<Int> m_tileColumnWidth;
1018  std::vector<Int> m_tileRowHeight;
1019 
1021 
1023 
1029  Int m_deblockingFilterBetaOffsetDiv2; //< beta offset for deblocking filter
1030  Int m_deblockingFilterTcOffsetDiv2; //< tc offset for deblocking filter
1036 
1037 public:
1038  TComPPS();
1039  virtual ~TComPPS();
1040 
1041  Int getPPSId() const { return m_PPSId; }
1042  Void setPPSId(Int i) { m_PPSId = i; }
1043  Int getSPSId() const { return m_SPSId; }
1044  Void setSPSId(Int i) { m_SPSId = i; }
1045 
1047  Void setPicInitQPMinus26( Int i ) { m_picInitQPMinus26 = i; }
1048  Bool getUseDQP() const { return m_useDQP; }
1049  Void setUseDQP( Bool b ) { m_useDQP = b; }
1051  Void setConstrainedIntraPred( Bool b ) { m_bConstrainedIntraPred = b; }
1053  Void setSliceChromaQpFlag( Bool b ) { m_bSliceChromaQpFlag = b; }
1054 
1055  Void setMaxCuDQPDepth( UInt u ) { m_uiMaxCuDQPDepth = u; }
1057 
1059  {
1060  if (compID==COMPONENT_Cb)
1061  {
1062  m_chromaCbQpOffset = i;
1063  }
1064  else if (compID==COMPONENT_Cr)
1065  {
1066  m_chromaCrQpOffset = i;
1067  }
1068  else
1069  {
1070  assert(0);
1071  }
1072  }
1074  {
1075  return (compID==COMPONENT_Y) ? 0 : (compID==COMPONENT_Cb ? m_chromaCbQpOffset : m_chromaCrQpOffset );
1076  }
1077 
1078  Void setMaxCuChromaQpAdjDepth ( UInt u ) { m_MaxCuChromaQpAdjDepth = u; }
1080  Void clearChromaQpAdjTable() { m_ChromaQpAdjTableSize = 0; }
1082 
1083  const ChromaQpAdj& getChromaQpAdjTableAt( Int cuChromaQpOffsetIdxPlus1 ) const
1084  {
1085  assert(cuChromaQpOffsetIdxPlus1 < m_ChromaQpAdjTableSize+1);
1086  return m_ChromaQpAdjTableIncludingNullEntry[cuChromaQpOffsetIdxPlus1]; // Array includes entry [0] for the null offset used when cu_chroma_qp_offset_flag=0, and entries [cu_chroma_qp_offset_idx+1...] otherwise
1087  }
1088 
1089  Void setChromaQpAdjTableAt( Int cuChromaQpOffsetIdxPlus1, Int cbOffset, Int crOffset )
1090  {
1091  assert (cuChromaQpOffsetIdxPlus1 != 0 && cuChromaQpOffsetIdxPlus1 <= MAX_QP_OFFSET_LIST_SIZE);
1092  m_ChromaQpAdjTableIncludingNullEntry[cuChromaQpOffsetIdxPlus1].u.comp.CbOffset = cbOffset; // Array includes entry [0] for the null offset used when cu_chroma_qp_offset_flag=0, and entries [cu_chroma_qp_offset_idx+1...] otherwise
1093  m_ChromaQpAdjTableIncludingNullEntry[cuChromaQpOffsetIdxPlus1].u.comp.CrOffset = crOffset;
1094  m_ChromaQpAdjTableSize = max(m_ChromaQpAdjTableSize, cuChromaQpOffsetIdxPlus1);
1095  }
1096 
1097  Void setNumRefIdxL0DefaultActive(UInt ui) { m_numRefIdxL0DefaultActive=ui; }
1099  Void setNumRefIdxL1DefaultActive(UInt ui) { m_numRefIdxL1DefaultActive=ui; }
1101 
1102  Bool getUseWP() const { return m_bUseWeightPred; }
1104  Void setUseWP( Bool b ) { m_bUseWeightPred = b; }
1105  Void setWPBiPred( Bool b ) { m_useWeightedBiPred = b; }
1106 
1108  Void setUseCrossComponentPrediction(Bool value) { m_useCrossComponentPrediction = value; }
1109 
1110  UInt getSaoOffsetBitShift(ChannelType type) const { return m_saoOffsetBitShift[type]; }
1111  Void setSaoOffsetBitShift(ChannelType type, UInt uiBitShift) { m_saoOffsetBitShift[type] = uiBitShift; }
1112 
1113  Void setOutputFlagPresentFlag( Bool b ) { m_OutputFlagPresentFlag = b; }
1115  Void setTransquantBypassEnableFlag( Bool b ) { m_TransquantBypassEnableFlag = b; }
1117 
1119  Void setUseTransformSkip( Bool b ) { m_useTransformSkip = b; }
1121  Void setTransformSkipLog2MaxSize( UInt u ) { m_transformSkipLog2MaxSize = u; }
1122 
1123  Void setLoopFilterAcrossTilesEnabledFlag(Bool b) { m_loopFilterAcrossTilesEnabledFlag = b; }
1126  Void setDependentSliceSegmentsEnabledFlag(Bool val) { m_dependentSliceSegmentsEnabledFlag = val; }
1128  Void setEntropyCodingSyncEnabledFlag(Bool val) { m_entropyCodingSyncEnabledFlag = val; }
1129 
1130  Void setTilesEnabledFlag(Bool val) { m_tilesEnabledFlag = val; }
1132  Void setTileUniformSpacingFlag(Bool b) { m_uniformSpacingFlag = b; }
1134  Void setNumTileColumnsMinus1(Int i) { m_numTileColumnsMinus1 = i; }
1136  Void setTileColumnWidth(const std::vector<Int>& columnWidth ) { m_tileColumnWidth = columnWidth; }
1137  UInt getTileColumnWidth(UInt columnIdx) const { return m_tileColumnWidth[columnIdx]; }
1138  Void setNumTileRowsMinus1(Int i) { m_numTileRowsMinus1 = i; }
1140  Void setTileRowHeight(const std::vector<Int>& rowHeight) { m_tileRowHeight = rowHeight; }
1141  UInt getTileRowHeight(UInt rowIdx) const { return m_tileRowHeight[rowIdx]; }
1142 
1143  Void setSignHideFlag( Bool signHideFlag ) { m_signHideFlag = signHideFlag; }
1145 
1146  Void setCabacInitPresentFlag( Bool flag ) { m_cabacInitPresentFlag = flag; }
1148  Void setDeblockingFilterControlPresentFlag( Bool val ) { m_deblockingFilterControlPresentFlag = val; }
1150  Void setDeblockingFilterOverrideEnabledFlag( Bool val ) { m_deblockingFilterOverrideEnabledFlag = val; }
1152  Void setPicDisableDeblockingFilterFlag(Bool val) { m_picDisableDeblockingFilterFlag = val; }
1154  Void setDeblockingFilterBetaOffsetDiv2(Int val) { m_deblockingFilterBetaOffsetDiv2 = val; }
1156  Void setDeblockingFilterTcOffsetDiv2(Int val) { m_deblockingFilterTcOffsetDiv2 = val; }
1159  Void setScalingListPresentFlag( Bool b ) { m_scalingListPresentFlag = b; }
1161  const TComScalingList& getScalingList() const { return m_scalingList; }
1163  Void setListsModificationPresentFlag( Bool b ) { m_listsModificationPresentFlag = b; }
1165  Void setLog2ParallelMergeLevelMinus2(UInt mrgLevel) { m_log2ParallelMergeLevelMinus2 = mrgLevel; }
1167  Void setNumExtraSliceHeaderBits(Int i) { m_numExtraSliceHeaderBits = i; }
1168  Void setLoopFilterAcrossSlicesEnabledFlag( Bool bValue ) { m_loopFilterAcrossSlicesEnabledFlag = bValue; }
1171  Void setSliceHeaderExtensionPresentFlag(Bool val) { m_sliceHeaderExtensionPresentFlag = val; }
1172 };
1173 
1175 {
1176  // Explicit weighted prediction parameters parsed in slice header,
1177  // or Implicit weighted prediction parameters (8 bits depth values).
1182 
1183  // Weighted prediction scaling values built from above parameters (bitdepth scaled):
1189 };
1190 
1192 {
1195 };
1196 
1199 {
1200 
1201 private:
1202  // Bitstream writing
1219 #if ADAPTIVE_QP_SELECTION
1221 #endif
1224  Bool m_deblockingFilterOverrideFlag; //< offsets for deblocking filter inherit from PPS
1225  Int m_deblockingFilterBetaOffsetDiv2; //< beta offset for deblocking filter
1226  Int m_deblockingFilterTcOffsetDiv2; //< tc offset for deblocking filter
1228  Int m_aiNumRefIdx [NUM_REF_PIC_LIST_01]; // for multiple reference of current slice
1229 
1231 
1232  // Data
1239 
1240  // referenced slice?
1242 
1243  // access channel
1248 #if ADAPTIVE_QP_SELECTION
1250 #endif
1251  Bool m_colFromL0Flag; // collocated picture from List0 flag
1252 
1256 
1259 
1261 
1265 
1280 
1283  WPScalingParam m_weightPredTable[NUM_REF_PIC_LIST_01][MAX_NUM_REF][MAX_NUM_COMPONENT]; // [REF_PIC_LIST_0 or REF_PIC_LIST_1][refIdx][0:Y, 1:U, 2:V]
1285 
1286  std::vector<UInt> m_substreamSizes;
1287 
1289 
1293 
1295 
1296  SliceType m_encCABACTableIdx; // Used to transmit table selection across slices.
1297 
1298 public:
1299  TComSlice();
1300  virtual ~TComSlice();
1301  Void initSlice();
1302 
1303  Void setVPS( TComVPS* pcVPS ) { m_pcVPS = pcVPS; }
1304  const TComVPS* getVPS() const { return m_pcVPS; }
1305  Void setSPS( const TComSPS* pcSPS ) { m_pcSPS = pcSPS; }
1306  const TComSPS* getSPS() const { return m_pcSPS; }
1307 
1308  Void setPPS( const TComPPS* pcPPS ) { m_pcPPS = pcPPS; m_iPPSId = (pcPPS) ? pcPPS->getPPSId() : -1; }
1309  const TComPPS* getPPS() const { return m_pcPPS; }
1310 
1311 #if ADAPTIVE_QP_SELECTION
1312  Void setTrQuant( TComTrQuant* pcTrQuant ) { m_pcTrQuant = pcTrQuant; }
1314  const TComTrQuant* getTrQuant() const { return m_pcTrQuant; }
1315 #endif
1316 
1317  Void setPPSId( Int PPSId ) { m_iPPSId = PPSId; }
1318  Int getPPSId() const { return m_iPPSId; }
1319  Void setPicOutputFlag( Bool b ) { m_PicOutputFlag = b; }
1321  Void setSaoEnabledFlag(ChannelType chType, Bool s) {m_saoEnabledFlag[chType] =s; }
1322  Bool getSaoEnabledFlag(ChannelType chType) const { return m_saoEnabledFlag[chType]; }
1323  Void setRPS( TComReferencePictureSet *pcRPS ) { m_pcRPS = pcRPS; }
1326 
1327  Void setRPSidx( Int iBDidx ) { m_iBDidx = iBDidx; }
1328  Int getRPSidx() const { return m_iBDidx; }
1329  Int getPrevTid0POC() const { return m_prevTid0POC; }
1331  Void setLastIDR(Int iIDRPOC) { m_iLastIDR = iIDRPOC; }
1332  Int getLastIDR() const { return m_iLastIDR; }
1333  Void setAssociatedIRAPPOC(Int iAssociatedIRAPPOC) { m_iAssociatedIRAP = iAssociatedIRAPPOC; }
1335  Void setAssociatedIRAPType(NalUnitType associatedIRAPType) { m_iAssociatedIRAPType = associatedIRAPType; }
1338  Int getPOC() const { return m_iPOC; }
1339  Int getSliceQp() const { return m_iSliceQp; }
1341  Void setDependentSliceSegmentFlag(Bool val) { m_dependentSliceSegmentFlag = val; }
1342 #if ADAPTIVE_QP_SELECTION
1343  Int getSliceQpBase() const { return m_iSliceQpBase; }
1344 #endif
1346  Int getSliceChromaQpDelta(ComponentID compID) const { return isLuma(compID) ? 0 : m_iSliceChromaQpDelta[compID]; }
1352 
1353  Int getNumRefIdx( RefPicList e ) const { return m_aiNumRefIdx[e]; }
1354  TComPic* getPic() { return m_pcPic; }
1355  TComPic* getRefPic( RefPicList e, Int iRefIdx) { return m_apcRefPicList[e][iRefIdx]; }
1356  Int getRefPOC( RefPicList e, Int iRefIdx) { return m_aiRefPOCList[e][iRefIdx]; }
1357  Int getDepth() const { return m_iDepth; }
1359  UInt getColRefIdx() const { return m_colRefIdx; }
1360  Void checkColRefIdx(UInt curSliceIdx, TComPic* pic);
1361  Bool getIsUsedAsLongTerm(Int i, Int j) const { return m_bIsUsedAsLongTerm[i][j]; }
1362  Void setIsUsedAsLongTerm(Int i, Int j, Bool value) { m_bIsUsedAsLongTerm[i][j] = value; }
1363  Bool getCheckLDC() const { return m_bCheckLDC; }
1365  Int getNumRpsCurrTempList() const;
1366  Int getList1IdxToList0Idx( Int list1Idx ) const { return m_list1IdxToList0Idx[list1Idx]; }
1367  Void setReferenced(Bool b) { m_bRefenced = b; }
1368  Bool isReferenced() const { return m_bRefenced; }
1370  Void setPOC( Int i ) { m_iPOC = i; if ((getTLayer()==0) && (isReferenceNalu() && (getNalUnitType()!=NAL_UNIT_CODED_SLICE_RASL_R)&& (getNalUnitType()!=NAL_UNIT_CODED_SLICE_RADL_R))) {m_prevTid0POC=i;} }
1371  Void setNalUnitType( NalUnitType e ) { m_eNalUnitType = e; }
1373  Bool getRapPicFlag() const;
1375  Bool isIRAP() const { return (getNalUnitType() >= 16) && (getNalUnitType() <= 23); }
1376  Void checkCRA(const TComReferencePictureSet *pReferencePictureSet, Int& pocCRA, NalUnitType& associatedIRAPType, TComList<TComPic *>& rcListPic);
1377  Void decodingRefreshMarking(Int& pocCRA, Bool& bRefreshPending, TComList<TComPic*>& rcListPic);
1378  Void setSliceType( SliceType e ) { m_eSliceType = e; }
1379  Void setSliceQp( Int i ) { m_iSliceQp = i; }
1380 #if ADAPTIVE_QP_SELECTION
1381  Void setSliceQpBase( Int i ) { m_iSliceQpBase = i; }
1382 #endif
1383  Void setSliceQpDelta( Int i ) { m_iSliceQpDelta = i; }
1384  Void setSliceChromaQpDelta( ComponentID compID, Int i ) { m_iSliceChromaQpDelta[compID] = isLuma(compID) ? 0 : i; }
1385  Void setUseChromaQpAdj( Bool b ) { m_ChromaQpAdjEnabled = b; }
1386  Void setDeblockingFilterDisable( Bool b ) { m_deblockingFilterDisable= b; }
1387  Void setDeblockingFilterOverrideFlag( Bool b ) { m_deblockingFilterOverrideFlag = b; }
1388  Void setDeblockingFilterBetaOffsetDiv2( Int i ) { m_deblockingFilterBetaOffsetDiv2 = i; }
1389  Void setDeblockingFilterTcOffsetDiv2( Int i ) { m_deblockingFilterTcOffsetDiv2 = i; }
1390 
1391  Void setRefPic( TComPic* p, RefPicList e, Int iRefIdx ) { m_apcRefPicList[e][iRefIdx] = p; }
1392  Void setRefPOC( Int i, RefPicList e, Int iRefIdx ) { m_aiRefPOCList[e][iRefIdx] = i; }
1393  Void setNumRefIdx( RefPicList e, Int i ) { m_aiNumRefIdx[e] = i; }
1394  Void setPic( TComPic* p ) { m_pcPic = p; }
1395  Void setDepth( Int iDepth ) { m_iDepth = iDepth; }
1396 
1397  Void setRefPicList( TComList<TComPic*>& rcListPic, Bool checkNumPocTotalCurr = false );
1398  Void setRefPOCList();
1399  Void setColFromL0Flag( Bool colFromL0 ) { m_colFromL0Flag = colFromL0; }
1400  Void setColRefIdx( UInt refIdx) { m_colRefIdx = refIdx; }
1401  Void setCheckLDC( Bool b ) { m_bCheckLDC = b; }
1402  Void setMvdL1ZeroFlag( Bool b) { m_bLMvdL1Zero = b; }
1403 
1404  Bool isIntra() const { return m_eSliceType == I_SLICE; }
1405  Bool isInterB() const { return m_eSliceType == B_SLICE; }
1406  Bool isInterP() const { return m_eSliceType == P_SLICE; }
1407 
1408  Void setLambdas( const Double lambdas[MAX_NUM_COMPONENT] ) { for (Int component = 0; component < MAX_NUM_COMPONENT; component++) m_lambdas[component] = lambdas[component]; }
1409  const Double* getLambdas() const { return m_lambdas; }
1410 
1411  Void initEqualRef();
1412  Bool isEqualRef( RefPicList e, Int iRefIdx1, Int iRefIdx2 )
1413  {
1414  assert(e<NUM_REF_PIC_LIST_01);
1415  if (iRefIdx1 < 0 || iRefIdx2 < 0)
1416  {
1417  return false;
1418  }
1419  else
1420  {
1421  return m_abEqualRef[e][iRefIdx1][iRefIdx2];
1422  }
1423  }
1424 
1425  Void setEqualRef( RefPicList e, Int iRefIdx1, Int iRefIdx2, Bool b)
1426  {
1427  assert(e<NUM_REF_PIC_LIST_01);
1428  m_abEqualRef[e][iRefIdx1][iRefIdx2] = m_abEqualRef[e][iRefIdx2][iRefIdx1] = b;
1429  }
1430 
1431  static Void sortPicList( TComList<TComPic*>& rcListPic );
1433 
1434  UInt getTLayer() const { return m_uiTLayer; }
1435  Void setTLayer( UInt uiTLayer ) { m_uiTLayer = uiTLayer; }
1436 
1437  Void setTLayerInfo( UInt uiTLayer );
1438  Void decodingMarking( TComList<TComPic*>& rcListPic, Int iGOPSIze, Int& iMaxRefPicNum );
1443 #if ALLOW_RECOVERY_POINT_AS_RAP
1444  Int checkThatAllRefPicsAreAvailable( TComList<TComPic*>& rcListPic, const TComReferencePictureSet *pReferencePictureSet, Bool printErrors, Int pocRandomAccess = 0, Bool bUseRecoveryPoint = false);
1445  Void createExplicitReferencePictureSetFromReference( TComList<TComPic*>& rcListPic, const TComReferencePictureSet *pReferencePictureSet, Bool isRAP, Int pocRandomAccess = 0, Bool bUseRecoveryPoint = false);
1446 #else
1447  Int checkThatAllRefPicsAreAvailable( TComList<TComPic*>& rcListPic, const TComReferencePictureSet *pReferencePictureSet, Bool printErrors, Int pocRandomAccess = 0);
1449 #endif
1450  Void setMaxNumMergeCand(UInt val ) { m_maxNumMergeCand = val; }
1452 
1453  Void setNoOutputPriorPicsFlag( Bool val ) { m_noOutputPriorPicsFlag = val; }
1455 
1456  Void setNoRaslOutputFlag( Bool val ) { m_noRaslOutputFlag = val; }
1458 
1459  Void setHandleCraAsBlaFlag( Bool val ) { m_handleCraAsBlaFlag = val; }
1461 
1462  Void setSliceMode( SliceConstraint mode ) { m_sliceMode = mode; }
1464  Void setSliceArgument( UInt uiArgument ) { m_sliceArgument = uiArgument; }
1466  Void setSliceCurStartCtuTsAddr( UInt ctuTsAddr ) { m_sliceCurStartCtuTsAddr = ctuTsAddr; } // CTU Tile-scan address (as opposed to raster-scan)
1467  UInt getSliceCurStartCtuTsAddr() const { return m_sliceCurStartCtuTsAddr; } // CTU Tile-scan address (as opposed to raster-scan)
1468  Void setSliceCurEndCtuTsAddr( UInt ctuTsAddr ) { m_sliceCurEndCtuTsAddr = ctuTsAddr; } // CTU Tile-scan address (as opposed to raster-scan)
1469  UInt getSliceCurEndCtuTsAddr() const { return m_sliceCurEndCtuTsAddr; } // CTU Tile-scan address (as opposed to raster-scan)
1470  Void setSliceIdx( UInt i) { m_sliceIdx = i; }
1471  UInt getSliceIdx() const { return m_sliceIdx; }
1472  Void copySliceInfo(TComSlice *pcSliceSrc);
1473  Void setSliceSegmentMode( SliceConstraint mode ) { m_sliceSegmentMode = mode; }
1475  Void setSliceSegmentArgument( UInt uiArgument ) { m_sliceSegmentArgument = uiArgument; }
1477  Void setSliceSegmentCurStartCtuTsAddr( UInt ctuTsAddr ) { m_sliceSegmentCurStartCtuTsAddr = ctuTsAddr; } // CTU Tile-scan address (as opposed to raster-scan)
1478  UInt getSliceSegmentCurStartCtuTsAddr() const { return m_sliceSegmentCurStartCtuTsAddr; } // CTU Tile-scan address (as opposed to raster-scan)
1479  Void setSliceSegmentCurEndCtuTsAddr( UInt ctuTsAddr ) { m_sliceSegmentCurEndCtuTsAddr = ctuTsAddr; } // CTU Tile-scan address (as opposed to raster-scan)
1480  UInt getSliceSegmentCurEndCtuTsAddr() const { return m_sliceSegmentCurEndCtuTsAddr; } // CTU Tile-scan address (as opposed to raster-scan)
1481  Void setSliceBits( UInt uiVal ) { m_sliceBits = uiVal; }
1482  UInt getSliceBits() const { return m_sliceBits; }
1483  Void setSliceSegmentBits( UInt uiVal ) { m_sliceSegmentBits = uiVal; }
1485  Void setFinalized( Bool uiVal ) { m_bFinalized = uiVal; }
1486  Bool getFinalized() const { return m_bFinalized; }
1488  Void setTestWeightPred( Bool bValue ) { m_bTestWeightPred = bValue; }
1490  Void setTestWeightBiPred( Bool bValue ) { m_bTestWeightBiPred = bValue; }
1492  {
1493  memcpy(m_weightPredTable, wp, sizeof(WPScalingParam)*NUM_REF_PIC_LIST_01*MAX_NUM_REF*MAX_NUM_COMPONENT);
1494  }
1495 
1496  Void getWpScaling( RefPicList e, Int iRefIdx, WPScalingParam *&wp);
1497 
1498  Void resetWpScaling();
1499  Void initWpScaling(const TComSPS *sps);
1500 
1502  {
1503  memcpy(m_weightACDCParam, wp, sizeof(WPACDCParam)*MAX_NUM_COMPONENT);
1504  }
1505 
1508 
1509  Void clearSubstreamSizes( ) { return m_substreamSizes.clear(); }
1510  UInt getNumberOfSubstreamSizes( ) { return (UInt) m_substreamSizes.size(); }
1511  Void addSubstreamSize( UInt size ) { m_substreamSizes.push_back(size); }
1512  UInt getSubstreamSize( Int idx ) { assert(idx<getNumberOfSubstreamSizes()); return m_substreamSizes[idx]; }
1513 
1514  Void setCabacInitFlag( Bool val ) { m_cabacInitFlag = val; }
1517  Void setTemporalLayerNonReferenceFlag(Bool x) { m_temporalLayerNonReferenceFlag = x; }
1518  Void setLFCrossSliceBoundaryFlag( Bool val ) { m_LFCrossSliceBoundaryFlag = val; }
1520 
1521  Void setEnableTMVPFlag( Bool b ) { m_enableTMVPFlag = b; }
1523 
1524  Void setEncCABACTableIdx( SliceType idx ) { m_encCABACTableIdx = idx; }
1526 
1527 protected:
1528  TComPic* xGetRefPic (TComList<TComPic*>& rcListPic, Int poc);
1529  TComPic* xGetLongTermRefPic(TComList<TComPic*>& rcListPic, Int poc, Bool pocHasMsb);
1530 };// END CLASS DEFINITION TComSlice
1531 
1532 
1533 Void calculateParameterSetChangedFlag(Bool &bChanged, const std::vector<UChar> *pOldData, const std::vector<UChar> *pNewData);
1534 
1535 template <class T> class ParameterSetMap
1536 {
1537 public:
1538  template <class Tm>
1539  struct MapData
1540  {
1542  std::vector<UChar> *pNaluData; // Can be null
1544  };
1545 
1547  :m_maxId (maxId)
1548  {}
1549 
1551  {
1552  for (typename std::map<Int,MapData<T> >::iterator i = m_paramsetMap.begin(); i!= m_paramsetMap.end(); i++)
1553  {
1554  delete (*i).second.pNaluData;
1555  delete (*i).second.parameterSet;
1556  }
1557  }
1558 
1559  Void storePS(Int psId, T *ps, const std::vector<UChar> *pNaluData)
1560  {
1561  assert ( psId < m_maxId );
1562  if ( m_paramsetMap.find(psId) != m_paramsetMap.end() )
1563  {
1564  MapData<T> &mapData=m_paramsetMap[psId];
1565 
1566  // work out changed flag
1567  calculateParameterSetChangedFlag(mapData.bChanged, mapData.pNaluData, pNaluData);
1568  delete m_paramsetMap[psId].pNaluData;
1569  delete m_paramsetMap[psId].parameterSet;
1570 
1571  m_paramsetMap[psId].parameterSet = ps;
1572  }
1573  else
1574  {
1575  m_paramsetMap[psId].parameterSet = ps;
1576  m_paramsetMap[psId].bChanged = false;
1577  }
1578  if (pNaluData)
1579  {
1580  m_paramsetMap[psId].pNaluData=new std::vector<UChar>;
1581  *(m_paramsetMap[psId].pNaluData) = *pNaluData;
1582  }
1583  else
1584  {
1585  m_paramsetMap[psId].pNaluData=0;
1586  }
1587  }
1588 
1590  {
1591  if ( m_paramsetMap.find(psId) != m_paramsetMap.end() )
1592  {
1593  m_paramsetMap[psId].bChanged=false;
1594  }
1595  }
1596 
1598  {
1599  const typename std::map<Int,MapData<T> >::const_iterator constit=m_paramsetMap.find(psId);
1600  if ( constit != m_paramsetMap.end() )
1601  {
1602  return constit->second.bChanged;
1603  }
1604  return false;
1605  }
1606 
1607  T* getPS(Int psId)
1608  {
1609  return ( m_paramsetMap.find(psId) == m_paramsetMap.end() ) ? NULL : m_paramsetMap[psId].parameterSet;
1610  }
1611 
1613  {
1614  return (m_paramsetMap.begin() == m_paramsetMap.end() ) ? NULL : m_paramsetMap.begin()->second.parameterSet;
1615  }
1616 
1617 private:
1618  std::map<Int,MapData<T> > m_paramsetMap;
1620 };
1621 
1623 {
1624 public:
1626  virtual ~ParameterSetManager();
1627 
1629  Void storeVPS(TComVPS *vps, const std::vector<UChar> *pNaluData) { m_vpsMap.storePS( vps->getVPSId(), vps, pNaluData); };
1631  TComVPS* getVPS(Int vpsId) { return m_vpsMap.getPS(vpsId); };
1632  Bool getVPSChangedFlag(Int vpsId) const { return m_vpsMap.getChangedFlag(vpsId); }
1635 
1637  Void storeSPS(TComSPS *sps, const std::vector<UChar> *pNaluData) { m_spsMap.storePS( sps->getSPSId(), sps, pNaluData); };
1639  TComSPS* getSPS(Int spsId) { return m_spsMap.getPS(spsId); };
1640  Bool getSPSChangedFlag(Int spsId) const { return m_spsMap.getChangedFlag(spsId); }
1643 
1645  Void storePPS(TComPPS *pps, const std::vector<UChar> *pNaluData) { m_ppsMap.storePS( pps->getPPSId(), pps, pNaluData); };
1647  TComPPS* getPPS(Int ppsId) { return m_ppsMap.getPS(ppsId); };
1648  Bool getPPSChangedFlag(Int ppsId) const { return m_ppsMap.getChangedFlag(ppsId); }
1651 
1654  Bool activateSPSWithSEI(Int SPSId);
1655 
1658  Bool activatePPS(Int ppsId, Bool isIRAP);
1659 
1660  const TComVPS* getActiveVPS()const { return &m_activeVPS; };
1661  const TComSPS* getActiveSPS()const { return &m_activeSPS; };
1662 
1663 protected:
1667 
1668  TComVPS m_activeVPS; // used for SEI message
1669  TComSPS m_activeSPS; // used for SEI message
1670 };
1671 
1673 
1674 #endif // __TCOMSLICE__
Bool getPCMFilterDisableFlag() const
Definition: TComSlice.h:918
Void setRefPicList(TComList< TComPic * > &rcListPic, Bool checkNumPocTotalCurr=false)
Definition: TComSlice.cpp:322
Void storeVPS(TComVPS *vps, const std::vector< UChar > *pNaluData)
store sequence parameter set and take ownership of it
Definition: TComSlice.h:1629
ProfileTierLevel m_subLayerPTL[7-1]
Definition: TComSlice.h:249
Bool m_profileCompatibilityFlag[32]
Definition: TComSlice.h:190
ChromaQpAdj m_ChromaQpAdjTableIncludingNullEntry[1+6]
Array includes entry [0] for the null offset used when cu_chroma_qp_offset_flag=0, and entries [cu_chroma_qp_offset_idx+1...] otherwise.
Definition: TComSlice.h:993
Void setNumTileColumnsMinus1(Int i)
Definition: TComSlice.h:1134
Int getNumberOfPositivePictures() const
Definition: TComSlice.h:109
Void setColourDescriptionPresentFlag(Bool i)
Definition: TComSlice.h:651
Bool getUseGolombRiceParameterAdaptation() const
Definition: TComSlice.h:901
Bool m_fieldSeqFlag
Definition: TComSlice.h:572
Void resetWpScaling()
reset Default WP tables settings : no weight.
Definition: TComSlice.cpp:1472
Void setCheckLDC(Bool b)
Definition: TComSlice.h:1401
Bool getNalHrdParametersPresentFlag() const
Definition: TComSlice.h:321
Bool isEqualRef(RefPicList e, Int iRefIdx1, Int iRefIdx2)
Definition: TComSlice.h:1412
Int getNumTileRowsMinus1() const
Definition: TComSlice.h:1139
Int getLastIDR() const
Definition: TComSlice.h:1332
Bool getPicOutputFlag() const
Definition: TComSlice.h:1320
UInt m_bitRateScale
Definition: TComSlice.h:293
Bool m_bLMvdL1Zero
Definition: TComSlice.h:1290
Void setSliceSegmentCurEndCtuTsAddr(UInt ctuTsAddr)
Definition: TComSlice.h:1479
UInt m_saoOffsetBitShift[MAX_NUM_CHANNEL_TYPE]
Definition: TComSlice.h:1005
Void setPPSId(Int i)
Definition: TComSlice.h:1042
Void setList1IdxToList0Idx()
Definition: TComSlice.cpp:305
Bool m_useResidualRotation
Definition: TComSlice.h:763
Void setSliceSegmentMode(SliceConstraint mode)
Definition: TComSlice.h:1473
virtual ~TComSPS()
Definition: TComSlice.cpp:1614
UInt m_uiBitsForPOC
Definition: TComSlice.h:772
Void setNoOutputPriorPicsFlag(Bool val)
Definition: TComSlice.h:1453
UInt m_sliceSegmentBits
Definition: TComSlice.h:1278
Int getPicInitQPMinus26() const
Definition: TComSlice.h:1046
Bool m_usedByCurrPicLtSPSFlag[33]
Definition: TComSlice.h:775
UInt getDuCpbRemovalDelayLengthMinus1() const
Definition: TComSlice.h:333
Void checkPredMode(UInt sizeId, UInt listId)
Definition: TComSlice.cpp:1988
virtual ~ParameterSetManager()
Definition: TComSlice.cpp:2254
std::vector< Int > m_tileRowHeight
Definition: TComSlice.h:1018
UInt m_uiMaxLayers
Definition: TComSlice.h:439
Void setUsed(Int bufferNum, Bool used)
Definition: TComSlice.cpp:1800
Int m_deblockingFilterTcOffsetDiv2
Definition: TComSlice.h:1030
Void setQuadtreeTULog2MaxSize(UInt u)
Definition: TComSlice.h:860
Void clearSubstreamSizes()
Definition: TComSlice.h:1509
UInt getMaxNuhReservedZeroLayerId() const
Definition: TComSlice.h:500
Int getSPSId() const
Definition: TComSlice.h:1043
SliceType
supported slice type
Definition: TypeDef.h:343
Bool m_useHighPrecisionPredictionWeighting
Definition: TComSlice.h:762
Bool getFixedPicRateFlag(Int layer) const
Definition: TComSlice.h:359
Bool getVclHrdParametersPresentFlag() const
Definition: TComSlice.h:324
Void decodingMarking(TComList< TComPic * > &rcListPic, Int iGOPSIze, Int &iMaxRefPicNum)
UInt getMaxLatencyIncrease(UInt tLayer) const
Definition: TComSlice.h:495
Void setPPSId(Int PPSId)
Definition: TComSlice.h:1317
Bool m_progressiveSourceFlag
Definition: TComSlice.h:193
UInt m_cpbRemovalDelayLengthMinus1
Definition: TComSlice.h:297
Void setVideoSignalTypePresentFlag(Bool i)
Definition: TComSlice.h:642
T * getPS(Int psId)
Definition: TComSlice.h:1607
Void setDeblockingFilterTcOffsetDiv2(Int i)
Definition: TComSlice.h:1389
Bool m_hrdParametersPresentFlag
Definition: TComSlice.h:575
Int getLog2MinCodingBlockSize() const
Definition: TComSlice.h:839
Int getWindowTopOffset() const
Definition: TComSlice.h:536
Bool testWeightBiPred() const
Definition: TComSlice.h:1489
Void setSPSId(Int i)
Definition: TComSlice.h:813
Void setSarHeight(Int i)
Definition: TComSlice.h:633
Int m_ChromaQpAdjTableSize
Definition: TComSlice.h:992
Bool cbrFlag[32][2]
Definition: TComSlice.h:279
Int m_scalingListDC[SCALING_LIST_SIZE_NUM][(MAX_NUM_COMPONENT *NUMBER_OF_PREDICTION_MODES)]
the DC value of the matrix coefficient for 16x16
Definition: TComSlice.h:180
Bool getUsedByCurrPicLtSPSFlag(Int i) const
Definition: TComSlice.h:836
Int m_list1IdxToList0Idx[16]
Definition: TComSlice.h:1227
Bool m_scalingListPredModeFlagIsDPCM[SCALING_LIST_SIZE_NUM][(MAX_NUM_COMPONENT *NUMBER_OF_PREDICTION_MODES)]
reference list index
Definition: TComSlice.h:179
virtual ~TComPPS()
Definition: TComSlice.cpp:1772
Bool getUseStrongIntraSmoothing() const
Definition: TComSlice.h:935
Int getDeltaPocMSBCycleLT(Int i) const
Definition: TComSlice.h:90
UInt getMaxTLayers() const
Definition: TComSlice.h:479
Void setMaxCUHeight(UInt u)
Definition: TComSlice.h:846
Void setUseWP(Bool b)
Definition: TComSlice.h:1104
virtual ~TComHRD()
Definition: TComSlice.h:318
#define MAX_VPS_NUH_RESERVED_ZERO_LAYER_ID_PLUS1
Definition: TypeDef.h:101
Int * getScalingListAddress(UInt sizeId, UInt listId)
get matrix coefficient
Definition: TComSlice.h:155
Void setColRefIdx(UInt refIdx)
Definition: TComSlice.h:1400
Bool getUseExtendedPrecision() const
Definition: TComSlice.h:887
UInt m_ltRefPicPocLsbSps[33]
Definition: TComSlice.h:774
Int m_aiRefPOCList[NUM_REF_PIC_LIST_01][16+1]
Definition: TComSlice.h:1236
SliceType getSliceType() const
Definition: TComSlice.h:1337
Void setUseDQP(Bool b)
Definition: TComSlice.h:1049
Level::Name m_levelIdc
Definition: TComSlice.h:191
Void setDependentSliceSegmentFlag(Bool val)
Definition: TComSlice.h:1341
Int m_iPPSId
picture parameter set ID
Definition: TComSlice.h:1204
Int m_winLeftOffset
Definition: TComSlice.h:518
Void setColFromL0Flag(Bool colFromL0)
Definition: TComSlice.h:1399
Void setFixedPicRateFlag(Int layer, Bool flag)
Definition: TComSlice.h:358
ChannelType
Definition: TypeDef.h:361
Bool m_motionVectorsOverPicBoundariesFlag
Definition: TComSlice.h:578
UInt getCpbSizeValueMinus1(Int layer, Int cpbcnt, Int nalOrVcl) const
Definition: TComSlice.h:377
Bool getVideoFullRangeFlag() const
Definition: TComSlice.h:647
Bool getTemporalLayerNonReferenceFlag()
Definition: TComSlice.h:1516
Int getSPSId() const
Definition: TComSlice.h:812
Void setRefPicSetIdxL0(UInt idx, UInt refPicSetIdx)
Definition: TComSlice.h:971
Int getSarHeight() const
Definition: TComSlice.h:632
Int getNumTileColumnsMinus1() const
Definition: TComSlice.h:1135
Bool checkDefaultScalingList()
Definition: TComSlice.cpp:1959
UInt getHrdOpSetIdx(UInt i) const
Definition: TComSlice.h:471
Bool getPPSChangedFlag(Int ppsId) const
Definition: TComSlice.h:1648
Void printDeltaPOC() const
Definition: TComSlice.cpp:1903
Void processRefMatrix(UInt sizeId, UInt listId, UInt refListId)
Definition: TComSlice.cpp:1983
UInt m_uiMaxCuDQPDepth
Definition: TComSlice.h:988
Void setMatrixCoefficients(Int i)
Definition: TComSlice.h:660
SliceConstraint getSliceMode() const
Definition: TComSlice.h:1463
picture class (symbol + YUV buffers)
Definition: TComPic.h:56
Bool m_dependentSliceSegmentsEnabledFlag
Indicates the presence of dependent slices.
Definition: TComSlice.h:1009
static const Int m_winUnitY[3+1]
Definition: TComSlice.h:795
Int m_iPOC
Definition: TComSlice.h:1206
Void setTierFlag(Level::Tier x)
Definition: TComSlice.h:209
UInt getSubstreamSize(Int idx)
Definition: TComSlice.h:1512
Defines constants, macros and tool parameters.
Bool getCprmsPresentFlag(UInt i) const
Definition: TComSlice.h:473
void Void
Definition: TypeDef.h:285
const Window & getConformanceWindow() const
Definition: TComSlice.h:827
Int getRPSidx() const
Definition: TComSlice.h:1328
Int m_SPSId
Definition: TComSlice.h:981
Void setVideoFullRangeFlag(Bool i)
Definition: TComSlice.h:648
Void setRefPicSetIdxL1(UInt idx, UInt refPicSetIdx)
Definition: TComSlice.h:973
static const Int m_winUnitX[3+1]
Definition: TComSlice.h:794
Void setDuCpbSizeScale(UInt value)
Definition: TComSlice.h:346
Void setScalingListPredModeFlag(UInt sizeId, UInt listId, Bool bIsDPCM)
Definition: TComSlice.h:168
Int m_iLastIDR
Definition: TComSlice.h:1207
Int getUsed(Int bufferNum) const
Definition: TComSlice.cpp:1815
Void storePPS(TComPPS *pps, const std::vector< UChar > *pNaluData)
store picture parameter set and take ownership of it
Definition: TComSlice.h:1645
Int getPocLSBLT(Int i) const
Definition: TComSlice.h:88
Void setNumberOfNegativePictures(Int number)
Definition: TComSlice.h:106
Int getNumRpsCurrTempList() const
Definition: TComSlice.cpp:481
Int getNumTicksPocDiffOneMinus1() const
Definition: TComSlice.h:419
Bool getLayerIdIncludedFlag(UInt opsIdx, UInt id) const
Definition: TComSlice.h:505
Int m_minSpatialSegmentationIdc
Definition: TComSlice.h:580
Bool m_videoFullRangeFlag
Definition: TComSlice.h:563
Bool getSliceChromaQpFlag() const
Definition: TComSlice.h:1052
Void setMinSpatialSegmentationIdc(Int i)
Definition: TComSlice.h:700
Void decodingRefreshMarking(Int &pocCRA, Bool &bRefreshPending, TComList< TComPic * > &rcListPic)
Definition: TComSlice.cpp:599
Int m_iDepth
Definition: TComSlice.h:1238
Int m_aspectRatioIdc
Definition: TComSlice.h:556
TComScalingList m_scalingList
Definition: TComSlice.h:785
Bool xParseScalingList(Char *pchFile)
Definition: TComSlice.cpp:2065
Int getVPSId() const
Definition: TComSlice.h:810
UInt getTimeScale() const
Definition: TComSlice.h:413
Void setDependentSliceSegmentsEnabledFlag(Bool val)
Definition: TComSlice.h:1126
HrdSubLayerInfo m_HRD[7]
Definition: TComSlice.h:300
Int getWindowBottomOffset() const
Definition: TComSlice.h:538
Void setMaxCUWidth(UInt u)
Definition: TComSlice.h:844
Void setDeblockingFilterBetaOffsetDiv2(Int i)
Definition: TComSlice.h:1388
Void clearChangedFlag(Int psId)
Definition: TComSlice.h:1589
global variables & functions (header)
Int getWindowLeftOffset() const
Definition: TComSlice.h:532
Void setTransquantBypassEnableFlag(Bool b)
Definition: TComSlice.h:1115
Void setHrdParameters(UInt frameRate, UInt numDU, UInt bitRate, Bool randomAccess)
Definition: TComSlice.cpp:1625
UInt m_sliceArgument
Definition: TComSlice.h:1267
UInt getBitDepthConstraint() const
Definition: TComSlice.h:232
Void setScalingListPresentFlag(Bool b)
Definition: TComSlice.h:1159
NalUnitType getAssociatedIRAPType() const
Definition: TComSlice.h:1336
Bool getNeutralChromaIndicationFlag() const
Definition: TComSlice.h:671
UInt m_numLongTermRefPicSPS
Definition: TComSlice.h:773
Bool m_subLayerProfilePresentFlag[7-1]
Definition: TComSlice.h:250
#define NULL
Definition: CommonDef.h:100
TimingInfo m_timingInfo
Definition: TComSlice.h:586
Void setSubLayerProfilePresentFlag(Int i, Bool x)
Definition: TComSlice.h:256
Void setChromaSampleLocTypeTopField(Int i)
Definition: TComSlice.h:666
Void setEnableTMVPFlag(Bool b)
Definition: TComSlice.h:1521
Bool lowDelayHrdFlag
Definition: TComSlice.h:274
Void setChromaQpAdjTableAt(Int cuChromaQpOffsetIdxPlus1, Int cbOffset, Int crOffset)
Definition: TComSlice.h:1089
Bool m_bUseWeightPred
Use of Weighting Prediction (P_SLICE)
Definition: TComSlice.h:1001
Bool m_useWeightedBiPred
Use of Weighting Bi-Prediction (B_SLICE)
Definition: TComSlice.h:1002
Int getNumExtraSliceHeaderBits() const
Definition: TComSlice.h:1166
Bool m_frameFieldInfoPresentFlag
Definition: TComSlice.h:574
union ChromaQpAdj::@2 u
Int m_transformSkipLog2MaxSize
Definition: TComSlice.h:1008
UInt getBitsForPOC() const
Definition: TComSlice.h:857
Void checkDcOfMatrix()
Definition: TComSlice.cpp:2227
Bool m_bUseSAO
Definition: TComSlice.h:779
Void setCabacInitPresentFlag(Bool flag)
Definition: TComSlice.h:1146
Bool m_bCheckLDC
Definition: TComSlice.h:1230
Bool m_bRefenced
Definition: TComSlice.h:1241
UInt m_cpbSizeScale
Definition: TComSlice.h:294
Void addSubstreamSize(UInt size)
Definition: TComSlice.h:1511
Void storePS(Int psId, T *ps, const std::vector< UChar > *pNaluData)
Definition: TComSlice.h:1559
SliceConstraint m_sliceSegmentMode
Definition: TComSlice.h:1271
Void setPCMFilterDisableFlag(Bool bValue)
Definition: TComSlice.h:917
Void setFrameOnlyConstraintFlag(Bool b)
Definition: TComSlice.h:230
Bool getUseChromaQpAdj() const
Definition: TComSlice.h:1347
Bool m_PicOutputFlag
pic_output_flag
Definition: TComSlice.h:1205
Int m_numTicksPocDiffOneMinus1
Definition: TComSlice.h:396
Bool getDisableIntraReferenceSmoothing() const
Definition: TComSlice.h:920
Bool getCabacInitPresentFlag() const
Definition: TComSlice.h:1147
char Char
Definition: TypeDef.h:291
Int m_colourPrimaries
Definition: TComSlice.h:565
UInt getNumHrdParameters() const
Definition: TComSlice.h:497
const TimingInfo * getTimingInfo() const
Definition: TComSlice.h:718
Int m_iAssociatedIRAP
Definition: TComSlice.h:1208
Void clearVPSChangedFlag(Int vpsId)
Definition: TComSlice.h:1633
UInt m_numDU
Definition: TComSlice.h:299
Bool getScalingListPresentFlag() const
Definition: TComSlice.h:924
Void setIsUsedAsLongTerm(Int i, Int j, Bool value)
Definition: TComSlice.h:1362
Void setDuCpbSizeValueMinus1(Int layer, Int cpbcnt, Int nalOrVcl, UInt value)
Definition: TComSlice.h:378
unsigned int UInt
Definition: TypeDef.h:297
SliceConstraint getSliceSegmentMode() const
Definition: TComSlice.h:1474
Bool getHrdParametersPresentFlag() const
Definition: TComSlice.h:684
Bool m_TransquantBypassEnableFlag
Indicates presence of cu_transquant_bypass_flag in CUs.
Definition: TComSlice.h:1006
Bool m_lowerBitRateConstraintFlag
Definition: TComSlice.h:200
Void setSaoEnabledFlag(ChannelType chType, Bool s)
Definition: TComSlice.h:1321
Void setDeltaPOC(Int bufferNum, Int deltaPOC)
Definition: TComSlice.cpp:1805
UInt m_refMatrixId[SCALING_LIST_SIZE_NUM][(MAX_NUM_COMPONENT *NUMBER_OF_PREDICTION_MODES)]
RefMatrixID.
Definition: TComSlice.h:181
Bool getUseSAO() const
Definition: TComSlice.h:893
Void setCprmsPresentFlag(Bool val, UInt i)
Definition: TComSlice.h:474
TimingInfo m_timingInfo
Definition: TComSlice.h:455
UInt bitRateValueMinus1[32][2]
Definition: TComSlice.h:276
Bool getMvdL1ZeroFlag() const
Definition: TComSlice.h:1364
UInt m_colRefIdx
Definition: TComSlice.h:1257
Void setMaxBytesPerPicDenom(Int i)
Definition: TComSlice.h:703
Void setRefPOCList()
Definition: TComSlice.cpp:293
Bool isStepwiseTemporalLayerSwitchingPointCandidate(TComList< TComPic * > &rcListPic)
Definition: TComSlice.cpp:826
#define MAX_TLAYER
max number of temporal layer
Definition: CommonDef.h:192
Bool getPicDisableDeblockingFilterFlag() const
get offset for deblocking filter disabled
Definition: TComSlice.h:1153
UInt getSaoOffsetBitShift(ChannelType type) const
Definition: TComSlice.h:1110
Bool m_listsModificationPresentFlag
Definition: TComSlice.h:1033
static Int getWinUnitY(Int chromaFormatIdc)
Definition: TComSlice.h:818
Void clearSPSChangedFlag(Int spsId)
Definition: TComSlice.h:1641
Bool m_handleCraAsBlaFlag
Definition: TComSlice.h:1255
TComScalingList m_scalingList
ScalingList class.
Definition: TComSlice.h:1032
Bool m_OutputFlagPresentFlag
Indicates the presence of output_flag in slice header.
Definition: TComSlice.h:1003
UInt m_numRefIdxL1DefaultActive
Definition: TComSlice.h:999
std::vector< Bool > m_cprmsPresentFlag
Definition: TComSlice.h:450
Int m_matrixCoefficients
Definition: TComSlice.h:567
ParameterSetMap(Int maxId)
Definition: TComSlice.h:1546
Int m_VPSId
Definition: TComSlice.h:726
Int m_chromaSampleLocTypeBottomField
Definition: TComSlice.h:570
const ProfileTierLevel * getSubLayerPTL(Int i) const
Definition: TComSlice.h:264
Void setLowerBitRateConstraintFlag(Bool b)
Definition: TComSlice.h:242
Bool isReferenced() const
Definition: TComSlice.h:1368
Void destroy()
Definition: TComSlice.h:140
Void setMaxBitsPerMinCuDenom(Int i)
Definition: TComSlice.h:706
Void setMaxCuDQPDepth(UInt u)
Definition: TComSlice.h:1055
Void setQuadtreeTUMaxDepthInter(UInt u)
Definition: TComSlice.h:864
Int m_sarHeight
Definition: TComSlice.h:558
Void setUseCrossComponentPrediction(Bool value)
Definition: TComSlice.h:1108
Void setTrQuant(TComTrQuant *pcTrQuant)
Definition: TComSlice.h:1312
Void checkCRA(const TComReferencePictureSet *pReferencePictureSet, Int &pocCRA, NalUnitType &associatedIRAPType, TComList< TComPic * > &rcListPic)
Definition: TComSlice.cpp:539
Int m_iSliceQp
Definition: TComSlice.h:1217
Void setLtRefPicPocLsbSps(UInt index, UInt val)
Definition: TComSlice.h:834
Void setQpOffset(ComponentID compID, Int i)
Definition: TComSlice.h:1058
Void clearPPSChangedFlag(Int ppsId)
Definition: TComSlice.h:1649
SCALING_LIST class.
Definition: TComSlice.h:150
Void setNalUnitType(NalUnitType e)
Definition: TComSlice.h:1371
Int getMaxBytesPerPicDenom() const
Definition: TComSlice.h:702
UInt getPCMLog2MaxSize() const
Definition: TComSlice.h:853
Void setNumHrdParameters(UInt v)
Definition: TComSlice.h:498
Bool getRestrictedRefPicListsFlag() const
Definition: TComSlice.h:696
Int getMaxBitsPerMinCuDenom() const
Definition: TComSlice.h:705
UInt m_numReorderPics[7]
Definition: TComSlice.h:442
Bool getUseSingleSignificanceMapContext() const
Definition: TComSlice.h:898
Bool m_bTestWeightPred
Definition: TComSlice.h:1281
Void setRefPOC(Int i, RefPicList e, Int iRefIdx)
Definition: TComSlice.h:1392
Void setTransformSkipLog2MaxSize(UInt u)
Definition: TComSlice.h:1121
const TComRPSList * getRPSList() const
Definition: TComSlice.h:871
Bool m_useGolombRiceParameterAdaptation
Definition: TComSlice.h:765
Bool getNonPackedConstraintFlag() const
Definition: TComSlice.h:226
Void setUseHighPrecisionPredictionWeighting(Bool value)
Definition: TComSlice.h:890
Int m_deblockingFilterTcOffsetDiv2
Definition: TComSlice.h:1226
Void calculateParameterSetChangedFlag(Bool &bChanged, const std::vector< UChar > *pOldData, const std::vector< UChar > *pNewData)
Definition: TComSlice.cpp:2350
Int getDeblockingFilterBetaOffsetDiv2() const
Definition: TComSlice.h:1350
Void setPicHeightInLumaSamples(UInt u)
Definition: TComSlice.h:823
UInt getMaxCUHeight() const
Definition: TComSlice.h:847
Void setPPS(const TComPPS *pcPPS)
Definition: TComSlice.h:1308
Void setCpbRemovalDelayLengthMinus1(UInt value)
Definition: TComSlice.h:352
Void getWpAcDcParam(WPACDCParam *&wp)
get AC and DC values for weighted pred
Definition: TComSlice.cpp:1449
Void checkColRefIdx(UInt curSliceIdx, TComPic *pic)
Definition: TComSlice.cpp:513
Bool m_dependentSliceSegmentFlag
Definition: TComSlice.h:1218
Bool getLowDelayHrdFlag(Int layer) const
Definition: TComSlice.h:368
UInt getMaxDecPicBuffering(UInt tlayer) const
Definition: TComSlice.h:929
Bool getNoRaslOutputFlag() const
Definition: TComSlice.h:1457
Int getLog2MaxMvLengthVertical() const
Definition: TComSlice.h:711
Void setNumReorderPics(Int i, UInt tlayer)
Definition: TComSlice.h:868
UInt getDuCpbSizeValueMinus1(Int layer, Int cpbcnt, Int nalOrVcl) const
Definition: TComSlice.h:379
Int getTransferCharacteristics() const
Definition: TComSlice.h:656
Bool m_alignCABACBeforeBypass
Definition: TComSlice.h:766
TComRefPicListModification * getRefPicListModification()
Definition: TComSlice.h:1330
UInt getMaxCUDepth() const
Definition: TComSlice.h:849
Bool getWindowEnabledFlag() const
Definition: TComSlice.h:531
Void setSliceCurStartCtuTsAddr(UInt ctuTsAddr)
Definition: TComSlice.h:1466
std::vector< TComReferencePictureSet > m_referencePictureSets
Definition: TComSlice.h:133
Void setChromaFormatConstraint(ChromaFormat fmt)
Definition: TComSlice.h:236
Reference Picture Lists class.
Definition: TComSlice.h:951
Bool m_subPicCpbParamsInPicTimingSEIFlag
Definition: TComSlice.h:291
UInt m_timeScale
Definition: TComSlice.h:394
Int * getScalingListDefaultAddress(UInt sizeId, UInt listId)
get default matrix coefficient
Definition: TComSlice.cpp:2194
Window & getDefaultDisplayWindow()
Definition: TComSlice.h:680
Void setAssociatedIRAPPOC(Int iAssociatedIRAPPOC)
Definition: TComSlice.h:1333
Int getDeblockingFilterTcOffsetDiv2() const
Definition: TComSlice.h:1351
Bool getHandleCraAsBlaFlag() const
Definition: TComSlice.h:1460
Void initEqualRef()
Definition: TComSlice.cpp:499
Void setUseAMP(Bool b)
Definition: TComSlice.h:859
Void initWpScaling(const TComSPS *sps)
init WP table
Definition: TComSlice.cpp:1492
ChromaFormat getChromaFormatIdc() const
Definition: TComSlice.h:814
virtual ~TComReferencePictureSet()
Definition: TComSlice.cpp:1796
Int getScalingListDC(UInt sizeId, UInt listId) const
get DC value
Definition: TComSlice.h:166
Void setNumReorderPics(UInt v, UInt tLayer)
Definition: TComSlice.h:488
Void setChromaSampleLocTypeBottomField(Int i)
Definition: TComSlice.h:669
Int m_log2MaxMvLengthHorizontal
Definition: TComSlice.h:583
Level::Tier m_tierFlag
Definition: TComSlice.h:188
Void setSliceIdx(UInt i)
Definition: TComSlice.h:1470
Void setMaxLayers(UInt l)
Definition: TComSlice.h:483
Bool getMotionVectorsOverPicBoundariesFlag() const
Definition: TComSlice.h:693
Bool m_LFCrossSliceBoundaryFlag
Definition: TComSlice.h:1292
Int getNumRefIdx(RefPicList e) const
Definition: TComSlice.h:1353
Void setEntropyCodingSyncEnabledFlag(Bool val)
Definition: TComSlice.h:1128
Level::Tier getTierFlag() const
Definition: TComSlice.h:208
Void setIntraConstraintFlag(Bool b)
Definition: TComSlice.h:239
ProfileTierLevel * getSubLayerPTL(Int i)
Definition: TComSlice.h:263
Bool m_intraConstraintFlag
Definition: TComSlice.h:199
Int getChromaSampleLocTypeBottomField() const
Definition: TComSlice.h:668
TComVPS * getFirstVPS()
Definition: TComSlice.h:1634
Void setLastIDR(Int iIDRPOC)
Definition: TComSlice.h:1331
Void setTimeScale(UInt value)
Definition: TComSlice.h:412
UInt getTileRowHeight(UInt rowIdx) const
Definition: TComSlice.h:1141
Void setNalHrdParametersPresentFlag(Bool flag)
Definition: TComSlice.h:320
UInt m_sliceCurStartCtuTsAddr
Definition: TComSlice.h:1268
Bool getSubLayerProfilePresentFlag(Int i) const
Definition: TComSlice.h:255
Bool getRefPicListModificationFlagL1() const
Definition: TComSlice.h:968
Bool getFrameOnlyConstraintFlag() const
Definition: TComSlice.h:229
Bool getRapPicFlag() const
Definition: TComSlice.cpp:182
Bool getSaoEnabledFlag(ChannelType chType) const
Definition: TComSlice.h:1322
std::vector< UInt > m_hrdOpSetIdx
Definition: TComSlice.h:449
Void setRefPicListModificationFlagL1(Bool flag)
Definition: TComSlice.h:969
Bool getLongTermRefsPresent() const
Definition: TComSlice.h:873
Void setSPSId(Int i)
Definition: TComSlice.h:1044
Bool getInterlacedSourceFlag() const
Definition: TComSlice.h:223
#define MAX_VPS_OP_SETS_PLUS1
Definition: TypeDef.h:100
Void setBitsForPOC(UInt u)
Definition: TComSlice.h:856
Bool m_frameOnlyConstraintFlag
Definition: TComSlice.h:196
Void setChromaFormatIdc(ChromaFormat i)
Definition: TComSlice.h:815
Void setEncCABACTableIdx(SliceType idx)
Definition: TComSlice.h:1524
Void setPic(TComPic *p)
Definition: TComSlice.h:1394
Void setCpbSizeScale(UInt value)
Definition: TComSlice.h:344
UInt getMaxTrSize() const
Definition: TComSlice.h:879
Void setTileUniformSpacingFlag(Bool b)
Definition: TComSlice.h:1132
TComVUI * getVuiParameters()
Definition: TComSlice.h:939
Void applyReferencePictureSet(TComList< TComPic * > &rcListPic, const TComReferencePictureSet *RPSList)
Definition: TComSlice.cpp:1015
Void setFieldSeqFlag(Bool i)
Definition: TComSlice.h:675
Void setSliceBits(UInt uiVal)
Definition: TComSlice.h:1481
std::map< Int, MapData< T > > m_paramsetMap
Definition: TComSlice.h:1618
Int m_chromaCbQpOffset
Definition: TComSlice.h:995
Void setUsedByCurrPicLtSPSFlag(Int i, Bool x)
Definition: TComSlice.h:837
TComVUI m_vuiParameters
Definition: TComSlice.h:792
Void setDuCpbRemovalDelayLengthMinus1(UInt value)
Definition: TComSlice.h:332
Void setLog2MaxMvLengthVertical(Int i)
Definition: TComSlice.h:712
Bool isInterB() const
Definition: TComSlice.h:1405
Void setSliceSegmentArgument(UInt uiArgument)
Definition: TComSlice.h:1475
Bool getTilesEnabledFlag() const
Definition: TComSlice.h:1131
Void setLFCrossSliceBoundaryFlag(Bool val)
Definition: TComSlice.h:1518
Bool m_useSingleSignificanceMapContext
Definition: TComSlice.h:764
Bool m_bPCMFilterDisableFlag
Definition: TComSlice.h:769
Bool m_deblockingFilterDisable
Definition: TComSlice.h:1223
#define MAX_CHROMA_FORMAT_IDC
Definition: CommonDef.h:213
Bool getTransquantBypassEnableFlag() const
Definition: TComSlice.h:1116
Void setRestrictedRefPicListsFlag(Bool b)
Definition: TComSlice.h:697
Void setInterRPSPrediction(Bool flag)
Definition: TComSlice.h:113
Void setRPSidx(Int iBDidx)
Definition: TComSlice.h:1327
TComRefPicListModification m_RefPicListModification
Definition: TComSlice.h:1214
Int getRefIdc(Int bufferNum) const
get the reference idc value at uiBufferNum
Definition: TComSlice.cpp:1857
Void setAspectRatioIdc(Int i)
Definition: TComSlice.h:627
Int m_MaxCuChromaQpAdjDepth
Definition: TComSlice.h:991
Void setWindowBottomOffset(Int val)
Definition: TComSlice.h:539
Void setPicDisableDeblockingFilterFlag(Bool val)
set offset for deblocking filter disabled
Definition: TComSlice.h:1152
Int m_numExtraSliceHeaderBits
Definition: TComSlice.h:1035
Bool m_enabledFlag
Definition: TComSlice.h:517
Void setRefPicListModificationFlagL0(Bool flag)
Definition: TComSlice.h:967
Void setVPSId(Int i)
Definition: TComSlice.h:811
ParameterSetMap< TComVPS > m_vpsMap
Definition: TComSlice.h:1661
Void setHandleCraAsBlaFlag(Bool val)
Definition: TComSlice.h:1459
virtual ~TComVPS()
Definition: TComSlice.cpp:1543
Void setMaxLatencyIncrease(UInt ui, UInt tlayer)
Definition: TComSlice.h:932
Int getDeltaRIdxMinus1() const
Definition: TComSlice.h:116
Bool m_useTransformSkip
Definition: TComSlice.h:1007
UInt getLtRefPicPocLsbSps(UInt index) const
Definition: TComSlice.h:833
Bool getUseResidualDPCM(const RDPCMSignallingMode signallingMode) const
Definition: TComSlice.h:907
Bool m_cabacInitFlag
Definition: TComSlice.h:1288
TComHRD m_hrdParameters
Definition: TComSlice.h:585
Double m_lambdas[MAX_NUM_COMPONENT]
Definition: TComSlice.h:1260
Bool getFieldSeqFlag() const
Definition: TComSlice.h:674
Bool getDependentSliceSegmentFlag() const
Definition: TComSlice.h:1340
Void setPOC(Int bufferNum, Int deltaPOC)
Definition: TComSlice.cpp:1835
Void setLog2DiffMaxMinCodingBlockSize(Int val)
Definition: TComSlice.h:842
Void setSliceChromaQpFlag(Bool b)
Definition: TComSlice.h:1053
#define SCALING_LIST_NUM
list number for quantization matrix
Definition: TComRom.h:215
Void setRefIdc(Int bufferNum, Int refIdc)
set the reference idc value at uiBufferNum entry to the value of iRefIdc
Definition: TComSlice.cpp:1851
Bool getSPSChangedFlag(Int spsId) const
Definition: TComSlice.h:1640
UInt m_uiQuadtreeTULog2MinSize
Definition: TComSlice.h:750
Void setPocProportionalToTimingFlag(Bool x)
Definition: TComSlice.h:415
ProfileTierLevel * getGeneralPTL()
Definition: TComSlice.h:261
Bool getListsModificationPresentFlag() const
Definition: TComSlice.h:1162
Bool getLoopFilterAcrossSlicesEnabledFlag() const
Definition: TComSlice.h:1169
Bool testWeightPred() const
Definition: TComSlice.h:1487
Void setDeblockingFilterBetaOffsetDiv2(Int val)
set beta offset for deblocking filter
Definition: TComSlice.h:1154
UInt m_duCpbRemovalDelayLengthMinus1
Definition: TComSlice.h:290
Void setNonPackedConstraintFlag(Bool b)
Definition: TComSlice.h:227
Bool m_useDQP
Definition: TComSlice.h:983
UInt m_log2ParallelMergeLevelMinus2
Definition: TComSlice.h:1034
Void setMaxDecPicBuffering(UInt v, UInt tLayer)
Definition: TComSlice.h:491
Bool getEnableTMVPFlag()
Definition: TComSlice.h:1522
TComVPS * getVPS(Int vpsId)
get pointer to existing video parameter set
Definition: TComSlice.h:1631
Int m_iSliceQpBase
Definition: TComSlice.h:1220
Void setSliceType(SliceType e)
Definition: TComSlice.h:1378
Int getSarWidth() const
Definition: TComSlice.h:629
Bool m_vuiParametersPresentFlag
Definition: TComSlice.h:791
std::vector< UChar > * pNaluData
Definition: TComSlice.h:1542
Void setNoRaslOutputFlag(Bool val)
Definition: TComSlice.h:1456
UInt getNumRefIdxL1DefaultActive() const
Definition: TComSlice.h:1100
UInt m_dpbOutputDelayLengthMinus1
Definition: TComSlice.h:298
Bool getTilesFixedStructureFlag() const
Definition: TComSlice.h:690
virtual ~TComRefPicListModification()
Definition: TComSlice.cpp:1929
Bool m_bTemporalIdNestingFlag
Definition: TComSlice.h:781
Void setTileColumnWidth(const std::vector< Int > &columnWidth)
Definition: TComSlice.h:1136
Void setLevelIdc(Level::Name x)
Definition: TComSlice.h:218
const TComSPS * m_pcSPS
Definition: TComSlice.h:1245
Bool m_useStrongIntraSmoothing
Definition: TComSlice.h:789
Void setUseExtendedPrecision(Bool value)
Definition: TComSlice.h:888
Void setLayerIdIncludedFlag(Bool v, UInt opsIdx, UInt id)
Definition: TComSlice.h:506
Void setQuadtreeTULog2MinSize(UInt u)
Definition: TComSlice.h:862
Bool m_pocProportionalToTimingFlag
Definition: TComSlice.h:395
UInt getMaxOpSets() const
Definition: TComSlice.h:503
Void setNumberOfPositivePictures(Int number)
Definition: TComSlice.h:108
Void setTemporalLayerNonReferenceFlag(Bool x)
Definition: TComSlice.h:1517
Bool m_neutralChromaIndicationFlag
Definition: TComSlice.h:571
ChromaFormat getChromaFormatConstraint() const
Definition: TComSlice.h:235
UInt m_numHrdParameters
Definition: TComSlice.h:446
general list class (header)
Int m_PPSId
Definition: TComSlice.h:980
TComVUI()
Definition: TComSlice.h:589
std::vector< Int > m_tileColumnWidth
Definition: TComSlice.h:1017
Void setVPS(TComVPS *pcVPS)
Definition: TComSlice.h:1303
TComPTL * getPTL()
Definition: TComSlice.h:944
Int offset[2]
Definition: TComSlice.h:430
Void setTilesFixedStructureFlag(Bool i)
Definition: TComSlice.h:691
Int m_VPSId
Definition: TComSlice.h:437
UInt getMaxNumMergeCand() const
Definition: TComSlice.h:1451
Void setDpbOutputDelayDuLengthMinus1(UInt value)
Definition: TComSlice.h:338
Int m_picInitQPMinus26
Definition: TComSlice.h:982
Void setDeltaRPS(Int x)
Definition: TComSlice.h:117
Bool m_loopFilterAcrossSlicesEnabledFlag
Definition: TComSlice.h:1025
Bool getTemporalIdNestingFlag() const
Definition: TComSlice.h:913
Void setMaxLatencyIncrease(UInt v, UInt tLayer)
Definition: TComSlice.h:494
Bool getSubLayerLevelPresentFlag(Int i) const
Definition: TComSlice.h:258
Int getMinSpatialSegmentationIdc() const
Definition: TComSlice.h:699
Void setWindowRightOffset(Int val)
Definition: TComSlice.h:535
UInt m_maxNumMergeCand
Definition: TComSlice.h:1258
WPACDCParam m_weightACDCParam[MAX_NUM_COMPONENT]
Definition: TComSlice.h:1284
Int getQpBDOffset(ChannelType type) const
Definition: TComSlice.h:885
Bool m_deltaPocMSBPresentFlag[16]
Definition: TComSlice.h:83
TComScalingList & getScalingList()
Definition: TComSlice.h:1160
Bool getScalingListPredModeFlag(UInt sizeId, UInt listId) const
Definition: TComSlice.h:169
Void setScalingListDC(UInt sizeId, UInt listId, UInt u)
set DC value
Definition: TComSlice.h:165
UInt m_uiMaxCUDepth
Definition: TComSlice.h:739
UInt m_picWidthInLumaSamples
Definition: TComSlice.h:732
Void copySliceInfo(TComSlice *pcSliceSrc)
Definition: TComSlice.cpp:680
Void setOverscanInfoPresentFlag(Bool i)
Definition: TComSlice.h:636
#define MAX_NUM_REF_PICS
max. number of pictures used for reference
Definition: CommonDef.h:112
UInt m_uiMaxCUHeight
Definition: TComSlice.h:738
bool Bool
Definition: TypeDef.h:286
Bool getUseTransformSkip() const
Definition: TComSlice.h:1118
Void setSliceSegmentBits(UInt uiVal)
Definition: TComSlice.h:1483
Int m_deblockingFilterBetaOffsetDiv2
Definition: TComSlice.h:1225
Void setLog2ParallelMergeLevelMinus2(UInt mrgLevel)
Definition: TComSlice.h:1165
std::vector< TComHRD > m_hrdParameters
Definition: TComSlice.h:448
UInt m_sliceSegmentCurStartCtuTsAddr
Definition: TComSlice.h:1273
ProfileTierLevel m_generalPTL
Definition: TComSlice.h:248
Bool m_bIsUsedAsLongTerm[NUM_REF_PIC_LIST_01][16+1]
Definition: TComSlice.h:1237
long long Int64
Definition: TypeDef.h:317
Bool getLowerBitRateConstraintFlag() const
Definition: TComSlice.h:241
Bool m_nextSliceSegment
Definition: TComSlice.h:1276
Bool getSubPicCpbParamsPresentFlag() const
Definition: TComSlice.h:327
Void setBitRateValueMinus1(Int layer, Int cpbcnt, Int nalOrVcl, UInt value)
Definition: TComSlice.h:373
TComReferencePictureSet * getReferencePictureSet(Int referencePictureSetNum)
Definition: TComSlice.h:143
Void setVclHrdParametersPresentFlag(Bool flag)
Definition: TComSlice.h:323
Bool m_tilesEnabledFlag
Indicates the presence of tiles.
Definition: TComSlice.h:1010
Bool m_overscanInfoPresentFlag
Definition: TComSlice.h:559
Int getAssociatedIRAPPOC() const
Definition: TComSlice.h:1334
Void setSliceQpDelta(Int i)
Definition: TComSlice.h:1383
Bool m_interlacedSourceFlag
Definition: TComSlice.h:194
UInt getTransformSkipLog2MaxSize() const
Definition: TComSlice.h:1120
Void setPicDurationInTcMinus1(Int layer, UInt value)
Definition: TComSlice.h:364
Void setCbrFlag(Int layer, Int cpbcnt, Int nalOrVcl, Bool value)
Definition: TComSlice.h:382
Bool getRefPicListModificationFlagL0() const
Definition: TComSlice.h:966
Bool getProgressiveSourceFlag() const
Definition: TComSlice.h:220
Bool m_tilesFixedStructureFlag
Definition: TComSlice.h:577
Int CrOffset
Definition: TComSlice.h:428
Void setProfileSpace(Int x)
Definition: TComSlice.h:206
Bool getColourDescriptionPresentFlag() const
Definition: TComSlice.h:650
UInt getQuadtreeTUMaxDepthIntra() const
Definition: TComSlice.h:867
PPS class.
Definition: TComSlice.h:977
Int m_winTopOffset
Definition: TComSlice.h:520
Bool m_bitstreamRestrictionFlag
Definition: TComSlice.h:576
Bool m_signHideFlag
Definition: TComSlice.h:1020
Bool getVPSChangedFlag(Int vpsId) const
Definition: TComSlice.h:1632
Void setUseResidualDPCM(const RDPCMSignallingMode signallingMode, const Bool value)
Definition: TComSlice.h:908
Bool getSubPicCpbParamsInPicTimingSEIFlag() const
Definition: TComSlice.h:336
Void setVPSId(Int i)
Definition: TComSlice.h:477
Void setRefPic(TComPic *p, RefPicList e, Int iRefIdx)
Definition: TComSlice.h:1391
Void setDeltaPocMSBCycleLT(Int i, Int x)
Definition: TComSlice.h:91
Bool getOverscanInfoPresentFlag() const
Definition: TComSlice.h:635
Void setColourPrimaries(Int i)
Definition: TComSlice.h:654
Bool m_bTLayerSwitchingFlag
Definition: TComSlice.h:1264
Void setRPS(TComReferencePictureSet *pcRPS)
Definition: TComSlice.h:1323
TComPic * xGetLongTermRefPic(TComList< TComPic * > &rcListPic, Int poc, Bool pocHasMsb)
Definition: TComSlice.cpp:250
UInt m_uiTLayer
Definition: TComSlice.h:1263
WPScalingParam m_weightPredTable[NUM_REF_PIC_LIST_01][16][MAX_NUM_COMPONENT]
Definition: TComSlice.h:1283
UInt getCpbSizeScale() const
Definition: TComSlice.h:345
UInt getPicHeightInLumaSamples() const
Definition: TComSlice.h:824
Void setMaxTLayers(UInt uiMaxTLayers)
Definition: TComSlice.h:911
Void setWindowTopOffset(Int val)
Definition: TComSlice.h:537
Bool getCbrFlag(Int layer, Int cpbcnt, Int nalOrVcl) const
Definition: TComSlice.h:383
Void setUseSAO(Bool bVal)
Definition: TComSlice.h:892
UInt uiLog2WeightDenom
Definition: TComSlice.h:1179
const Int * getScalingListAddress(UInt sizeId, UInt listId) const
get matrix coefficient
Definition: TComSlice.h:156
virtual ~TComRPSList()
Definition: TComSlice.h:137
TimingInfo * getTimingInfo()
Definition: TComSlice.h:510
Void setAssociatedIRAPType(NalUnitType associatedIRAPType)
Definition: TComSlice.h:1335
UInt getSliceBits() const
Definition: TComSlice.h:1482
Void setDeltaPocMSBPresentFlag(Int i, Bool x)
Definition: TComSlice.h:93
static const UInt REF_PIC_LIST_NUM_IDX
Definition: TComSlice.h:58
TComRPSList m_RPSList
Definition: TComSlice.h:743
UInt getNumberOfSubstreamSizes()
Definition: TComSlice.h:1510
Void setProfileCompatibilityFlag(Int i, Bool x)
Definition: TComSlice.h:215
Int getDeltaPOC(Int bufferNum) const
Definition: TComSlice.cpp:1820
UInt getPCMLog2MinSize() const
Definition: TComSlice.h:855
Int m_transferCharacteristics
Definition: TComSlice.h:566
Void setMaxTLayers(UInt t)
Definition: TComSlice.h:480
Int m_winRightOffset
Definition: TComSlice.h:519
Void setScalingListPresentFlag(Bool b)
Definition: TComSlice.h:925
Int getMatrixCoefficients() const
Definition: TComSlice.h:659
Bool m_restrictedRefPicListsFlag
Definition: TComSlice.h:579
Void checkLeadingPictureRestrictions(TComList< TComPic * > &rcListPic)
Definition: TComSlice.cpp:846
Int getAspectRatioIdc() const
Definition: TComSlice.h:626
Int getDeltaRPS() const
Definition: TComSlice.h:118
Void setLog2MaxMvLengthHorizontal(Int i)
Definition: TComSlice.h:709
Bool getPocProportionalToTimingFlag() const
Definition: TComSlice.h:416
Void setDefaultDisplayWindow(Window &defaultDisplayWindow)
Definition: TComSlice.h:682
UInt getSliceSegmentBits() const
Definition: TComSlice.h:1484
Bool m_subLayerLevelPresentFlag[7-1]
Definition: TComSlice.h:251
Reference Picture Set set class.
Definition: TComSlice.h:130
Int m_qpBDOffset[MAX_NUM_CHANNEL_TYPE]
Definition: TComSlice.h:760
Void initWpAcDcParam()
init AC and DC values for weighted pred
Definition: TComSlice.cpp:1455
Void setTileRowHeight(const std::vector< Int > &rowHeight)
Definition: TComSlice.h:1140
Bool m_disableIntraReferenceSmoothing
Definition: TComSlice.h:770
Void processDefaultMatrix(UInt sizeId, UInt listId)
Definition: TComSlice.cpp:2219
#define MAX_CPB_CNT
Upper bound of (cpb_cnt_minus1 + 1)
Definition: TypeDef.h:106
Void setDepth(Int iDepth)
Definition: TComSlice.h:1395
Bool getFrameFieldInfoPresentFlag() const
Definition: TComSlice.h:677
Int m_numReorderPics[7]
Definition: TComSlice.h:746
Void setHrdParametersPresentFlag(Bool i)
Definition: TComSlice.h:685
Bool m_picDisableDeblockingFilterFlag
Definition: TComSlice.h:1028
Int getBitDepth(ChannelType type) const
Definition: TComSlice.h:882
Void storeSPS(TComSPS *sps, const std::vector< UChar > *pNaluData)
store sequence parameter set and take ownership of it
Definition: TComSlice.h:1637
Bool m_timingInfoPresentFlag
Definition: TComSlice.h:392
Void setDeblockingFilterOverrideFlag(Bool b)
Definition: TComSlice.h:1387
Void setNumTicksPocDiffOneMinus1(Int x)
Definition: TComSlice.h:418
Bool getTemporalNestingFlag() const
Definition: TComSlice.h:485
Void setSaoOffsetBitShift(ChannelType type, UInt uiBitShift)
Definition: TComSlice.h:1111
Void createExplicitReferencePictureSetFromReference(TComList< TComPic * > &rcListPic, const TComReferencePictureSet *pReferencePictureSet, Bool isRAP, Int pocRandomAccess=0, Bool bUseRecoveryPoint=false)
Definition: TComSlice.cpp:1320
UInt m_uiMaxCUWidth
Definition: TComSlice.h:737
Int m_log2MinCodingBlockSize
Definition: TComSlice.h:735
Int m_log2DiffMaxMinCodingBlockSize
Definition: TComSlice.h:736
Bool getLFCrossSliceBoundaryFlag()
Definition: TComSlice.h:1519
Bool getUseDQP() const
Definition: TComSlice.h:1048
Void setTilesEnabledFlag(Bool val)
Definition: TComSlice.h:1130
Int getDifferentialLumaChromaBitDepth() const
Definition: TComSlice.h:884
Int m_iSliceChromaQpDelta[MAX_NUM_COMPONENT]
Definition: TComSlice.h:1234
SliceConstraint
Definition: TypeDef.h:562
UInt getNumLongTermRefPicSPS() const
Definition: TComSlice.h:830
RefPicList
reference list index
Definition: TypeDef.h:415
Bool m_temporalLayerNonReferenceFlag
Definition: TComSlice.h:1291
UInt m_ducpbSizeScale
Definition: TComSlice.h:295
Bool getColFromL0Flag() const
Definition: TComSlice.h:1358
Void setSliceCurEndCtuTsAddr(UInt ctuTsAddr)
Definition: TComSlice.h:1468
Void setUseStrongIntraSmoothing(Bool bVal)
Definition: TComSlice.h:934
Int getProfileSpace() const
Definition: TComSlice.h:205
Void setWpAcDcParam(WPACDCParam wp[MAX_NUM_COMPONENT])
Definition: TComSlice.h:1501
Int getSliceQpBase() const
Definition: TComSlice.h:1343
const TComPTL * getPTL() const
Definition: TComSlice.h:943
Void setSliceQpBase(Int i)
Definition: TComSlice.h:1381
Bool m_colourDescriptionPresentFlag
Definition: TComSlice.h:564
UInt getMaxCuDQPDepth() const
Definition: TComSlice.h:1056
Void setUseSingleSignificanceMapContext(const Bool value)
Definition: TComSlice.h:899
ChromaFormat
chroma formats (according to semantics of chroma_format_idc)
Definition: TypeDef.h:352
Void setCheckLTMSBPresent(Int bufferNum, Bool b)
Definition: TComSlice.cpp:1845
Void setScalingListFlag(Bool b)
Definition: TComSlice.h:923
UInt getInitialCpbRemovalDelayLengthMinus1() const
Definition: TComSlice.h:350
Bool getTimingInfoPresentFlag() const
Definition: TComSlice.h:407
Void setUseResidualRotation(const Bool value)
Definition: TComSlice.h:896
Int m_maxBytesPerPicDenom
Definition: TComSlice.h:581
UInt getQuadtreeTULog2MinSize() const
Definition: TComSlice.h:863
const TComPPS * m_pcPPS
Definition: TComSlice.h:1246
UInt getDpbOutputDelayLengthMinus1() const
Definition: TComSlice.h:356
UInt m_sliceIdx
Definition: TComSlice.h:1270
RDPCMSignallingMode
Definition: TypeDef.h:335
Bool getCheckLTMSBPresent(Int bufferNum) const
Definition: TComSlice.cpp:1840
UInt getSliceSegmentCurStartCtuTsAddr() const
Definition: TComSlice.h:1478
Int m_chromaCrQpOffset
Definition: TComSlice.h:996
const TComVPS * getActiveVPS() const
Definition: TComSlice.h:1660
Bool getUseHighPrecisionPredictionWeighting() const
Definition: TComSlice.h:889
UInt m_uiMaxTLayers
Definition: TComSlice.h:729
Int m_numTileRowsMinus1
Definition: TComSlice.h:1016
Void setTestWeightBiPred(Bool bValue)
Definition: TComSlice.h:1490
Window m_defaultDisplayWindow
Definition: TComSlice.h:573
const TComHRD * getHrdParameters(UInt i) const
Definition: TComSlice.h:470
Void setPCMBitDepth(ChannelType type, UInt u)
Definition: TComSlice.h:916
Bool getNoOutputPriorPicsFlag() const
Definition: TComSlice.h:1454
Void setTestWeightPred(Bool bValue)
Definition: TComSlice.h:1488
Bool getAspectRatioInfoPresentFlag() const
Definition: TComSlice.h:623
Void setNumberOfPictures(Int numberOfPictures)
Definition: TComSlice.cpp:1810
Void setMaxNuhReservedZeroLayerId(UInt v)
Definition: TComSlice.h:501
UInt getNumRefIdxL0DefaultActive() const
Definition: TComSlice.h:1098
Bool getIsUsedAsLongTerm(Int i, Int j) const
Definition: TComSlice.h:1361
const TComPPS * getPPS() const
Definition: TComSlice.h:1309
TComTrQuant * getTrQuant()
Definition: TComSlice.h:1313
Int getDeblockingFilterBetaOffsetDiv2() const
get beta offset for deblocking filter
Definition: TComSlice.h:1155
UInt getPicWidthInLumaSamples() const
Definition: TComSlice.h:822
Void setQpBDOffset(ChannelType type, Int i)
Definition: TComSlice.h:886
TComHRD()
Definition: TComSlice.h:303
Void setMaxTrSize(UInt u)
Definition: TComSlice.h:878
Bool m_scalingListEnabledFlag
Definition: TComSlice.h:783
Int getPPSId() const
Definition: TComSlice.h:1318
Void setSliceChromaQpDelta(ComponentID compID, Int i)
Definition: TComSlice.h:1384
Void setMaxNumMergeCand(UInt val)
Definition: TComSlice.h:1450
Bool getIdrPicFlag() const
Definition: TComSlice.h:1374
Bool m_layerIdIncludedFlag[1024][1]
Definition: TComSlice.h:452
Void setCpbCntMinus1(Int layer, UInt value)
Definition: TComSlice.h:370
UInt m_uiMaxDecPicBuffering[7]
Definition: TComSlice.h:786
Int getLog2MaxMvLengthHorizontal() const
Definition: TComSlice.h:708
Int getChromaQpAdjTableSize() const
Definition: TComSlice.h:1081
TComPic * xGetRefPic(TComList< TComPic * > &rcListPic, Int poc)
Definition: TComSlice.cpp:233
UInt getTileColumnWidth(UInt columnIdx) const
Definition: TComSlice.h:1137
Profile::Name getProfileIdc() const
Definition: TComSlice.h:211
Int getSliceQpDelta() const
Definition: TComSlice.h:1345
Bool m_nalHrdParametersPresentFlag
Definition: TComSlice.h:286
Bool m_deblockingFilterOverrideFlag
Definition: TComSlice.h:1224
UInt m_uiPCMBitDepth[MAX_NUM_CHANNEL_TYPE]
Definition: TComSlice.h:768
Level::Name getLevelIdc() const
Definition: TComSlice.h:217
UInt getSliceArgument() const
Definition: TComSlice.h:1465
Bool m_uniformSpacingFlag
Definition: TComSlice.h:1014
Int getDepth() const
Definition: TComSlice.h:1357
UInt m_bitDepthConstraintValue
Definition: TComSlice.h:197
UInt getSliceSegmentArgument() const
Definition: TComSlice.h:1476
Void setNumDU(UInt value)
Definition: TComSlice.h:385
Bool getUseWP() const
Definition: TComSlice.h:1102
Bool getProfileCompatibilityFlag(Int i) const
Definition: TComSlice.h:214
#define MAX_NUM_REF
max. number of entries in picture reference list
Definition: CommonDef.h:113
Bool isIntra() const
Definition: TComSlice.h:1404
#define MAX_NUM_LONG_TERM_REF_PICS
Definition: TypeDef.h:215
Bool getScalingListPresentFlag() const
Definition: TComSlice.h:1158
Bool m_bLongTermRefsPresent
Definition: TComSlice.h:744
Void setProfileIdc(Profile::Name x)
Definition: TComSlice.h:212
Void setTLayerInfo(UInt uiTLayer)
Definition: TComSlice.cpp:798
Name
Definition: TypeDef.h:635
TComSPS * getFirstSPS()
Definition: TComSlice.h:1642
Void setConformanceWindow(Window &conformanceWindow)
Definition: TComSlice.h:828
Void setDisableIntraReferenceSmoothing(Bool bValue)
Definition: TComSlice.h:919
Int getPPSId() const
Definition: TComSlice.h:1041
Bool m_useExtendedPrecision
Definition: TComSlice.h:761
Void setFrameFieldInfoPresentFlag(Bool i)
Definition: TComSlice.h:678
const Window & getDefaultDisplayWindow() const
Definition: TComSlice.h:681
Bool getAlignCABACBeforeBypass() const
Definition: TComSlice.h:904
Void setPCMLog2MinSize(UInt u)
Definition: TComSlice.h:854
Void setMaxCuChromaQpAdjDepth(UInt u)
Definition: TComSlice.h:1078
UInt m_sliceBits
Definition: TComSlice.h:1277
UInt m_uiPCMLog2MinSize
Definition: TComSlice.h:755
Void clearChromaQpAdjTable()
Definition: TComSlice.h:1080
UInt getMaxLayers() const
Definition: TComSlice.h:482
Bool m_cabacInitPresentFlag
Definition: TComSlice.h:1022
Profile::Name m_profileIdc
Definition: TComSlice.h:189
Int getPOC() const
Definition: TComSlice.h:1338
Bool getDeblockingFilterControlPresentFlag() const
Definition: TComSlice.h:1149
Int m_deltaPOCMSBCycleLT[16]
Definition: TComSlice.h:82
Void setAspectRatioInfoPresentFlag(Bool i)
Definition: TComSlice.h:624
Bool getEntropyCodingSyncEnabledFlag() const
Definition: TComSlice.h:1127
Int m_numTileColumnsMinus1
Definition: TComSlice.h:1015
TimingInfo * getTimingInfo()
Definition: TComSlice.h:717
TComPTL * getPTL()
Definition: TComSlice.h:508
TComPic * m_apcRefPicList[NUM_REF_PIC_LIST_01][16+1]
Definition: TComSlice.h:1235
Void setListsModificationPresentFlag(Bool b)
Definition: TComSlice.h:1163
Void setHrdOpSetIdx(UInt val, UInt i)
Definition: TComSlice.h:472
Bool isInterP() const
Definition: TComSlice.h:1406
Void setWindowLeftOffset(Int val)
Definition: TComSlice.h:533
Int getLog2DiffMaxMinCodingBlockSize() const
Definition: TComSlice.h:841
Void setEqualRef(RefPicList e, Int iRefIdx1, Int iRefIdx2, Bool b)
Definition: TComSlice.h:1425
UInt getSliceCurStartCtuTsAddr() const
Definition: TComSlice.h:1467
const TComTrQuant * getTrQuant() const
Definition: TComSlice.h:1314
const TComVPS * getVPS() const
Definition: TComSlice.h:1304
Void setMaxDecPicBuffering(UInt ui, UInt tlayer)
Definition: TComSlice.h:930
TComTrQuant * m_pcTrQuant
Definition: TComSlice.h:1249
virtual ~TComScalingList()
Definition: TComSlice.h:154
Bool getVideoSignalTypePresentFlag() const
Definition: TComSlice.h:641
UInt getSliceIdx() const
Definition: TComSlice.h:1471
TComReferencePictureSet * m_pcRPS
Definition: TComSlice.h:1211
Void setProgressiveSourceFlag(Bool b)
Definition: TComSlice.h:221
UInt getCpbRemovalDelayLengthMinus1() const
Definition: TComSlice.h:353
Bool m_useAMP
Definition: TComSlice.h:756
SliceType m_eSliceType
Definition: TComSlice.h:1216
Bool getUsePCM() const
Definition: TComSlice.h:851
Bool m_deblockingFilterOverrideEnabledFlag
Definition: TComSlice.h:1027
const TComPTL * getPTL() const
Definition: TComSlice.h:509
Bool m_deblockingFilterControlPresentFlag
Definition: TComSlice.h:1026
Bool getScalingListFlag() const
Definition: TComSlice.h:922
Void setUsePCM(Bool b)
Definition: TComSlice.h:850
const TComSPS * getActiveSPS() const
Definition: TComSlice.h:1661
ParameterSetMap< TComSPS > m_spsMap
Definition: TComSlice.h:1665
Void setLongTermRefsPresent(Bool b)
Definition: TComSlice.h:874
Bool getFinalized() const
Definition: TComSlice.h:1486
ParameterSetMap< TComPPS > m_ppsMap
Definition: TComSlice.h:1666
Void setWpScaling(WPScalingParam wp[NUM_REF_PIC_LIST_01][16][MAX_NUM_COMPONENT])
Definition: TComSlice.h:1491
Void setWPBiPred(Bool b)
Definition: TComSlice.h:1105
Int m_uiBitDepth[MAX_NUM_CHANNEL_TYPE]
Definition: TComSlice.h:759
Void setDpbOutputDelayLengthMinus1(UInt value)
Definition: TComSlice.h:355
Void setPocLSBLT(Int i, Int x)
Definition: TComSlice.h:89
Void setPOC(Int i)
Definition: TComSlice.h:1370
Void setCabacInitFlag(Bool val)
set CABAC initial flag
Definition: TComSlice.h:1514
Bool getTMVPFlagsPresent() const
Definition: TComSlice.h:875
UInt m_uiMaxTrSize
Definition: TComSlice.h:777
TComPic * getPic()
Definition: TComSlice.h:1354
Int m_sarWidth
Definition: TComSlice.h:557
Int m_videoFormat
Definition: TComSlice.h:562
Int getVideoFormat() const
Definition: TComSlice.h:644
Void setNumTileRowsMinus1(Int i)
Definition: TComSlice.h:1138
Int getNumberOfReferencePictureSets() const
Definition: TComSlice.h:146
Bool m_vclHrdParametersPresentFlag
Definition: TComSlice.h:287
Bool m_abEqualRef[NUM_REF_PIC_LIST_01][16][16]
Definition: TComSlice.h:1262
Int getRefPOC(RefPicList e, Int iRefIdx)
Definition: TComSlice.h:1356
Void setInterlacedSourceFlag(Bool b)
Definition: TComSlice.h:224
Void setNumRefIdxL1DefaultActive(UInt ui)
Definition: TComSlice.h:1099
UInt getDpbOutputDelayDuLengthMinus1() const
Definition: TComSlice.h:339
UInt getMaxLatencyIncrease(UInt tlayer) const
Definition: TComSlice.h:931
Void setSubPicCpbParamsInPicTimingSEIFlag(Bool flag)
Definition: TComSlice.h:335
Void setNumUnitsInTick(UInt value)
Definition: TComSlice.h:409
std::vector< UInt > m_substreamSizes
Definition: TComSlice.h:1286
const ProfileTierLevel * getGeneralPTL() const
Definition: TComSlice.h:262
Void setQuadtreeTUMaxDepthIntra(UInt u)
Definition: TComSlice.h:865
Int getColourPrimaries() const
Definition: TComSlice.h:653
UInt m_picHeightInLumaSamples
Definition: TComSlice.h:733
Bool getFixedPicRateWithinCvsFlag(Int layer) const
Definition: TComSlice.h:362
Void setBitstreamRestrictionFlag(Bool i)
Definition: TComSlice.h:688
Int getList1IdxToList0Idx(Int list1Idx) const
Definition: TComSlice.h:1366
Int m_iSliceQpDelta
Definition: TComSlice.h:1233
TComPPS * getPPS(Int ppsId)
get pointer to existing picture parameter set
Definition: TComSlice.h:1647
Void createHrdParamBuffer()
Definition: TComSlice.h:462
Void setSliceMode(SliceConstraint mode)
Definition: TComSlice.h:1462
Void setChromaLocInfoPresentFlag(Bool i)
Definition: TComSlice.h:663
Void setMotionVectorsOverPicBoundariesFlag(Bool i)
Definition: TComSlice.h:694
Void setCpbSizeValueMinus1(Int layer, Int cpbcnt, Int nalOrVcl, UInt value)
Definition: TComSlice.h:376
Void setTransferCharacteristics(Int i)
Definition: TComSlice.h:657
Bool isTemporalLayerSwitchingPoint(TComList< TComPic * > &rcListPic)
Definition: TComSlice.cpp:805
UInt m_uiQuadtreeTUMaxDepthInter
Definition: TComSlice.h:751
Bool getCpbDpbDelaysPresentFlag() const
Definition: TComSlice.h:387
Bool fixedPicRateFlag
Definition: TComSlice.h:271
Bool isReferenceNalu() const
Definition: TComSlice.h:1369
Int getNumberOfNegativePictures() const
Definition: TComSlice.h:107
Bool m_aspectRatioInfoPresentFlag
Definition: TComSlice.h:555
Window()
Definition: TComSlice.h:523
Bool m_scalingListPresentFlag
Definition: TComSlice.h:784
SliceType getEncCABACTableIdx() const
Definition: TComSlice.h:1525
const TComVUI * getVuiParameters() const
Definition: TComSlice.h:940
Void setLoopFilterAcrossSlicesEnabledFlag(Bool bValue)
Definition: TComSlice.h:1168
Bool getUseAMP() const
Definition: TComSlice.h:858
Void setBitRateScale(UInt value)
Definition: TComSlice.h:341
Bool getDependentSliceSegmentsEnabledFlag() const
Definition: TComSlice.h:1125
Int getQpOffset(ComponentID compID) const
Definition: TComSlice.h:1073
Tier
Definition: TypeDef.h:629
const TComScalingList & getScalingList() const
Definition: TComSlice.h:1161
Void setTMVPFlagsPresent(Bool b)
Definition: TComSlice.h:876
TComPic * m_pcPic
Definition: TComSlice.h:1247
transform and quantization class
Definition: TComTrQuant.h:98
static Int getWinUnitX(Int chromaFormatIdc)
Definition: TComSlice.h:817
Void setRefMatrixId(UInt sizeId, UInt listId, UInt u)
set reference matrix ID
Definition: TComSlice.h:159
Bool m_videoSignalTypePresentFlag
Definition: TComSlice.h:561
Int getNumRefIdc() const
Definition: TComSlice.h:120
UInt m_numUnitsInTick
Definition: TComSlice.h:393
Void setNumRefIdxL0DefaultActive(UInt ui)
Definition: TComSlice.h:1097
UInt getDuBitRateValueMinus1(Int layer, Int cpbcnt, Int nalOrVcl) const
Definition: TComSlice.h:381
UInt m_tickDivisorMinus2
Definition: TComSlice.h:289
Void createRPSList(Int numRPS)
Definition: TComSlice.cpp:1619
Void setDeblockingFilterControlPresentFlag(Bool val)
Definition: TComSlice.h:1148
Void setFixedPicRateWithinCvsFlag(Int layer, Bool flag)
Definition: TComSlice.h:361
Void setDuBitRateValueMinus1(Int layer, Int cpbcnt, Int nalOrVcl, UInt value)
Definition: TComSlice.h:380
Int m_SPSId
Definition: TComSlice.h:725
Void setTimingInfoPresentFlag(Bool flag)
Definition: TComSlice.h:406
Bool m_nonPackedConstraintFlag
Definition: TComSlice.h:195
Void setSliceArgument(UInt uiArgument)
Definition: TComSlice.h:1464
Int m_deblockingFilterBetaOffsetDiv2
Definition: TComSlice.h:1029
UInt getSliceSegmentCurEndCtuTsAddr() const
Definition: TComSlice.h:1480
UInt getMaxCuChromaQpAdjDepth() const
Definition: TComSlice.h:1079
Int getPOC(Int bufferNum) const
Definition: TComSlice.cpp:1830
Void setLowDelayHrdFlag(Int layer, Bool flag)
Definition: TComSlice.h:367
Void setVideoFormat(Int i)
Definition: TComSlice.h:645
TComPPS * getFirstPPS()
Definition: TComSlice.h:1650
UInt m_pcmLog2MaxSize
Definition: TComSlice.h:754
UInt getBitRateValueMinus1(Int layer, Int cpbcnt, Int nalOrVcl) const
Definition: TComSlice.h:374
UInt getMaxDecPicBuffering(UInt tLayer) const
Definition: TComSlice.h:492
Int m_iBDidx
Definition: TComSlice.h:1213
Bool getSliceHeaderExtensionPresentFlag() const
Definition: TComSlice.h:1170
UInt getRefPicSetIdxL1(UInt idx) const
Definition: TComSlice.h:972
UInt getLog2ParallelMergeLevelMinus2() const
Definition: TComSlice.h:1164
#define MAX_QP_OFFSET_LIST_SIZE
Maximum size of QP offset list is 6 entries.
Definition: TypeDef.h:224
Void setScalingList(TComScalingList *scalingList)
Void setTLayer(UInt uiTLayer)
Definition: TComSlice.h:1435
Bool m_overscanAppropriateFlag
Definition: TComSlice.h:560
Bool getChromaLocInfoPresentFlag() const
Definition: TComSlice.h:662
Int m_winBottomOffset
Definition: TComSlice.h:521
Void setLog2MinCodingBlockSize(Int val)
Definition: TComSlice.h:840
Void setOutputFlagPresentFlag(Bool b)
Definition: TComSlice.h:1113
Bool getCabacInitFlag()
get CABAC initial flag
Definition: TComSlice.h:1515
TComScalingList & getScalingList()
Definition: TComSlice.h:927
Int getNumberOfPictures() const
Definition: TComSlice.cpp:1825
Void setNumExtraSliceHeaderBits(Int i)
Definition: TComSlice.h:1167
Bool m_noOutputPriorPicsFlag
Definition: TComSlice.h:1253
Void setLoopFilterAcrossTilesEnabledFlag(Bool b)
Definition: TComSlice.h:1123
Void getWpScaling(RefPicList e, Int iRefIdx, WPScalingParam *&wp)
get tables for weighted prediction
Definition: TComSlice.cpp:1465
int Int
Definition: TypeDef.h:296
Bool m_bTestWeightBiPred
Definition: TComSlice.h:1282
Window & getConformanceWindow()
Definition: TComSlice.h:826
Void setVuiParametersPresentFlag(Bool b)
Definition: TComSlice.h:938
Bool getBitstreamRestrictionFlag() const
Definition: TComSlice.h:687
Void setSliceSegmentCurStartCtuTsAddr(UInt ctuTsAddr)
Definition: TComSlice.h:1477
UInt m_uiQuadtreeTUMaxDepthIntra
Definition: TComSlice.h:752
NalUnitType m_iAssociatedIRAPType
Definition: TComSlice.h:1209
UInt getPCMBitDepth(ChannelType type) const
Definition: TComSlice.h:915
SliceType m_encCABACTableIdx
Definition: TComSlice.h:1296
Bool m_bFinalized
Definition: TComSlice.h:1279
UInt getQuadtreeTULog2MaxSize() const
Definition: TComSlice.h:861
Void setPicWidthInLumaSamples(UInt u)
Definition: TComSlice.h:821
Bool m_loopFilterAcrossTilesEnabledFlag
Definition: TComSlice.h:1013
UInt duBitRateValue[32][2]
Definition: TComSlice.h:280
UInt getMaxTLayers() const
Definition: TComSlice.h:910
TComSPS * getSPS(Int spsId)
get pointer to existing sequence parameter set
Definition: TComSlice.h:1639
ComponentID
Definition: TypeDef.h:368
Void setAlignCABACBeforeBypass(const Bool value)
Definition: TComSlice.h:905
Bool getUseResidualRotation() const
Definition: TComSlice.h:895
const Double * getLambdas() const
Definition: TComSlice.h:1409
Int getSliceChromaQpDelta(ComponentID compID) const
Definition: TComSlice.h:1346
TComReferencePictureSet m_LocalRPS
Definition: TComSlice.h:1212
Void setMaxCUDepth(UInt u)
Definition: TComSlice.h:848
Int getSliceQp() const
Definition: TComSlice.h:1339
Bool m_noRaslOutputFlag
Definition: TComSlice.h:1254
UInt m_uiMaxTLayers
Definition: TComSlice.h:438
UInt cpbSizeValue[32][2]
Definition: TComSlice.h:277
Void setSubPicCpbParamsPresentFlag(Bool flag)
Definition: TComSlice.h:326
Bool getTileUniformSpacingFlag() const
Definition: TComSlice.h:1133
Void setNumLongTermRefPicSPS(UInt val)
Definition: TComSlice.h:831
TComPTL m_pcPTL
Definition: TComSlice.h:454
Void setTickDivisorMinus2(UInt value)
Definition: TComSlice.h:329
Void setDeltaRIdxMinus1(Int x)
Definition: TComSlice.h:115
NalUnitType
Definition: CommonDef.h:218
virtual ~TComVUI()
Definition: TComSlice.h:621
Int getWindowRightOffset() const
Definition: TComSlice.h:534
Void setLambdas(const Double lambdas[MAX_NUM_COMPONENT])
Definition: TComSlice.h:1408
UInt getCpbCntMinus1(Int layer) const
Definition: TComSlice.h:371
std::vector< Int > m_scalingListCoef[SCALING_LIST_SIZE_NUM][(MAX_NUM_COMPONENT *NUMBER_OF_PREDICTION_MODES)]
quantization matrix
Definition: TComSlice.h:182
Bool getLoopFilterAcrossTilesEnabledFlag() const
Definition: TComSlice.h:1124
Void setPCMLog2MaxSize(UInt u)
Definition: TComSlice.h:852
Bool m_nextSlice
Definition: TComSlice.h:1275
Int getNumberOfLongtermPictures() const
Definition: TComSlice.h:111
Bool getSignHideFlag() const
Definition: TComSlice.h:1144
Bool m_saoEnabledFlag[MAX_NUM_CHANNEL_TYPE]
Definition: TComSlice.h:1203
Bool fixedPicRateWithinCvsFlag
Definition: TComSlice.h:272
UInt getNumReorderPics(UInt tLayer) const
Definition: TComSlice.h:489
UInt getPicDurationInTcMinus1(Int layer) const
Definition: TComSlice.h:365
Bool activatePPS(Int ppsId, Bool isIRAP)
Definition: TComSlice.cpp:2287
Bool m_bSliceChromaQpFlag
Definition: TComSlice.h:985
UInt m_RefPicSetIdxL0[REF_PIC_LIST_NUM_IDX]
Definition: TComSlice.h:956
Bool getDeblockingFilterOverrideFlag() const
Definition: TComSlice.h:1349
Bool getUseCrossComponentPrediction() const
Definition: TComSlice.h:1107
Bool getConstrainedIntraPred() const
Definition: TComSlice.h:1050
Bool m_useCrossComponentPrediction
Definition: TComSlice.h:1004
Void create(Int numberOfEntries)
Definition: TComSlice.h:139
UInt m_dpbOutputDelayDuLengthMinus1
Definition: TComSlice.h:292
UInt m_numOpSets
Definition: TComSlice.h:451
Void setUseChromaQpAdj(Bool b)
Definition: TComSlice.h:1385
Bool m_TMVPFlagsPresent
Definition: TComSlice.h:745
Void setBitDepthConstraint(UInt bitDepth)
Definition: TComSlice.h:233
Void setOverscanAppropriateFlag(Bool i)
Definition: TComSlice.h:639
const ChromaQpAdj & getChromaQpAdjTableAt(Int cuChromaQpOffsetIdxPlus1) const
Definition: TComSlice.h:1083
Void setDeblockingFilterDisable(Bool b)
Definition: TComSlice.h:1386
Int m_aiNumRefIdx[NUM_REF_PIC_LIST_01]
Definition: TComSlice.h:1228
UInt ducpbSizeValue[32][2]
Definition: TComSlice.h:278
VPS class.
Definition: TComSlice.h:269
double Double
Definition: TypeDef.h:298
UInt getColRefIdx() const
Definition: TComSlice.h:1359
Bool getInterRPSPrediction() const
Definition: TComSlice.h:114
UInt m_uiMaxLatencyIncrease[7]
Definition: TComSlice.h:444
Bool m_scalingListPresentFlag
Definition: TComSlice.h:1031
Void setDeblockingFilterOverrideEnabledFlag(Bool val)
Definition: TComSlice.h:1150
Bool m_enableTMVPFlag
Definition: TComSlice.h:1294
Void setDeblockingFilterTcOffsetDiv2(Int val)
set tc offset for deblocking filter
Definition: TComSlice.h:1156
static Int m_prevTid0POC
Definition: TComSlice.h:1210
Void setConstrainedIntraPred(Bool b)
Definition: TComSlice.h:1051
Void setUseGolombRiceParameterAdaptation(const Bool value)
Definition: TComSlice.h:902
UInt getQuadtreeTUMaxDepthInter() const
Definition: TComSlice.h:866
Int m_chromaSampleLocTypeTopField
Definition: TComSlice.h:569
Bool getOverscanAppropriateFlag() const
Definition: TComSlice.h:638
UInt m_uiMaxDecPicBuffering[7]
Definition: TComSlice.h:443
UInt m_numRefIdxL0DefaultActive
Definition: TComSlice.h:998
Void outputScalingLists(std::ostream &os) const
Definition: TComSlice.cpp:2036
Reference Picture Set class.
Definition: TComSlice.h:65
ChromaFormat m_chromaFormatConstraintValue
Definition: TComSlice.h:198
Bool getDeblockingFilterDisable() const
Definition: TComSlice.h:1348
NalUnitType getNalUnitType() const
Definition: TComSlice.h:1372
Bool activateSPSWithSEI(Int SPSId)
Definition: TComSlice.cpp:2260
UInt m_uiQuadtreeTULog2MaxSize
Definition: TComSlice.h:749
Void setFinalized(Bool uiVal)
Definition: TComSlice.h:1485
slice header class
Definition: TComSlice.h:1198
Void setWindow(Int offsetLeft, Int offsetLRight, Int offsetLTop, Int offsetLBottom)
Definition: TComSlice.h:541
virtual ~TComSlice()
Definition: TComSlice.cpp:150
Bool isIRAP() const
Definition: TComSlice.h:1375
UInt getTLayer() const
Definition: TComSlice.h:1434
Bool m_usePCM
Definition: TComSlice.h:753
Int getPrevTid0POC() const
Definition: TComSlice.h:1329
Void setNumRefIdx(RefPicList e, Int i)
Definition: TComSlice.h:1393
const TComHRD * getHrdParameters() const
Definition: TComSlice.h:715
TComHRD * getHrdParameters(UInt i)
Definition: TComSlice.h:469
Bool getWPBiPred() const
Definition: TComSlice.h:1103
Void setSignHideFlag(Bool signHideFlag)
Definition: TComSlice.h:1143
const TComScalingList & getScalingList() const
Definition: TComSlice.h:928
Window m_conformanceWindow
Definition: TComSlice.h:741
Bool m_ChromaQpAdjEnabled
Definition: TComSlice.h:1222
Void setSPS(const TComSPS *pcSPS)
Definition: TComSlice.h:1305
static Void sortPicList(TComList< TComPic * > &rcListPic)
Definition: TComSlice.cpp:193
UInt m_sliceCurEndCtuTsAddr
Definition: TComSlice.h:1269
Int getVPSId() const
Definition: TComSlice.h:476
Void setPicOutputFlag(Bool b)
Definition: TComSlice.h:1319
Int m_maxBitsPerMinCuDenom
Definition: TComSlice.h:582
const TComReferencePictureSet * getReferencePictureSet(Int referencePictureSetNum) const
Definition: TComSlice.h:144
Void setBitDepth(ChannelType type, Int u)
Definition: TComSlice.h:883
ChromaFormat m_chromaFormatIdc
Definition: TComSlice.h:727
UInt m_sliceSegmentArgument
Definition: TComSlice.h:1272
Int getDeblockingFilterTcOffsetDiv2() const
get tc offset for deblocking filter
Definition: TComSlice.h:1157
Void setMvdL1ZeroFlag(Bool b)
Definition: TComSlice.h:1402
Bool getIntraConstraintFlag() const
Definition: TComSlice.h:238
Void initSlice()
Definition: TComSlice.cpp:155
Void setDefaultScalingList()
Definition: TComSlice.cpp:1946
Bool m_useResidualDPCM[NUMBER_OF_RDPCM_SIGNALLING_MODES]
Definition: TComSlice.h:767
UInt m_uiMaxLatencyIncrease[7]
Definition: TComSlice.h:787
Void setTemporalNestingFlag(Bool t)
Definition: TComSlice.h:486
Bool getDeltaPocMSBPresentFlag(Int i) const
Definition: TComSlice.h:92
Void setReferenced(Bool b)
Definition: TComSlice.h:1367
Bool getChangedFlag(Int psId) const
Definition: TComSlice.h:1597
Void setNeutralChromaIndicationFlag(Bool i)
Definition: TComSlice.h:672
Void setSliceQp(Int i)
Definition: TComSlice.h:1379
Bool m_entropyCodingSyncEnabledFlag
Indicates the presence of wavefronts.
Definition: TComSlice.h:1011
TComPic * getRefPic(RefPicList e, Int iRefIdx)
Definition: TComSlice.h:1355
Bool m_chromaLocInfoPresentFlag
Definition: TComSlice.h:568
Void setSubLayerLevelPresentFlag(Int i, Bool x)
Definition: TComSlice.h:259
UInt getNumUnitsInTick() const
Definition: TComSlice.h:410
Bool getCheckLDC() const
Definition: TComSlice.h:1363
Bool m_subPicCpbParamsPresentFlag
Definition: TComSlice.h:288
UInt m_initialCpbRemovalDelayLengthMinus1
Definition: TComSlice.h:296
Int checkThatAllRefPicsAreAvailable(TComList< TComPic * > &rcListPic, const TComReferencePictureSet *pReferencePictureSet, Bool printErrors, Int pocRandomAccess=0, Bool bUseRecoveryPoint=false)
Definition: TComSlice.cpp:1094
UInt getDuCpbSizeScale() const
Definition: TComSlice.h:347
SliceConstraint m_sliceMode
Definition: TComSlice.h:1266
Int getChromaSampleLocTypeTopField() const
Definition: TComSlice.h:665
TComPTL m_pcPTL
Definition: TComSlice.h:796
Bool getDeblockingFilterOverrideEnabledFlag() const
Definition: TComSlice.h:1151
UInt m_RefPicSetIdxL1[REF_PIC_LIST_NUM_IDX]
Definition: TComSlice.h:957
Void setTemporalIdNestingFlag(Bool bValue)
Definition: TComSlice.h:914
Void setMaxOpSets(UInt v)
Definition: TComSlice.h:504
UInt getRefMatrixId(UInt sizeId, UInt listId) const
get reference matrix ID
Definition: TComSlice.h:160
NalUnitType m_eNalUnitType
Nal unit type for the slice.
Definition: TComSlice.h:1215
Bool m_bTemporalIdNestingFlag
Definition: TComSlice.h:440
TComRPSList * getRPSList()
Definition: TComSlice.h:872
TComReferencePictureSet * getLocalRPS()
Definition: TComSlice.h:1325
TComHRD * getHrdParameters()
Definition: TComSlice.h:714
Bool getVuiParametersPresentFlag() const
Definition: TComSlice.h:937
Void setNumberOfLongtermPictures(Int number)
Definition: TComSlice.h:110
Void setInitialCpbRemovalDelayLengthMinus1(UInt value)
Definition: TComSlice.h:349
UInt m_maxNuhReservedZeroLayerId
Definition: TComSlice.h:447
UInt m_sliceSegmentCurEndCtuTsAddr
Definition: TComSlice.h:1274
UInt getSliceCurEndCtuTsAddr() const
Definition: TComSlice.h:1469
Bool m_bConstrainedIntraPred
Definition: TComSlice.h:984
Void setUseTransformSkip(Bool b)
Definition: TComSlice.h:1119
UInt getNumDU() const
Definition: TComSlice.h:386
static Bool isLuma(const ComponentID id)
Void setPicInitQPMinus26(Int i)
Definition: TComSlice.h:1047
Void setSarWidth(Int i)
Definition: TComSlice.h:630
Int getNumReorderPics(UInt tlayer) const
Definition: TComSlice.h:869
Void setNumRefIdc(Int x)
Definition: TComSlice.h:119
UInt getRefPicSetIdxL0(UInt idx) const
Definition: TComSlice.h:970
UInt getMaxCUWidth() const
Definition: TComSlice.h:845
Bool m_sliceHeaderExtensionPresentFlag
Definition: TComSlice.h:1024
Bool getOutputFlagPresentFlag() const
Definition: TComSlice.h:1114
UInt getBitRateScale() const
Definition: TComSlice.h:342
Void setSliceHeaderExtensionPresentFlag(Bool val)
Definition: TComSlice.h:1171
UInt picDurationInTcMinus1
Definition: TComSlice.h:273
const TComVPS * m_pcVPS
Definition: TComSlice.h:1244
const TComSPS * getSPS() const
Definition: TComSlice.h:1306
SPS class.
Definition: TComSlice.h:722
Int CbOffset
Definition: TComSlice.h:427
TComReferencePictureSet * getRPS()
Definition: TComSlice.h:1324
struct ChromaQpAdj::@2::@3 comp
const TimingInfo * getTimingInfo() const
Definition: TComSlice.h:511
Bool m_colFromL0Flag
Definition: TComSlice.h:1251
UInt getTickDivisorMinus2() const
Definition: TComSlice.h:330
Int m_log2MaxMvLengthVertical
Definition: TComSlice.h:584