summaryrefslogtreecommitdiff
path: root/vp8/encoder/rdopt.c
diff options
context:
space:
mode:
authorDeb Mukherjee <debargha@google.com>2012-03-21 15:22:21 -0700
committerDeb Mukherjee <debargha@google.com>2012-05-04 07:11:38 -0700
commit813c6c3925186d3cc0b5fc8221d88ef2ceab878f (patch)
tree8f52e7970aac5680214c77078a17946bd741553c /vp8/encoder/rdopt.c
parent3b909a6f037d69c896c00ec33b782adf68fb148a (diff)
downloadlibvpx-813c6c3925186d3cc0b5fc8221d88ef2ceab878f.tar
libvpx-813c6c3925186d3cc0b5fc8221d88ef2ceab878f.tar.gz
libvpx-813c6c3925186d3cc0b5fc8221d88ef2ceab878f.tar.bz2
libvpx-813c6c3925186d3cc0b5fc8221d88ef2ceab878f.zip
Expanding the coefficient encoding contexts
This patch expands the set of prev contexts used for video coding from 3 to 4. There is a small improvement of the order of 0.08% for derf and 0.15% on the HD set. The tests were rerun after the various merges last week. There are two columns in each test - the first are the results with the mbskip change, and the second with expanded contexts added on top of that. Derf: http://www.corp.google.com/~debargha/vp8_results/explibvpx_newentropy_expcontext.html HD: http://www.corp.google.com/~debargha/vp8_results/explibvpx_hd_newentropy_expcontext.html Rebased. Broke up 80 char lines. Change-Id: I82d2e72d054e530cbf5ce9aa0e6d85c582965675
Diffstat (limited to 'vp8/encoder/rdopt.c')
-rw-r--r--vp8/encoder/rdopt.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/vp8/encoder/rdopt.c b/vp8/encoder/rdopt.c
index 922235ed0..017a9853e 100644
--- a/vp8/encoder/rdopt.c
+++ b/vp8/encoder/rdopt.c
@@ -229,7 +229,6 @@ static void fill_token_costs(
for (j = 0; j < COEF_BANDS; j++)
for (k = 0; k < PREV_COEF_CONTEXTS; k++)
{
-
if(k == 0 && ((j > 0 && i > 0) || (j > 1 && i == 0)))
vp8_cost_tokens_skip((int *)(c [i][j][k]), p [i][j][k], vp8_coef_tree);
else
@@ -371,12 +370,12 @@ void vp8_initialize_rd_consts(VP8_COMP *cpi, int QIndex)
fill_token_costs(
cpi->mb.token_costs,
- (const vp8_prob( *)[8][3][11]) cpi->common.fc.coef_probs
+ (const vp8_prob( *)[8][PREV_COEF_CONTEXTS][11]) cpi->common.fc.coef_probs
);
fill_token_costs(
cpi->mb.token_costs_8x8,
- (const vp8_prob( *)[8][3][11]) cpi->common.fc.coef_probs_8x8
+ (const vp8_prob( *)[8][PREV_COEF_CONTEXTS][11]) cpi->common.fc.coef_probs_8x8
);
/*rough estimate for costing*/
cpi->common.kf_ymode_probs_index = cpi->common.base_qindex>>4;