Skip to content
Snippets Groups Projects
Commit 3c494b9a authored by Karsten Suehring's avatar Karsten Suehring
Browse files

handling of picture timing SEIs in extractor

parent ce4d523b
No related branches found
No related tags found
No related merge requests found
...@@ -47,6 +47,10 @@ ...@@ -47,6 +47,10 @@
BitstreamExtractorApp::BitstreamExtractorApp() BitstreamExtractorApp::BitstreamExtractorApp()
:m_vpsId(-1) :m_vpsId(-1)
#if JVET_Q0394_TIMING_SEI
, m_removeTimingSEI (false)
#endif
{ {
} }
...@@ -440,6 +444,8 @@ uint32_t BitstreamExtractorApp::decode() ...@@ -440,6 +444,8 @@ uint32_t BitstreamExtractorApp::decode()
std::vector<int> LayerIdInOls = vps->getLayerIdsInOls(m_targetOlsIdx); std::vector<int> LayerIdInOls = vps->getLayerIdsInOls(m_targetOlsIdx);
bool isIncludedInTargetOls = std::find(LayerIdInOls.begin(), LayerIdInOls.end(), nalu.m_nuhLayerId) != LayerIdInOls.end(); bool isIncludedInTargetOls = std::find(LayerIdInOls.begin(), LayerIdInOls.end(), nalu.m_nuhLayerId) != LayerIdInOls.end();
writeInpuNalUnitToStream &= (isSpecialNalTypes || isIncludedInTargetOls); writeInpuNalUnitToStream &= (isSpecialNalTypes || isIncludedInTargetOls);
m_removeTimingSEI = !vps->getGeneralHrdParameters()->getGeneralSamePicTimingInAllOlsFlag();
} }
} }
if( nalu.m_nalUnitType == NAL_UNIT_SPS ) if( nalu.m_nalUnitType == NAL_UNIT_SPS )
...@@ -582,7 +588,11 @@ uint32_t BitstreamExtractorApp::decode() ...@@ -582,7 +588,11 @@ uint32_t BitstreamExtractorApp::decode()
} }
} }
// remove unqualified timing related SEI // remove unqualified timing related SEI
#if JVET_Q0394_TIMING_SEI
if (sei->payloadType() == SEI::BUFFERING_PERIOD || (m_removeTimingSEI && sei->payloadType() == SEI::PICTURE_TIMING ) || sei->payloadType() == SEI::DECODING_UNIT_INFO)
#else
if (sei->payloadType() == SEI::BUFFERING_PERIOD || sei->payloadType() == SEI::PICTURE_TIMING || sei->payloadType() == SEI::DECODING_UNIT_INFO) if (sei->payloadType() == SEI::BUFFERING_PERIOD || sei->payloadType() == SEI::PICTURE_TIMING || sei->payloadType() == SEI::DECODING_UNIT_INFO)
#endif
{ {
bool targetOlsIdxGreaterThanZero = m_targetOlsIdx > 0; bool targetOlsIdxGreaterThanZero = m_targetOlsIdx > 0;
writeInpuNalUnitToStream &= !targetOlsIdxGreaterThanZero; writeInpuNalUnitToStream &= !targetOlsIdxGreaterThanZero;
......
...@@ -82,6 +82,9 @@ protected: ...@@ -82,6 +82,9 @@ protected:
HLSWriter m_hlSyntaxWriter; HLSWriter m_hlSyntaxWriter;
SEIReader m_seiReader; SEIReader m_seiReader;
int m_vpsId; int m_vpsId;
#if JVET_Q0394_TIMING_SEI
bool m_removeTimingSEI;
#endif
PicHeader m_picHeader; PicHeader m_picHeader;
int m_prevTid0Poc; int m_prevTid0Poc;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment