shithub: openh264

Download patch

ref: 0ad782525ec14a5188a441bbc30f811576b529b7
parent: d9c90051dc36c9a387a4f9ae8f22e044f7b755db
parent: a9006e4b5c3544cc248b117e8d2cf7df3cc7c1dc
author: huili2 <[email protected]>
date: Mon Oct 12 04:31:39 EDT 2020

Merge pull request #3347 from xiaotianshi2/issue_3345

Fix openh264 issue 3345 (new oss-fuzz issues 25921, 25922, 25923,...

--- a/codec/decoder/plus/src/welsDecoderExt.cpp
+++ b/codec/decoder/plus/src/welsDecoderExt.cpp
@@ -811,6 +811,11 @@
       }
       return dsErrorFree;
     }
+    if ((pDecContext->iErrorCode & (dsBitstreamError | dsDataErrorConcealed)) && pDecContext->eSliceType == B_SLICE) {
+      ResetReorderingPictureBuffers (&m_sReoderingStatus, m_sPictInfoList, true);
+      WelsResetRefPic (pDecContext);
+      return dsErrorFree;
+    }
     //for AVC bitstream (excluding AVC with temporal scalability, including TP), as long as error occur, SHOULD notify upper layer key frame loss.
     if ((IS_PARAM_SETS_NALS (eNalType) || NAL_UNIT_CODED_SLICE_IDR == eNalType) ||
         (VIDEO_BITSTREAM_AVC == pDecContext->eVideoType)) {