summaryrefslogtreecommitdiff
path: root/libavcodec/rv30.c
diff options
context:
space:
mode:
authorJanne Grunau <janne-libav@jannau.net>2011-09-09 14:26:32 +0200
committerJanne Grunau <janne-libav@jannau.net>2012-01-10 22:51:56 +0100
commit9472d37d8e137df1e78e973b8b0e0d5607a799d5 (patch)
tree0c615eccf0f8214494fb6df91791c6402e7c52ec /libavcodec/rv30.c
parent3ab770001817e0f52114a9876819f07fcd8ed93a (diff)
rv34: frame-level multi-threading
Statistics for bourne.rmvb -an -f null 1 thread: 37.12s user 0.03s system 99% cpu 37.174 total 2 threads: 47.63s user 0.24s system 185% cpu 25.807 total 4 threads: 41.21s user 0.30s system 327% cpu 12.674 total
Diffstat (limited to 'libavcodec/rv30.c')
-rw-r--r--libavcodec/rv30.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libavcodec/rv30.c b/libavcodec/rv30.c
index 26708db4fa..4828e982b7 100644
--- a/libavcodec/rv30.c
+++ b/libavcodec/rv30.c
@@ -275,8 +275,10 @@ AVCodec ff_rv30_decoder = {
.init = rv30_decode_init,
.close = ff_rv34_decode_end,
.decode = ff_rv34_decode_frame,
- .capabilities = CODEC_CAP_DR1 | CODEC_CAP_DELAY,
+ .capabilities = CODEC_CAP_DR1 | CODEC_CAP_DELAY | CODEC_CAP_FRAME_THREADS,
.flush = ff_mpeg_flush,
.long_name = NULL_IF_CONFIG_SMALL("RealVideo 3.0"),
.pix_fmts = ff_pixfmt_list_420,
+ .init_thread_copy = ONLY_IF_THREADS_ENABLED(ff_rv34_decode_init_thread_copy),
+ .update_thread_context = ONLY_IF_THREADS_ENABLED(ff_rv34_decode_update_thread_context),
};