History

Merge pull request #1180 from huili2/dpb_green_issue_master

solve green issue combined with EC and multi-packet input

dongzha committed 12 years ago

Commit 2db10df2 parents 2a83a85 d7f33314 files · +12 −4Browse files

Showing the changes to codec/decoder/core/src/decoder_core.cpp (1 of 4 files). Show all

Unified · Split

codec/decoder/core/src/decoder_core.cpp+5−4
@@ -1972,9 +1972,8 @@ int32_t DecodeCurrentAccessUnit (PWelsDecoderContext pCtx, uint8_t** ppDst, SBuf · 1971 unmodified lines
19721972 return ERR_NONE;
19731973 }
19741974
1975− pCtx->pPreviousDecodedPictureInDpb = pCtx->pDec; //store latest decoded picture for EC
1976−
19771975 if (uiNalRefIdc > 0) {
1976+ pCtx->pPreviousDecodedPictureInDpb = pCtx->pDec; //store latest decoded picture for EC
19781977 iRet = WelsMarkAsRef (pCtx);
19791978 if (iRet != ERR_NONE) {
19801979 if (pCtx->iErrorConMethod == ERROR_CON_DISABLE) {
@@ -2009,8 +2008,10 @@ bool CheckAndDoEC (PWelsDecoderContext pCtx, uint8_t** ppDst, SBufferInfo* pDstI · 28 unmodified lines
20092008 ImplementErrorCon (pCtx);
20102009 pCtx->iTotalNumMbRec = pCtx->pSps->iMbWidth * pCtx->pSps->iMbHeight;
20112010 DecodeFrameConstruction (pCtx, ppDst, pDstInfo);
2012− pCtx->pPreviousDecodedPictureInDpb = pCtx->pDec; //save ECed pic for future use
2013− MarkECFrameAsRef (pCtx);
2011+ if (pCtx->sLastNalHdrExt.sNalUnitHeader.uiNalRefIdc > 0) {
2012+ pCtx->pPreviousDecodedPictureInDpb = pCtx->pDec; //save ECed pic for future use
2013+ MarkECFrameAsRef (pCtx);
2014+ }
20142015 pCtx->iPrevFrameNum = pCtx->sLastSliceHeader.iFrameNum; //save frame_num
20152016 if (pCtx->bLastHasMmco5)
20162017 pCtx->iPrevFrameNum = 0;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t