improve integer version of filter
authorJohann <johannkoenig@google.com>
Wed, 22 Dec 2010 16:15:56 +0000 (11:15 -0500)
committerJohann <johannkoenig@google.com>
Wed, 22 Dec 2010 16:33:59 +0000 (11:33 -0500)
commit20b855c33e41363a680d463ac6dba7fe07ffe712
treeaa3aa32297fabdb030e0fcfa8cb09556ea03f550
parent4b6219cb33392fb68f60ec4717a0228c4a453bdc
improve integer version of filter

the lookup table is based on floating point calculations (see source)

by moving the *3 before the downshift and adding the rounding bit, the
delta (LUT - integer) goes from:
______________________________________
__ 1__ 1______________________________
__ 1__ 1______________________________
____ 1______ 1________________________
____ 1 2__ 2 1________________________
______ 1 1 2__ 2__ 2__ 2 1 1__________
________ 1 1 2 2__ 1 2 3 1 2__ 2__ 2__
to:
__-1__-1______________________________
______________________________________
____-1______-1________________________
______________________________________
________-1______________-1____________
______________________________________

it's important to be able to use the integer version because the LUT
more or less precludes SIMD optimizations

Change-Id: I45a81127dc7b72a06fba951649135d9d918386c0
vp8/encoder/temporal_filter.c