diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2016-06-02 14:51:49 +0200 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2016-06-02 14:51:49 +0200 |
commit | 3402871f36f9d5ec5670190663ebe30c8e15c436 (patch) | |
tree | 1fbea7fc7d77cced2c6eff2d179371dcbb0e96ee /libavcodec/h264_refs.c | |
parent | a8289d2407e0568479ccf4c3d90f88ed9b7dba9c (diff) | |
download | ffmpeg-3402871f36f9d5ec5670190663ebe30c8e15c436.tar.gz |
avcodec/h264_refs: Fix pps_ref_count with multiple PPS
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/h264_refs.c')
-rw-r--r-- | libavcodec/h264_refs.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libavcodec/h264_refs.c b/libavcodec/h264_refs.c index 476e464086..279dbcf06d 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 |