summaryrefslogtreecommitdiff
path: root/libavcodec/rv40.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/rv40.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/rv40.c')
-rw-r--r--libavcodec/rv40.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libavcodec/rv40.c b/libavcodec/rv40.c
index bde63e19a5..c55a07a7d0 100644
--- a/libavcodec/rv40.c
+++ b/libavcodec/rv40.c
@@ -563,8 +563,10 @@ AVCodec ff_rv40_decoder = {
.init = rv40_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 4.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),
};