vp9_ethread: add parallel loopfilter
authorYunqing Wang <yunqingwang@google.com>
Tue, 6 Jan 2015 22:14:26 +0000 (14:14 -0800)
committerYunqing Wang <yunqingwang@google.com>
Sat, 17 Jan 2015 01:19:27 +0000 (17:19 -0800)
commite76eaf05b1a20b906d166b7e8db402a9883c6025
tree24972b4c3100686d6c592bfbaa214b7cb81870a6
parent1be4267ec21e3235027f83e7442c25e7eefbd836
vp9_ethread: add parallel loopfilter

1. Added row-based loopfilter in encoder;
2. Moved common multi-threaded loopfilter functions from decoder
   to common;
3. Merged multi-threaded loopfilter code, and made encoder/
   decoder call same function to reduce code duplication.

Encoder tests showed that 1% - 2% speedup was seen for good-quality
2-pass mode(at speed 3); 1% - 3% speedup using 2 threads and 4% - 6%
speedup using 4 threads were seen for real-time mode(at speed 7).

Change-Id: I8a4ac51c2ad9bab9fa7b864e90743931c53ec1c4
13 files changed:
vp9/common/vp9_loopfilter.c
vp9/common/vp9_loopfilter.h
vp9/common/vp9_loopfilter_thread.c [moved from vp9/decoder/vp9_dthread.c with 78% similarity]
vp9/common/vp9_loopfilter_thread.h [moved from vp9/decoder/vp9_dthread.h with 71% similarity]
vp9/decoder/vp9_decodeframe.c
vp9/decoder/vp9_decoder.c
vp9/decoder/vp9_decoder.h
vp9/encoder/vp9_encoder.c
vp9/encoder/vp9_encoder.h
vp9/encoder/vp9_ethread.c
vp9/encoder/vp9_picklpf.c
vp9/vp9_common.mk
vp9/vp9dx.mk