diff --git a/source/Lib/CommonLib/CommonDef.h b/source/Lib/CommonLib/CommonDef.h index 9ae00e02dbd42374b8b88e6621c0cac79b45f5cf..d002d6dc85cc8d6db81bb54f846c0bb8256bd03a 100644 --- a/source/Lib/CommonLib/CommonDef.h +++ b/source/Lib/CommonLib/CommonDef.h @@ -352,7 +352,7 @@ static const int IQUANT_SHIFT = 6; static constexpr int SCALE_BITS = 15; // Precision for fractional bit estimates static constexpr double FRAC_BITS_SCALE = 1.0 / (1 << SCALE_BITS); -static const int SCALING_LIST_PRED_MODES = NUMBER_OF_PREDICTION_MODES - 2; +static constexpr int SCALING_LIST_PRED_MODES = 2; static const int SCALING_LIST_NUM = MAX_NUM_COMPONENT * SCALING_LIST_PRED_MODES; ///< list number for quantization matrix static const int SCALING_LIST_START_VALUE = 8; ///< start value for dpcm mode diff --git a/source/Lib/CommonLib/Quant.cpp b/source/Lib/CommonLib/Quant.cpp index 6a18b4a50453ebbdc299ff6d8b365fcebb7dcc5e..8a2780ce8398a15cedd820afd66e90714f68317c 100644 --- a/source/Lib/CommonLib/Quant.cpp +++ b/source/Lib/CommonLib/Quant.cpp @@ -591,7 +591,7 @@ void Quant::setScalingList(ScalingList *scalingList, const int maxLog2TrDynamicR { for(uint32_t list = 0; list < SCALING_LIST_NUM; list++) { - if (size == SCALING_LIST_2x2 && list % (SCALING_LIST_NUM / (NUMBER_OF_PREDICTION_MODES - 1)) == 0) //skip 2x2 luma + if (size == SCALING_LIST_2x2 && list % (SCALING_LIST_NUM / SCALING_LIST_PRED_MODES) == 0) // skip 2x2 luma continue; for(int qp = minimumQp; qp < maximumQp; qp++) { @@ -630,7 +630,7 @@ void Quant::setScalingListDec(const ScalingList &scalingList) { for(uint32_t list = 0; list < SCALING_LIST_NUM; list++) { - if (size == SCALING_LIST_2x2 && list % (SCALING_LIST_NUM / (NUMBER_OF_PREDICTION_MODES - 1)) == 0) //skip 2x2 luma + if (size == SCALING_LIST_2x2 && list % (SCALING_LIST_NUM / SCALING_LIST_PRED_MODES) == 0) // skip 2x2 luma continue; for(int qp = minimumQp; qp < maximumQp; qp++) { diff --git a/source/Lib/CommonLib/Slice.cpp b/source/Lib/CommonLib/Slice.cpp index ff5fbb969e5c82a3cb48eaea795b28523ef79270..c04bfccf527f3c4ddae43e28f4d55a64a4e17488 100644 --- a/source/Lib/CommonLib/Slice.cpp +++ b/source/Lib/CommonLib/Slice.cpp @@ -1780,8 +1780,8 @@ bool ScalingList::checkDefaultScalingList() { for(uint32_t listId=0;listId<SCALING_LIST_NUM;listId++) { - if (((sizeId == SCALING_LIST_64x64) && (listId % (SCALING_LIST_NUM / (NUMBER_OF_PREDICTION_MODES - 1)) != 0)) - || ((sizeId == SCALING_LIST_2x2) && (listId % (SCALING_LIST_NUM / (NUMBER_OF_PREDICTION_MODES - 1)) == 0))) + if (((sizeId == SCALING_LIST_64x64) && (listId % (SCALING_LIST_NUM / SCALING_LIST_PRED_MODES) != 0)) + || ((sizeId == SCALING_LIST_2x2) && (listId % (SCALING_LIST_NUM / SCALING_LIST_PRED_MODES) == 0))) { continue; } @@ -1847,7 +1847,7 @@ static void outputScalingListHelp(std::ostream &os) { for (uint32_t listIdc = 0; listIdc < SCALING_LIST_NUM; listIdc++) { - if (!(((sizeIdc == SCALING_LIST_64x64) && (listIdc % (SCALING_LIST_NUM / (NUMBER_OF_PREDICTION_MODES - 1)) != 0)) || ((sizeIdc == SCALING_LIST_2x2) && (listIdc % (SCALING_LIST_NUM / (NUMBER_OF_PREDICTION_MODES - 1)) == 0)))) + if (!(((sizeIdc == SCALING_LIST_64x64) && (listIdc % (SCALING_LIST_NUM / SCALING_LIST_PRED_MODES) != 0)) || ((sizeIdc == SCALING_LIST_2x2) && (listIdc % (SCALING_LIST_NUM / SCALING_LIST_PRED_MODES) == 0)))) { os << " " << MatrixType[sizeIdc][listIdc] << '\n'; } @@ -1862,7 +1862,7 @@ void ScalingList::outputScalingLists(std::ostream &os) const const uint32_t size = (sizeIdc == 1) ? 2 : ((sizeIdc == 2) ? 4 : 8); for(uint32_t listIdc = 0; listIdc < SCALING_LIST_NUM; listIdc++) { - if (!(((sizeIdc == SCALING_LIST_64x64) && (listIdc % (SCALING_LIST_NUM / (NUMBER_OF_PREDICTION_MODES - 1)) != 0)) || ((sizeIdc == SCALING_LIST_2x2) && (listIdc % (SCALING_LIST_NUM / (NUMBER_OF_PREDICTION_MODES - 1)) == 0)))) + if (!(((sizeIdc == SCALING_LIST_64x64) && (listIdc % (SCALING_LIST_NUM / SCALING_LIST_PRED_MODES) != 0)) || ((sizeIdc == SCALING_LIST_2x2) && (listIdc % (SCALING_LIST_NUM / SCALING_LIST_PRED_MODES) == 0)))) { const int *src = getScalingListAddress(sizeIdc, listIdc); os << (MatrixType[sizeIdc][listIdc]) << " =\n "; @@ -1912,7 +1912,7 @@ bool ScalingList::xParseScalingList(const std::string &fileName) { int * const src = getScalingListAddress(sizeIdc, listIdc); - if (((sizeIdc == SCALING_LIST_64x64) && (listIdc % (SCALING_LIST_NUM / (NUMBER_OF_PREDICTION_MODES - 1)) != 0)) || ((sizeIdc == SCALING_LIST_2x2) && (listIdc % (SCALING_LIST_NUM / (NUMBER_OF_PREDICTION_MODES - 1)) == 0))) + if (((sizeIdc == SCALING_LIST_64x64) && (listIdc % (SCALING_LIST_NUM / SCALING_LIST_PRED_MODES) != 0)) || ((sizeIdc == SCALING_LIST_2x2) && (listIdc % (SCALING_LIST_NUM / SCALING_LIST_PRED_MODES) == 0))) { continue; } @@ -2022,7 +2022,7 @@ const int* ScalingList::getScalingListDefaultAddress(uint32_t sizeId, uint32_t l case SCALING_LIST_32x32: case SCALING_LIST_64x64: case SCALING_LIST_128x128: - src = (listId < (SCALING_LIST_NUM / (NUMBER_OF_PREDICTION_MODES - 1))) ? g_quantIntraDefault8x8 : g_quantInterDefault8x8; + src = (listId < (SCALING_LIST_NUM / SCALING_LIST_PRED_MODES)) ? g_quantIntraDefault8x8 : g_quantInterDefault8x8; break; default: THROW( "Invalid scaling list" ); diff --git a/source/Lib/EncoderLib/EncLib.cpp b/source/Lib/EncoderLib/EncLib.cpp index ed645b167162fd43dd1132daac4145dbe070e0b0..82afbd8e0f6b9ac3d9eb68309dd7b3944077b122 100644 --- a/source/Lib/EncoderLib/EncLib.cpp +++ b/source/Lib/EncoderLib/EncLib.cpp @@ -492,8 +492,8 @@ void EncLib::xInitScalingLists(SPS &sps, PPS &pps) { for (uint32_t listId = 0; listId < SCALING_LIST_NUM; listId++) { - if (((sizeId == SCALING_LIST_64x64) && (listId % (SCALING_LIST_NUM / (NUMBER_OF_PREDICTION_MODES - 1)) != 0)) - || ((sizeId == SCALING_LIST_2x2) && (listId % (SCALING_LIST_NUM / (NUMBER_OF_PREDICTION_MODES - 1)) == 0))) + if (((sizeId == SCALING_LIST_64x64) && (listId % (SCALING_LIST_NUM / SCALING_LIST_PRED_MODES) != 0)) + || ((sizeId == SCALING_LIST_2x2) && (listId % (SCALING_LIST_NUM / SCALING_LIST_PRED_MODES) == 0))) { continue; }