diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2016-07-19 22:31:57 +0200 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2016-07-20 00:02:12 +0200 |
commit | fd1588919d2c70288a1a3fea1aefdd3ea2c424bb (patch) | |
tree | 578bc078176e1972d53ba4dd4302c2ee7ffa44c0 | |
parent | 68f991d9090dee0960cc6cdf7dca83c7fbe865fa (diff) | |
download | ffmpeg-fd1588919d2c70288a1a3fea1aefdd3ea2c424bb.tar.gz |
avcodec/h264: remove list_count and ref_count clearing
The code conflicts with moving the h264_init_ps() call point
Without this, ff_h264_parse_ref_count() fills ref and list count and
h264_init_ps() subsequently wipes them out on a "success" path.
Subsequently things crash as the wiped fields are used.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r-- | libavcodec/h264.c | 2 | ||||
-rw-r--r-- | libavcodec/h264_refs.c | 5 |
2 files changed, 0 insertions, 7 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c index f79735bc18..db68c05722 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -776,8 +776,6 @@ void ff_h264_flush_change(H264Context *h) h->frame_recovered = 0; h->current_slice = 0; h->mmco_reset = 1; - for (i = 0; i < h->nb_slice_ctx; i++) - h->slice_ctx[i].list_count = 0; } /* forget old pics after a seek */ diff --git a/libavcodec/h264_refs.c b/libavcodec/h264_refs.c index 7fafb826d7..6bac897a34 100644 --- a/libavcodec/h264_refs.c +++ b/libavcodec/h264_refs.c @@ -581,11 +581,6 @@ void ff_h264_remove_all_refs(H264Context *h) h->short_ref_count = 0; memset(h->default_ref, 0, sizeof(h->default_ref)); - for (i = 0; i < h->nb_slice_ctx; i++) { - H264SliceContext *sl = &h->slice_ctx[i]; - sl->list_count = sl->ref_count[0] = sl->ref_count[1] = 0; - memset(sl->ref_list, 0, sizeof(sl->ref_list)); - } } static void generate_sliding_window_mmcos(H264Context *h) |