Showing the changes to codec/decoder/core/src/error_concealment.cpp (1 of 8 files). Show all
Unified · Split
| @@ -157,8 +157,9 @@ void DoErrorConSliceCopy (PWelsDecoderContext pCtx) { · 156 unmodified lines | ||
| 157 | 157 | } //iMbX |
| 158 | 158 | } //iMbY |
| 159 | 159 | |
| 160 | − pCtx->sDecoderStatistics.uiAvgEcRatio = (pCtx->sDecoderStatistics.uiAvgEcRatio * pCtx->sDecoderStatistics.uiEcFrameNum) | |
| 161 | − + ((iMbEcedNum * 100) / iMbNum) ; | |
| 160 | + if (!pCtx->bFreezeOutput) | |
| 161 | + pCtx->sDecoderStatistics.uiAvgEcRatio = (pCtx->sDecoderStatistics.uiAvgEcRatio * pCtx->sDecoderStatistics.uiEcFrameNum) | |
| 162 | + + ((iMbEcedNum * 100) / iMbNum) ; | |
| 162 | 163 | } |
| 163 | 164 | |
| 164 | 165 | //Do error concealment using slice MV copy method |
| @@ -415,8 +416,9 @@ void DoErrorConSliceMVCopy (PWelsDecoderContext pCtx) { · 250 unmodified lines | ||
| 415 | 416 | } //iMbX |
| 416 | 417 | } //iMbY |
| 417 | 418 | |
| 418 | − pCtx->sDecoderStatistics.uiAvgEcRatio = (pCtx->sDecoderStatistics.uiAvgEcRatio * pCtx->sDecoderStatistics.uiEcFrameNum) | |
| 419 | − + ((iMbEcedNum * 100) / iMbNum) ; | |
| 419 | + if (!pCtx->bFreezeOutput) | |
| 420 | + pCtx->sDecoderStatistics.uiAvgEcRatio = (pCtx->sDecoderStatistics.uiAvgEcRatio * pCtx->sDecoderStatistics.uiEcFrameNum) | |
| 421 | + + ((iMbEcedNum * 100) / iMbNum) ; | |
| 420 | 422 | } |
| 421 | 423 | |
| 422 | 424 | //Mark erroneous frame as Ref Pic into DPB |