Showing the changes to codec/decoder/plus/src/welsDecoderExt.cpp (1 of 1 file). Show all
Unified · Split
| @@ -811,6 +811,11 @@ DECODING_STATE CWelsDecoder::DecodeFrame2WithCtx (PWelsDecoderContext pDecContex · 810 unmodified lines | ||
| 811 | 811 | } |
| 812 | 812 | return dsErrorFree; |
| 813 | 813 | } |
| 814 | + if ((pDecContext->iErrorCode & (dsBitstreamError | dsDataErrorConcealed)) && pDecContext->eSliceType == B_SLICE) { | |
| 815 | + ResetReorderingPictureBuffers (&m_sReoderingStatus, m_sPictInfoList, true); | |
| 816 | + WelsResetRefPic (pDecContext); | |
| 817 | + return dsErrorFree; | |
| 818 | + } | |
| 814 | 819 | //for AVC bitstream (excluding AVC with temporal scalability, including TP), as long as error occur, SHOULD notify upper layer key frame loss. |
| 815 | 820 | if ((IS_PARAM_SETS_NALS (eNalType) || NAL_UNIT_CODED_SLICE_IDR == eNalType) || |
| 816 | 821 | (VIDEO_BITSTREAM_AVC == pDecContext->eVideoType)) { |