Showing the changes to codec/decoder/plus/src/welsDecoderExt.cpp (1 of 11 files). Show all
Unified · Split
| @@ -385,8 +385,6 @@ DECODING_STATE CWelsDecoder::DecodeFrame2 (const unsigned char* kpSrc, · 384 unmodified lines | ||
| 385 | 385 | const int kiSrcLen, |
| 386 | 386 | unsigned char** ppDst, |
| 387 | 387 | SBufferInfo* pDstInfo) { |
| 388 | − m_pDecContext->iMbEcedNum = 0; | |
| 389 | − m_pDecContext->iMbNum = 0; | |
| 390 | 388 | if (CheckBsBuffer (m_pDecContext, kiSrcLen)) { |
| 391 | 389 | return dsOutOfMemory; |
| 392 | 390 | } |
| @@ -480,10 +478,12 @@ DECODING_STATE CWelsDecoder::DecodeFrame2 (const unsigned char* kpSrc, · 87 unmodified lines | ||
| 480 | 478 | ResetDecStatNums (&m_pDecContext->sDecoderStatistics); |
| 481 | 479 | m_pDecContext->sDecoderStatistics.uiDecodedFrameCount++; |
| 482 | 480 | } |
| 483 | − m_pDecContext->sDecoderStatistics.uiAvgEcRatio = m_pDecContext->iMbEcedNum == 0 ? (m_pDecContext->sDecoderStatistics.uiAvgEcRatio * m_pDecContext->sDecoderStatistics.uiEcFrameNum) :((m_pDecContext->sDecoderStatistics.uiAvgEcRatio * m_pDecContext->sDecoderStatistics.uiEcFrameNum) + ((m_pDecContext->iMbEcedNum * 100) / m_pDecContext->iMbNum)); | |
| 484 | − m_pDecContext->sDecoderStatistics.uiEcFrameNum++; | |
| 485 | − m_pDecContext->sDecoderStatistics.uiAvgEcRatio = m_pDecContext->sDecoderStatistics.uiAvgEcRatio / | |
| 486 | − m_pDecContext->sDecoderStatistics.uiEcFrameNum; | |
| 481 | + int32_t iMbConcealedNum = m_pDecContext->iMbEcedNum + m_pDecContext->iMbEcedPropNum; | |
| 482 | + m_pDecContext->sDecoderStatistics.uiAvgEcRatio = iMbConcealedNum == 0 ? (m_pDecContext->sDecoderStatistics.uiAvgEcRatio * m_pDecContext->sDecoderStatistics.uiEcFrameNum) :((m_pDecContext->sDecoderStatistics.uiAvgEcRatio * m_pDecContext->sDecoderStatistics.uiEcFrameNum) + ((iMbConcealedNum * 100) / m_pDecContext->iMbNum)); | |
| 483 | + m_pDecContext->sDecoderStatistics.uiAvgEcPropRatio = m_pDecContext->iMbEcedPropNum == 0 ? (m_pDecContext->sDecoderStatistics.uiAvgEcPropRatio * m_pDecContext->sDecoderStatistics.uiEcFrameNum) :((m_pDecContext->sDecoderStatistics.uiAvgEcPropRatio * m_pDecContext->sDecoderStatistics.uiEcFrameNum) + ((m_pDecContext->iMbEcedPropNum * 100) / m_pDecContext->iMbNum)); | |
| 484 | + m_pDecContext->sDecoderStatistics.uiEcFrameNum += (iMbConcealedNum == 0 ? 0 : 1); | |
| 485 | + m_pDecContext->sDecoderStatistics.uiAvgEcRatio = m_pDecContext->sDecoderStatistics.uiEcFrameNum == 0? 0 : m_pDecContext->sDecoderStatistics.uiAvgEcRatio / m_pDecContext->sDecoderStatistics.uiEcFrameNum; | |
| 486 | + m_pDecContext->sDecoderStatistics.uiAvgEcPropRatio = m_pDecContext->sDecoderStatistics.uiEcFrameNum == 0? 0 : m_pDecContext->sDecoderStatistics.uiAvgEcPropRatio / m_pDecContext->sDecoderStatistics.uiEcFrameNum; | |
| 487 | 487 | } |
| 488 | 488 | iEnd = WelsTime(); |
| 489 | 489 | m_pDecContext->dDecTime += (iEnd - iStart) / 1e3; |