void SEIWriter::xWriteSEIpayloadData(const SEI& sei, TComSPS *sps) { switch (sei.payloadType()) { case SEI::USER_DATA_UNREGISTERED: xWriteSEIuserDataUnregistered(*static_cast<const SEIuserDataUnregistered*>(&sei)); break; case SEI::ACTIVE_PARAMETER_SETS: xWriteSEIActiveParameterSets(*static_cast<const SEIActiveParameterSets*>(& sei)); break; case SEI::DECODING_UNIT_INFO: xWriteSEIDecodingUnitInfo(*static_cast<const SEIDecodingUnitInfo*>(& sei), sps); break; case SEI::DECODED_PICTURE_HASH: xWriteSEIDecodedPictureHash(*static_cast<const SEIDecodedPictureHash*>(&sei)); break; case SEI::BUFFERING_PERIOD: xWriteSEIBufferingPeriod(*static_cast<const SEIBufferingPeriod*>(&sei), sps); break; case SEI::PICTURE_TIMING: xWriteSEIPictureTiming(*static_cast<const SEIPictureTiming*>(&sei), sps); break; case SEI::RECOVERY_POINT: xWriteSEIRecoveryPoint(*static_cast<const SEIRecoveryPoint*>(&sei)); break; case SEI::FRAME_PACKING: xWriteSEIFramePacking(*static_cast<const SEIFramePacking*>(&sei)); break; case SEI::DISPLAY_ORIENTATION: xWriteSEIDisplayOrientation(*static_cast<const SEIDisplayOrientation*>(&sei)); break; case SEI::TEMPORAL_LEVEL0_INDEX: xWriteSEITemporalLevel0Index(*static_cast<const SEITemporalLevel0Index*>(&sei)); break; case SEI::REGION_REFRESH_INFO: xWriteSEIGradualDecodingRefreshInfo(*static_cast<const SEIGradualDecodingRefreshInfo*>(&sei)); break; default: assert(!"Unhandled SEI message"); } }
Void SEIWriter::xWriteSEIpayloadData(TComBitIf& bs, const SEI& sei, TComSPS *sps) { switch (sei.payloadType()) { case SEI::USER_DATA_UNREGISTERED: xWriteSEIuserDataUnregistered(*static_cast<const SEIuserDataUnregistered*>(&sei)); break; case SEI::ACTIVE_PARAMETER_SETS: xWriteSEIActiveParameterSets(*static_cast<const SEIActiveParameterSets*>(& sei)); break; case SEI::DECODING_UNIT_INFO: xWriteSEIDecodingUnitInfo(*static_cast<const SEIDecodingUnitInfo*>(& sei), sps); break; case SEI::DECODED_PICTURE_HASH: xWriteSEIDecodedPictureHash(*static_cast<const SEIDecodedPictureHash*>(&sei)); break; case SEI::BUFFERING_PERIOD: xWriteSEIBufferingPeriod(*static_cast<const SEIBufferingPeriod*>(&sei), sps); break; case SEI::PICTURE_TIMING: xWriteSEIPictureTiming(*static_cast<const SEIPictureTiming*>(&sei), sps); break; case SEI::RECOVERY_POINT: xWriteSEIRecoveryPoint(*static_cast<const SEIRecoveryPoint*>(&sei)); break; case SEI::FRAME_PACKING: xWriteSEIFramePacking(*static_cast<const SEIFramePacking*>(&sei)); break; case SEI::SEGM_RECT_FRAME_PACKING: xWriteSEISegmentedRectFramePacking(*static_cast<const SEISegmentedRectFramePacking*>(&sei)); break; case SEI::DISPLAY_ORIENTATION: xWriteSEIDisplayOrientation(*static_cast<const SEIDisplayOrientation*>(&sei)); break; case SEI::TEMPORAL_LEVEL0_INDEX: xWriteSEITemporalLevel0Index(*static_cast<const SEITemporalLevel0Index*>(&sei)); break; case SEI::REGION_REFRESH_INFO: xWriteSEIGradualDecodingRefreshInfo(*static_cast<const SEIGradualDecodingRefreshInfo*>(&sei)); break; case SEI::NO_DISPLAY: xWriteSEINoDisplay(*static_cast<const SEINoDisplay*>(&sei)); break; case SEI::TONE_MAPPING_INFO: xWriteSEIToneMappingInfo(*static_cast<const SEIToneMappingInfo*>(&sei)); break; case SEI::SOP_DESCRIPTION: xWriteSEISOPDescription(*static_cast<const SEISOPDescription*>(&sei)); break; case SEI::SCALABLE_NESTING: xWriteSEIScalableNesting(bs, *static_cast<const SEIScalableNesting*>(&sei), sps); break; case SEI::CHROMA_SAMPLING_FILTER_HINT: xWriteSEIChromaSamplingFilterHint(*static_cast<const SEIChromaSamplingFilterHint*>(&sei)/*, sps*/); break; case SEI::TEMP_MOTION_CONSTRAINED_TILE_SETS: xWriteSEITempMotionConstrainedTileSets(bs, *static_cast<const SEITempMotionConstrainedTileSets*>(&sei)); break; case SEI::TIME_CODE: xWriteSEITimeCode(*static_cast<const SEITimeCode*>(&sei)); break; case SEI::KNEE_FUNCTION_INFO: xWriteSEIKneeFunctionInfo(*static_cast<const SEIKneeFunctionInfo*>(&sei)); break; case SEI::MASTERING_DISPLAY_COLOUR_VOLUME: xWriteSEIMasteringDisplayColourVolume(*static_cast<const SEIMasteringDisplayColourVolume*>(&sei)); break; default: assert(!"Unhandled SEI message"); break; } }