[FFmpeg-cvslog] vp9: enable multi-thread decoding when refreshctx is equal to 0

Di Wu git at videolan.org
Fri Oct 10 14:19:29 CEST 2014


ffmpeg | branch: master | Di Wu <di1028.wu at samsung.com> | Sun Oct 12 01:20:18 2014 +0800| [162b5211080b187fc8a2e8393b7fa07207c1611e] | committer: Reynaldo H. Verdejo Pinochet

vp9: enable multi-thread decoding when refreshctx is equal to 0

In vp9_decode_frame function, ff_thread_finish_setup is not called
when refreshctx is equal to 0, and the next decoding thread can not
start work until the cunrrent frame has been decoded completely. So
ff_thread_finish_setup needs to be called to enable Multi-thread
decoding in this condition.

Signed-off-by: Di Wu <di1028.wu at samsung.com>
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo at osg.samsung.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=162b5211080b187fc8a2e8393b7fa07207c1611e
---

 libavcodec/vp9.c |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c
index 76fd372..7b7deb3 100644
--- a/libavcodec/vp9.c
+++ b/libavcodec/vp9.c
@@ -3826,6 +3826,8 @@ static int vp9_decode_frame(AVCodecContext *ctx, void *frame,
         }
         s->prob_ctx[s->framectxid].p = s->prob.p;
         ff_thread_finish_setup(ctx);
+    } else if (!s->refreshctx) {
+        ff_thread_finish_setup(ctx);
     }
 
     do {



More information about the ffmpeg-cvslog mailing list