diff --git a/source/Lib/EncoderLib/EncLib.cpp b/source/Lib/EncoderLib/EncLib.cpp index 60eea179df1fd838b6ff70e242380035a5cd9a41..efbd2ea49ba53e83f5ee96463099e788e058b368 100644 --- a/source/Lib/EncoderLib/EncLib.cpp +++ b/source/Lib/EncoderLib/EncLib.cpp @@ -1339,8 +1339,22 @@ void EncLib::xInitSPS( SPS& sps ) sps.setScalingListFlag ( (m_useScalingListId == SCALING_LIST_OFF) ? 0 : 1 ); #if JVET_R0380_SCALING_MATRIX_DISABLE_YCC_OR_RGB - sps.setScalingMatrixForAlternativeColourSpaceDisabledFlag( m_disableScalingMatrixForAlternativeColourSpace ); - sps.setScalingMatrixDesignatedColourSpaceFlag( m_scalingMatrixDesignatedColourSpace ); + if (sps.getUseColorTrans() && sps.getScalingListFlag()) + { + sps.setScalingMatrixForAlternativeColourSpaceDisabledFlag( m_disableScalingMatrixForAlternativeColourSpace ); + } + else + { + sps.setScalingMatrixForAlternativeColourSpaceDisabledFlag( false ); + } + if (sps.getScalingMatrixForAlternativeColourSpaceDisabledFlag()) + { + sps.setScalingMatrixDesignatedColourSpaceFlag( m_scalingMatrixDesignatedColourSpace ); + } + else + { + sps.setScalingMatrixDesignatedColourSpaceFlag( true ); + } #endif sps.setALFEnabledFlag( m_alf ); sps.setCCALFEnabledFlag( m_ccalf );