Showing the changes to codec/decoder/core/src/decoder_core.cpp (1 of 10 files). Show all
Unified · Split
| @@ -90,6 +90,7 @@ static inline int32_t DecodeFrameConstruction (PWelsDecoderContext pCtx, uint8_t · 89 unmodified lines | ||
| 90 | 90 | |
| 91 | 91 | if (!pCtx->bParseOnly) { |
| 92 | 92 | //////output:::normal path |
| 93 | + pDstInfo->uiOutYuvTimeStamp = pPic->uiTimeStamp; | |
| 93 | 94 | ppDst[0] = pPic->pData[0]; |
| 94 | 95 | ppDst[1] = pPic->pData[1]; |
| 95 | 96 | ppDst[2] = pPic->pData[2]; |
| @@ -1742,7 +1743,7 @@ int32_t ConstructAccessUnit (PWelsDecoderContext pCtx, uint8_t** ppDst, SBufferI · 1646 unmodified lines | ||
| 1742 | 1743 | int32_t iIdx = pCurAu->uiStartPos; |
| 1743 | 1744 | int32_t iEndIdx = pCurAu->uiEndPos; |
| 1744 | 1745 | uint8_t* pNalBs = NULL; |
| 1745 | − | |
| 1746 | + pParser->uiOutBsTimeStamp = (pCurAu->pNalUnitsList [iIdx]) ? pCurAu->pNalUnitsList [iIdx]->uiTimeStamp : 0; | |
| 1746 | 1747 | pParser->iNalNum = 0; |
| 1747 | 1748 | pParser->iSpsWidthInPixel = (pCtx->pSps->iMbWidth << 4); |
| 1748 | 1749 | pParser->iSpsHeightInPixel = (pCtx->pSps->iMbHeight << 4); |
| @@ -1774,6 +1775,7 @@ int32_t ConstructAccessUnit (PWelsDecoderContext pCtx, uint8_t** ppDst, SBufferI · 25 unmodified lines | ||
| 1774 | 1775 | pDstBuf += iNalLen; |
| 1775 | 1776 | } |
| 1776 | 1777 | } else { //error |
| 1778 | + pCtx->pParserBsInfo->uiOutBsTimeStamp = 0; | |
| 1777 | 1779 | pCtx->pParserBsInfo->iNalNum = 0; |
| 1778 | 1780 | pCtx->pParserBsInfo->iSpsWidthInPixel = 0; |
| 1779 | 1781 | pCtx->pParserBsInfo->iSpsHeightInPixel = 0; |
| @@ -1935,6 +1937,7 @@ int32_t DecodeCurrentAccessUnit (PWelsDecoderContext pCtx, uint8_t** ppDst, SBuf · 155 unmodified lines | ||
| 1935 | 1937 | return ERR_INFO_REF_COUNT_OVERFLOW; |
| 1936 | 1938 | } |
| 1937 | 1939 | } |
| 1940 | + pCtx->pDec->uiTimeStamp = pNalCur->uiTimeStamp; | |
| 1938 | 1941 | |
| 1939 | 1942 | if (pCtx->iTotalNumMbRec == 0) { //Picture start to decode |
| 1940 | 1943 | for (int32_t i = 0; i < LAYER_NUM_EXCHANGEABLE; ++ i) |