Index: source/libvpx/vp9/encoder/vp9_tokenize.h |
=================================================================== |
--- source/libvpx/vp9/encoder/vp9_tokenize.h (revision 177019) |
+++ source/libvpx/vp9/encoder/vp9_tokenize.h (working copy) |
@@ -8,7 +8,6 @@ |
* be found in the AUTHORS file in the root of the source tree. |
*/ |
- |
#ifndef VP9_ENCODER_VP9_TOKENIZE_H_ |
#define VP9_ENCODER_VP9_TOKENIZE_H_ |
@@ -18,43 +17,53 @@ |
void vp9_tokenize_initialize(); |
typedef struct { |
- short Token; |
- short Extra; |
+ int16_t Token; |
+ int16_t Extra; |
} TOKENVALUE; |
typedef struct { |
const vp9_prob *context_tree; |
- short Extra; |
- unsigned char Token; |
- unsigned char skip_eob_node; |
+ int16_t Extra; |
+ uint8_t Token; |
+ uint8_t skip_eob_node; |
} TOKENEXTRA; |
+typedef int64_t vp9_coeff_accum[COEF_BANDS][PREV_COEF_CONTEXTS] |
+ [MAX_ENTROPY_TOKENS]; |
+ |
extern int vp9_mby_is_skippable_4x4(MACROBLOCKD *xd, int has_y2_block); |
extern int vp9_mbuv_is_skippable_4x4(MACROBLOCKD *xd); |
extern int vp9_mby_is_skippable_8x8(MACROBLOCKD *xd, int has_y2_block); |
extern int vp9_mbuv_is_skippable_8x8(MACROBLOCKD *xd); |
extern int vp9_mby_is_skippable_16x16(MACROBLOCKD *xd); |
+extern int vp9_sby_is_skippable_32x32(MACROBLOCKD *xd); |
+extern int vp9_sbuv_is_skippable_16x16(MACROBLOCKD *xd); |
struct VP9_COMP; |
extern void vp9_tokenize_mb(struct VP9_COMP *cpi, MACROBLOCKD *xd, |
TOKENEXTRA **t, int dry_run); |
+extern void vp9_tokenize_sb(struct VP9_COMP *cpi, MACROBLOCKD *xd, |
+ TOKENEXTRA **t, int dry_run); |
extern void vp9_stuff_mb(struct VP9_COMP *cpi, MACROBLOCKD *xd, |
TOKENEXTRA **t, int dry_run); |
+extern void vp9_stuff_sb(struct VP9_COMP *cpi, MACROBLOCKD *xd, |
+ TOKENEXTRA **t, int dry_run); |
-extern void vp9_fix_contexts(MACROBLOCKD *xd); |
- |
+extern void vp9_fix_contexts_sb(MACROBLOCKD *xd); |
#ifdef ENTROPY_STATS |
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_8X8][COEF_BANDS] |
- [PREV_COEF_CONTEXTS][MAX_ENTROPY_TOKENS]; |
-extern INT64 context_counters_16x16[BLOCK_TYPES_16X16][COEF_BANDS] |
- [PREV_COEF_CONTEXTS][MAX_ENTROPY_TOKENS]; |
+extern vp9_coeff_accum context_counters_4x4[BLOCK_TYPES_4X4]; |
+extern vp9_coeff_accum context_counters_8x8[BLOCK_TYPES_8X8]; |
+extern vp9_coeff_accum context_counters_16x16[BLOCK_TYPES_16X16]; |
+extern vp9_coeff_accum context_counters_32x32[BLOCK_TYPES_32X32]; |
+ |
+extern vp9_coeff_accum hybrid_context_counters_4x4[BLOCK_TYPES_4X4]; |
+extern vp9_coeff_accum hybrid_context_counters_8x8[BLOCK_TYPES_8X8]; |
+extern vp9_coeff_accum hybrid_context_counters_16x16[BLOCK_TYPES_16X16]; |
#endif |
extern const int *vp9_dct_value_cost_ptr; |
@@ -64,4 +73,4 @@ |
*/ |
extern const TOKENVALUE *vp9_dct_value_tokens_ptr; |
-#endif /* tokenize_h */ |
+#endif // VP9_ENCODER_VP9_TOKENIZE_H_ |