diff --git a/source/Lib/DecoderLib/SEIread.cpp b/source/Lib/DecoderLib/SEIread.cpp index e2a242daa5f9d5d58e7c46cb2314bd2fe28cdb43..416b8b24040ce09ced420eebaae3ad16e6c2e580 100644 --- a/source/Lib/DecoderLib/SEIread.cpp +++ b/source/Lib/DecoderLib/SEIread.cpp @@ -899,40 +899,40 @@ void SEIReader::xParseSEIPictureTiming(SEIPictureTiming& sei, uint32_t payloadSi if (sei.m_numDecodingUnitsMinus1 > 0) { #endif - sei_read_flag( pDecodedMessageOutputStream, symbol, "du_common_cpb_removal_delay_flag" ); - sei.m_duCommonCpbRemovalDelayFlag = symbol; - if( sei.m_duCommonCpbRemovalDelayFlag ) - { - for( int i = temporalId; i < bp.m_bpMaxSubLayers - 1; i ++ ) + sei_read_flag( pDecodedMessageOutputStream, symbol, "du_common_cpb_removal_delay_flag" ); + sei.m_duCommonCpbRemovalDelayFlag = symbol; + if( sei.m_duCommonCpbRemovalDelayFlag ) { - if( sei.m_ptSubLayerDelaysPresentFlag[i] ) + for( int i = temporalId; i < bp.m_bpMaxSubLayers - 1; i ++ ) { - sei_read_code( pDecodedMessageOutputStream, bp.getDuCpbRemovalDelayIncrementLength(), symbol, "du_common_cpb_removal_delay_increment_minus1[i]" ); - sei.m_duCommonCpbRemovalDelayMinus1[i] = symbol; + if( sei.m_ptSubLayerDelaysPresentFlag[i] ) + { + sei_read_code( pDecodedMessageOutputStream, bp.getDuCpbRemovalDelayIncrementLength(), symbol, "du_common_cpb_removal_delay_increment_minus1[i]" ); + sei.m_duCommonCpbRemovalDelayMinus1[i] = symbol; + } } } - } - for( int i = 0; i <= sei.m_numDecodingUnitsMinus1; i ++ ) - { - sei_read_uvlc( pDecodedMessageOutputStream, symbol, "num_nalus_in_du_minus1[i]" ); - sei.m_numNalusInDuMinus1[i] = symbol; - if( !sei.m_duCommonCpbRemovalDelayFlag && i < sei.m_numDecodingUnitsMinus1 ) + for( int i = 0; i <= sei.m_numDecodingUnitsMinus1; i ++ ) { - for( int j = temporalId; j < bp.m_bpMaxSubLayers - 1; j ++ ) + sei_read_uvlc( pDecodedMessageOutputStream, symbol, "num_nalus_in_du_minus1[i]" ); + sei.m_numNalusInDuMinus1[i] = symbol; + if( !sei.m_duCommonCpbRemovalDelayFlag && i < sei.m_numDecodingUnitsMinus1 ) { - if( sei.m_ptSubLayerDelaysPresentFlag[j] ) + for( int j = temporalId; j < bp.m_bpMaxSubLayers - 1; j ++ ) { - sei_read_code( pDecodedMessageOutputStream, bp.getDuCpbRemovalDelayIncrementLength(), symbol, "du_cpb_removal_delay_increment_minus1[i][j]" ); - sei.m_duCpbRemovalDelayMinus1[i * bp.m_bpMaxSubLayers + j] = symbol; + if( sei.m_ptSubLayerDelaysPresentFlag[j] ) + { + sei_read_code( pDecodedMessageOutputStream, bp.getDuCpbRemovalDelayIncrementLength(), symbol, "du_cpb_removal_delay_increment_minus1[i][j]" ); + sei.m_duCpbRemovalDelayMinus1[i * bp.m_bpMaxSubLayers + j] = symbol; + } } } } - } #if JVET_R0103_DU_SIGNALLING } else { - sei.m_duCommonCpbRemovalDelayFlag = 0; + sei.m_duCommonCpbRemovalDelayFlag = 0; } #endif } diff --git a/source/Lib/EncoderLib/SEIwrite.cpp b/source/Lib/EncoderLib/SEIwrite.cpp index f2884ca18d1cbe081a4bb7ce99a08c068d973854..404788b6d842b72ec30cd27b6fcb7884e6621868 100644 --- a/source/Lib/EncoderLib/SEIwrite.cpp +++ b/source/Lib/EncoderLib/SEIwrite.cpp @@ -439,27 +439,27 @@ void SEIWriter::xWriteSEIPictureTiming(const SEIPictureTiming& sei, const SEIBuf if (sei.m_numDecodingUnitsMinus1 > 0) { #endif - WRITE_FLAG( sei.m_duCommonCpbRemovalDelayFlag, "du_commmon_cpb_removal_delay_flag" ); - if( sei.m_duCommonCpbRemovalDelayFlag ) - { - for( int i = temporalId; i < bp.m_bpMaxSubLayers - 1; i ++ ) + WRITE_FLAG( sei.m_duCommonCpbRemovalDelayFlag, "du_commmon_cpb_removal_delay_flag" ); + if( sei.m_duCommonCpbRemovalDelayFlag ) { - if( sei.m_ptSubLayerDelaysPresentFlag[i] ) - WRITE_CODE( sei.m_duCommonCpbRemovalDelayMinus1[i], bp.m_duCpbRemovalDelayIncrementLength, "du_common_cpb_removal_delay_increment_minus1[i]" ); + for( int i = temporalId; i < bp.m_bpMaxSubLayers - 1; i ++ ) + { + if( sei.m_ptSubLayerDelaysPresentFlag[i] ) + WRITE_CODE( sei.m_duCommonCpbRemovalDelayMinus1[i], bp.m_duCpbRemovalDelayIncrementLength, "du_common_cpb_removal_delay_increment_minus1[i]" ); + } } - } - for( int i = 0; i <= sei.m_numDecodingUnitsMinus1; i ++ ) - { - WRITE_UVLC( sei.m_numNalusInDuMinus1[i], "num_nalus_in_du_minus1[i]" ); - if( !sei.m_duCommonCpbRemovalDelayFlag && i < sei.m_numDecodingUnitsMinus1 ) + for( int i = 0; i <= sei.m_numDecodingUnitsMinus1; i ++ ) { - for( int j = temporalId; j < bp.m_bpMaxSubLayers - 1; j ++ ) + WRITE_UVLC( sei.m_numNalusInDuMinus1[i], "num_nalus_in_du_minus1[i]" ); + if( !sei.m_duCommonCpbRemovalDelayFlag && i < sei.m_numDecodingUnitsMinus1 ) { - if( sei.m_ptSubLayerDelaysPresentFlag[j] ) - WRITE_CODE( sei.m_duCpbRemovalDelayMinus1[i * bp.m_bpMaxSubLayers + j], bp.m_duCpbRemovalDelayIncrementLength, "du_cpb_removal_delay_increment_minus1[i][j]" ); + for( int j = temporalId; j < bp.m_bpMaxSubLayers - 1; j ++ ) + { + if( sei.m_ptSubLayerDelaysPresentFlag[j] ) + WRITE_CODE( sei.m_duCpbRemovalDelayMinus1[i * bp.m_bpMaxSubLayers + j], bp.m_duCpbRemovalDelayIncrementLength, "du_cpb_removal_delay_increment_minus1[i][j]" ); + } } } - } #if JVET_R0103_DU_SIGNALLING } #endif