diff options
author | Jingning Han <jingning@google.com> | 2012-06-25 12:26:09 -0700 |
---|---|---|
committer | Jingning Han <jingning@google.com> | 2012-07-19 13:02:57 -0700 |
commit | 9824230fe3ee33fa2deac0745521e625b4c38be9 (patch) | |
tree | 15f719e1b30f44eeda8166377d271719b93b765e /vp8/common/entropy.c | |
parent | 6fd0929fb53ca5dee83ff99f34d987a88eefa1ea (diff) | |
download | libvpx-9824230fe3ee33fa2deac0745521e625b4c38be9.tar libvpx-9824230fe3ee33fa2deac0745521e625b4c38be9.tar.gz libvpx-9824230fe3ee33fa2deac0745521e625b4c38be9.tar.bz2 libvpx-9824230fe3ee33fa2deac0745521e625b4c38be9.zip |
Adds hybrid transform
Adds ADST/DCT hybrid transform coding for Intra4x4 mode.
The ADST is applied to directions in which the boundary
pixels are used for prediction, while DCT applied to
directions without corresponding boundary prediction.
Adds enum TX_TYPE in b_mode_infor to indicate the transform
type used.
Make coding style consistent with google style.
Fixed the commented issues.
Experimental results in terms of bit-rate reduction:
derf: 0.731%
yt: 0.982%
std-hd: 0.459%
hd: 0.725%
Will be looking at 8x8 transforms next.
Change-Id: I46dbd7b80dbb3e8856e9c34fbc58cb3764a12fcf
Diffstat (limited to 'vp8/common/entropy.c')
-rw-r--r-- | vp8/common/entropy.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/vp8/common/entropy.c b/vp8/common/entropy.c index 4c7caef82..397e4aea3 100644 --- a/vp8/common/entropy.c +++ b/vp8/common/entropy.c @@ -65,6 +65,24 @@ DECLARE_ALIGNED(16, const int, vp8_default_zig_zag1d[16]) = { 9, 12, 13, 10, 7, 11, 14, 15, }; + + +#if CONFIG_HYBRIDTRANSFORM +DECLARE_ALIGNED(16, const int, vp8_col_scan[16]) = { + 0, 4, 8, 12, + 1, 5, 9, 13, + 2, 6, 10, 14, + 3, 7, 11, 15 +}; +DECLARE_ALIGNED(16, const int, vp8_row_scan[16]) = { + 0, 1, 2, 3, + 4, 5, 6, 7, + 8, 9, 10, 11, + 12, 13, 14, 15 +}; +#endif + + DECLARE_ALIGNED(64, cuchar, vp8_coef_bands_8x8[64]) = { 0, 1, 2, 3, 5, 4, 4, 5, 5, 3, 6, 3, 5, 4, 6, 6, 6, 5, 5, 6, 6, 6, 6, 6, |