mem mem decstatictis time change time change set decTime=0
Showing the changes to codec/decoder/core/src/decoder_core.cpp (1 of 9 files). Show all
Unified · Split
| @@ -107,6 +107,14 @@ static inline int32_t DecodeFrameConstruction (PWelsDecoderContext pCtx, uint8_t · 106 unmodified lines | |||
| 107 | pDstInfo->iBufferStatus = (int32_t) (bFrameCompleteFlag | 107 | pDstInfo->iBufferStatus = (int32_t) (bFrameCompleteFlag |
| 108 | && pPic->bIsComplete); // When EC disable, ECed picture not output | 108 | && pPic->bIsComplete); // When EC disable, ECed picture not output |
| 109 | 109 | ||
| 110 | |||
| 111 | if ((pDstInfo->iBufferStatus == 1) && (pCurDq->sLayerInfo.sNalHeaderExt.bIdrFlag)) { | ||
| 112 | if (pPic->bIsComplete) | ||
| 113 | pCtx->sDecoderStatistics.uiIDRRecvNum++; | ||
| 114 | else | ||
| 115 | pCtx->sDecoderStatistics.uiEcIDRNum++; | ||
| 116 | } | ||
| 117 | |||
| 110 | if (pDstInfo->iBufferStatus == 0) { | 118 | if (pDstInfo->iBufferStatus == 0) { |
| 111 | if (!bFrameCompleteFlag) | 119 | if (!bFrameCompleteFlag) |
| 112 | pCtx->iErrorCode |= dsBitstreamError; | 120 | pCtx->iErrorCode |= dsBitstreamError; |
| @@ -974,6 +982,8 @@ int32_t UpdateAccessUnit (PWelsDecoderContext pCtx) { · 861 unmodified lines | |||
| 974 | } | 982 | } |
| 975 | if (uiActualIdx == | 983 | if (uiActualIdx == |
| 976 | pCurAu->uiActualUnitsNum) { // no found IDR nal within incoming AU, need exit to avoid mosaic issue, 11/19/2009 | 984 | pCurAu->uiActualUnitsNum) { // no found IDR nal within incoming AU, need exit to avoid mosaic issue, 11/19/2009 |
| 985 | |||
| 986 | pCtx->sDecoderStatistics.uiIDRLostNum++; | ||
| 977 | WelsLog (& (pCtx->sLogCtx), WELS_LOG_WARNING, | 987 | WelsLog (& (pCtx->sLogCtx), WELS_LOG_WARNING, |
| 978 | "UpdateAccessUnit():::::Key frame lost.....CAN NOT find IDR from current AU."); | 988 | "UpdateAccessUnit():::::Key frame lost.....CAN NOT find IDR from current AU."); |
| 979 | pCtx->iErrorCode |= dsRefLost; | 989 | pCtx->iErrorCode |= dsRefLost; |