Showing the changes to codec/decoder/core/src/decode_slice.cpp (1 of 4 files). Show all
Unified · Split
| @@ -1112,25 +1112,6 @@ int32_t WelsCalcDeqCoeffScalingList (PWelsDecoderContext pCtx) { · 1111 unmodified lines | |||
| 1112 | 1112 | ||
| 1113 | if (!pCtx->bDequantCoeff4x4Init || (pCtx->iDequantCoeffPpsid != pCtx->pPps->iPpsId)) { | 1113 | if (!pCtx->bDequantCoeff4x4Init || (pCtx->iDequantCoeffPpsid != pCtx->pPps->iPpsId)) { |
| 1114 | int i, q, x, y; | 1114 | int i, q, x, y; |
| 1115 | // Rewrite pps scaling list for scalingList present flag=0 | ||
| 1116 | if (pCtx->bSpsLatePps) { | ||
| 1117 | for (i = 0; i < 12; i++) { | ||
| 1118 | //if (!pCtx->pSps->bSeqScalingListPresentFlag[i]) { | ||
| 1119 | if (!pCtx->pPps->bPicScalingListPresentFlag[i]) { | ||
| 1120 | if (i < 6) { | ||
| 1121 | if (i == 0 || i == 3) | ||
| 1122 | memcpy (pCtx->pPps->iScalingList4x4[i], pCtx->pSps->iScalingList4x4[i], 16 * sizeof (uint8_t)); | ||
| 1123 | else | ||
| 1124 | memcpy (pCtx->pPps->iScalingList4x4[i], pCtx->pPps->iScalingList4x4[i - 1], 16 * sizeof (uint8_t)); | ||
| 1125 | } else { | ||
| 1126 | if (i == 6 || i == 7) | ||
| 1127 | memcpy (pCtx->pPps->iScalingList8x8[ i - 6 ], pCtx->pSps->iScalingList8x8[ i - 6 ], 64 * sizeof (uint8_t)); | ||
| 1128 | else | ||
| 1129 | memcpy (pCtx->pPps->iScalingList8x8[ i - 6 ], pCtx->pPps->iScalingList8x8[i - 8], 64 * sizeof (uint8_t)); | ||
| 1130 | } | ||
| 1131 | } | ||
| 1132 | } | ||
| 1133 | } | ||
| 1134 | //Init dequant coeff value for different QP | 1115 | //Init dequant coeff value for different QP |
| 1135 | for (i = 0; i < 6; i++) { | 1116 | for (i = 0; i < 6; i++) { |
| 1136 | pCtx->pDequant_coeff4x4[i] = pCtx->pDequant_coeff_buffer4x4[i]; | 1117 | pCtx->pDequant_coeff4x4[i] = pCtx->pDequant_coeff_buffer4x4[i]; |