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 | return dsErrorFree; | 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 | //for AVC bitstream (excluding AVC with temporal scalability, including TP), as long as error occur, SHOULD notify upper layer key frame loss. | 819 | //for AVC bitstream (excluding AVC with temporal scalability, including TP), as long as error occur, SHOULD notify upper layer key frame loss. |
| 815 | if ((IS_PARAM_SETS_NALS (eNalType) || NAL_UNIT_CODED_SLICE_IDR == eNalType) || | 820 | if ((IS_PARAM_SETS_NALS (eNalType) || NAL_UNIT_CODED_SLICE_IDR == eNalType) || |
| 816 | (VIDEO_BITSTREAM_AVC == pDecContext->eVideoType)) { | 821 | (VIDEO_BITSTREAM_AVC == pDecContext->eVideoType)) { |