diff --git a/vp8/common/alloccommon.c b/vp8/common/alloccommon.c index 0820584331e30e8f66a71ed3637cdbdcfb166b38..d58e49c34a9f562ce5f6da55cc03d362575d093c 100644 --- a/vp8/common/alloccommon.c +++ b/vp8/common/alloccommon.c @@ -220,8 +220,3 @@ void vp8_remove_common(VP8_COMMON *oci) { vp8_de_alloc_frame_buffers(oci); } - -void vp8_initialize_common() -{ - vp8_entropy_mode_init(); -} diff --git a/vp8/common/entropymode.c b/vp8/common/entropymode.c index a723ec0306b07f5f2b499ac12a63f642a7c24326..89a6e1901242b2672179789e90c892ae9e72bfd0 100644 --- a/vp8/common/entropymode.c +++ b/vp8/common/entropymode.c @@ -59,7 +59,7 @@ const vp8_prob vp8_sub_mv_ref_prob2 [SUBMVREF_COUNT][VP8_SUBMVREFS-1] = -vp8_mbsplit vp8_mbsplits [VP8_NUMMBSPLITS] = +const vp8_mbsplit vp8_mbsplits [VP8_NUMMBSPLITS] = { { 0, 0, 0, 0, @@ -84,7 +84,7 @@ vp8_mbsplit vp8_mbsplits [VP8_NUMMBSPLITS] = 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - }, + } }; const int vp8_mbsplit_count [VP8_NUMMBSPLITS] = { 2, 2, 4, 16}; @@ -155,17 +155,6 @@ const vp8_tree_index vp8_sub_mv_ref_tree[6] = -ZERO4X4, -NEW4X4 }; - -struct vp8_token_struct vp8_bmode_encodings [VP8_BINTRAMODES]; -struct vp8_token_struct vp8_ymode_encodings [VP8_YMODES]; -struct vp8_token_struct vp8_kf_ymode_encodings [VP8_YMODES]; -struct vp8_token_struct vp8_uv_mode_encodings [VP8_UV_MODES]; -struct vp8_token_struct vp8_mbsplit_encodings [VP8_NUMMBSPLITS]; - -struct vp8_token_struct vp8_mv_ref_encoding_array [VP8_MVREFS]; -struct vp8_token_struct vp8_sub_mv_ref_encoding_array [VP8_SUBMVREFS]; - - const vp8_tree_index vp8_small_mvtree [14] = { 2, 8, @@ -177,7 +166,101 @@ const vp8_tree_index vp8_small_mvtree [14] = -6, -7 }; -struct vp8_token_struct vp8_small_mvencodings [8]; +/* Function used to generate the token tables below */ +/* +void vp8_entropy_mode_init() +{ + vp8_tokens_from_tree(vp8_bmode_encodings, vp8_bmode_tree); + vp8_tokens_from_tree(vp8_ymode_encodings, vp8_ymode_tree); + vp8_tokens_from_tree(vp8_kf_ymode_encodings, vp8_kf_ymode_tree); + vp8_tokens_from_tree(vp8_uv_mode_encodings, vp8_uv_mode_tree); + vp8_tokens_from_tree(vp8_mbsplit_encodings, vp8_mbsplit_tree); + + vp8_tokens_from_tree_offset(vp8_mv_ref_encoding_array, + vp8_mv_ref_tree, NEARESTMV); + vp8_tokens_from_tree_offset(vp8_sub_mv_ref_encoding_array, + vp8_sub_mv_ref_tree, LEFT4X4); + + vp8_tokens_from_tree(vp8_small_mvencodings, vp8_small_mvtree); +} +*/ + +const struct vp8_token_struct vp8_bmode_encodings[VP8_BINTRAMODES] = +{ + {0, 1}, + {2, 2}, + {6, 3}, + {28, 5}, + {30, 5}, + {58, 6}, + {59, 6}, + {62, 6}, + {126, 7}, + {127, 7} +}; + +const struct vp8_token_struct vp8_ymode_encodings[VP8_YMODES] = +{ + {0, 1}, + {4, 3}, + {5, 3}, + {6, 3}, + {7, 3} +}; + +const struct vp8_token_struct vp8_kf_ymode_encodings[VP8_YMODES] = +{ + {4, 3}, + {5, 3}, + {6, 3}, + {7, 3}, + {0, 1} +}; + +const struct vp8_token_struct vp8_uv_mode_encodings[VP8_UV_MODES] = +{ + {0, 1}, + {2, 2}, + {6, 3}, + {7, 3} +}; + +const struct vp8_token_struct vp8_mbsplit_encodings[VP8_NUMMBSPLITS] = +{ + {6, 3}, + {7, 3}, + {2, 2}, + {0, 1} +}; + +const struct vp8_token_struct vp8_mv_ref_encoding_array[VP8_MVREFS] = +{ + {2, 2}, + {6, 3}, + {0, 1}, + {14, 4}, + {15, 4} +}; + +const struct vp8_token_struct vp8_sub_mv_ref_encoding_array[VP8_SUBMVREFS] = +{ + {0, 1}, + {2, 2}, + {6, 3}, + {7, 3} +}; + +const struct vp8_token_struct vp8_small_mvencodings[8] = +{ + {0, 3}, + {1, 3}, + {2, 3}, + {3, 3}, + {4, 3}, + {5, 3}, + {6, 3}, + {7, 3} +}; void vp8_init_mbmode_probs(VP8_COMMON *x) { @@ -246,20 +329,3 @@ void vp8_kf_default_bmode_probs(vp8_prob p [VP8_BINTRAMODES] [VP8_BINTRAMODES] [ } while (++i < VP8_BINTRAMODES); } - - -void vp8_entropy_mode_init() -{ - vp8_tokens_from_tree(vp8_bmode_encodings, vp8_bmode_tree); - vp8_tokens_from_tree(vp8_ymode_encodings, vp8_ymode_tree); - vp8_tokens_from_tree(vp8_kf_ymode_encodings, vp8_kf_ymode_tree); - vp8_tokens_from_tree(vp8_uv_mode_encodings, vp8_uv_mode_tree); - vp8_tokens_from_tree(vp8_mbsplit_encodings, vp8_mbsplit_tree); - - vp8_tokens_from_tree_offset(vp8_mv_ref_encoding_array, - vp8_mv_ref_tree, NEARESTMV); - vp8_tokens_from_tree_offset(vp8_sub_mv_ref_encoding_array, - vp8_sub_mv_ref_tree, LEFT4X4); - - vp8_tokens_from_tree(vp8_small_mvencodings, vp8_small_mvtree); -} diff --git a/vp8/common/entropymode.h b/vp8/common/entropymode.h index f4b48ff434e797b056e3518c068a71bee71bd746..70200cb5f86ca8c4fcc9b5878ea7921df50bda1f 100644 --- a/vp8/common/entropymode.h +++ b/vp8/common/entropymode.h @@ -52,22 +52,20 @@ extern const vp8_tree_index vp8_mbsplit_tree[]; extern const vp8_tree_index vp8_mv_ref_tree[]; extern const vp8_tree_index vp8_sub_mv_ref_tree[]; -extern struct vp8_token_struct vp8_bmode_encodings [VP8_BINTRAMODES]; -extern struct vp8_token_struct vp8_ymode_encodings [VP8_YMODES]; -extern struct vp8_token_struct vp8_kf_ymode_encodings [VP8_YMODES]; -extern struct vp8_token_struct vp8_uv_mode_encodings [VP8_UV_MODES]; -extern struct vp8_token_struct vp8_mbsplit_encodings [VP8_NUMMBSPLITS]; +extern const struct vp8_token_struct vp8_bmode_encodings[VP8_BINTRAMODES]; +extern const struct vp8_token_struct vp8_ymode_encodings[VP8_YMODES]; +extern const struct vp8_token_struct vp8_kf_ymode_encodings[VP8_YMODES]; +extern const struct vp8_token_struct vp8_uv_mode_encodings[VP8_UV_MODES]; +extern const struct vp8_token_struct vp8_mbsplit_encodings[VP8_NUMMBSPLITS]; /* Inter mode values do not start at zero */ -extern struct vp8_token_struct vp8_mv_ref_encoding_array [VP8_MVREFS]; -extern struct vp8_token_struct vp8_sub_mv_ref_encoding_array [VP8_SUBMVREFS]; +extern const struct vp8_token_struct vp8_mv_ref_encoding_array[VP8_MVREFS]; +extern const struct vp8_token_struct vp8_sub_mv_ref_encoding_array[VP8_SUBMVREFS]; extern const vp8_tree_index vp8_small_mvtree[]; -extern struct vp8_token_struct vp8_small_mvencodings [8]; - -void vp8_entropy_mode_init(void); +extern const struct vp8_token_struct vp8_small_mvencodings[8]; void vp8_init_mbmode_probs(VP8_COMMON *x); diff --git a/vp8/common/onyxc_int.h b/vp8/common/onyxc_int.h index 7743ed5c5403df1d431ed2c444c13d3ac94654b6..c3215c0ef79ef558f12bae11a2d5530f38a6658c 100644 --- a/vp8/common/onyxc_int.h +++ b/vp8/common/onyxc_int.h @@ -26,10 +26,6 @@ #include "header.h" /*#endif*/ -/* Create/destroy static data structures. */ - -void vp8_initialize_common(void); - #define MINQ 0 #define MAXQ 127 #define QINDEX_RANGE (MAXQ + 1) diff --git a/vp8/decoder/onyxd_if.c b/vp8/decoder/onyxd_if.c index 353290dd418559afca4e2b53f19a2a26e4a2384f..94993572cff7ebead7c9891669f05e5c42554c89 100644 --- a/vp8/decoder/onyxd_if.c +++ b/vp8/decoder/onyxd_if.c @@ -49,7 +49,6 @@ void vp8dx_initialize() if (!init_done) { - vp8_initialize_common(); vp8_scale_machine_specific_config(); init_done = 1; } diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c index ac80fabcd9412d8ab9ba62b047add5b5184af79e..7e56f8e5394150b998d8009cb5ac968e88fbdff4 100644 --- a/vp8/encoder/onyx_if.c +++ b/vp8/encoder/onyx_if.c @@ -218,7 +218,6 @@ void vp8_initialize() if (!init_done) { vp8_scale_machine_specific_config(); - vp8_initialize_common(); init_done = 1; }