Showing the changes to codec/decoder/core/src/decode_slice.cpp (1 of 2 files). Show all
Unified · Split
| @@ -90,12 +90,14 @@ int32_t WelsTargetSliceConstruction (PWelsDecoderContext pCtx) { · 89 unmodified lines | |||
| 90 | break; | 90 | break; |
| 91 | } | 91 | } |
| 92 | 92 | ||
| 93 | if (WelsTargetMbConstruction (pCtx)) { | 93 | if (!pCtx->bParseOnly) { //for parse only, actual recon MB unnecessary |
| 94 | WelsLog (& (pCtx->sLogCtx), WELS_LOG_WARNING, | 94 | if (WelsTargetMbConstruction (pCtx)) { |
| 95 | "WelsTargetSliceConstruction():::MB(%d, %d) construction error. pCurSlice_type:%d", | 95 | WelsLog (& (pCtx->sLogCtx), WELS_LOG_WARNING, |
| 96 | pCurLayer->iMbX, pCurLayer->iMbY, pCurSlice->eSliceType); | 96 | "WelsTargetSliceConstruction():::MB(%d, %d) construction error. pCurSlice_type:%d", |
| 97 | pCurLayer->iMbX, pCurLayer->iMbY, pCurSlice->eSliceType); | ||
| 97 | 98 | ||
| 98 | return -1; | 99 | return -1; |
| 100 | } | ||
| 99 | } | 101 | } |
| 100 | 102 | ||
| 101 | ++iCountNumMb; | 103 | ++iCountNumMb; |
| @@ -132,6 +134,9 @@ int32_t WelsTargetSliceConstruction (PWelsDecoderContext pCtx) { · 30 unmodified lines | |||
| 132 | if ((pCurSlice->eSliceType != I_SLICE) && (pCurSlice->eSliceType != P_SLICE)) | 134 | if ((pCurSlice->eSliceType != I_SLICE) && (pCurSlice->eSliceType != P_SLICE)) |
| 133 | return 0; | 135 | return 0; |
| 134 | 136 | ||
| 137 | if (pCtx->bParseOnly) //for parse only, deblocking should not go on | ||
| 138 | return 0; | ||
| 139 | |||
| 135 | pDeblockMb = WelsDeblockingMb; | 140 | pDeblockMb = WelsDeblockingMb; |
| 136 | 141 | ||
| 137 | if (1 == pSliceHeader->uiDisableDeblockingFilterIdc) { | 142 | if (1 == pSliceHeader->uiDisableDeblockingFilterIdc) { |