diff options
author | Di Wu <di1028.wu@samsung.com> | 2014-10-12 01:20:18 +0800 |
---|---|---|
committer | Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com> | 2014-10-10 09:13:44 -0300 |
commit | 162b5211080b187fc8a2e8393b7fa07207c1611e (patch) | |
tree | 640cf2782186eaa497a332d1bb567fda290ab44c | |
parent | c5ca76ad3b50e0cee1ebacb09e2c030e2c38f8dd (diff) | |
download | ffmpeg-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.c | 2 |
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 { |