Commit 3d0c2ee5 authored by Karsten Suehring's avatar Karsten Suehring
Browse files

Merge branch 'R0156_proposal3' into 'master'

JVET-R0156 proposal 3, JVET-R0170, JVET-R0222 proposal 2

See merge request jvet/VVCSoftware_VTM!1530
parents 3ec165d4 dfbee4a5
......@@ -62,6 +62,8 @@
#define JVET_R0208_ALF_VB_ROUNDING_FIX 1 // JVET-R0208: Rounding offset fix for ALF virtual boundary processing
#define JVET_R0232_CCALF_APS_CONSTRAINT 1 // JVET-R0232 section 3.2: APS contraint for CCALF
#define JVET_R0156_ASPECT3_SPS_CLEANUP 1 // Condition sps_sublayer_dpb_params_flag on sps_ptl_dpb_hrd_params_present_flag, in addition to sps_max_sublayer_minus1, JVET-R0156 proposal 3, JVET-R0170, JVET-R0222 proposal 2
//########### place macros to be be kept below this line ###############
#define JVET_M0497_MATRIX_MULT 0 // 0: Fast method; 1: Matrix multiplication
......
......@@ -1402,12 +1402,20 @@ void HLSyntaxReader::parseSPS(SPS* pcSPS)
READ_CODE(2, uiCode, "num_extra_sh_bits_bytes"); pcSPS->setNumExtraSHBitsBytes(uiCode);
parseExtraSHBitsStruct( pcSPS, uiCode );
#if !JVET_R0156_ASPECT3_SPS_CLEANUP
if (pcSPS->getMaxTLayers() - 1 > 0)
{
READ_FLAG(uiCode, "sps_sublayer_dpb_params_flag"); pcSPS->setSubLayerDpbParamsFlag(uiCode ? true : false);
}
#endif
if (pcSPS->getPtlDpbHrdParamsPresentFlag())
{
#if JVET_R0156_ASPECT3_SPS_CLEANUP
if (pcSPS->getMaxTLayers() - 1 > 0)
{
READ_FLAG(uiCode, "sps_sublayer_dpb_params_flag"); pcSPS->setSubLayerDpbParamsFlag(uiCode ? true : false);
}
#endif
dpb_parameters(pcSPS->getMaxTLayers() - 1, pcSPS->getSubLayerDpbParamsFlag(), pcSPS);
}
......
......@@ -854,10 +854,18 @@ void HLSWriter::codeSPS( const SPS* pcSPS )
WRITE_CODE(0, 2, "num_extra_sh_bits_bytes");
// extra_sh_bits_struct( num_extra_sh_bits_bytes )
#if !JVET_R0156_ASPECT3_SPS_CLEANUP
if (pcSPS->getMaxTLayers() - 1 > 0)
WRITE_FLAG(pcSPS->getSubLayerDpbParamsFlag(), "sps_sublayer_dpb_params_flag");
#endif
if (pcSPS->getPtlDpbHrdParamsPresentFlag())
{
#if JVET_R0156_ASPECT3_SPS_CLEANUP
if (pcSPS->getMaxTLayers() - 1 > 0)
{
WRITE_FLAG(pcSPS->getSubLayerDpbParamsFlag(), "sps_sublayer_dpb_params_flag");
}
#endif
dpb_parameters(pcSPS->getMaxTLayers() - 1, pcSPS->getSubLayerDpbParamsFlag(), pcSPS);
}
CHECK( pcSPS->getMaxCUWidth() != pcSPS->getMaxCUHeight(), "Rectangular CTUs not supported" );
......
Markdown is supported
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