summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2016-06-02 14:51:49 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2016-06-02 14:51:49 +0200
commit3402871f36f9d5ec5670190663ebe30c8e15c436 (patch)
tree1fbea7fc7d77cced2c6eff2d179371dcbb0e96ee
parenta8289d2407e0568479ccf4c3d90f88ed9b7dba9c (diff)
avcodec/h264_refs: Fix pps_ref_count with multiple PPS
Found-by: ubitux Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavcodec/h264_refs.c6
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