clean and comment some API. move the SKIP mv pred location remove the unused buffer in intra construction.
Showing the changes to codec/decoder/core/src/decode_slice.cpp (1 of 9 files). Show all
Unified · Split
| @@ -247,27 +247,17 @@ int32_t WelsMbIntraPredictionConstruction (PWelsDecoderContext pCtx, PDqLayer pC · 246 unmodified lines | ||
| 247 | 247 | //seems IPCM should not enter this path |
| 248 | 248 | int32_t iMbXy = pCurLayer->iMbXyIndex; |
| 249 | 249 | |
| 250 | − FORCE_STACK_ALIGN_1D (int16_t, pTempScaledTCoeff, MB_COEFF_LIST_SIZE, 16); | |
| 251 | − | |
| 252 | − memcpy (pTempScaledTCoeff, pCurLayer->pScaledTCoeff[iMbXy], 384 * sizeof (pCurLayer->pScaledTCoeff[iMbXy][0])); | |
| 253 | − | |
| 254 | 250 | WelsFillRecNeededMbInfo (pCtx, bOutput, pCurLayer); |
| 255 | 251 | |
| 256 | 252 | if (IS_INTRA16x16 (pCurLayer->pMbType[iMbXy])) { |
| 257 | − int32_t i, j; | |
| 258 | − // really need? | |
| 259 | − for (i = 0; i < 16; i++) { | |
| 260 | − j = g_kuiLumaDcZigzagScan[i]; | |
| 261 | − pTempScaledTCoeff[j] = pCurLayer->pScaledTCoeff[iMbXy][j]; | |
| 262 | − } | |
| 263 | − WelsLumaDcDequantIdct (pTempScaledTCoeff, pCurLayer->pLumaQp[iMbXy]); | |
| 264 | − RecI16x16Mb (iMbXy, pCtx, pTempScaledTCoeff, pCurLayer); | |
| 253 | + WelsLumaDcDequantIdct (pCurLayer->pScaledTCoeff[iMbXy], pCurLayer->pLumaQp[iMbXy]); | |
| 254 | + RecI16x16Mb (iMbXy, pCtx, pCurLayer->pScaledTCoeff[iMbXy], pCurLayer); | |
| 265 | 255 | |
| 266 | 256 | return 0; |
| 267 | 257 | } |
| 268 | 258 | |
| 269 | 259 | if (IS_INTRA4x4 (pCurLayer->pMbType[iMbXy])) |
| 270 | − RecI4x4Mb (iMbXy, pCtx, pTempScaledTCoeff, pCurLayer); | |
| 260 | + RecI4x4Mb (iMbXy, pCtx, pCurLayer->pScaledTCoeff[iMbXy], pCurLayer); | |
| 271 | 261 | |
| 272 | 262 | return 0; |
| 273 | 263 | } |