[FFmpeg-cvslog] avcodec/h264_refs: Fix pps_ref_count with multiple PPS

Michael Niedermayer git at videolan.org
Thu Jun 2 15:03:19 CEST 2016


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Thu Jun  2 14:51:49 2016 +0200| [3402871f36f9d5ec5670190663ebe30c8e15c436] | committer: Michael Niedermayer

avcodec/h264_refs: Fix pps_ref_count with multiple PPS

Found-by: ubitux
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3402871f36f9d5ec5670190663ebe30c8e15c436
---

 libavcodec/h264_refs.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavcodec/h264_refs.c b/libavcodec/h264_refs.c
index 476e464..279dbcf 100644
--- a/libavcodec/h264_refs.c
+++ b/libavcodec/h264_refs.c
@@ -806,8 +806,10 @@ int ff_h264_execute_ref_pic_marking(H264Context *h, MMCO *mmco, int mmco_count)
     print_long_term(h);
 
     for (i = 0; i < FF_ARRAY_ELEMS(h->pps_buffers); i++) {
-        pps_ref_count[0] = FFMAX(pps_ref_count[0], h->pps.ref_count[0]);
-        pps_ref_count[1] = FFMAX(pps_ref_count[1], h->pps.ref_count[1]);
+        if (h->pps_buffers[i]) {
+            pps_ref_count[0] = FFMAX(pps_ref_count[0], h->pps_buffers[i]->ref_count[0]);
+            pps_ref_count[1] = FFMAX(pps_ref_count[1], h->pps_buffers[i]->ref_count[1]);
+        }
     }
 
     if (   err >= 0



More information about the ffmpeg-cvslog mailing list