diff options
author | Deb Mukherjee <debargha@google.com> | 2012-03-19 11:02:04 -0700 |
---|---|---|
committer | Deb Mukherjee <debargha@google.com> | 2012-03-21 03:55:44 -0700 |
commit | 57d953479bdb811eb12039167b64010e77ee1b28 (patch) | |
tree | 34bfc3f6bddc76677fdcda9ef121270d96178003 /vp8/encoder/tokenize.h | |
parent | 21d3612a2f2e09d8cc76e696a181865744479dcd (diff) | |
download | libvpx-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.h | 25 |
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 |