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 | 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 | 1728 | WelsDeblockingFilterMB (pCurDqLayer, pFilter, iFilterIdc, pDeblockMb); |
| 1729 | + if (pCtx->eSliceType != I_SLICE) { | |
| 1730 | + memcpy (pCurDqLayer->pNzc[pCurDqLayer->iMbXyIndex], pNzc, 24); | |
| 1731 | + } | |
| 1723 | 1732 | if (pCtx->uiNalRefIdc > 0) { |
| 1724 | 1733 | if (pCurDqLayer->iMbX == 0 || pCurDqLayer->iMbX == pCurDqLayer->iMbWidth - 1 || pCurDqLayer->iMbY == 0 |
| 1725 | 1734 | || pCurDqLayer->iMbY == pCurDqLayer->iMbHeight - 1) { |