summaryrefslogtreecommitdiff
path: root/vp8/encoder/tokenize.h
diff options
context:
space:
mode:
authorDeb Mukherjee <debargha@google.com>2012-03-19 11:02:04 -0700
committerDeb Mukherjee <debargha@google.com>2012-03-21 03:55:44 -0700
commit57d953479bdb811eb12039167b64010e77ee1b28 (patch)
tree34bfc3f6bddc76677fdcda9ef121270d96178003 /vp8/encoder/tokenize.h
parent21d3612a2f2e09d8cc76e696a181865744479dcd (diff)
downloadlibvpx-57d953479bdb811eb12039167b64010e77ee1b28.tar
libvpx-57d953479bdb811eb12039167b64010e77ee1b28.tar.gz
libvpx-57d953479bdb811eb12039167b64010e77ee1b28.tar.bz2
libvpx-57d953479bdb811eb12039167b64010e77ee1b28.zip
Adding contextual coding of mb_skip_coeff flag.
Using contextual coding of the mkb_skip_coeff flag using the values of this flag from the left and above. There is a small improvement of about 0.15% on Derf: http://www.corp.google.com/~debargha/vp8_results/mbskipcontext.html Refactored to use pred_common.c by adding a new context type. Results on HD set (about 0.66% improvement): http://www.corp.google.com/~debargha/vp8_results/mbskipcontext_hd.html Incliding missing refactoring to use the pred_common utilities. Change-Id: I95373382d429b5a59610d77f69a0fea2be628278
Diffstat (limited to 'vp8/encoder/tokenize.h')
-rw-r--r--vp8/encoder/tokenize.h25
1 files changed, 23 insertions, 2 deletions
diff --git a/vp8/encoder/tokenize.h b/vp8/encoder/tokenize.h
index 0608102d0..7503188ed 100644
--- a/vp8/encoder/tokenize.h
+++ b/vp8/encoder/tokenize.h
@@ -44,8 +44,29 @@ extern int mb_is_skippable_8x8(MACROBLOCKD *x);
void init_context_counters();
void print_context_counters();
-extern _int64 context_counters[BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [MAX_ENTROPY_TOKENS];
-extern _int64 context_counters_8x8[BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [MAX_ENTROPY_TOKENS];
+extern INT64 context_counters[BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [MAX_ENTROPY_TOKENS];
+extern INT64 context_counters_8x8[BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [MAX_ENTROPY_TOKENS];
+
+#if CONFIG_NEWENTROPY
+void init_nzc_counters();
+void print_nzc_counters();
+extern INT64 nzc4x4y_counters[MAX_NZC_CONTEXTS][NZC4X4_TOKENS];
+extern INT64 nzc4x4y2_counters[MAX_NZC_CONTEXTS][NZC4X4_TOKENS];
+extern INT64 nzc4x4uv_counters[MAX_NZC_CONTEXTS][NZC4X4_TOKENS];
+extern INT64 nzc8x8y_counters[MAX_NZC_CONTEXTS][NZC8X8_TOKENS];
+extern INT64 nzc8x8uv_counters[MAX_NZC_CONTEXTS][NZC8X8_TOKENS];
+extern INT64 nzc2x2y2_counters[MAX_NZC_CONTEXTS][NZC2X2_TOKENS];
+void init_nzb_counters();
+void print_nzb_counters();
+extern INT64 nzby_counters[MAX_NZB_CONTEXTS][NZBY_TOKENS];
+extern INT64 nzbuv_counters[MAX_NZB_CONTEXTS][NZBUV_TOKENS];
+extern INT64 nzby2_counters[MAX_NZB_CONTEXTS][2];
+void init_nzb2_counters();
+void print_nzb2_counters();
+extern INT64 nzb2y_counters[MAX_NZB_CONTEXTS][2];
+extern INT64 nzb2uv_counters[MAX_NZB_CONTEXTS][2];
+extern INT64 nzb2y2_counters[MAX_NZB_CONTEXTS][2];
+#endif
#endif
extern const int *vp8_dct_value_cost_ptr;
/* TODO: The Token field should be broken out into a separate char array to