add 8x8 intra prediction modes
authorYaowu Xu <yaowu@google.com>
Thu, 4 Aug 2011 23:30:27 +0000 (16:30 -0700)
committerYaowu Xu <yaowu@google.com>
Fri, 16 Sep 2011 22:55:19 +0000 (15:55 -0700)
commitca6b85aa4eae6047315ac01eef44b0ebaef58da3
tree3113a87f1b48378a940223b43bf4d6cb86c4de92
parent62371d382a4fb2570c60e0a0948bd32e91790f2a
add 8x8 intra prediction modes

Patch 1 to Patch 3 is an initial implementation of 8x8 intra prediction
modes, here are with the following assumptions:
a. 8x8 has 4 prediction modes DC, H, V and TM
b. UV 4x4 block use the same mode as corresponding 8x8 area
c. i8x8 modes are enabled for key frame only for now
Patch 4:
d. removed debug code from previous patches
Patch 5:
e. added stats code to collect entropy stats and further cleaned up
Patch 6:
f. changed mode stats code to collect finer stats of modes
Patch 7:
g. normalized i8x8 modes distribution to total at 256 (8bits).
Patch 8:
h. fixed a bug in decoder and removed debug printf output.
Patch 9:
i. more cleanups to address paul's comment
Patch 10:
j. messy rebase/merges to bring the commit up to date.

Tests on HD clips encoded with all key frame showing consistent gain
on all clips and all metrics:~0.5%(psnr) and 0.6%(ssim):
http://www.corp.google.com/~yaowu/no_crawl/i8x8hd_allkey_fixedq.html

To build and test, configure with:
--enable-experimental --enable-i8x8

Change-Id: I9813fe07ae48cab5fdb5d904bca022514ad01e7f
28 files changed:
configure
vp8/common/blockd.h
vp8/common/defaultcoefcounts.h [new file with mode: 0644]
vp8/common/entropy.c
vp8/common/entropymode.c
vp8/common/entropymode.h
vp8/common/findnearmv.c
vp8/common/findnearmv.h
vp8/common/generic/systemdependent.c
vp8/common/onyxc_int.h
vp8/common/recon.c
vp8/common/recon.h
vp8/common/reconintra.c
vp8/decoder/decodemv.c
vp8/decoder/decodframe.c
vp8/decoder/detokenize.c
vp8/decoder/onyxd_int.h
vp8/encoder/bitstream.c
vp8/encoder/block.h
vp8/encoder/encodeframe.c
vp8/encoder/encodeintra.c
vp8/encoder/encodemb.c
vp8/encoder/modecosts.c
vp8/encoder/onyx_if.c
vp8/encoder/onyx_int.h
vp8/encoder/ratectrl.c
vp8/encoder/rdopt.c
vp8/encoder/tokenize.c