2018-12-06 15:26 GMT+01:00, Paul B Mahol <one...@gmail.com>: > This recovers state with #7374 linked sample. > > Work funded by Open Broadcast Systems. > > Signed-off-by: Paul B Mahol <one...@gmail.com> > --- > libavcodec/h264_refs.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/libavcodec/h264_refs.c b/libavcodec/h264_refs.c > index eaf965e43d..5645a203a7 100644 > --- a/libavcodec/h264_refs.c > +++ b/libavcodec/h264_refs.c > @@ -718,6 +718,7 @@ int ff_h264_execute_ref_pic_marking(H264Context *h) > } > break; > case MMCO_RESET: > + default: > while (h->short_ref_count) { > remove_short(h, h->short_ref[0]->frame_num, 0); > } > @@ -730,7 +731,6 @@ int ff_h264_execute_ref_pic_marking(H264Context *h) > for (j = 0; j < MAX_DELAYED_PIC_COUNT; j++) > h->last_pocs[j] = INT_MIN; > break; > - default: assert(0); > } > } >
Alternative is to avoid an invalid mmco opcode. Carl Eugen diff --git a/libavcodec/h264_refs.c b/libavcodec/h264_refs.c index eaf965e..c7e64ec 100644 --- a/libavcodec/h264_refs.c +++ b/libavcodec/h264_refs.c @@ -875,6 +875,7 @@ av_log(logctx, AV_LOG_ERROR, "illegal memory management control operation %d\n", opcode); + mmco[i].opcode = MMCO_RESET; return -1; } if (opcode == MMCO_END) _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel