45 assert (seiActiveParameterSets!=
NULL);
60 assert (seiFramePacking!=
NULL);
86 assert (seiSegmentedRectFramePacking!=
NULL);
96 assert (seiDisplayOrientation!=
NULL);
99 seiDisplayOrientation->
horFlip =
false;
100 seiDisplayOrientation->
verFlip =
false;
107 assert (seiToneMappingInfo!=
NULL);
141 for(
Int i=0; i<num;i++)
155 if(ptmpcoded&&ptmptarget)
188 assert(!
"Undefined SEIToneMapModelId");
197 assert (sopDescriptionSEI !=
NULL);
198 assert (slice !=
NULL);
204 Int prevEntryId = picInGOP;
205 for (
Int j = picInGOP; j < currGOPSize; j++)
210 sopCurrPOC += deltaPOC;
227 assert (bufferingPeriodSEI !=
NULL);
228 assert (slice !=
NULL);
230 UInt uiInitialCpbRemovalDelay = (90000/2);
238 UInt uiTmp = (
UInt)( dTmp * 90000.0 );
239 uiInitialCpbRemovalDelay -= uiTmp;
261 assert (scalableNestingSEI !=
NULL);
272 for (SEIMessages::iterator it=nestedSEIs.begin(); it!=nestedSEIs.end(); it++)
281 assert (recoveryPointSEI !=
NULL);
282 assert (slice !=
NULL);
293 assert (decodedPictureHashSEI!=
NULL);
294 assert (pcPic!=
NULL);
324 assert (temporalLevel0IndexSEI!=
NULL);
325 assert (slice!=
NULL);
385 assert(!
"Tile is not enabled");
392 assert (seiKneeFunctionInfo!=
NULL);
420 assert(seiContentColourVolume !=
NULL);
455 #if ERP_SR_OV_SEI_MESSAGE
459 assert (seiEquirectangularProjection!=
NULL);
478 assert (seiSphereRotation!=
NULL);
493 assert (seiOmniViewport!=
NULL);
520 assert(seiCubemapProjection !=
NULL);
530 assert (seiRegionWisePacking!=
NULL);
574 for(
Int j=0; j < 4; j++ )
583 template <
typename T>
597 while ((c=is.get())!=EOF && isspace(c));
602 while ((c=is.get())!=EOF && (c!=10 && c!=13));
604 while ((c=is.get())!=EOF && isspace(c));
607 failed=(c!=pToken[0]);
610 for(pos=1;!failed && pToken[pos]!=0 && is.get()==pToken[pos]; pos++);
611 failed|=(pToken[pos]!=0);
613 while (!failed && (c=is.get())!=EOF && isspace(c));
623 failed=(c!=EOF && !isspace(c));
628 std::cerr <<
"Unable to read token '" << pToken <<
"'\n";
632 template <
typename T>
637 const T &minInclusive,
638 const T &maxInclusive)
643 if (returnedValue<minInclusive || returnedValue>maxInclusive)
646 std::cerr <<
"Value for token " << pToken <<
" must be in the range " << minInclusive <<
" to " << maxInclusive <<
" (inclusive); value read: " << returnedValue << std::endl;
661 template <
typename T>
666 const UInt &numValues)
668 returnedValue=std::vector<T>();
676 while ((c=is.get())!=EOF && isspace(c));
681 while ((c=is.get())!=EOF && (c!=10 && c!=13));
683 while ((c=is.get())!=EOF && isspace(c));
686 failed=(c!=pToken[0]);
689 for(pos=1;!failed && pToken[pos]!=0 && is.get()==pToken[pos]; pos++);
690 failed|=(pToken[pos]!=0);
692 while (!failed && (c=is.get())!=EOF && isspace(c));
695 for(
UInt i = 0; i < numValues; i++)
699 is >> returnedValue[i];
704 failed=(c!=EOF && !isspace(c));
709 std::cerr <<
"Unable to read token '" << pToken <<
"[" << i <<
"]'\n";
714 template <
typename T>
719 const T &minInclusive,
720 const T &maxInclusive,
721 const UInt &numValues)
723 readTokenValue<Int>(returnedValue, failed, is, pToken, numValues);
726 for(
UInt i = 0; i < numValues; i++)
728 if (returnedValue[i]<minInclusive || returnedValue[i]>maxInclusive)
731 std::cerr <<
"Value for token " << pToken <<
"[" << i <<
"] must be in the range " << minInclusive <<
" to " << maxInclusive <<
" (inclusive); value read: " << returnedValue[i] << std::endl;
741 assert (seiColourRemappingInfo!=
NULL);
751 std::stringstream suffix;
752 suffix <<
"_" << currPOC <<
".txt";
753 colourRemapSEIFileWithPoc+=suffix.str();
756 std::ifstream fic(colourRemapSEIFileWithPoc.c_str());
757 if (!fic.good() || !fic.is_open())
759 std::cerr <<
"No Colour Remapping Information SEI parameters file " << colourRemapSEIFileWithPoc <<
" for POC " << currPOC << std::endl;
786 for(
Int c=0 ; c<3 ; c++ )
803 for(
Int c=0 ; c<3 ; c++ )
805 for(
Int i=0 ; i<3 ; i++ )
811 for(
Int c=0 ; c<3 ; c++ )
829 std::cerr <<
"Error while reading Colour Remapping Information SEI parameters file '" << colourRemapSEIFileWithPoc <<
"'" << std::endl;
840 Int offLeft, offRight, offTop, offBottom;
841 fic >> regionId >> offLeft >> offRight >> offTop >> offBottom;
842 (*regionIter).setRegionId(regionId);
843 (*regionIter).setWindow(offLeft, offRight, offTop, offBottom);
847 readTokenValueAndValidate<UInt>(seiColourRemappingInfo->
m_colourRemapId, failed, fic,
"colour_remap_id",
UInt(0),
UInt(0x7fffffff) );
866 for(
Int c=0 ; c<3 ; c++ )
883 for(
Int c=0 ; c<3 ; c++ )
885 for(
Int i=0 ; i<3 ; i++ )
891 for(
Int c=0 ; c<3 ; c++ )
937 Int horFilType, verFilType;
940 if(horFilType == 1 || verFilType == 1)
942 cout <<
"Encoder support needed for scanning additional syntax elements of chroma resampling filter hint SEI message.\n";
943 cout <<
"Addn. code needed in readChromaResamplingFilterHintSEI() and initSEIChromaResamplingFilterHint().\n";
1004 assert (seiRegionalNesting!=
NULL);
1016 std::stringstream suffix;
1017 suffix <<
"_" << currPOC <<
".txt";
1018 regionalNestingSEIFileWithPoc+=suffix.str();
1021 std::ifstream fic(regionalNestingSEIFileWithPoc.c_str());
1022 if (!fic.good() || !fic.is_open())
1024 std::cerr <<
"No Regional Nesting Information SEI parameters file " << regionalNestingSEIFileWithPoc <<
" for POC " << currPOC << std::endl;
1028 Int payloadType, numSEIs;
1031 for(
Int i = 0; i < numSEIs; i++)
1036 regions.resize(numRegions);
1037 RNSEIWindowVec::iterator regionIter;
1038 for(regionIter = regions.begin(); regionIter != regions.end(); regionIter++)
1046 cout <<
"PayloadType " << payloadType <<
" not supported in regional nesting SEI message. Exiting.\n";
1059 " nested in regional nesting SEI message needs to be added.\n";
1066 regSEI =
new RegionalSEI(seiToneMappingInfo, regions);
1073 regSEI =
new RegionalSEI(seiChromaResamplingFilterHint, regions);
1080 regSEI =
new RegionalSEI(seiKneeFunctionInfo, regions);
1087 regSEI =
new RegionalSEI(seiColourRemappingInfo, regions);
1094 regSEI =
new RegionalSEI(seiContentColourVolume, regions);
1098 cout <<
"Unable to read the payloadType " << payloadType <<
" in " << regionalNestingSEIFileWithPoc << std::endl;
1103 std::cerr <<
"Error while reading regional nesting SEI parameters file '" << regionalNestingSEIFileWithPoc <<
"'" << std::endl;
1125 assert (seiChromaResamplingFilterHint!=
NULL);
1136 const Int numVerticalFilters = 3;
1137 const Int verTapLengthMinus1[] = {5,3,3};
1139 seiChromaResamplingFilterHint->
m_verFilterCoeff.resize(numVerticalFilters);
1140 for(
Int i = 0; i < numVerticalFilters; i ++)
1142 seiChromaResamplingFilterHint->
m_verFilterCoeff[i].resize(verTapLengthMinus1[i]+1);
1169 Int const numHorizontalFilters = 1;
1170 const Int horTapLengthMinus1[] = {3};
1172 seiChromaResamplingFilterHint->
m_horFilterCoeff.resize(numHorizontalFilters);
1173 for(
Int i = 0; i < numHorizontalFilters; i ++)
1175 seiChromaResamplingFilterHint->
m_horFilterCoeff[i].resize(horTapLengthMinus1[i]+1);
1190 assert (seiTimeCode!=
NULL);
1202 assert (seiAltTransCharacteristics!=
NULL);
1210 assert (seiGreenMetadataInfo!=
NULL);
Void readColourRemapSEI(std::istream &fic, SEIColourRemappingInfo *seiColorRemappingInfo, Bool &failed)
Bool getErpSEICancelFlag()
Int getNumTileRowsMinus1() const
std::vector< UShort > m_packedRegionLeft
static Void readTokenValue(T &returnedValue, Bool &failed, std::istream &is, const TChar *pToken)
token string
Int m_postLutNumValMinus1[3]
Bool m_currentFrameIsFrame0Flag
Int getTMISEINominalWhiteLevelLumaCodeValue()
std::vector< UChar > m_rwpTopGuardBandHeight
Int getDisplayOrientationSEIAngle()
UInt getOmniViewportSEICntMinus1()
Bool m_selfContainedCvsFlag
Bool m_exposureCompensationValueSignFlag
std::vector< UShort > m_packedRegionWidth
UInt m_sopDescVclNaluType[MAX_NUM_PICS_IN_SOP]
Bool m_max_mcs_tier_level_idc_present_flag
UInt m_sopDescStRpsIdx[MAX_NUM_PICS_IN_SOP]
Int m_frame1GridPositionX
UInt getOmniViewportSEIHorRange(Int idx)
std::vector< Bool > m_rwpGuardBandFlag
Void setNumberOfTileRects(const Int number)
Bool m_constituentPictureMatchingFlag
Bool getErpSEIPersistenceFlag()
Double getCcvSEIPrimariesY(Int index)
NalUnitType getNalUnitType(Int pocCurr, Int lastIdr, Bool isField)
Int m_contentInterpretationType
Int getNumTileColumnsMinus1() const
GOP encoder class (header)
Double getCcvSEIMinLuminanceValue()
Int getRwpSEIPackedPictureHeight()
Bool getCcvSEIAvgLuminanceValuePresentFlag()
UInt m_initialCpbRemovalDelay[MAX_CPB_CNT][2]
Bool m_frame1SelfContainedFlag
picture class (symbol + YUV buffers)
Void initSEISOPDescription(SEISOPDescription *sei, TComSlice *slice, Int picInGOP, Int lastIdr, Int currGOPSize)
Defines version information, constants and small in-line functions.
Bool getSphereRotationSEIPersistenceFlag()
Int m_ccvPrimariesY[MAX_NUM_COMPONENT]
Int m_exposureCompensationValueNumerator
std::vector< Int > m_targetPivotValue
UInt calcChecksum(const TComPicYuv &pic, TComPictureHash &digest, const BitDepths &bitDepths)
UShort getRwpSEIPackedRegionWidth(UInt idx) const
Void initSEICubemapProjection(SEICubemapProjection *sei)
Bool m_arrangementPersistenceFlag
UInt getTimeScale() const
UInt getOmniViewportSEIId()
const TEncSEIKneeFunctionInformation & getKneeFunctionInformationSEI() const
Int m_colourRemapMatrixCoefficients
Int getSegmentedRectFramePackingArrangementSEIType()
Bool m_kneePersistenceFlag
Int getTMISEICodedDataBitDepth()
std::vector< Int > m_kneeOutputKneePoint
Int getNumberOfTileRects() const
std::vector< Int > m_kneeInputKneePoint
Bool getCcvSEICancelFlag()
UInt getOmniViewportSEIVerRange(Int idx)
Bool m_rapCpbParamsPresentFlag
Int m_frame0GridPositionX
Void readRNSEIWindow(std::istream &fic, RNSEIWindowVec::iterator regionIter, Bool &failed)
Int getRwpSEIProjPictureHeight()
UInt getRwpSEIProjRegionHeight(UInt idx) const
Int getTMISEISigmoidMidpoint()
Bool m_colourRemapVideoSignalInfoPresentFlag
std::vector< Bool > m_rwpGuardBandNotUsedForPredFlag
Bool m_frame0SelfContainedFlag
Int getSphereRotationSEIYaw()
Bool m_ccvAvgLuminanceValuePresentFlag
Bool m_arrangementCancelFlag
UChar getSEIXSDMetricType() const
Bool m_ccvPersistenceFlag
TileSetData & tileSetData(const Int index)
std::vector< UInt > m_projRegionWidth
Bool getRwpSEIRwpPersistenceFlag()
std::vector< UInt > m_projRegionHeight
Bool m_cmpPersistenceFlag
Int getNumberOfTimesets()
Void initSEIRegionWisePacking(SEIRegionWisePacking *sei)
Bool m_sphereRotationPersistenceFlag
Void readContentColourVolumeSEI(std::istream &fic, SEIContentColourVolume *seiContentColourVolume, Bool &failed)
Int getTMISEIExposurIndexValue()
Int getTMISEIRefScreenLuminanceWhite()
UChar getRwpSEIRwpRightGuardBandWidth(UInt idx) const
UInt m_ccvAvgLuminanceValue
Int getRwpSEIProjPictureWidth()
Int m_nominalBlackLevelLumaCodeValue
std::vector< Int > activeSeqParameterSetId
Void initSEITimeCode(SEITimeCode *sei)
static const TChar * getSEIMessageString(SEI::PayloadType payloadType)
Bool getRwpSEIConstituentPictureMatchingFlag()
UChar getRwpSEIRwpBottomGuardBandHeight(UInt idx) const
TComVUI * getVuiParameters()
Bool m_mcts_tier_level_idc_present_flag
Bool getCmpSEICmpCancelFlag()
Bool getTilesEnabledFlag() const
std::vector< UChar > m_rwpRightGuardBandWidth
UInt calcMD5(const TComPicYuv &pic, TComPictureHash &digest, const BitDepths &bitDepths)
Bool m_colourRemapCancelFlag
Bool m_colourRemapMatrixPresentFlag
TComPicYuv * getPicYuvRec()
std::vector< CRIlut > m_postLut[3]
std::vector< OmniViewport > m_omniViewportRegions
Bool m_limited_tile_set_display_flag
Bool m_perfectReconstructionFlag
Bool m_colourRemapFullRangeFlag
Int m_contentInterpretationType
std::vector< UInt > m_rwpProjRegionTop
Int getTMISEICameraIsoSpeedIdc()
UInt m_sopDescTemporalId[MAX_NUM_PICS_IN_SOP]
const std::string & getRegionalNestingSEIFileRoot() const
Bool getSphereRotationSEICancelFlag()
UInt getErpSEILeftGuardBandWidth()
std::vector< UShort > m_packedRegionTop
Void initSEIChromaResamplingFilterHint(SEIChromaResamplingFilterHint *sei, Int iHorFilterIndex, Int iVerFilterIndex)
Int m_frame1GridPositionY
Int * getTMISEICodedPivotValue()
Int m_kneeInputDispLuminance
Void readKneeFunctionInfoSEI(std::istream &fic, SEIKneeFunctionInfo *seiKneeFunctionInfo, Bool &failed)
UShort getRwpSEIPackedRegionHeight(UInt idx) const
Bool getRwpSEIRwpGuardBandNotUsedForPredFlag(UInt idx) const
Int getReferencePictureSetIdxForSOP(Int POCCurr, Int GOPid)
HashType getDecodedPictureHashSEIType() const
std::vector< Int > m_startOfCodedInterval
Int getOmniViewportSEIElevationCentre(Int idx)
TComSEITimeSet timeSetArray[MAX_TIMECODE_SEI_SETS]
Int getTMISEIExtendedWhiteLevelLumaCodeValue()
UChar getSEIGreenMetadataType() const
UInt m_numPicsInSopMinus1
Bool m_ccvMaxLuminanceValuePresentFlag
Int m_colourRemapCoeffs[3][3]
Bool m_verFilteringFieldProcessingFlag
Bool m_ccvPrimariesPresentFlag
Void initSEIKneeFunctionInfo(SEIKneeFunctionInfo *sei)
UInt getRwpSEIProjRegionLeft(UInt idx) const
TComPictureHash m_pictureHash
Int getRwpSEINumPackedRegions()
Void initSEIFramePacking(SEIFramePacking *sei, Int currPicNum)
const std::string & getColourRemapInfoSEIFileRoot() const
Void initSEISphereRotation(SEISphereRotation *sei)
std::vector< UChar > m_rwpLeftGuardBandWidth
Int m_nominalWhiteLevelLumaCodeValue
Void initSEIGreenMetadataInfo(SEIGreenMetadataInfo *sei, UInt u)
Int getSphereRotationSEIRoll()
std::vector< UChar > m_rwpBottomGuardBandHeight
Bool getTMISEIExposureCompensationValueSignFlag()
Void initSEIErp(SEIEquirectangularProjection *sei)
Bool getTMISEIToneMapPersistenceFlag()
std::vector< CRIlut > m_preLut[3]
Bool m_quincunxSamplingFlag
Void initSEIContentColourVolume(SEIContentColourVolume *sei)
UInt m_nestingNumOpsMinus1
Bool getRwpSEIRwpCancelFlag()
Int & bottomRightTileIndex(const Int tileRectIndex)
UShort getRwpSEIPackedRegionLeft(UInt idx) const
Void initTemporalLevel0IndexSEI(SEITemporalLevel0Index *sei, TComSlice *slice)
UInt m_initialAltCpbRemovalDelayOffset[MAX_CPB_CNT][2]
std::vector< std::vector< Int > > m_horFilterCoeff
Void readChromaResamplingFilterHintSEI(std::istream &fic, SEIChromaResamplingFilterHint *seiChromaResamplingFilterHint, Bool &failed)
Bool getOmniViewportSEICancelFlag()
Bool m_omniViewportPersistenceFlag
Int getFramePackingArrangementSEIId()
std::vector< UShort > m_packedRegionHeight
Bool m_exact_sample_value_match_flag
Int m_preLutNumValMinus1[3]
UInt m_auCpbRemovalDelayDelta
Int getTMISEIExposurIndexIdc()
Bool m_erpPersistenceFlag
Bool getCcvSEIPersistenceFlag()
UChar getRwpSEIRwpGuardBandType(UInt idx) const
std::vector< std::vector< Int > > m_verFilterCoeff
Bool getErpSEIGuardBandFlag()
Bool m_arrangementCancelFlag
Int getTMISEIExposureCompensationValueNumerator()
Int getSphereRotationSEIPitch()
UInt m_nestingNoOpMaxTemporalIdPlus1
Int m_colourRemapInputBitDepth
Int m_ccvPrimariesX[MAX_NUM_COMPONENT]
Int m_extendedWhiteLevelLumaCodeValue
Void readToneMappingInfoSEI(std::istream &fic, SEIToneMappingInfo *seiToneMappingInfo, Bool &failed)
UInt m_initialCpbRemovalDelayOffset[MAX_CPB_CNT][2]
Bool initSEIColourRemappingInfo(SEIColourRemappingInfo *sei, Int currPOC)
Double getCcvSEIAvgLuminanceValue()
Bool getRwpSEIRwpGuardBandFlag(UInt idx) const
std::vector< UChar > m_rwpTransformType
Int getNumberOfTileSets() const
UInt anticlockwiseRotation
UInt getRwpSEIProjRegionWidth(UInt idx) const
UInt m_ccvMinLuminanceValue
Bool m_spatialFlippingFlag
Int getOmniViewportSEIAzimuthCentre(Int idx)
TComSEITimeSet & getTimeSet(Int index)
Void setNumberOfTileSets(const Int number)
Int getSegmentedRectFramePackingArrangementSEIPersistence()
TimingInfo * getTimingInfo()
Bool getCmpSEICmpPersistenceFlag()
Int getFramesToBeEncoded()
const GOPEntry & getGOPEntry(Int i) const
Void initSEIAlternativeTransferCharacteristics(SEIAlternativeTransferCharacteristics *sei)
Int getFramePackingArrangementSEIQuincunx()
Bool getTMCTSSEITileConstraint()
Bool getTMISEIToneMapCancelFlag()
std::vector< RNSEIWindow > RNSEIWindowVec
Double getCcvSEIPrimariesX(Int index)
Bool m_omniViewportCancelFlag
UChar getRwpSEIRwpTransformType(UInt idx) const
UChar m_omniViewportCntMinus1
Void initSEIBufferingPeriod(SEIBufferingPeriod *sei, TComSlice *slice)
Int * getTMISEIStartOfCodedInterva()
UInt m_initialAltCpbRemovalDelay[MAX_CPB_CNT][2]
Int m_colourRemapPrimaries
UShort getRwpSEIPackedRegionTop(UInt idx) const
Bool getCcvSEIMinLuminanceValuePresentFlag()
Int m_exposureCompensationValueDenomIdc
Bool m_sphereRotationCancelFlag
Int & topLeftTileIndex(const Int tileRectIndex)
UInt getErpSEIGuardBandType()
Int getFramePackingArrangementSEIInterpretation()
std::vector< Int > m_codedPivotValue
Int m_kneeOutputDispLuminance
Int * getTMISEITargetPivotValue()
std::list< SEI * > SEIMessages
Int m_sopDescPocDelta[MAX_NUM_PICS_IN_SOP]
std::vector< UInt > m_projRegionLeft
UChar getRwpSEIRwpTopGuardBandHeight(UInt idx) const
static Bool checkRegionalNestedSEIPayloadType(SEI::PayloadType const payloadType)
Int m_extendedRangeWhiteLevel
UInt m_nestingNumLayersMinus1
Void addRegionalSEI(std::vector< UInt > listInd, SEI *sei)
Bool m_mc_all_tiles_exact_sample_value_match_flag
UInt m_preferredTransferCharacteristics
UChar getSEIPreferredTransferCharacteristics() const
Int getTMISEIExtendedRangeWhiteLevel()
Int getTMISEISigmoidWidth()
Int m_sphereRotationPitch
Int getSegmentedRectFramePackingArrangementSEICancel()
UChar getRwpSEIRwpLeftGuardBandWidth(UInt idx) const
Bool getRapPicFlag() const
Int getTMISEIExposureCompensationValueDenomIdc()
Int m_refScreenLuminanceWhite
Bool m_toneMapPersistenceFlag
Bool m_colourRemapPersistenceFlag
Bool getCcvSEIMaxLuminanceValuePresentFlag()
Int getOmniViewportSEITiltCentre(Int idx)
Int m_kneeNumKneePointsMinus1
Int getTMISEICameraIsoSpeedValue()
Void initSEITempMotionConstrainedTileSets(SEITempMotionConstrainedTileSets *sei, const TComPPS *pps)
Int m_frame0GridPositionY
Void initSEIActiveParameterSets(SEIActiveParameterSets *sei, const TComVPS *vps, const TComSPS *sps)
std::vector< UChar > m_rwpGuardBandType
Void initSEISegmentedRectFramePacking(SEISegmentedRectFramePacking *sei)
UInt m_ccvMaxLuminanceValue
Int m_cameraIsoSpeedValue
std::string hashToString(const TComPictureHash &digest, Int numChar)
Bool m_noParameterSetUpdateFlag
Int getFramePackingArrangementSEIType()
UInt getErpSEIRightGuardBandWidth()
Bool m_upsampledAspectRatio
UChar m_nestingLayerId[MAX_NESTING_NUM_LAYER]
Int m_colourRemapBitDepth
Int m_arrangementReservedByte
Double getCcvSEIMaxLuminanceValue()
Int m_packedPictureHeight
Bool m_rwpPersistenceFlag
Void initDecodedPictureHashSEI(SEIDecodedPictureHash *sei, TComPic *pcPic, std::string &rHashString, const BitDepths &bitDepths)
calculate hashes for entire reconstructed picture
Bool getCcvSEIPrimariesPresentFlag()
Bool initSEIRegionalNesting(SEIRegionalNesting *sei, Int currPOC)
UInt getNumUnitsInTick() const
UChar m_erpLeftGuardBandWidth
Void initSEIOmniViewport(SEIOmniViewport *sei)
Bool m_bitStreamSubsetFlag
Void initSEIToneMappingInfo(SEIToneMappingInfo *sei)
Int getRwpSEIPackedPictureWidth()
UInt m_sopSeqParameterSetId
Int m_colourRemapTransferFunction
UInt calcCRC(const TComPicYuv &pic, TComPictureHash &digest, const BitDepths &bitDepths)
Bool m_each_tile_one_tile_set_flag
UChar m_erpRightGuardBandWidth
Void initSEIDisplayOrientation(SEIDisplayOrientation *sei)
TComHRD * getHrdParameters()
static Void readTokenValueAndValidate(T &returnedValue, Bool &failed, std::istream &is, const TChar *pToken, const T &minInclusive, const T &maxInclusive)
maximum value allowed, inclusive
Int getTMISEINominalBlackLevelLumaCodeValue()
Int getTMISEITargetBitDepth()
Void initSEIRecoveryPoint(SEIRecoveryPoint *sei, TComSlice *slice)
Void initSEIScalableNesting(SEIScalableNesting *sei, SEIMessages &nestedSEIs)
Bool getOmniViewportSEIPersistenceFlag()
Bool m_ccvMinLuminanceValuePresentFlag
const TComSPS * getSPS() const
UInt getTickDivisorMinus2() const
Bool m_arrangementPersistenceFlag
UInt getRwpSEIRwpSEIProjRegionTop(UInt idx) const