[FFmpeg-devel] [PATCH 2/2] rv34: call ff_thread_report_progress() at the end even without a slice end.
Michael Niedermayer
michaelni at gmx.at
Sun Jan 22 23:08:55 CET 2012
This fixes the deadlock for bug125.
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
---
libavcodec/rv34.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/libavcodec/rv34.c b/libavcodec/rv34.c
index e09d5dc..88beb8b 100644
--- a/libavcodec/rv34.c
+++ b/libavcodec/rv34.c
@@ -1729,6 +1729,12 @@ int ff_rv34_decode_frame(AVCodecContext *avctx,
}
s->current_picture_ptr = NULL; //so we can detect if frame_end wasnt called (find some nicer solution...)
}
+ if (HAVE_THREADS && !last && s->current_picture_ptr && (s->avctx->active_thread_type & FF_THREAD_FRAME)) {
+ ff_thread_report_progress(&s->current_picture_ptr->f,
+ s->mb_height - 1, 0);
+ av_log(avctx, AV_LOG_WARNING, "Frame end missing\n");
+ }
+
return avpkt->size;
}
--
1.7.5.4
More information about the ffmpeg-devel
mailing list