diff options
author | Deb Mukherjee <debargha@google.com> | 2012-03-21 15:22:21 -0700 |
---|---|---|
committer | Deb Mukherjee <debargha@google.com> | 2012-05-04 07:11:38 -0700 |
commit | 813c6c3925186d3cc0b5fc8221d88ef2ceab878f (patch) | |
tree | 8f52e7970aac5680214c77078a17946bd741553c /vp8/encoder/rdopt.c | |
parent | 3b909a6f037d69c896c00ec33b782adf68fb148a (diff) | |
download | libvpx-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.c | 5 |
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; |