From ca6b85aa4eae6047315ac01eef44b0ebaef58da3 Mon Sep 17 00:00:00 2001 From: Yaowu Xu Date: Thu, 4 Aug 2011 16:30:27 -0700 Subject: 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 --- vp8/encoder/modecosts.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'vp8/encoder/modecosts.c') diff --git a/vp8/encoder/modecosts.c b/vp8/encoder/modecosts.c index c636c482b..892fe9f71 100644 --- a/vp8/encoder/modecosts.c +++ b/vp8/encoder/modecosts.c @@ -44,4 +44,10 @@ void vp8_init_mode_costs(VP8_COMP *c) vp8_cost_tokens(c->mb.intra_uv_mode_cost[1], x->fc.uv_mode_prob, vp8_uv_mode_tree); vp8_cost_tokens(c->mb.intra_uv_mode_cost[0], x->kf_uv_mode_prob, vp8_uv_mode_tree); +#if CONFIG_I8X8 + vp8_cost_tokens(c->mb.i8x8_mode_costs, + x->i8x8_mode_prob,vp8_i8x8_mode_tree); +#endif + + } -- cgit v1.2.3