From a7d7b0122ef21426659c827c671b55ea8b39d850 Mon Sep 17 00:00:00 2001 From: hobingzhang <hobingzhang@tencent.com> Date: Wed, 5 Feb 2020 11:30:07 +0800 Subject: [PATCH] Modified the condition in setScalingList() function and typo in xInitScalingLists() --- source/Lib/CommonLib/Quant.cpp | 18 +++++++++++------- source/Lib/EncoderLib/EncLib.cpp | 3 ++- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/source/Lib/CommonLib/Quant.cpp b/source/Lib/CommonLib/Quant.cpp index f57a415a6..f2081f62e 100644 --- a/source/Lib/CommonLib/Quant.cpp +++ b/source/Lib/CommonLib/Quant.cpp @@ -545,17 +545,21 @@ void Quant::setScalingList(ScalingList *scalingList, const int maxLog2TrDynamicR if ((size == SCALING_LIST_2x2 && list < 4) || (size == SCALING_LIST_64x64 && list % (SCALING_LIST_NUM / SCALING_LIST_PRED_MODES) != 0)) // skip 2x2 luma continue; #if JVET_Q0505_CHROAM_QM_SIGNALING_400 - if (!(scalingList->getChromaScalingListPresentFlag() || list % (SCALING_LIST_NUM / SCALING_LIST_PRED_MODES) == 0 || (size ==SCALING_LIST_64x64)))// skip chroma QM for 400 + if (scalingList->getChromaScalingListPresentFlag() || scalingListId % 3 == 2 || scalingListId == 27) { - scalingList->processDefaultMatrix(scalingListId); - scalingListId++; continue; - } #endif - for(int qp = minimumQp; qp < maximumQp; qp++) + for(int qp = minimumQp; qp < maximumQp; qp++) + { + xSetScalingListEnc(scalingList, list, size, qp, scalingListId); + xSetScalingListDec(*scalingList, list, size, qp, scalingListId); + } +#if JVET_Q0505_CHROAM_QM_SIGNALING_400 + } + else // chroma QMs in 400 { - xSetScalingListEnc(scalingList, list, size, qp, scalingListId); - xSetScalingListDec(*scalingList, list, size, qp, scalingListId); + scalingList->processDefaultMatrix(scalingListId); } +#endif scalingListId++; } } diff --git a/source/Lib/EncoderLib/EncLib.cpp b/source/Lib/EncoderLib/EncLib.cpp index 8212adc02..d455c05ef 100644 --- a/source/Lib/EncoderLib/EncLib.cpp +++ b/source/Lib/EncoderLib/EncLib.cpp @@ -597,7 +597,8 @@ void EncLib::xInitScalingLists( SPS &sps, APS &aps ) for (uint32_t scalingListId = 0; scalingListId < 28; scalingListId++) { #if JVET_Q0505_CHROAM_QM_SIGNALING_400 - if (aps.getScalingList().getChromaScalingListPresentFlag()|| scalingListId % 3 == 2 || scalingListId == 27){ + if (aps.getScalingList().getChromaScalingListPresentFlag()|| scalingListId % 3 == 2 || scalingListId == 27) + { #endif aps.getScalingList().checkPredMode(scalingListId); #if JVET_Q0505_CHROAM_QM_SIGNALING_400 -- GitLab