diff options
author | Timothy B. Terriberry <tterribe@xiph.org> | 2010-06-28 17:15:09 -0700 |
---|---|---|
committer | Timothy B. Terriberry <tterribe@xiph.org> | 2010-07-23 08:48:01 -0700 |
commit | e04e293522a3cf3761eae3690b8efbc2aa69848b (patch) | |
tree | 5cb27f30b97c8296bcd2caa06bde2c344f895aac /vp8/encoder/onyx_int.h | |
parent | 08eed049d4f08943079483cdd5d5d9f865457a67 (diff) | |
download | libvpx-e04e293522a3cf3761eae3690b8efbc2aa69848b.tar libvpx-e04e293522a3cf3761eae3690b8efbc2aa69848b.tar.gz libvpx-e04e293522a3cf3761eae3690b8efbc2aa69848b.tar.bz2 libvpx-e04e293522a3cf3761eae3690b8efbc2aa69848b.zip |
Make the quantizer exact.
This replaces the approximate division-by-multiplication in the
quantizer with an exact one that costs just one add and one
shift extra.
The asm versions have not been updated in this patch, and thus
have been disabled, since the new method requires different
multipliers which are not compatible with the old method.
Change-Id: I53ac887af0f969d906e464c88b1f4be69c6b1206
Diffstat (limited to 'vp8/encoder/onyx_int.h')
-rw-r--r-- | vp8/encoder/onyx_int.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/vp8/encoder/onyx_int.h b/vp8/encoder/onyx_int.h index fcde2205d..f76d2efcd 100644 --- a/vp8/encoder/onyx_int.h +++ b/vp8/encoder/onyx_int.h @@ -234,14 +234,17 @@ typedef struct { DECLARE_ALIGNED(16, short, Y1quant[QINDEX_RANGE][4][4]); + DECLARE_ALIGNED(16, short, Y1quant_shift[QINDEX_RANGE][4][4]); DECLARE_ALIGNED(16, short, Y1zbin[QINDEX_RANGE][4][4]); DECLARE_ALIGNED(16, short, Y1round[QINDEX_RANGE][4][4]); DECLARE_ALIGNED(16, short, Y2quant[QINDEX_RANGE][4][4]); + DECLARE_ALIGNED(16, short, Y2quant_shift[QINDEX_RANGE][4][4]); DECLARE_ALIGNED(16, short, Y2zbin[QINDEX_RANGE][4][4]); DECLARE_ALIGNED(16, short, Y2round[QINDEX_RANGE][4][4]); DECLARE_ALIGNED(16, short, UVquant[QINDEX_RANGE][4][4]); + DECLARE_ALIGNED(16, short, UVquant_shift[QINDEX_RANGE][4][4]); DECLARE_ALIGNED(16, short, UVzbin[QINDEX_RANGE][4][4]); DECLARE_ALIGNED(16, short, UVround[QINDEX_RANGE][4][4]); |