diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h index fd07951543f7cfd6df0fa1c2eae3632b361d07ca..1b0ae9965c747d00de60a5301d0ed30b41239638 100644 --- a/source/Lib/CommonLib/TypeDef.h +++ b/source/Lib/CommonLib/TypeDef.h @@ -51,6 +51,7 @@ #include <cassert> //########### place macros to be removed in next cycle below this line ############### +#define JVET_S0203 1 // JVET-S0203 (aspects 1 & 2): change the signalling of sublayer_level_idc[ i ] and ptl_sublayer_level_present_flag[ i ] to be in descending order #define JVET_S0193_NO_OUTPUT_PRIOR_PIC 1 // JVET-S0193: Move ph_no_output_of_prior_pics_flag to SH diff --git a/source/Lib/DecoderLib/VLCReader.cpp b/source/Lib/DecoderLib/VLCReader.cpp index 78304d80f52d75438ead17e05910d77b6cee6808..6b6499ab555e75cfd187e39210c383ba701c703d 100644 --- a/source/Lib/DecoderLib/VLCReader.cpp +++ b/source/Lib/DecoderLib/VLCReader.cpp @@ -4820,7 +4820,11 @@ void HLSyntaxReader::parseProfileTierLevel(ProfileTierLevel *ptl, bool profileTi } } +#if JVET_S0203 + for (int i = maxNumSubLayersMinus1 - 1; i >= 0; i--) +#else for (int i = 0; i < maxNumSubLayersMinus1; i++) +#endif { READ_FLAG( symbol, "sub_layer_level_present_flag[i]" ); ptl->setSubLayerLevelPresentFlag (i, symbol); } @@ -4830,7 +4834,11 @@ void HLSyntaxReader::parseProfileTierLevel(ProfileTierLevel *ptl, bool profileTi READ_FLAG( symbol, "ptl_alignment_zero_bit" ); CHECK (symbol != 0, "ptl_alignment_zero_bit not equal to zero"); } +#if JVET_S0203 + for (int i = maxNumSubLayersMinus1 - 1; i >= 0; i--) +#else for (int i = 0; i < maxNumSubLayersMinus1; i++) +#endif { if (ptl->getSubLayerLevelPresentFlag(i)) { diff --git a/source/Lib/EncoderLib/VLCWriter.cpp b/source/Lib/EncoderLib/VLCWriter.cpp index 06d14092cb608f9a83d93d3599eeb850aabf580f..1bf0eab34861da32cfceee0b172da4d2a0f560a0 100644 --- a/source/Lib/EncoderLib/VLCWriter.cpp +++ b/source/Lib/EncoderLib/VLCWriter.cpp @@ -2779,7 +2779,11 @@ void HLSWriter::codeProfileTierLevel ( const ProfileTierLevel* ptl, bool pro } } +#if JVET_S0203 + for (int i = maxNumSubLayersMinus1 - 1; i >= 0; i--) +#else for (int i = 0; i < maxNumSubLayersMinus1; i++) +#endif { WRITE_FLAG( ptl->getSubLayerLevelPresentFlag(i), "sub_layer_level_present_flag[i]" ); } @@ -2789,7 +2793,11 @@ void HLSWriter::codeProfileTierLevel ( const ProfileTierLevel* ptl, bool pro WRITE_FLAG(0, "ptl_alignment_zero_bit"); } +#if JVET_S0203 + for (int i = maxNumSubLayersMinus1 - 1; i >= 0; i--) +#else for(int i = 0; i < maxNumSubLayersMinus1; i++) +#endif { if( ptl->getSubLayerLevelPresentFlag(i) ) {