History

try to use decoder error conditions to determine how to continue instead of trying to loacate deleted references.

xiaotiansf committed 7 years ago

Commit 3bf69ad1 parent 579a5bc2 files · +4 −22Browse files

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

Unified · Split

codec/decoder/core/src/mv_pred.cpp+4−0
@@ -1104,6 +1104,10 @@ void FillTemporalDirect8x8Mv (PDqLayer pCurLayer, const int16_t& iIdx8, const in · 1103 unmodified lines
11041104 }
11051105 int8_t MapColToList0 (PWelsDecoderContext& pCtx, const int8_t& colocRefIndexL0,
11061106 const int32_t& ref0Count) { //ISO/IEC 14496-10:2009(E) (8-193)
1107+ //When reference is lost, this function must be skipped.
1108+ if ((pCtx->iErrorCode & dsRefLost) == dsRefLost) {
1109+ return 0;
1110+ }
11071111 PPicture pic1 = pCtx->sRefPic.pRefList[LIST_1][0];
11081112 if (pic1 && pic1->pRefPic[LIST_0][colocRefIndexL0]) {
11091113 const int32_t iFramePoc = pic1->pRefPic[LIST_0][colocRefIndexL0]->iFramePoc;

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