diff --git a/source/App/EncoderApp/EncAppCfg.cpp b/source/App/EncoderApp/EncAppCfg.cpp index 4e8edd2661dcdf1e31ae09771b7c073bf08441fd..e46fe7c65b12f9407ca3abadfc14d3bc3022f554 100644 --- a/source/App/EncoderApp/EncAppCfg.cpp +++ b/source/App/EncoderApp/EncAppCfg.cpp @@ -2605,6 +2605,15 @@ bool EncAppCfg::xCheckParameter() } #endif } +#if JVET_N0353_INDEP_BUFF_TIME_SEI + if ( m_pictureTimingSEIEnabled && (!m_bufferingPeriodSEIEnabled)) + { + msg( WARNING, "****************************************************************************\n"); + msg( WARNING, "** WARNING: Picture Timing SEI requires Buffering Period SEI. Disabling. **\n"); + msg( WARNING, "****************************************************************************\n"); + m_pictureTimingSEIEnabled = false; + } +#endif if(m_crossComponentPredictionEnabledFlag && (m_chromaFormatIDC != CHROMA_444)) { diff --git a/source/Lib/EncoderLib/EncGOP.cpp b/source/Lib/EncoderLib/EncGOP.cpp index a5183461ba68b0b410e8a59b4c05c74169493feb..034a4558b99e1c5d2363b116f4eefa8978684dba 100644 --- a/source/Lib/EncoderLib/EncGOP.cpp +++ b/source/Lib/EncoderLib/EncGOP.cpp @@ -808,6 +808,15 @@ void EncGOP::xCreateFrameFieldInfoSEI (SEIMessages& seiMessages, Slice *slice, void EncGOP::xCreatePictureTimingSEI (int IRAPGOPid, SEIMessages& seiMessages, SEIMessages& nestedSeiMessages, SEIMessages& duInfoSeiMessages, Slice *slice, bool isField, std::deque<DUData> &duData) { +#if JVET_N0353_INDEP_BUFF_TIME_SEI + // Picture timing depends on buffering period. When either of those is not disabled, + // initialization would fail. Needs more cleanup after DU timing is integrated. + if (!(m_pcCfg->getPictureTimingSEIEnabled() && m_pcCfg->getBufferingPeriodSEIEnabled())) + { + return; + } +#endif + const HRDParameters *hrd = slice->getSPS()->getHrdParameters(); // update decoding unit parameters