54 Void xTraceSEIHeader()
56 fprintf( g_hTrace,
"=========== SEI message ===========\n");
70 (*pOS) <<
" " << std::setw(55) << pSymbolName <<
": " << ruiCode <<
"\n";
76 READ_CODE(uiLength, ruiCode, pSymbolName);
79 (*pOS) <<
" " << std::setw(55) << pSymbolName <<
": " << ruiCode <<
"\n";
88 (*pOS) <<
" " << std::setw(55) << pSymbolName <<
": " << ruiCode <<
"\n";
97 (*pOS) <<
" " << std::setw(55) << pSymbolName <<
": " << ruiCode <<
"\n";
106 (*pOS) <<
" " << std::setw(55) << pSymbolName <<
": " << (ruiCode?1:0) <<
"\n";
112 if (pDecodedMessageOutputStream)
115 (*pDecodedMessageOutputStream) << std::setfill(
'-') << std::setw(seiMessageHdr.size()) <<
"-" << std::setfill(
' ') <<
"\n" << seiMessageHdr <<
" (" << payloadSize <<
" bytes)"<<
"\n";
161 UInt payloadSize = 0;
190 printf (
"Warning: Found Buffering period SEI message, but no active SPS is available. Ignoring.");
201 printf (
"Warning: Found Picture timing SEI message, but no active SPS is available. Ignoring.");
252 printf (
"Warning: post filter hint SEI message, but no active SPS is available. Ignoring.");
287 printf (
"Warning: Found Decoding unit SEI message, but no active SPS is available. Ignoring.");
369 #if ERP_SR_OV_SEI_MESSAGE
402 for (
UInt i = 0; i < payloadSize; i++)
407 printf (
"Unknown prefix SEI message (payloadType = %d) was found!\n", payloadType);
408 if (pDecodedMessageOutputStream)
410 (*pDecodedMessageOutputStream) <<
"Unknown prefix SEI message (payloadType = " << payloadType <<
") was found!\n";
438 printf (
"Warning: post filter hint SEI message, but no active SPS is available. Ignoring.");
455 for (
UInt i = 0; i < payloadSize; i++)
460 printf (
"Unknown suffix SEI message (payloadType = %d) was found!\n", payloadType);
461 if (pDecodedMessageOutputStream)
463 (*pDecodedMessageOutputStream) <<
"Unknown suffix SEI message (payloadType = " << payloadType <<
") was found!\n";
482 if (payloadBitsRemaining)
484 for (; payloadBitsRemaining > 9; payloadBitsRemaining--)
486 UInt reservedPayloadExtensionData;
487 sei_read_code ( pDecodedMessageOutputStream, 1, reservedPayloadExtensionData,
"reserved_payload_extension_data");
492 Int finalPayloadBits = 0;
493 for (
Int mask = 0xff; finalBits & (mask >> finalPayloadBits); finalPayloadBits++)
499 for (; payloadBitsRemaining > 9 - finalPayloadBits; payloadBitsRemaining--)
501 UInt reservedPayloadExtensionData;
502 sei_read_flag ( 0, reservedPayloadExtensionData,
"reserved_payload_extension_data");
506 sei_read_flag( 0, dummy,
"payload_bit_equal_to_one"); payloadBitsRemaining--;
507 while (payloadBitsRemaining)
509 sei_read_flag( 0, dummy,
"payload_bit_equal_to_zero"); payloadBitsRemaining--;
533 UInt payloadSize = 0;
572 printf (
"Warning: post filter hint SEI message, but no active SPS is available. Ignoring.");
601 for (
UInt i = 0; i < payloadSize; i++)
606 printf (
"Unknown prefix SEI message (payloadType = %d) was found!\n", payloadType);
607 if (pDecodedMessageOutputStream)
609 (*pDecodedMessageOutputStream) <<
"Unknown prefix SEI message (payloadType = " << payloadType <<
") was found!\n";
624 if (payloadBitsRemaining)
626 for (; payloadBitsRemaining > 9; payloadBitsRemaining--)
628 UInt reservedPayloadExtensionData;
629 sei_read_code ( pDecodedMessageOutputStream, 1, reservedPayloadExtensionData,
"reserved_payload_extension_data");
634 Int finalPayloadBits = 0;
635 for (
Int mask = 0xff; finalBits & (mask >> finalPayloadBits); finalPayloadBits++)
641 for (; payloadBitsRemaining > 9 - finalPayloadBits; payloadBitsRemaining--)
643 UInt reservedPayloadExtensionData;
644 sei_read_flag ( 0, reservedPayloadExtensionData,
"reserved_payload_extension_data");
648 sei_read_flag( 0, dummy,
"payload_bit_equal_to_one"); payloadBitsRemaining--;
649 while (payloadBitsRemaining)
651 sei_read_flag( 0, dummy,
"payload_bit_equal_to_zero"); payloadBitsRemaining--;
684 sei_read_flag( pDecodedMessageOutputStream, code,
"concatenation_flag");
689 for( nalOrVcl = 0; nalOrVcl < 2; nalOrVcl ++ )
744 sei_read_uvlc( pDecodedMessageOutputStream, code,
"num_decoding_units_minus1");
746 sei_read_flag( pDecodedMessageOutputStream, code,
"du_common_cpb_removal_delay_flag" );
758 sei_read_uvlc( pDecodedMessageOutputStream, code,
"num_nalus_in_du_minus1[i]");
780 sei_read_uvlc( pDecodedMessageOutputStream, numRegions,
"pan_scan_cnt_minus1" ); numRegions++;
782 for(
UInt region=0; region<numRegions; region++)
805 Bool allBytesWereFF=
true;
806 for(
UInt k=0; k<payloadSize; k++)
810 if (code!=0xff) allBytesWereFF=
false;
812 if (pDecodedMessageOutputStream && !allBytesWereFF)
814 (*pDecodedMessageOutputStream) <<
" not all filler payload bytes were 0xff\n";
824 assert(payloadSize>0);
825 sei_read_code( pDecodedMessageOutputStream, 8, code,
"itu_t_t35_country_code" ); payloadSize--;
828 assert(payloadSize>0);
829 sei_read_code( pDecodedMessageOutputStream, 8, code,
"itu_t_t35_country_code_extension_byte" ); payloadSize--;
839 if (pDecodedMessageOutputStream)
841 (*pDecodedMessageOutputStream) <<
" itu_t_t35 payload size: " << sei.
m_userData.size() <<
"\n";
854 sei_read_code( pDecodedMessageOutputStream, 8, val,
"uuid_iso_iec_11578");
858 sei.
m_userData.resize(payloadSize - ISO_IEC_11578_LEN);
864 if (pDecodedMessageOutputStream)
866 (*pDecodedMessageOutputStream) <<
" User data payload size: " << sei.
m_userData.size() <<
"\n";
955 for(
Int c=0; c<3; c++)
959 for(
Int c=0; c<3; c++)
964 UInt numIntensityIntervals;
965 sei_read_code( pDecodedMessageOutputStream, 8, code,
"num_intensity_intervals_minus1[c]" ); numIntensityIntervals = code+1;
968 for(
UInt interval=0; interval<numIntensityIntervals; interval++)
1039 for(i = 0; i < num; i++)
1085 assert(!
"Undefined SEIToneMapModelId");
1151 sei_read_code(pDecodedMessageOutputStream, 8, code,
"green_metadata_type");
1154 sei_read_code(pDecodedMessageOutputStream, 8, code,
"xsd_metric_type");
1157 sei_read_code(pDecodedMessageOutputStream, 16, code,
"xsd_metric_value");
1208 sei_read_uvlc( pDecodedMessageOutputStream, val,
"decoding_unit_idx");
1234 sei_read_code( pDecodedMessageOutputStream, 8, val,
"temporal_sub_layer_zero_idx" ); sei.
tl0Idx = val;
1245 sei_read_code( pDecodedMessageOutputStream, 8, val,
"hash_type");
1248 const TChar *traceString=
"\0";
1254 default: assert(
false);
break;
1257 if (pDecodedMessageOutputStream)
1259 (*pDecodedMessageOutputStream) <<
" " << std::setw(55) << traceString <<
": " << std::hex << std::setfill(
'0');
1263 for(;bytesRead < payloadSize; bytesRead++)
1267 if (pDecodedMessageOutputStream)
1269 (*pDecodedMessageOutputStream) << std::setw(2) << val;
1273 if (pDecodedMessageOutputStream)
1275 (*pDecodedMessageOutputStream) << std::dec << std::setfill(
' ') <<
"\n";
1316 sei_read_flag( pDecodedMessageOutputStream, code,
"nesting_zero_bit" );
1325 if (pDecodedMessageOutputStream)
1327 (*pDecodedMessageOutputStream) <<
"End of scalable nesting SEI message\n";
1514 UInt numVerticalFilters;
1516 if(numVerticalFilters > 0)
1518 for(
Int i = 0; i < numVerticalFilters; i++)
1520 UInt verTapLengthMinus1;
1521 sei_read_uvlc( pDecodedMessageOutputStream, verTapLengthMinus1,
"ver_tap_length_minus_1"); sei.
m_verFilterCoeff[i].resize(verTapLengthMinus1+1);
1522 for(
Int j = 0; j < (verTapLengthMinus1 + 1); j++)
1531 UInt numHorizontalFilters;
1532 sei_read_uvlc( pDecodedMessageOutputStream, numHorizontalFilters,
"num_horizontal_filters"); sei.
m_horFilterCoeff.resize(numHorizontalFilters);
1533 if(numHorizontalFilters > 0)
1535 for(
Int i = 0; i < numHorizontalFilters; i++)
1537 UInt horTapLengthMinus1;
1538 sei_read_uvlc( pDecodedMessageOutputStream, horTapLengthMinus1,
"hor_tap_length_minus_1"); sei.
m_horFilterCoeff[i].resize(horTapLengthMinus1+1);
1539 for(
Int j = 0; j < (horTapLengthMinus1 + 1); j++)
1618 #if ERP_SR_OV_SEI_MESSAGE
1629 sei_read_code( pDecodedMessageOutputStream, 2, val,
"erp_reserved_zero_2bits" );
1648 sei_read_code ( pDecodedMessageOutputStream, 6, val,
"sphere_rotation_reserved_zero_6bits" );
1666 sei_read_code( pDecodedMessageOutputStream, 4, numRegions,
"omni_viewport_cnt_minus1" ); numRegions++;
1668 for(
UInt region=0; region<numRegions; region++)
1674 sei_read_code( pDecodedMessageOutputStream, 32, code,
"omni_viewport_hor_range" ); viewport.
horRange = code;
1675 sei_read_code( pDecodedMessageOutputStream, 32, code,
"omni_viewport_ver_range" ); viewport.
verRange = code;
1713 sei_read_code( pDecodedMessageOutputStream, 5, val,
"rwp_reserved_zero_5bits" );
1739 sei_read_code( pDecodedMessageOutputStream, 4, val,
"rwp_reserved_zero_4bits" );
1755 sei_read_code( pDecodedMessageOutputStream, 8, val,
"rwp_bottom_guard_band_height" ); sei. m_rwpBottomGuardBandHeight[i] = val;
1757 for(
Int j=0; j < 4; j++ )
1761 sei_read_code( pDecodedMessageOutputStream, 3, val,
"rwp_guard_band_reserved_zero_3bits" );
1790 for(
Int c=0 ; c<3 ; c++ )
1805 sei.
m_preLut[c][0].targetValue = 0;
1815 for (
Int c=0 ; c<3 ; c++ )
1817 for (
Int i=0 ; i<3 ; i++ )
1826 for (
Int c=0 ; c<3 ; c++ )
1828 for (
Int i=0 ; i<3 ; i++ )
1834 for(
Int c=0 ; c<3 ; c++ )
1923 UInt numRegions, numSEIs;
1925 sei_read_code(pDecodedMessageOutputStream, 16, uiCode,
"regional_nesting_id");
1926 sei_read_code(pDecodedMessageOutputStream, 8, uiCode,
"regional_nesting_num_rect_regions"); numRegions = uiCode;
1929 for(
UInt i = 0; i < numRegions; i++)
1932 Int lOffset, rOffset, tOffset, bOffset, regionId;
1933 sei_read_code(pDecodedMessageOutputStream, 8, uiCode,
"regional_nesting_rect_region_id"); regionId = uiCode;
1934 sei_read_code(pDecodedMessageOutputStream, 16, uiCode,
"regional_nesting_rect_left_offset"); lOffset = uiCode;
1935 sei_read_code(pDecodedMessageOutputStream, 16, uiCode,
"regional_nesting_rect_right_offset"); rOffset = uiCode;
1936 sei_read_code(pDecodedMessageOutputStream, 16, uiCode,
"regional_nesting_rect_top_offset"); tOffset = uiCode;
1937 sei_read_code(pDecodedMessageOutputStream, 16, uiCode,
"regional_nesting_rect_bottom_offset"); bOffset = uiCode;
1939 region.
setWindow(lOffset, rOffset, tOffset, bOffset);
1943 sei_read_code(pDecodedMessageOutputStream, 8, uiCode,
"num_sei_messages_in_regional_nesting_minus1"); numSEIs = uiCode + 1;
1944 for(
UInt i = 0; i < numSEIs; i++)
1946 std::vector<UInt> regionsForSEI;
1947 UInt numRegionsForSEI;
1948 sei_read_code(pDecodedMessageOutputStream, 8, uiCode,
"num_regions_for_sei_message[i]"); numRegionsForSEI = uiCode;
1949 for(
UInt j = 0; j < numRegionsForSEI; j++)
1951 sei_read_code(pDecodedMessageOutputStream, 8, uiCode,
"regional_nesting_sei_region_idx[i][j]");
1952 regionsForSEI.push_back(uiCode);
UChar m_filmGrainMatrixCoeffs
Void xParseSEIFilmGrainCharacteristics(SEIFilmGrainCharacteristics &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
Bool getNalHrdParametersPresentFlag() const
std::vector< UShort > m_packedRegionLeft
UChar m_uuid_iso_iec_11578[ISO_IEC_11578_LEN]
Int m_postLutNumValMinus1[3]
Bool m_currentFrameIsFrame0Flag
Int m_duSptCpbRemovalDelay
std::vector< UChar > m_rwpTopGuardBandHeight
UInt getDuCpbRemovalDelayLengthMinus1() const
Void xParseSEIKneeFunctionInfo(SEIKneeFunctionInfo &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
UChar m_filmGrainBitDepthChromaMinus8
Bool getVclHrdParametersPresentFlag() const
Void xParseSEIFramePacking(SEIFramePacking &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
Bool m_selfContainedCvsFlag
Void xParseSEIRegionalNesting(SEIRegionalNesting &sei, UInt payloadSize, const TComSPS *sps, std::ostream *pDecodedMessageOutputStream)
Bool m_exposureCompensationValueSignFlag
TComSEIMasteringDisplay values
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
Void xParseSEIRegionRefreshInfo(SEIRegionRefreshInfo &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
std::vector< Bool > m_rwpGuardBandFlag
Void setNumberOfTileRects(const Int number)
Bool m_constituentPictureMatchingFlag
Void xParseSEIAmbientViewingEnvironment(SEIAmbientViewingEnvironment &sei, UInt payLoadSize, std::ostream *pDecodedMessageOutputStream)
Void xParseSEIBufferingPeriod(SEIBufferingPeriod &sei, UInt payloadSize, const TComSPS *sps, std::ostream *pDecodedMessageOutputStream)
Int m_contentInterpretationType
Void xReadSEImessageHdrPayload(SEI *&sei, const TComSPS *sps, std::ostream *pDecodedMessageOutputStream)
UInt m_initialCpbRemovalDelay[MAX_CPB_CNT][2]
Bool m_frame1SelfContainedFlag
#define READ_CODE(length, code, name)
std::vector< Int > compModelValue
Defines version information, constants and small in-line functions.
Int m_ccvPrimariesY[MAX_NUM_COMPONENT]
Int m_exposureCompensationValueNumerator
std::vector< Int > m_targetPivotValue
Void xParseSEIEquirectangularProjection(SEIEquirectangularProjection &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
Void xParseSEIAlternativeTransferCharacteristics(SEIAlternativeTransferCharacteristics &sei, UInt payLoadSize, std::ostream *pDecodedMessageOutputStream)
Void xReadSEImessage(SEIMessages &seis, const NalUnitType nalUnitType, const TComSPS *sps, std::ostream *pDecodedMessageOutputStream)
Bool m_arrangementPersistenceFlag
Int m_colourRemapMatrixCoefficients
UChar m_filmGrainColourPrimaries
Bool m_kneePersistenceFlag
Void sei_read_scode(std::ostream *pOS, UInt uiLength, Int &ruiCode, const TChar *pSymbolName)
Void sei_read_code(std::ostream *pOS, UInt uiLength, UInt &ruiCode, const TChar *pSymbolName)
Void xParseSEIChromaResamplingFilterHint(SEIChromaResamplingFilterHint &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
UChar m_filmGrainBitDepthLumaMinus8
Bool m_display_tile_set_flag
slice header and SPS class (header)
std::vector< Int > m_kneeOutputKneePoint
#define READ_SVLC(code, name)
Void xParseSEICubemapProjection(SEICubemapProjection &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
Void xParseSEIScalableNesting(SEIScalableNesting &sei, const NalUnitType nalUnitType, UInt payloadSize, const TComSPS *sps, std::ostream *pDecodedMessageOutputStream)
Void sei_read_svlc(std::ostream *pOS, Int &ruiCode, const TChar *pSymbolName)
Int getNumberOfTileRects() const
std::vector< Int > m_kneeInputKneePoint
Bool m_rapCpbParamsPresentFlag
Int m_frame0GridPositionX
Bool m_colourRemapVideoSignalInfoPresentFlag
std::vector< Bool > m_rwpGuardBandNotUsedForPredFlag
Bool m_frame0SelfContainedFlag
Void xParseSEIGreenMetadataInfo(SEIGreenMetadataInfo &sei, UInt payLoadSize, std::ostream *pDecodedMessageOutputStream)
Bool m_deinterlacedPictureSourceParityFlag
Bool m_ccvAvgLuminanceValuePresentFlag
Bool m_arrangementCancelFlag
Bool m_ccvPersistenceFlag
TileSetData & tileSetData(const Int index)
std::vector< UInt > m_numNalusInDuMinus1
std::vector< UInt > m_projRegionWidth
Void sei_read_flag(std::ostream *pOS, UInt &ruiCode, const TChar *pSymbolName)
Bool m_panScanRectPersistenceFlag
Void xParseSEIDeinterlaceFieldIdentification(SEIDeinterlaceFieldIdentification &sei, UInt payLoadSize, std::ostream *pDecodedMessageOutputStream)
std::vector< UInt > m_projRegionHeight
Bool m_cmpPersistenceFlag
Void xParseSEICodedRegionCompletion(SEICodedRegionCompletion &sei, UInt payLoadSize, std::ostream *pDecodedMessageOutputStream)
Void xParseSEIRegionWisePacking(SEIRegionWisePacking &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
Bool m_sphereRotationPersistenceFlag
ChromaFormat getChromaFormatIdc() const
Bool m_max_mcts_tier_flag
UInt m_ccvAvgLuminanceValue
Void addRegion(RNSEIWindow *regn)
Int m_nominalBlackLevelLumaCodeValue
std::vector< Int > activeSeqParameterSetId
Void xParseSEIUserDataUnregistered(SEIUserDataUnregistered &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
static const TChar * getSEIMessageString(SEI::PayloadType payloadType)
TComInputBitstream * m_pcBitstream
TComVUI * getVuiParameters()
Bool m_mcts_tier_level_idc_present_flag
Void xParseSEISceneInfo(SEISceneInfo &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
std::vector< UChar > m_rwpRightGuardBandWidth
Bool m_separateColourDescriptionPresentFlag
UChar intensityIntervalLowerBound
Void xParseSEIActiveParameterSets(SEIActiveParameterSets &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
Bool m_colourRemapCancelFlag
Bool m_colourRemapMatrixPresentFlag
std::vector< CRIlut > m_postLut[3]
std::vector< OmniViewport > m_omniViewportRegions
Bool m_limited_tile_set_display_flag
Bool m_colourRemapFullRangeFlag
Int m_contentInterpretationType
Int m_picSptDpbOutputDuDelay
std::vector< UInt > m_rwpProjRegionTop
UInt m_sopDescTemporalId[MAX_NUM_PICS_IN_SOP]
UInt m_progressiveRefinementId
std::vector< UShort > m_packedRegionTop
Void xParseSEITempMotionConstraintsTileSets(SEITempMotionConstrainedTileSets &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
std::vector< UChar > m_userData
Int m_frame1GridPositionY
Int m_kneeInputDispLuminance
Void xParseSEIFillerPayload(SEIFillerPayload &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
Void xParseSEIPostFilterHint(SEIPostFilterHint &sei, UInt payloadSize, const TComSPS *sps, std::ostream *pDecodedMessageOutputStream)
std::vector< Int > m_startOfCodedInterval
Bool m_bPrevSceneIdValidFlag
std::vector< PanScanRect > m_panScanRectRegions
Void xParseSEIUserDataRegistered(SEIUserDataRegistered &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
TComSEITimeSet timeSetArray[MAX_TIMECODE_SEI_SETS]
UInt m_numPicsInSopMinus1
Bool m_ccvMaxLuminanceValuePresentFlag
TComInputBitstream * getBitstream()
Int m_colourRemapCoeffs[3][3]
static const UInt ISO_IEC_11578_LEN
Bool m_independentSliceSegmentFlag
CompModel m_compModel[MAX_NUM_COMPONENT]
Bool m_verFilteringFieldProcessingFlag
Void xParseSEIDecodedPictureHash(SEIDecodedPictureHash &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
Bool m_ccvPrimariesPresentFlag
Bool getSubPicCpbParamsPresentFlag() const
TComPictureHash m_pictureHash
Parsing functionality high level syntax.
std::vector< UChar > m_rwpLeftGuardBandWidth
Void xParseSEIContentColourVolume(SEIContentColourVolume &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
Bool getSubPicCpbParamsInPicTimingSEIFlag() const
Int m_nominalWhiteLevelLumaCodeValue
Void setBitstream(TComInputBitstream *p)
Bool numUnitFieldBasedFlag
Void xParseSEITemporalLevel0Index(SEITemporalLevel0Index &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
UInt m_maxContentLightLevel
Void xParseSEIProgressiveRefinementSegmentEnd(SEIProgressiveRefinementSegmentEnd &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
std::vector< UChar > m_rwpBottomGuardBandHeight
virtual PayloadType payloadType() const =0
UInt m_numDecodingUnitsMinus1
std::vector< CRIlut > m_preLut[3]
UInt m_bpSeqParameterSetId
Bool m_quincunxSamplingFlag
UInt m_nestingNumOpsMinus1
Int & bottomRightTileIndex(const Int tileRectIndex)
Bool getFrameFieldInfoPresentFlag() const
UInt m_initialAltCpbRemovalDelayOffset[MAX_CPB_CNT][2]
std::vector< std::vector< Int > > m_horFilterCoeff
Void parseSEImessage(TComInputBitstream *bs, SEIMessages &seis, const NalUnitType nalUnitType, const TComSPS *sps, std::ostream *pDecodedMessageOutputStream)
Bool m_omniViewportPersistenceFlag
std::vector< UShort > m_packedRegionHeight
Bool m_filmGrainCharacteristicsCancelFlag
Bool m_exact_sample_value_match_flag
Int m_preLutNumValMinus1[3]
UInt m_auCpbRemovalDelayDelta
Bool m_erpPersistenceFlag
UInt getInitialCpbRemovalDelayLengthMinus1() const
UInt m_nextSegmentAddress
std::vector< std::vector< Int > > m_verFilterCoeff
UInt getDpbOutputDelayLengthMinus1() const
class for handling bitstream (header)
UInt m_maxPicAverageLightLevel
Bool m_arrangementCancelFlag
static Void output_sei_message_header(SEI &sei, std::ostream *pDecodedMessageOutputStream, UInt payloadSize)
UInt m_nestingNoOpMaxTemporalIdPlus1
Int m_colourRemapInputBitDepth
Void sei_read_uvlc(std::ostream *pOS, UInt &ruiCode, const TChar *pSymbolName)
Int m_ccvPrimariesX[MAX_NUM_COMPONENT]
Void xParseSEIToneMappingInfo(SEIToneMappingInfo &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
Bool m_filmGrainCharacteristicsPersistenceFlag
Int m_extendedWhiteLevelLumaCodeValue
Bool m_bSceneInfoPresentFlag
UInt m_initialCpbRemovalDelayOffset[MAX_CPB_CNT][2]
UInt m_duCommonCpbRemovalDelayMinus1
#define READ_SCODE(length, code, name)
Bool m_filmGrainFullRangeFlag
std::vector< UChar > m_rwpTransformType
picture YUV buffer class (header)
Int getNumberOfTileSets() const
UInt anticlockwiseRotation
#define READ_FLAG(code, name)
UInt m_ccvMinLuminanceValue
Bool m_spatialFlippingFlag
#define READ_UVLC(code, name)
Void setNumberOfTileSets(const Int number)
std::vector< Int > m_filterHintValues
Void xParseSEINoDisplay(SEINoDisplay &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
std::vector< UChar > m_userData
Void xParseSEIRecoveryPoint(SEIRecoveryPoint &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
UInt getCpbRemovalDelayLengthMinus1() const
UInt m_nestingMaxTemporalIdPlus1[MAX_TLAYER]
std::vector< UChar > hash
Void xParseSEIContentLightLevelInfo(SEIContentLightLevelInfo &sei, UInt payLoadSize, std::ostream *pDecodedMessageOutputStream)
Void xParseSEIColourRemappingInfo(SEIColourRemappingInfo &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
UInt getDpbOutputDelayDuLengthMinus1() const
Bool m_omniViewportCancelFlag
Bool getCpbDpbDelaysPresentFlag() const
UInt m_initialAltCpbRemovalDelay[MAX_CPB_CNT][2]
Void xParseSEIProgressiveRefinementSegmentStart(SEIProgressiveRefinementSegmentStart &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
Void xParseSEIMasteringDisplayColourVolume(SEIMasteringDisplayColourVolume &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
Int m_colourRemapPrimaries
Bool m_duCommonCpbRemovalDelayFlag
Int m_exposureCompensationValueDenomIdc
Bool m_sphereRotationCancelFlag
Int & topLeftTileIndex(const Int tileRectIndex)
Void xParseSEISOPDescription(SEISOPDescription &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
UChar m_filmGrainTransferCharacteristics
std::vector< Int > m_codedPivotValue
Int m_kneeOutputDispLuminance
std::vector< UInt > m_duCpbRemovalDelayMinus1
std::list< SEI * > SEIMessages
Int m_sopDescPocDelta[MAX_NUM_PICS_IN_SOP]
std::vector< UInt > m_projRegionLeft
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
Void xParseSEIDisplayOrientation(SEIDisplayOrientation &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
UInt m_ambientIlluminance
Int m_sphereRotationPitch
Void xParseSEIDecodingUnitInfo(SEIDecodingUnitInfo &sei, UInt payloadSize, const TComSPS *sps, std::ostream *pDecodedMessageOutputStream)
Int m_refScreenLuminanceWhite
Void xReadRbspTrailingBits()
Bool m_toneMapPersistenceFlag
Bool m_colourRemapPersistenceFlag
UInt getCpbCntMinus1(Int layer) const
Int m_kneeNumKneePointsMinus1
Int m_frame0GridPositionY
std::vector< UChar > m_rwpGuardBandType
Void xParseSEIPictureSnapshot(SEIPictureSnapshot &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
UInt m_picDpbOutputDuDelay
UInt m_ccvMaxLuminanceValue
Int m_cameraIsoSpeedValue
std::vector< CompModelIntensityValues > intensityValues
Bool m_dpbOutputDuDelayPresentFlag
Bool m_noParameterSetUpdateFlag
UChar intensityIntervalUpperBound
Void setWindow(Int offsetLeft, Int offsetLRight, Int offsetLTop, Int offsetLBottom)
Void xParseSEISphereRotation(SEISphereRotation &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
Bool m_upsampledAspectRatio
UInt m_progressiveRefinementId
UChar m_nestingLayerId[MAX_NESTING_NUM_LAYER]
Int m_colourRemapBitDepth
Bool m_panScanRectCancelFlag
Void setRegionId(UInt const val)
Int m_arrangementReservedByte
Int m_packedPictureHeight
UInt m_nestingOpIdx[MAX_NESTING_NUM_OPS]
Bool m_rwpPersistenceFlag
Void xParseSEISegmentedRectFramePacking(SEISegmentedRectFramePacking &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
Void xParseSEIOmniViewport(SEIOmniViewport &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
UChar m_erpLeftGuardBandWidth
Bool m_bitStreamSubsetFlag
reading funtionality for SEI messages
Void xParseSEIPictureTiming(SEIPictureTiming &sei, UInt payloadSize, const TComSPS *sps, std::ostream *pDecodedMessageOutputStream)
UInt m_sopSeqParameterSetId
Int m_colourRemapTransferFunction
Bool m_each_tile_one_tile_set_flag
UChar m_erpRightGuardBandWidth
UInt m_sceneTransitionType
TComHRD * getHrdParameters()
Void xParseSEIDependentRAPIndication(SEIDependentRAPIndication &sei, UInt payLoadSize, std::ostream *pDecodedMessageOutputStream)
Bool m_ccvMinLuminanceValuePresentFlag
Void xParseSEITimeCode(SEITimeCode &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
Void xParseSEIPanScanRect(SEIPanScanRect &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
Bool m_arrangementPersistenceFlag