OSDN Git Service

h264: Mark previous field as done before throwing it away.
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 11 Feb 2012 19:11:18 +0000 (20:11 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 12 Feb 2012 19:24:29 +0000 (20:24 +0100)
This fixes some deadlock without the generic cleanup code.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/h264.c

index 48aaddf..b9057ad 100644 (file)
@@ -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