aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-02-11 20:11:18 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-02-12 20:24:29 +0100
commitf900d601784ca69b5760bff5cb8f6dae333a79da (patch)
treee135a57168d0dcffeeb7268d02bff7612af8d1dd /libavcodec
parentb66b58f7b0df09f8c45c9846973b141626c6b17c (diff)
downloadffmpeg-f900d601784ca69b5760bff5cb8f6dae333a79da.tar.gz
h264: Mark previous field as done before throwing it away.
This fixes some deadlock without the generic cleanup code. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/h264.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 48aaddfe68..b9057ad122 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -2943,6 +2943,8 @@ static int decode_slice_header(H264Context *h, H264Context *h0){
} else {
if (s0->current_picture_ptr->frame_num != h->frame_num) {
+ ff_thread_report_progress((AVFrame*)s0->current_picture_ptr, INT_MAX,
+ s0->picture_structure==PICT_BOTTOM_FIELD);
/*
* This and previous field had
* different frame_nums. Consider this field first in