Showing the changes to codec/decoder/core/src/decode_slice.cpp (1 of 6 files). Show all
Unified · Split
| @@ -1719,7 +1719,16 @@ int32_t WelsDecodeAndConstructSlice (PWelsDecoderContext pCtx) { · 1718 unmodified lines | |||
| 1719 | 1719 | ||
| 1720 | return ERR_INFO_MB_RECON_FAIL; | 1720 | return ERR_INFO_MB_RECON_FAIL; |
| 1721 | } | 1721 | } |
| 1722 | int8_t pNzc[24]; | ||
| 1723 | if (pCtx->eSliceType != I_SLICE) { | ||
| 1724 | memcpy (pNzc, pCurDqLayer->pNzc[pCurDqLayer->iMbXyIndex], 24); | ||
| 1725 | pCtx->sBlockFunc.pWelsSetNonZeroCountFunc ( | ||
| 1726 | pCurDqLayer->pNzc[pCurDqLayer->iMbXyIndex]); // set all none-zero nzc to 1; dbk can be opti! | ||
| 1727 | } | ||
| 1722 | WelsDeblockingFilterMB (pCurDqLayer, pFilter, iFilterIdc, pDeblockMb); | 1728 | WelsDeblockingFilterMB (pCurDqLayer, pFilter, iFilterIdc, pDeblockMb); |
| 1729 | if (pCtx->eSliceType != I_SLICE) { | ||
| 1730 | memcpy (pCurDqLayer->pNzc[pCurDqLayer->iMbXyIndex], pNzc, 24); | ||
| 1731 | } | ||
| 1723 | if (pCtx->uiNalRefIdc > 0) { | 1732 | if (pCtx->uiNalRefIdc > 0) { |
| 1724 | if (pCurDqLayer->iMbX == 0 || pCurDqLayer->iMbX == pCurDqLayer->iMbWidth - 1 || pCurDqLayer->iMbY == 0 | 1733 | if (pCurDqLayer->iMbX == 0 || pCurDqLayer->iMbX == pCurDqLayer->iMbWidth - 1 || pCurDqLayer->iMbY == 0 |
| 1725 | || pCurDqLayer->iMbY == pCurDqLayer->iMbHeight - 1) { | 1734 | || pCurDqLayer->iMbY == pCurDqLayer->iMbHeight - 1) { |