From: Janne Grunau <jgru...@mythtv.org>

this silences the "number of reference frames exceeds max
(probably corrupt input), discarding one" message
in the uninteresting cases, i.e. after seeking, playback start

originally from:
https://github.com/MythTV/mythtv/commit/53257097eb6c1fd4259d20bc92f8820a023ec953

referencing:
https://code.mythtv.org/trac/ticket/6729
https://code.mythtv.org/trac/ticket/8367
---
 libavcodec/h264_refs.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/libavcodec/h264_refs.c b/libavcodec/h264_refs.c
index 5eb2855065..63ad617268 100644
--- a/libavcodec/h264_refs.c
+++ b/libavcodec/h264_refs.c
@@ -759,6 +759,12 @@ int ff_h264_execute_ref_pic_marking(H264Context *h)
             h->short_ref[0] = h->cur_pic_ptr;
             h->short_ref_count++;
             h->cur_pic_ptr->reference |= h->picture_structure;
+
+            // do not add more reference frames than allowed after seeing 
frame num gap
+            if (!mmco_count && h->short_ref_count > 
h->ps.sps->ref_frame_count) {
+                pic = h->short_ref[h->short_ref_count - 1];
+                remove_short(h, pic->frame_num, 0);
+            }
         }
     }
 
-- 
2.43.0

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to