diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2012-03-16 15:24:08 -0700 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2012-10-18 10:00:14 +0200 |
commit | 79fb7bc667dd4b9c899b3223d3e4fb5baa6c2e17 (patch) | |
tree | 6e099e7f22cdb609507545a2c44d796f0550c371 /libavcodec/synth_filter.h | |
parent | 141d4ed6c0911fde1913f3b757ace5012eabd897 (diff) | |
download | ffmpeg-79fb7bc667dd4b9c899b3223d3e4fb5baa6c2e17.tar.gz |
h264: fix deadlocks on incomplete reference frame decoding.
If decoding a second complementary field, and the first was
decoded in our thread, mark decoding of that field as complete.
If decoding fails, mark the decoded field/frame as complete.
Do not allow switching between field modes or field/frame mode
between slices within the same field/frame. Ensure that two
subsequent fields cover top/bottom (rather than top/frame,
bottom/frame or such nonsense situations).
Fixes various deadlocks when decoding samples with errors in
reference frames.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
(cherry picked from commit 1e26a48fa23ef8e1cbc424667d387184d8155f15)
Fixes Bug 118
Conflicts:
libavcodec/h264.c
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diffstat (limited to 'libavcodec/synth_filter.h')
0 files changed, 0 insertions, 0 deletions