Commit 6753aa9c authored by Karl Sharman's avatar Karl Sharman
Browse files

Added parsing of some SEI messages.

parent f7dae8c0
......@@ -120,17 +120,17 @@ const TChar *SEI::getSEIMessageString(SEI::PayloadType payloadType)
{
case SEI::BUFFERING_PERIOD: return "Buffering period";
case SEI::PICTURE_TIMING: return "Picture timing";
case SEI::PAN_SCAN_RECT: return "Pan-scan rectangle"; // not currently decoded
case SEI::FILLER_PAYLOAD: return "Filler payload"; // not currently decoded
case SEI::USER_DATA_REGISTERED_ITU_T_T35: return "User data registered"; // not currently decoded
case SEI::PAN_SCAN_RECT: return "Pan-scan rectangle";
case SEI::FILLER_PAYLOAD: return "Filler payload";
case SEI::USER_DATA_REGISTERED_ITU_T_T35: return "User data registered";
case SEI::USER_DATA_UNREGISTERED: return "User data unregistered";
case SEI::RECOVERY_POINT: return "Recovery point";
case SEI::SCENE_INFO: return "Scene information"; // not currently decoded
case SEI::FULL_FRAME_SNAPSHOT: return "Picture snapshot"; // not currently decoded
case SEI::PROGRESSIVE_REFINEMENT_SEGMENT_START: return "Progressive refinement segment start"; // not currently decoded
case SEI::PROGRESSIVE_REFINEMENT_SEGMENT_END: return "Progressive refinement segment end"; // not currently decoded
case SEI::FILM_GRAIN_CHARACTERISTICS: return "Film grain characteristics"; // not currently decoded
case SEI::POST_FILTER_HINT: return "Post filter hint"; // not currently decoded
case SEI::SCENE_INFO: return "Scene information";
case SEI::PICTURE_SNAPSHOT: return "Picture snapshot";
case SEI::PROGRESSIVE_REFINEMENT_SEGMENT_START: return "Progressive refinement segment start";
case SEI::PROGRESSIVE_REFINEMENT_SEGMENT_END: return "Progressive refinement segment end";
case SEI::FILM_GRAIN_CHARACTERISTICS: return "Film grain characteristics";
case SEI::POST_FILTER_HINT: return "Post filter hint";
case SEI::TONE_MAPPING_INFO: return "Tone mapping information";
case SEI::KNEE_FUNCTION_INFO: return "Knee function information";
case SEI::FRAME_PACKING: return "Frame packing arrangement";
......@@ -150,7 +150,12 @@ const TChar *SEI::getSEIMessageString(SEI::PayloadType payloadType)
case SEI::TEMP_MOTION_CONSTRAINED_TILE_SETS: return "Temporal motion constrained tile sets";
case SEI::CHROMA_RESAMPLING_FILTER_HINT: return "Chroma sampling filter hint";
case SEI::COLOUR_REMAPPING_INFO: return "Colour remapping info";
case SEI::DEINTERLACE_FIELD_IDENTIFICATION: return "Deinterlace field identification";
case SEI::CONTENT_LIGHT_LEVEL_INFO: return "Content light level info";
case SEI::DEPENDENT_RAP_INDICATION: return "Dependent RAP indication";
case SEI::CODED_REGION_COMPLETION: return "Coded region completion";
case SEI::ALTERNATIVE_TRANSFER_CHARACTERISTICS: return "Alternative transfer characteristics";
case SEI::AMBIENT_VIEWING_ENVIRONMENT: return "Ambient viewing environment";
default: return "Unknown";
}
}
This diff is collapsed.
This diff is collapsed.
......@@ -59,30 +59,44 @@ public:
protected:
Void xReadSEImessage (SEIMessages& seis, const NalUnitType nalUnitType, const TComSPS *sps, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIuserDataUnregistered (SEIuserDataUnregistered &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIActiveParameterSets (SEIActiveParameterSets &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIDecodingUnitInfo (SEIDecodingUnitInfo& sei, UInt payloadSize, const TComSPS *sps, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIDecodedPictureHash (SEIDecodedPictureHash& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIBufferingPeriod (SEIBufferingPeriod& sei, UInt payloadSize, const TComSPS *sps, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIPictureTiming (SEIPictureTiming& sei, UInt payloadSize, const TComSPS *sps, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIPanScanRect (SEIPanScanRect& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIFillerPayload (SEIFillerPayload& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIUserDataRegistered (SEIUserDataRegistered& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIUserDataUnregistered (SEIUserDataUnregistered &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIRecoveryPoint (SEIRecoveryPoint& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEISceneInfo (SEISceneInfo& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIPictureSnapshot (SEIPictureSnapshot& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIProgressiveRefinementSegmentStart(SEIProgressiveRefinementSegmentStart& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIProgressiveRefinementSegmentEnd(SEIProgressiveRefinementSegmentEnd& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIFilmGrainCharacteristics (SEIFilmGrainCharacteristics& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIPostFilterHint (SEIPostFilterHint& sei, UInt payloadSize, const TComSPS *sps, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIToneMappingInfo (SEIToneMappingInfo& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIFramePacking (SEIFramePacking& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEISegmentedRectFramePacking (SEISegmentedRectFramePacking& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIDisplayOrientation (SEIDisplayOrientation &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEITemporalLevel0Index (SEITemporalLevel0Index &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIRegionRefreshInfo (SEIGradualDecodingRefreshInfo &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEINoDisplay (SEINoDisplay &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIToneMappingInfo (SEIToneMappingInfo& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIGreenMetadataInfo (SEIGreenMetadataInfo& sei, UInt payLoadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEISOPDescription (SEISOPDescription &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIActiveParameterSets (SEIActiveParameterSets &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIDecodingUnitInfo (SEIDecodingUnitInfo& sei, UInt payloadSize, const TComSPS *sps, std::ostream *pDecodedMessageOutputStream);
Void xParseSEITemporalLevel0Index (SEITemporalLevel0Index &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIDecodedPictureHash (SEIDecodedPictureHash& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIScalableNesting (SEIScalableNesting& sei, const NalUnitType nalUnitType, UInt payloadSize, const TComSPS *sps, std::ostream *pDecodedMessageOutputStream);
Void xParseSEITempMotionConstraintsTileSets (SEITempMotionConstrainedTileSets& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIRegionRefreshInfo (SEIRegionRefreshInfo &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEINoDisplay (SEINoDisplay &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEITimeCode (SEITimeCode& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIMasteringDisplayColourVolume (SEIMasteringDisplayColourVolume& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEISegmentedRectFramePacking (SEISegmentedRectFramePacking& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEITempMotionConstraintsTileSets (SEITempMotionConstrainedTileSets& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIChromaResamplingFilterHint (SEIChromaResamplingFilterHint& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIKneeFunctionInfo (SEIKneeFunctionInfo& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIMasteringDisplayColourVolume (SEIMasteringDisplayColourVolume& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIColourRemappingInfo (SEIColourRemappingInfo& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIDeinterlaceFieldIdentification(SEIDeinterlaceFieldIdentification& sei,UInt payLoadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIContentLightLevelInfo (SEIContentLightLevelInfo& sei, UInt payLoadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIDependentRAPIndication (SEIDependentRAPIndication& sei, UInt payLoadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEICodedRegionCompletion (SEICodedRegionCompletion& sei, UInt payLoadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIAlternativeTransferCharacteristics(SEIAlternativeTransferCharacteristics& sei, UInt payLoadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIGreenMetadataInfo (SEIGreenMetadataInfo& sei, UInt payLoadSize, std::ostream *pDecodedMessageOutputStream);
Void xParseSEIAmbientViewingEnvironment (SEIAmbientViewingEnvironment& sei, UInt payLoadSize, std::ostream *pDecodedMessageOutputStream);
Void sei_read_code(std::ostream *pOS, UInt uiLength, UInt& ruiCode, const TChar *pSymbolName);
Void sei_read_uvlc(std::ostream *pOS, UInt& ruiCode, const TChar *pSymbolName);
......
This diff is collapsed.
......@@ -52,30 +52,44 @@ public:
Void writeSEImessages(TComBitIf& bs, const SEIMessages &seiList, const TComSPS *sps, Bool isNested);
protected:
Void xWriteSEIuserDataUnregistered(const SEIuserDataUnregistered &sei);
Void xWriteSEIActiveParameterSets(const SEIActiveParameterSets& sei);
Void xWriteSEIDecodingUnitInfo(const SEIDecodingUnitInfo& sei, const TComSPS *sps);
Void xWriteSEIDecodedPictureHash(const SEIDecodedPictureHash& sei);
Void xWriteSEIBufferingPeriod(const SEIBufferingPeriod& sei, const TComSPS *sps);
Void xWriteSEIPictureTiming(const SEIPictureTiming& sei, const TComSPS *sps);
Void xWriteSEIRecoveryPoint(const SEIRecoveryPoint& sei);
Void xWriteSEIFramePacking(const SEIFramePacking& sei);
Void xWriteSEISegmentedRectFramePacking(const SEISegmentedRectFramePacking& sei);
Void xWriteSEIDisplayOrientation(const SEIDisplayOrientation &sei);
Void xWriteSEITemporalLevel0Index(const SEITemporalLevel0Index &sei);
Void xWriteSEIGradualDecodingRefreshInfo(const SEIGradualDecodingRefreshInfo &sei);
Void xWriteSEINoDisplay(const SEINoDisplay &sei);
Void xWriteSEIToneMappingInfo(const SEIToneMappingInfo& sei);
Void xWriteSEISOPDescription(const SEISOPDescription& sei);
Void xWriteSEIScalableNesting(TComBitIf& bs, const SEIScalableNesting& sei, const TComSPS *sps);
Void xWriteSEITempMotionConstrainedTileSets(const SEITempMotionConstrainedTileSets& sei);
Void xWriteSEITimeCode(const SEITimeCode& sei);
Void xWriteSEIChromaResamplingFilterHint(const SEIChromaResamplingFilterHint& sei);
Void xWriteSEIKneeFunctionInfo(const SEIKneeFunctionInfo &sei);
Void xWriteSEIColourRemappingInfo(const SEIColourRemappingInfo& sei);
Void xWriteSEIMasteringDisplayColourVolume( const SEIMasteringDisplayColourVolume& sei);
Void xWriteSEIBufferingPeriod (const SEIBufferingPeriod& sei, const TComSPS *sps);
Void xWriteSEIPictureTiming (const SEIPictureTiming& sei, const TComSPS *sps);
Void xWriteSEIPanScanRect (const SEIPanScanRect& sei);
Void xWriteSEIFillerPayload (const SEIFillerPayload& sei);
Void xWriteSEIUserDataRegistered (const SEIUserDataRegistered& sei);
Void xWriteSEIUserDataUnregistered (const SEIUserDataUnregistered &sei);
Void xWriteSEIRecoveryPoint (const SEIRecoveryPoint& sei);
Void xWriteSEISceneInfo (const SEISceneInfo& sei);
Void xWriteSEIPictureSnapshot (const SEIPictureSnapshot& sei);
Void xWriteSEIProgressiveRefinementSegmentStart (const SEIProgressiveRefinementSegmentStart& sei);
Void xWriteSEIProgressiveRefinementSegmentEnd (const SEIProgressiveRefinementSegmentEnd& sei);
Void xWriteSEIFilmGrainCharacteristics (const SEIFilmGrainCharacteristics& sei);
Void xWriteSEIPostFilterHint (const SEIPostFilterHint& sei, const TComSPS *sps);
Void xWriteSEIToneMappingInfo (const SEIToneMappingInfo& sei);
Void xWriteSEIFramePacking (const SEIFramePacking& sei);
Void xWriteSEIDisplayOrientation (const SEIDisplayOrientation &sei);
Void xWriteSEIGreenMetadataInfo (const SEIGreenMetadataInfo &sei);
Void xWriteSEISOPDescription (const SEISOPDescription& sei);
Void xWriteSEIActiveParameterSets (const SEIActiveParameterSets& sei);
Void xWriteSEIDecodingUnitInfo (const SEIDecodingUnitInfo& sei, const TComSPS *sps);
Void xWriteSEITemporalLevel0Index (const SEITemporalLevel0Index &sei);
Void xWriteSEIDecodedPictureHash (const SEIDecodedPictureHash& sei);
Void xWriteSEIScalableNesting (TComBitIf& bs, const SEIScalableNesting& sei, const TComSPS *sps);
Void xWriteSEIRegionRefreshInfo (const SEIRegionRefreshInfo &sei);
Void xWriteSEINoDisplay (const SEINoDisplay &sei);
Void xWriteSEITimeCode (const SEITimeCode& sei);
Void xWriteSEIMasteringDisplayColourVolume (const SEIMasteringDisplayColourVolume& sei);
Void xWriteSEISegmentedRectFramePacking (const SEISegmentedRectFramePacking& sei);
Void xWriteSEITempMotionConstrainedTileSets (const SEITempMotionConstrainedTileSets& sei);
Void xWriteSEIChromaResamplingFilterHint (const SEIChromaResamplingFilterHint& sei);
Void xWriteSEIKneeFunctionInfo (const SEIKneeFunctionInfo &sei);
Void xWriteSEIColourRemappingInfo (const SEIColourRemappingInfo& sei);
Void xWriteSEIDeinterlaceFieldIdentification (const SEIDeinterlaceFieldIdentification& sei);
Void xWriteSEIContentLightLevelInfo (const SEIContentLightLevelInfo& sei);
Void xWriteSEIDependentRAPIndication (const SEIDependentRAPIndication& sei);
Void xWriteSEICodedRegionCompletion (const SEICodedRegionCompletion& sei);
Void xWriteSEIAlternativeTransferCharacteristics(const SEIAlternativeTransferCharacteristics& sei);
Void xWriteSEIGreenMetadataInfo(const SEIGreenMetadataInfo &sei);
Void xWriteSEIAmbientViewingEnvironment (const SEIAmbientViewingEnvironment& sei);
Void xWriteSEIpayloadData(TComBitIf& bs, const SEI& sei, const TComSPS *sps);
Void xWriteByteAlign();
......
......@@ -502,7 +502,7 @@ Void TEncGOP::xCreatePerPictureSEIMessages (Int picInGOP, SEIMessages& seiMessag
if( m_pcEncTop->getGradualDecodingRefreshInfoEnabled() && !slice->getRapPicFlag() )
{
// Gradual decoding refresh SEI
SEIGradualDecodingRefreshInfo *gradualDecodingRefreshInfoSEI = new SEIGradualDecodingRefreshInfo();
SEIRegionRefreshInfo *gradualDecodingRefreshInfoSEI = new SEIRegionRefreshInfo();
gradualDecodingRefreshInfoSEI->m_gdrForegroundFlag = true; // Indicating all "foreground"
seiMessages.push_back(gradualDecodingRefreshInfoSEI);
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment