aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDi Wu <di1028.wu@samsung.com>2014-10-12 01:20:18 +0800
committerReynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>2014-10-10 09:13:44 -0300
commit162b5211080b187fc8a2e8393b7fa07207c1611e (patch)
tree640cf2782186eaa497a332d1bb567fda290ab44c
parentc5ca76ad3b50e0cee1ebacb09e2c030e2c38f8dd (diff)
downloadffmpeg-162b5211080b187fc8a2e8393b7fa07207c1611e.tar.gz
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@samsung.com> Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-rw-r--r--libavcodec/vp9.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c
index 76fd37248b..7b7deb3aa6 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 {