History

add EC method to freeze sequence when resolution changed and decoding IDR error

huili2 committed 12 years ago

Commit 0d16fd61 parent aed7b237 files · +33 −6Browse files

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

Unified · Split

codec/decoder/core/src/decoder.cpp+7−1
@@ -145,6 +145,9 @@ void WelsDecoderDefaults (PWelsDecoderContext pCtx, SLogContext* pLogCtx) { · 144 unmodified lines
145145
146146 pCtx->iImgWidthInPixel = 0;
147147 pCtx->iImgHeightInPixel = 0; // alloc picture data when picture size is available
148+ pCtx->iLastImgWidthInPixel = 0;
149+ pCtx->iLastImgHeightInPixel = 0;
150+ pCtx->bFreezeOutput = false;
148151
149152 pCtx->iFrameNum = -1;
150153 pCtx->iPrevFrameNum = -1;
@@ -160,7 +163,7 @@ void WelsDecoderDefaults (PWelsDecoderContext pCtx, SLogContext* pLogCtx) { · 9 unmodified lines
160163 pCtx->pPicBuff[LIST_1] = NULL;
161164
162165 pCtx->bAvcBasedFlag = true;
163− pCtx->eErrorConMethod = ERROR_CON_SLICE_COPY_CROSS_IDR;
166+ pCtx->eErrorConMethod = ERROR_CON_SLICE_COPY_CROSS_IDR_FREEZE_RES_CHANGE;
164167 pCtx->pPreviousDecodedPictureInDpb = NULL;
165168
166169 }
@@ -270,6 +273,9 @@ void WelsFreeMem (PWelsDecoderContext pCtx) { · 103 unmodified lines
270273 // added for safe memory
271274 pCtx->iImgWidthInPixel = 0;
272275 pCtx->iImgHeightInPixel = 0;
276+ pCtx->iLastImgWidthInPixel = 0;
277+ pCtx->iLastImgHeightInPixel = 0;
278+ pCtx->bFreezeOutput = false;
273279 pCtx->bHaveGotMemory = false;
274280 WelsFree (pCtx->pCabacDecEngine, "pCtx->pCabacDecEngine");
275281 }

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