Remove usage of predict buffer for decode
authorScott LaVarnway <slavarnway@google.com>
Tue, 18 Oct 2011 16:06:50 +0000 (12:06 -0400)
committerScott LaVarnway <slavarnway@google.com>
Tue, 18 Oct 2011 16:06:50 +0000 (12:06 -0400)
commited9c66f5844cd6fd28c7f92e84a769170a56462e
tree10f716283111c3765038ed596eb1dcfd6b695141
parent6505adf271ff9ad79d024f63ebbdc2819e6ef259
Remove usage of predict buffer for decode

Instead of using the predict buffer, the decoder now writes
the predictor into the recon buffer.  For blocks with eob=0,
unnecessary idcts can be eliminated.  This gave a performance
boost of ~1.8% for the HD clips used.

Tero: Added needed changes to ARM side and scheduled some
      assembly code to prevent interlocks.

Patch Set 6:  Merged (I1bcdca7a95aacc3a181b9faa6b10e3a71ee24df3)
into this commit because of similarities in the idct
functions.
Patch Set 7: EC bug fix.

Change-Id: Ie31d90b5d3522e1108163f2ac491e455e3f955e6
56 files changed:
vp8/common/arm/arm_systemdependent.c
vp8/common/arm/armv6/dc_only_idct_add_v6.asm
vp8/common/arm/armv6/idct_v6.asm
vp8/common/arm/armv6/recon_v6.asm [deleted file]
vp8/common/arm/idct_arm.h
vp8/common/arm/neon/dc_only_idct_add_neon.asm
vp8/common/arm/neon/recon16x16mb_neon.asm [deleted file]
vp8/common/arm/neon/recon2b_neon.asm [deleted file]
vp8/common/arm/neon/recon4b_neon.asm [deleted file]
vp8/common/arm/neon/recon_neon.c [deleted file]
vp8/common/arm/neon/reconb_neon.asm [deleted file]
vp8/common/arm/neon/shortidct4x4llm_1_neon.asm [deleted file]
vp8/common/arm/neon/shortidct4x4llm_neon.asm
vp8/common/arm/recon_arm.h
vp8/common/generic/systemdependent.c
vp8/common/idct.h
vp8/common/idctllm.c
vp8/common/invtrans.c
vp8/common/recon.h
vp8/common/reconinter.c
vp8/common/reconinter.h
vp8/common/reconintra.c
vp8/common/reconintra4x4.c
vp8/common/x86/idct_x86.h
vp8/common/x86/idctllm_mmx.asm
vp8/common/x86/idctllm_sse2.asm
vp8/common/x86/recon_mmx.asm
vp8/common/x86/recon_sse2.asm
vp8/common/x86/recon_x86.h
vp8/common/x86/x86_systemdependent.c
vp8/decoder/arm/armv6/dequant_dc_idct_v6.asm
vp8/decoder/arm/armv6/dequant_idct_v6.asm
vp8/decoder/arm/armv6/idct_blk_v6.c
vp8/decoder/arm/dequantize_arm.h
vp8/decoder/arm/neon/dequant_idct_neon.asm
vp8/decoder/arm/neon/idct_blk_neon.c
vp8/decoder/arm/neon/idct_dequant_0_2x_neon.asm
vp8/decoder/arm/neon/idct_dequant_dc_0_2x_neon.asm
vp8/decoder/arm/neon/idct_dequant_dc_full_2x_neon.asm
vp8/decoder/arm/neon/idct_dequant_full_2x_neon.asm
vp8/decoder/decodframe.c
vp8/decoder/dequantize.c
vp8/decoder/dequantize.h
vp8/decoder/error_concealment.c
vp8/decoder/idct_blk.c
vp8/decoder/reconintra_mt.c
vp8/decoder/reconintra_mt.h
vp8/decoder/threading.c
vp8/decoder/x86/dequantize_mmx.asm
vp8/decoder/x86/idct_blk_mmx.c
vp8/decoder/x86/idct_blk_sse2.c
vp8/encoder/encodeintra.c
vp8/encoder/encodemb.c
vp8/encoder/pickinter.c
vp8/encoder/rdopt.c
vp8/vp8_common.mk