Removes all runtime initialization of global data. This commit is a squashed version of the following series cherry-picked from master. This is necessary because of a change that was merged to the tester that depends on the scaler being moved to the RTCD framework, which is a worthwhile thing to include in Eider anyway. - a91b42f02 Makes all global data in entropy.c const - b35a0db0e Makes all global data in tokenize.c const - 441cac8ea Makes all mode token tables const - 5948a0210 Ports vpx_xcaler to new RTCD method - 317d4244c Makes all mode token tables const part 2
Unified · Split
| @@ -208,7 +208,7 @@ void vp8_create_common(VP8_COMMON *oci) · 207 unmodified lines | ||
| 208 | 208 | oci->clr_type = REG_YUV; |
| 209 | 209 | oci->clamp_type = RECON_CLAMP_REQUIRED; |
| 210 | 210 | |
| 211 | − /* Initialise reference frame sign bias structure to defaults */ | |
| 211 | + /* Initialize reference frame sign bias structure to defaults */ | |
| 212 | 212 | vpx_memset(oci->ref_frame_sign_bias, 0, sizeof(oci->ref_frame_sign_bias)); |
| 213 | 213 | |
| 214 | 214 | /* Default disable buffer to buffer copying */ |
| @@ -220,13 +220,3 @@ void vp8_remove_common(VP8_COMMON *oci) · 5 unmodified lines | ||
| 220 | 220 | { |
| 221 | 221 | vp8_de_alloc_frame_buffers(oci); |
| 222 | 222 | } |
| 223 | − | |
| 224 | −void vp8_initialize_common() | |
| 225 | −{ | |
| 226 | − vp8_coef_tree_initialize(); | |
| 227 | − | |
| 228 | − vp8_entropy_mode_init(); | |
| 229 | − | |
| 230 | − vp8_init_scan_order_mask(); | |
| 231 | − | |
| 232 | −} | |
| @@ -8,23 +8,11 @@ · 7 unmodified lines | ||
| 8 | 8 | * be found in the AUTHORS file in the root of the source tree. |
| 9 | 9 | */ |
| 10 | 10 | |
| 11 | − | |
| 12 | −#include <stdio.h> | |
| 13 | − | |
| 14 | 11 | #include "entropy.h" |
| 15 | −#include "string.h" | |
| 16 | 12 | #include "blockd.h" |
| 17 | 13 | #include "onyxc_int.h" |
| 18 | 14 | #include "vpx_mem/vpx_mem.h" |
| 19 | 15 | |
| 20 | −#define uchar unsigned char /* typedefs can clash */ | |
| 21 | −#define uint unsigned int | |
| 22 | − | |
| 23 | −typedef const uchar cuchar; | |
| 24 | −typedef const uint cuint; | |
| 25 | − | |
| 26 | −typedef vp8_prob Prob; | |
| 27 | − | |
| 28 | 16 | #include "coefupdateprobs.h" |
| 29 | 17 | |
| 30 | 18 | DECLARE_ALIGNED(16, const unsigned char, vp8_norm[256]) = |
| @@ -47,10 +35,11 @@ DECLARE_ALIGNED(16, const unsigned char, vp8_norm[256]) = · 16 unmodified lines | ||
| 47 | 35 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 |
| 48 | 36 | }; |
| 49 | 37 | |
| 50 | −DECLARE_ALIGNED(16, cuchar, vp8_coef_bands[16]) = | |
| 38 | +DECLARE_ALIGNED(16, const unsigned char, vp8_coef_bands[16]) = | |
| 51 | 39 | { 0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7}; |
| 52 | 40 | |
| 53 | −DECLARE_ALIGNED(16, cuchar, vp8_prev_token_class[MAX_ENTROPY_TOKENS]) = | |
| 41 | +DECLARE_ALIGNED(16, const unsigned char, | |
| 42 | + vp8_prev_token_class[MAX_ENTROPY_TOKENS]) = | |
| 54 | 43 | { 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0}; |
| 55 | 44 | |
| 56 | 45 | DECLARE_ALIGNED(16, const int, vp8_default_zig_zag1d[16]) = |
| @@ -69,7 +58,26 @@ DECLARE_ALIGNED(16, const short, vp8_default_inv_zig_zag[16]) = · 12 unmodified lines | ||
| 69 | 58 | 10, 11, 15, 16 |
| 70 | 59 | }; |
| 71 | 60 | |
| 72 | −DECLARE_ALIGNED(16, short, vp8_default_zig_zag_mask[16]); | |
| 61 | +/* vp8_default_zig_zag_mask generated with: | |
| 62 | + | |
| 63 | + void vp8_init_scan_order_mask() | |
| 64 | + { | |
| 65 | + int i; | |
| 66 | + | |
| 67 | + for (i = 0; i < 16; i++) | |
| 68 | + { | |
| 69 | + vp8_default_zig_zag_mask[vp8_default_zig_zag1d[i]] = 1 << i; | |
| 70 | + } | |
| 71 | + | |
| 72 | + } | |
| 73 | +*/ | |
| 74 | +DECLARE_ALIGNED(16, const short, vp8_default_zig_zag_mask[16]) = | |
| 75 | +{ | |
| 76 | + 1, 2, 32, 64, | |
| 77 | + 4, 16, 128, 4096, | |
| 78 | + 8, 256, 2048, 8192, | |
| 79 | + 512, 1024, 16384, -32768 | |
| 80 | +}; | |
| 73 | 81 | |
| 74 | 82 | const int vp8_mb_feature_data_bits[MB_LVL_MAX] = {7, 6}; |
| 75 | 83 | |
| @@ -90,56 +98,72 @@ const vp8_tree_index vp8_coef_tree[ 22] = /* corresponding _CONTEXT_NODEs */ · 14 unmodified lines | ||
| 90 | 98 | -DCT_VAL_CATEGORY5, -DCT_VAL_CATEGORY6 /* 10 = CAT_FIVE */ |
| 91 | 99 | }; |
| 92 | 100 | |
| 93 | −struct vp8_token_struct vp8_coef_encodings[MAX_ENTROPY_TOKENS]; | |
| 101 | +/* vp8_coef_encodings generated with: | |
| 102 | + vp8_tokens_from_tree(vp8_coef_encodings, vp8_coef_tree); | |
| 103 | +*/ | |
| 104 | +const vp8_token vp8_coef_encodings[MAX_ENTROPY_TOKENS] = | |
| 105 | +{ | |
| 106 | + {2, 2}, | |
| 107 | + {6, 3}, | |
| 108 | + {28, 5}, | |
| 109 | + {58, 6}, | |
| 110 | + {59, 6}, | |
| 111 | + {60, 6}, | |
| 112 | + {61, 6}, | |
| 113 | + {124, 7}, | |
| 114 | + {125, 7}, | |
| 115 | + {126, 7}, | |
| 116 | + {127, 7}, | |
| 117 | + {0, 1} | |
| 118 | +}; | |
| 94 | 119 | |
| 95 | 120 | /* Trees for extra bits. Probabilities are constant and |
| 96 | 121 | do not depend on previously encoded bits */ |
| 97 | 122 | |
| 98 | −static const Prob Pcat1[] = { 159}; | |
| 99 | −static const Prob Pcat2[] = { 165, 145}; | |
| 100 | −static const Prob Pcat3[] = { 173, 148, 140}; | |
| 101 | −static const Prob Pcat4[] = { 176, 155, 140, 135}; | |
| 102 | −static const Prob Pcat5[] = { 180, 157, 141, 134, 130}; | |
| 103 | −static const Prob Pcat6[] = | |
| 123 | +static const vp8_prob Pcat1[] = { 159}; | |
| 124 | +static const vp8_prob Pcat2[] = { 165, 145}; | |
| 125 | +static const vp8_prob Pcat3[] = { 173, 148, 140}; | |
| 126 | +static const vp8_prob Pcat4[] = { 176, 155, 140, 135}; | |
| 127 | +static const vp8_prob Pcat5[] = { 180, 157, 141, 134, 130}; | |
| 128 | +static const vp8_prob Pcat6[] = | |
| 104 | 129 | { 254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129}; |
| 105 | 130 | |
| 106 | −static vp8_tree_index cat1[2], cat2[4], cat3[6], cat4[8], cat5[10], cat6[22]; | |
| 107 | 131 | |
| 108 | −void vp8_init_scan_order_mask() | |
| 109 | −{ | |
| 110 | − int i; | |
| 132 | +/* tree index tables generated with: | |
| 111 | 133 | |
| 112 | − for (i = 0; i < 16; i++) | |
| 134 | + void init_bit_tree(vp8_tree_index *p, int n) | |
| 113 | 135 | { |
| 114 | − vp8_default_zig_zag_mask[vp8_default_zig_zag1d[i]] = 1 << i; | |
| 115 | − } | |
| 136 | + int i = 0; | |
| 116 | 137 | |
| 117 | −} | |
| 138 | + while (++i < n) | |
| 139 | + { | |
| 140 | + p[0] = p[1] = i << 1; | |
| 141 | + p += 2; | |
| 142 | + } | |
| 118 | 143 | |
| 119 | −static void init_bit_tree(vp8_tree_index *p, int n) | |
| 120 | −{ | |
| 121 | − int i = 0; | |
| 144 | + p[0] = p[1] = 0; | |
| 145 | + } | |
| 122 | 146 | |
| 123 | − while (++i < n) | |
| 147 | + void init_bit_trees() | |
| 124 | 148 | { |
| 125 | − p[0] = p[1] = i << 1; | |
| 126 | − p += 2; | |
| 149 | + init_bit_tree(cat1, 1); | |
| 150 | + init_bit_tree(cat2, 2); | |
| 151 | + init_bit_tree(cat3, 3); | |
| 152 | + init_bit_tree(cat4, 4); | |
| 153 | + init_bit_tree(cat5, 5); | |
| 154 | + init_bit_tree(cat6, 11); | |
| 127 | 155 | } |
| 156 | +*/ | |
| 128 | 157 | |
| 129 | − p[0] = p[1] = 0; | |
| 130 | −} | |
| 158 | +static const vp8_tree_index cat1[2] = { 0, 0 }; | |
| 159 | +static const vp8_tree_index cat2[4] = { 2, 2, 0, 0 }; | |
| 160 | +static const vp8_tree_index cat3[6] = { 2, 2, 4, 4, 0, 0 }; | |
| 161 | +static const vp8_tree_index cat4[8] = { 2, 2, 4, 4, 6, 6, 0, 0 }; | |
| 162 | +static const vp8_tree_index cat5[10] = { 2, 2, 4, 4, 6, 6, 8, 8, 0, 0 }; | |
| 163 | +static const vp8_tree_index cat6[22] = { 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, | |
| 164 | + 14, 14, 16, 16, 18, 18, 20, 20, 0, 0 }; | |
| 131 | 165 | |
| 132 | −static void init_bit_trees() | |
| 133 | −{ | |
| 134 | − init_bit_tree(cat1, 1); | |
| 135 | − init_bit_tree(cat2, 2); | |
| 136 | − init_bit_tree(cat3, 3); | |
| 137 | − init_bit_tree(cat4, 4); | |
| 138 | − init_bit_tree(cat5, 5); | |
| 139 | − init_bit_tree(cat6, 11); | |
| 140 | −} | |
| 141 | − | |
| 142 | −vp8_extra_bit_struct vp8_extra_bits[12] = | |
| 166 | +const vp8_extra_bit_struct vp8_extra_bits[12] = | |
| 143 | 167 | { |
| 144 | 168 | { 0, 0, 0, 0}, |
| 145 | 169 | { 0, 0, 0, 1}, |
| @@ -163,8 +187,3 @@ void vp8_default_coef_probs(VP8_COMMON *pc) · 17 unmodified lines | ||
| 163 | 187 | sizeof(default_coef_probs)); |
| 164 | 188 | } |
| 165 | 189 | |
| 166 | −void vp8_coef_tree_initialize() | |
| 167 | −{ | |
| 168 | − init_bit_trees(); | |
| 169 | − vp8_tokens_from_tree(vp8_coef_encodings, vp8_coef_tree); | |
| 170 | −} | |
| @@ -35,7 +35,7 @@ · 34 unmodified lines | ||
| 35 | 35 | |
| 36 | 36 | extern const vp8_tree_index vp8_coef_tree[]; |
| 37 | 37 | |
| 38 | −extern struct vp8_token_struct vp8_coef_encodings[MAX_ENTROPY_TOKENS]; | |
| 38 | +extern const struct vp8_token_struct vp8_coef_encodings[MAX_ENTROPY_TOKENS]; | |
| 39 | 39 | |
| 40 | 40 | typedef struct |
| 41 | 41 | { |
| @@ -45,7 +45,7 @@ typedef struct · 3 unmodified lines | ||
| 45 | 45 | int base_val; |
| 46 | 46 | } vp8_extra_bit_struct; |
| 47 | 47 | |
| 48 | −extern vp8_extra_bit_struct vp8_extra_bits[12]; /* indexed by token value */ | |
| 48 | +extern const vp8_extra_bit_struct vp8_extra_bits[12]; /* indexed by token value */ | |
| 49 | 49 | |
| 50 | 50 | #define PROB_UPDATE_BASELINE_COST 7 |
| 51 | 51 | |
| @@ -94,7 +94,7 @@ void vp8_default_coef_probs(struct VP8Common *); · 42 unmodified lines | ||
| 94 | 94 | |
| 95 | 95 | extern DECLARE_ALIGNED(16, const int, vp8_default_zig_zag1d[16]); |
| 96 | 96 | extern DECLARE_ALIGNED(16, const short, vp8_default_inv_zig_zag[16]); |
| 97 | −extern short vp8_default_zig_zag_mask[16]; | |
| 97 | +extern DECLARE_ALIGNED(16, const short, vp8_default_zig_zag_mask[16]); | |
| 98 | 98 | extern const int vp8_mb_feature_data_bits[MB_LVL_MAX]; |
| 99 | 99 | |
| 100 | 100 | void vp8_coef_tree_initialize(void); |
| @@ -8,22 +8,13 @@ · 7 unmodified lines | ||
| 8 | 8 | * be found in the AUTHORS file in the root of the source tree. |
| 9 | 9 | */ |
| 10 | 10 | |
| 11 | +#define USE_PREBUILT_TABLES | |
| 11 | 12 | |
| 12 | 13 | #include "entropymode.h" |
| 13 | 14 | #include "entropy.h" |
| 14 | 15 | #include "vpx_mem/vpx_mem.h" |
| 15 | 16 | |
| 16 | −static const unsigned int kf_y_mode_cts[VP8_YMODES] = { 1607, 915, 812, 811, 5455}; | |
| 17 | −static const unsigned int y_mode_cts [VP8_YMODES] = { 8080, 1908, 1582, 1007, 5874}; | |
| 18 | − | |
| 19 | −static const unsigned int uv_mode_cts [VP8_UV_MODES] = { 59483, 13605, 16492, 4230}; | |
| 20 | −static const unsigned int kf_uv_mode_cts[VP8_UV_MODES] = { 5319, 1904, 1703, 674}; | |
| 21 | − | |
| 22 | −static const unsigned int bmode_cts[VP8_BINTRAMODES] = | |
| 23 | −{ | |
| 24 | − 43891, 17694, 10036, 3920, 3363, 2546, 5119, 3221, 2471, 1723 | |
| 25 | −}; | |
| 26 | − | |
| 17 | +#include "vp8_entropymodedata.h" | |
| 27 | 18 | |
| 28 | 19 | int vp8_mv_cont(const int_mv *l, const int_mv *a) |
| 29 | 20 | { |
| @@ -59,7 +50,7 @@ const vp8_prob vp8_sub_mv_ref_prob2 [SUBMVREF_COUNT][VP8_SUBMVREFS-1] = · 29 unmodified lines | ||
| 59 | 50 | |
| 60 | 51 | |
| 61 | 52 | |
| 62 | −vp8_mbsplit vp8_mbsplits [VP8_NUMMBSPLITS] = | |
| 53 | +const vp8_mbsplit vp8_mbsplits [VP8_NUMMBSPLITS] = | |
| 63 | 54 | { |
| 64 | 55 | { |
| 65 | 56 | 0, 0, 0, 0, |
| @@ -84,7 +75,7 @@ vp8_mbsplit vp8_mbsplits [VP8_NUMMBSPLITS] = · 18 unmodified lines | ||
| 84 | 75 | 4, 5, 6, 7, |
| 85 | 76 | 8, 9, 10, 11, |
| 86 | 77 | 12, 13, 14, 15, |
| 87 | − }, | |
| 78 | + } | |
| 88 | 79 | }; |
| 89 | 80 | |
| 90 | 81 | const int vp8_mbsplit_count [VP8_NUMMBSPLITS] = { 2, 2, 4, 16}; |
| @@ -155,17 +146,6 @@ const vp8_tree_index vp8_sub_mv_ref_tree[6] = · 64 unmodified lines | ||
| 155 | 146 | -ZERO4X4, -NEW4X4 |
| 156 | 147 | }; |
| 157 | 148 | |
| 158 | − | |
| 159 | −struct vp8_token_struct vp8_bmode_encodings [VP8_BINTRAMODES]; | |
| 160 | −struct vp8_token_struct vp8_ymode_encodings [VP8_YMODES]; | |
| 161 | −struct vp8_token_struct vp8_kf_ymode_encodings [VP8_YMODES]; | |
| 162 | −struct vp8_token_struct vp8_uv_mode_encodings [VP8_UV_MODES]; | |
| 163 | −struct vp8_token_struct vp8_mbsplit_encodings [VP8_NUMMBSPLITS]; | |
| 164 | − | |
| 165 | −struct vp8_token_struct vp8_mv_ref_encoding_array [VP8_MVREFS]; | |
| 166 | −struct vp8_token_struct vp8_sub_mv_ref_encoding_array [VP8_SUBMVREFS]; | |
| 167 | − | |
| 168 | − | |
| 169 | 149 | const vp8_tree_index vp8_small_mvtree [14] = |
| 170 | 150 | { |
| 171 | 151 | 2, 8, |
| @@ -177,89 +157,21 @@ const vp8_tree_index vp8_small_mvtree [14] = · 5 unmodified lines | ||
| 177 | 157 | -6, -7 |
| 178 | 158 | }; |
| 179 | 159 | |
| 180 | −struct vp8_token_struct vp8_small_mvencodings [8]; | |
| 181 | − | |
| 182 | 160 | void vp8_init_mbmode_probs(VP8_COMMON *x) |
| 183 | 161 | { |
| 184 | − unsigned int bct [VP8_YMODES] [2]; /* num Ymodes > num UV modes */ | |
| 185 | − | |
| 186 | − vp8_tree_probs_from_distribution( | |
| 187 | − VP8_YMODES, vp8_ymode_encodings, vp8_ymode_tree, | |
| 188 | − x->fc.ymode_prob, bct, y_mode_cts, | |
| 189 | − 256, 1 | |
| 190 | − ); | |
| 191 | − vp8_tree_probs_from_distribution( | |
| 192 | − VP8_YMODES, vp8_kf_ymode_encodings, vp8_kf_ymode_tree, | |
| 193 | − x->kf_ymode_prob, bct, kf_y_mode_cts, | |
| 194 | − 256, 1 | |
| 195 | − ); | |
| 196 | − vp8_tree_probs_from_distribution( | |
| 197 | − VP8_UV_MODES, vp8_uv_mode_encodings, vp8_uv_mode_tree, | |
| 198 | − x->fc.uv_mode_prob, bct, uv_mode_cts, | |
| 199 | − 256, 1 | |
| 200 | − ); | |
| 201 | − vp8_tree_probs_from_distribution( | |
| 202 | − VP8_UV_MODES, vp8_uv_mode_encodings, vp8_uv_mode_tree, | |
| 203 | − x->kf_uv_mode_prob, bct, kf_uv_mode_cts, | |
| 204 | − 256, 1 | |
| 205 | − ); | |
| 162 | + vpx_memcpy(x->fc.ymode_prob, vp8_ymode_prob, sizeof(vp8_ymode_prob)); | |
| 163 | + vpx_memcpy(x->kf_ymode_prob, kf_ymode_prob, sizeof(kf_ymode_prob)); | |
| 164 | + vpx_memcpy(x->fc.uv_mode_prob, vp8_uv_mode_prob, sizeof(vp8_uv_mode_prob)); | |
| 165 | + vpx_memcpy(x->kf_uv_mode_prob, vp8_kf_uv_mode_prob, sizeof(vp8_kf_uv_mode_prob)); | |
| 206 | 166 | vpx_memcpy(x->fc.sub_mv_ref_prob, sub_mv_ref_prob, sizeof(sub_mv_ref_prob)); |
| 207 | 167 | } |
| 208 | 168 | |
| 209 | − | |
| 210 | −static void intra_bmode_probs_from_distribution( | |
| 211 | − vp8_prob p [VP8_BINTRAMODES-1], | |
| 212 | − unsigned int branch_ct [VP8_BINTRAMODES-1] [2], | |
| 213 | − const unsigned int events [VP8_BINTRAMODES] | |
| 214 | −) | |
| 215 | −{ | |
| 216 | − vp8_tree_probs_from_distribution( | |
| 217 | − VP8_BINTRAMODES, vp8_bmode_encodings, vp8_bmode_tree, | |
| 218 | − p, branch_ct, events, | |
| 219 | − 256, 1 | |
| 220 | − ); | |
| 221 | −} | |
| 222 | − | |
| 223 | 169 | void vp8_default_bmode_probs(vp8_prob p [VP8_BINTRAMODES-1]) |
| 224 | 170 | { |
| 225 | − unsigned int branch_ct [VP8_BINTRAMODES-1] [2]; | |
| 226 | − intra_bmode_probs_from_distribution(p, branch_ct, bmode_cts); | |
| 171 | + vpx_memcpy(p, vp8_bmode_prob, sizeof(vp8_bmode_prob)); | |
| 227 | 172 | } |
| 228 | 173 | |
| 229 | 174 | void vp8_kf_default_bmode_probs(vp8_prob p [VP8_BINTRAMODES] [VP8_BINTRAMODES] [VP8_BINTRAMODES-1]) |
| 230 | 175 | { |
| 231 | − unsigned int branch_ct [VP8_BINTRAMODES-1] [2]; | |
| 232 | − | |
| 233 | − int i = 0; | |
| 234 | − | |
| 235 | − do | |
| 236 | − { | |
| 237 | − int j = 0; | |
| 238 | − | |
| 239 | − do | |
| 240 | − { | |
| 241 | − intra_bmode_probs_from_distribution( | |
| 242 | − p[i][j], branch_ct, vp8_kf_default_bmode_counts[i][j]); | |
| 243 | − | |
| 244 | − } | |
| 245 | − while (++j < VP8_BINTRAMODES); | |
| 246 | − } | |
| 247 | − while (++i < VP8_BINTRAMODES); | |
| 248 | −} | |
| 249 | − | |
| 250 | − | |
| 251 | −void vp8_entropy_mode_init() | |
| 252 | −{ | |
| 253 | − vp8_tokens_from_tree(vp8_bmode_encodings, vp8_bmode_tree); | |
| 254 | − vp8_tokens_from_tree(vp8_ymode_encodings, vp8_ymode_tree); | |
| 255 | − vp8_tokens_from_tree(vp8_kf_ymode_encodings, vp8_kf_ymode_tree); | |
| 256 | − vp8_tokens_from_tree(vp8_uv_mode_encodings, vp8_uv_mode_tree); | |
| 257 | − vp8_tokens_from_tree(vp8_mbsplit_encodings, vp8_mbsplit_tree); | |
| 258 | − | |
| 259 | − vp8_tokens_from_tree_offset(vp8_mv_ref_encoding_array, | |
| 260 | − vp8_mv_ref_tree, NEARESTMV); | |
| 261 | − vp8_tokens_from_tree_offset(vp8_sub_mv_ref_encoding_array, | |
| 262 | − vp8_sub_mv_ref_tree, LEFT4X4); | |
| 263 | − | |
| 264 | − vp8_tokens_from_tree(vp8_small_mvencodings, vp8_small_mvtree); | |
| 176 | + vpx_memcpy(p, vp8_kf_bmode_prob, sizeof(vp8_kf_bmode_prob)); | |
| 265 | 177 | } |
| @@ -52,22 +52,20 @@ extern const vp8_tree_index vp8_mbsplit_tree[]; · 51 unmodified lines | ||
| 52 | 52 | extern const vp8_tree_index vp8_mv_ref_tree[]; |
| 53 | 53 | extern const vp8_tree_index vp8_sub_mv_ref_tree[]; |
| 54 | 54 | |
| 55 | −extern struct vp8_token_struct vp8_bmode_encodings [VP8_BINTRAMODES]; | |
| 56 | −extern struct vp8_token_struct vp8_ymode_encodings [VP8_YMODES]; | |
| 57 | −extern struct vp8_token_struct vp8_kf_ymode_encodings [VP8_YMODES]; | |
| 58 | −extern struct vp8_token_struct vp8_uv_mode_encodings [VP8_UV_MODES]; | |
| 59 | −extern struct vp8_token_struct vp8_mbsplit_encodings [VP8_NUMMBSPLITS]; | |
| 55 | +extern const struct vp8_token_struct vp8_bmode_encodings[VP8_BINTRAMODES]; | |
| 56 | +extern const struct vp8_token_struct vp8_ymode_encodings[VP8_YMODES]; | |
| 57 | +extern const struct vp8_token_struct vp8_kf_ymode_encodings[VP8_YMODES]; | |
| 58 | +extern const struct vp8_token_struct vp8_uv_mode_encodings[VP8_UV_MODES]; | |
| 59 | +extern const struct vp8_token_struct vp8_mbsplit_encodings[VP8_NUMMBSPLITS]; | |
| 60 | 60 | |
| 61 | 61 | /* Inter mode values do not start at zero */ |
| 62 | 62 | |
| 63 | −extern struct vp8_token_struct vp8_mv_ref_encoding_array [VP8_MVREFS]; | |
| 64 | −extern struct vp8_token_struct vp8_sub_mv_ref_encoding_array [VP8_SUBMVREFS]; | |
| 63 | +extern const struct vp8_token_struct vp8_mv_ref_encoding_array[VP8_MVREFS]; | |
| 64 | +extern const struct vp8_token_struct vp8_sub_mv_ref_encoding_array[VP8_SUBMVREFS]; | |
| 65 | 65 | |
| 66 | 66 | extern const vp8_tree_index vp8_small_mvtree[]; |
| 67 | 67 | |
| 68 | −extern struct vp8_token_struct vp8_small_mvencodings [8]; | |
| 69 | − | |
| 70 | −void vp8_entropy_mode_init(void); | |
| 68 | +extern const struct vp8_token_struct vp8_small_mvencodings[8]; | |
| 71 | 69 | |
| 72 | 70 | void vp8_init_mbmode_probs(VP8_COMMON *x); |
| 73 | 71 | |
| @@ -1,146 +0,0 @@ | ||
| 1 | −/* | |
| 2 | − * Copyright (c) 2010 The WebM project authors. All Rights Reserved. | |
| 3 | − * | |
| 4 | − * Use of this source code is governed by a BSD-style license | |
| 5 | − * that can be found in the LICENSE file in the root of the source | |
| 6 | − * tree. An additional intellectual property rights grant can be found | |
| 7 | − * in the file PATENTS. All contributing project authors may | |
| 8 | − * be found in the AUTHORS file in the root of the source tree. | |
| 9 | − */ | |
| 10 | − | |
| 11 | − | |
| 12 | −#include "entropymode.h" | |
| 13 | − | |
| 14 | −const unsigned int vp8_kf_default_bmode_counts [VP8_BINTRAMODES] [VP8_BINTRAMODES] [VP8_BINTRAMODES] = | |
| 15 | −{ | |
| 16 | − { | |
| 17 | − /*Above Mode : 0*/ | |
| 18 | − { 43438, 2195, 470, 316, 615, 171, 217, 412, 124, 160, }, /* left_mode 0 */ | |
| 19 | − { 5722, 2751, 296, 291, 81, 68, 80, 101, 100, 170, }, /* left_mode 1 */ | |
| 20 | − { 1629, 201, 307, 25, 47, 16, 34, 72, 19, 28, }, /* left_mode 2 */ | |
| 21 | − { 332, 266, 36, 500, 20, 65, 23, 14, 154, 106, }, /* left_mode 3 */ | |
| 22 | − { 450, 97, 10, 24, 117, 10, 2, 12, 8, 71, }, /* left_mode 4 */ | |
| 23 | − { 384, 49, 29, 44, 12, 162, 51, 5, 87, 42, }, /* left_mode 5 */ | |
| 24 | − { 495, 53, 157, 27, 14, 57, 180, 17, 17, 34, }, /* left_mode 6 */ | |
| 25 | − { 695, 64, 62, 9, 27, 5, 3, 147, 10, 26, }, /* left_mode 7 */ | |
| 26 | − { 230, 54, 20, 124, 16, 125, 29, 12, 283, 37, }, /* left_mode 8 */ | |
| 27 | − { 260, 87, 21, 120, 32, 16, 33, 16, 33, 203, }, /* left_mode 9 */ | |
| 28 | − }, | |
| 29 | − { | |
| 30 | − /*Above Mode : 1*/ | |
| 31 | − { 3934, 2573, 355, 137, 128, 87, 133, 117, 37, 27, }, /* left_mode 0 */ | |
| 32 | − { 1036, 1929, 278, 135, 27, 37, 48, 55, 41, 91, }, /* left_mode 1 */ | |
| 33 | − { 223, 256, 253, 15, 13, 9, 28, 64, 3, 3, }, /* left_mode 2 */ | |
| 34 | − { 120, 129, 17, 316, 15, 11, 9, 4, 53, 74, }, /* left_mode 3 */ | |
| 35 | − { 129, 58, 6, 11, 38, 2, 0, 5, 2, 67, }, /* left_mode 4 */ | |
| 36 | − { 53, 22, 11, 16, 8, 26, 14, 3, 19, 12, }, /* left_mode 5 */ | |
| 37 | − { 59, 26, 61, 11, 4, 9, 35, 13, 8, 8, }, /* left_mode 6 */ | |
| 38 | − { 101, 52, 40, 8, 5, 2, 8, 59, 2, 20, }, /* left_mode 7 */ | |
| 39 | − { 48, 34, 10, 52, 8, 15, 6, 6, 63, 20, }, /* left_mode 8 */ | |
| 40 | − { 96, 48, 22, 63, 11, 14, 5, 8, 9, 96, }, /* left_mode 9 */ | |
| 41 | − }, | |
| 42 | − { | |
| 43 | − /*Above Mode : 2*/ | |
| 44 | − { 709, 461, 506, 36, 27, 33, 151, 98, 24, 6, }, /* left_mode 0 */ | |
| 45 | − { 201, 375, 442, 27, 13, 8, 46, 58, 6, 19, }, /* left_mode 1 */ | |
| 46 | − { 122, 140, 417, 4, 13, 3, 33, 59, 4, 2, }, /* left_mode 2 */ | |
| 47 | − { 36, 17, 22, 16, 6, 8, 12, 17, 9, 21, }, /* left_mode 3 */ | |
| 48 | − { 51, 15, 7, 1, 14, 0, 4, 5, 3, 22, }, /* left_mode 4 */ | |
| 49 | − { 18, 11, 30, 9, 7, 20, 11, 5, 2, 6, }, /* left_mode 5 */ | |
| 50 | − { 38, 21, 103, 9, 4, 12, 79, 13, 2, 5, }, /* left_mode 6 */ | |
| 51 | − { 64, 17, 66, 2, 12, 4, 2, 65, 4, 5, }, /* left_mode 7 */ | |
| 52 | − { 14, 7, 7, 16, 3, 11, 4, 13, 15, 16, }, /* left_mode 8 */ | |
| 53 | − { 36, 8, 32, 9, 9, 4, 14, 7, 6, 24, }, /* left_mode 9 */ | |
| 54 | − }, | |
| 55 | − { | |
| 56 | − /*Above Mode : 3*/ | |
| 57 | − { 1340, 173, 36, 119, 30, 10, 13, 10, 20, 26, }, /* left_mode 0 */ | |
| 58 | − { 156, 293, 26, 108, 5, 16, 2, 4, 23, 30, }, /* left_mode 1 */ | |
| 59 | − { 60, 34, 13, 7, 3, 3, 0, 8, 4, 5, }, /* left_mode 2 */ | |
| 60 | − { 72, 64, 1, 235, 3, 9, 2, 7, 28, 38, }, /* left_mode 3 */ | |
| 61 | − { 29, 14, 1, 3, 5, 0, 2, 2, 5, 13, }, /* left_mode 4 */ | |
| 62 | − { 22, 7, 4, 11, 2, 5, 1, 2, 6, 4, }, /* left_mode 5 */ | |
| 63 | − { 18, 14, 5, 6, 4, 3, 14, 0, 9, 2, }, /* left_mode 6 */ | |
| 64 | − { 41, 10, 7, 1, 2, 0, 0, 10, 2, 1, }, /* left_mode 7 */ | |
| 65 | − { 23, 19, 2, 33, 1, 5, 2, 0, 51, 8, }, /* left_mode 8 */ | |
| 66 | − { 33, 26, 7, 53, 3, 9, 3, 3, 9, 19, }, /* left_mode 9 */ | |
| 67 | − }, | |
| 68 | − { | |
| 69 | − /*Above Mode : 4*/ | |
| 70 | − { 410, 165, 43, 31, 66, 15, 30, 54, 8, 17, }, /* left_mode 0 */ | |
| 71 | − { 115, 64, 27, 18, 30, 7, 11, 15, 4, 19, }, /* left_mode 1 */ | |
| 72 | − { 31, 23, 25, 1, 7, 2, 2, 10, 0, 5, }, /* left_mode 2 */ | |
| 73 | − { 17, 4, 1, 6, 8, 2, 7, 5, 5, 21, }, /* left_mode 3 */ | |
| 74 | − { 120, 12, 1, 2, 83, 3, 0, 4, 1, 40, }, /* left_mode 4 */ | |
| 75 | − { 4, 3, 1, 2, 1, 2, 5, 0, 3, 6, }, /* left_mode 5 */ | |
| 76 | − { 10, 2, 13, 6, 6, 6, 8, 2, 4, 5, }, /* left_mode 6 */ | |
| 77 | − { 58, 10, 5, 1, 28, 1, 1, 33, 1, 9, }, /* left_mode 7 */ | |
| 78 | − { 8, 2, 1, 4, 2, 5, 1, 1, 2, 10, }, /* left_mode 8 */ | |
| 79 | − { 76, 7, 5, 7, 18, 2, 2, 0, 5, 45, }, /* left_mode 9 */ | |
| 80 | − }, | |
| 81 | − { | |
| 82 | − /*Above Mode : 5*/ | |
| 83 | − { 444, 46, 47, 20, 14, 110, 60, 14, 60, 7, }, /* left_mode 0 */ | |
| 84 | − { 59, 57, 25, 18, 3, 17, 21, 6, 14, 6, }, /* left_mode 1 */ | |
| 85 | − { 24, 17, 20, 6, 4, 13, 7, 2, 3, 2, }, /* left_mode 2 */ | |
| 86 | − { 13, 11, 5, 14, 4, 9, 2, 4, 15, 7, }, /* left_mode 3 */ | |
| 87 | − { 8, 5, 2, 1, 4, 0, 1, 1, 2, 12, }, /* left_mode 4 */ | |
| 88 | − { 19, 5, 5, 7, 4, 40, 6, 3, 10, 4, }, /* left_mode 5 */ | |
| 89 | − { 16, 5, 9, 1, 1, 16, 26, 2, 10, 4, }, /* left_mode 6 */ | |
| 90 | − { 11, 4, 8, 1, 1, 4, 4, 5, 4, 1, }, /* left_mode 7 */ | |
| 91 | − { 15, 1, 3, 7, 3, 21, 7, 1, 34, 5, }, /* left_mode 8 */ | |
| 92 | − { 18, 5, 1, 3, 4, 3, 7, 1, 2, 9, }, /* left_mode 9 */ | |
| 93 | − }, | |
| 94 | − { | |
| 95 | − /*Above Mode : 6*/ | |
| 96 | − { 476, 149, 94, 13, 14, 77, 291, 27, 23, 3, }, /* left_mode 0 */ | |
| 97 | − { 79, 83, 42, 14, 2, 12, 63, 2, 4, 14, }, /* left_mode 1 */ | |
| 98 | − { 43, 36, 55, 1, 3, 8, 42, 11, 5, 1, }, /* left_mode 2 */ | |
| 99 | − { 9, 9, 6, 16, 1, 5, 6, 3, 11, 10, }, /* left_mode 3 */ | |
| 100 | − { 10, 3, 1, 3, 10, 1, 0, 1, 1, 4, }, /* left_mode 4 */ | |
| 101 | − { 14, 6, 15, 5, 1, 20, 25, 2, 5, 0, }, /* left_mode 5 */ | |
| 102 | − { 28, 7, 51, 1, 0, 8, 127, 6, 2, 5, }, /* left_mode 6 */ | |
| 103 | − { 13, 3, 3, 2, 3, 1, 2, 8, 1, 2, }, /* left_mode 7 */ | |
| 104 | − { 10, 3, 3, 3, 3, 8, 2, 2, 9, 3, }, /* left_mode 8 */ | |
| 105 | − { 13, 7, 11, 4, 0, 4, 6, 2, 5, 8, }, /* left_mode 9 */ | |
| 106 | − }, | |
| 107 | − { | |
| 108 | − /*Above Mode : 7*/ | |
| 109 | − { 376, 135, 119, 6, 32, 8, 31, 224, 9, 3, }, /* left_mode 0 */ | |
| 110 | − { 93, 60, 54, 6, 13, 7, 8, 92, 2, 12, }, /* left_mode 1 */ | |
| 111 | − { 74, 36, 84, 0, 3, 2, 9, 67, 2, 1, }, /* left_mode 2 */ | |
| 112 | − { 19, 4, 4, 8, 8, 2, 4, 7, 6, 16, }, /* left_mode 3 */ | |
| 113 | − { 51, 7, 4, 1, 77, 3, 0, 14, 1, 15, }, /* left_mode 4 */ | |
| 114 | − { 7, 7, 5, 7, 4, 7, 4, 5, 0, 3, }, /* left_mode 5 */ | |
| 115 | − { 18, 2, 19, 2, 2, 4, 12, 11, 1, 2, }, /* left_mode 6 */ | |
| 116 | − { 129, 6, 27, 1, 21, 3, 0, 189, 0, 6, }, /* left_mode 7 */ | |
| 117 | − { 9, 1, 2, 8, 3, 7, 0, 5, 3, 3, }, /* left_mode 8 */ | |
| 118 | − { 20, 4, 5, 10, 4, 2, 7, 17, 3, 16, }, /* left_mode 9 */ | |
| 119 | − }, | |
| 120 | − { | |
| 121 | − /*Above Mode : 8*/ | |
| 122 | − { 617, 68, 34, 79, 11, 27, 25, 14, 75, 13, }, /* left_mode 0 */ | |
| 123 | − { 51, 82, 21, 26, 6, 12, 13, 1, 26, 16, }, /* left_mode 1 */ | |
| 124 | − { 29, 9, 12, 11, 3, 7, 1, 10, 2, 2, }, /* left_mode 2 */ | |
| 125 | − { 17, 19, 11, 74, 4, 3, 2, 0, 58, 13, }, /* left_mode 3 */ | |
| 126 | − { 10, 1, 1, 3, 4, 1, 0, 2, 1, 8, }, /* left_mode 4 */ | |
| 127 | − { 14, 4, 5, 5, 1, 13, 2, 0, 27, 8, }, /* left_mode 5 */ | |
| 128 | − { 10, 3, 5, 4, 1, 7, 6, 4, 5, 1, }, /* left_mode 6 */ | |
| 129 | − { 10, 2, 6, 2, 1, 1, 1, 4, 2, 1, }, /* left_mode 7 */ | |
| 130 | − { 14, 8, 5, 23, 2, 12, 6, 2, 117, 5, }, /* left_mode 8 */ | |
| 131 | − { 9, 6, 2, 19, 1, 6, 3, 2, 9, 9, }, /* left_mode 9 */ | |
| 132 | − }, | |
| 133 | − { | |
| 134 | − /*Above Mode : 9*/ | |
| 135 | − { 680, 73, 22, 38, 42, 5, 11, 9, 6, 28, }, /* left_mode 0 */ | |
| 136 | − { 113, 112, 21, 22, 10, 2, 8, 4, 6, 42, }, /* left_mode 1 */ | |
| 137 | − { 44, 20, 24, 6, 5, 4, 3, 3, 1, 2, }, /* left_mode 2 */ | |
| 138 | − { 40, 23, 7, 71, 5, 2, 4, 1, 7, 22, }, /* left_mode 3 */ | |
| 139 | − { 85, 9, 4, 4, 17, 2, 0, 3, 2, 23, }, /* left_mode 4 */ | |
| 140 | − { 13, 4, 2, 6, 1, 7, 0, 1, 7, 6, }, /* left_mode 5 */ | |
| 141 | − { 26, 6, 8, 3, 2, 3, 8, 1, 5, 4, }, /* left_mode 6 */ | |
| 142 | − { 54, 8, 9, 6, 7, 0, 1, 11, 1, 3, }, /* left_mode 7 */ | |
| 143 | − { 9, 10, 4, 13, 2, 5, 4, 2, 14, 8, }, /* left_mode 8 */ | |
| 144 | − { 92, 9, 5, 19, 15, 3, 3, 1, 6, 58, }, /* left_mode 9 */ | |
| 145 | − }, | |
| 146 | −}; | |
| @@ -26,10 +26,6 @@ · 25 unmodified lines | ||
| 26 | 26 | #include "header.h" |
| 27 | 27 | /*#endif*/ |
| 28 | 28 | |
| 29 | −/* Create/destroy static data structures. */ | |
| 30 | − | |
| 31 | −void vp8_initialize_common(void); | |
| 32 | − | |
| 33 | 29 | #define MINQ 0 |
| 34 | 30 | #define MAXQ 127 |
| 35 | 31 | #define QINDEX_RANGE (MAXQ + 1) |
| @@ -14,7 +14,6 @@ · 13 unmodified lines | ||
| 14 | 14 | #include "vpx_scale/yv12config.h" |
| 15 | 15 | #include "postproc.h" |
| 16 | 16 | #include "common.h" |
| 17 | −#include "vpx_scale/yv12extend.h" | |
| 18 | 17 | #include "vpx_scale/vpxscale.h" |
| 19 | 18 | #include "systemdependent.h" |
| 20 | 19 | |
| @@ -405,9 +404,6 @@ double vp8_gaussian(double sigma, double mu, double x) · 384 unmodified lines | ||
| 405 | 404 | (exp(-(x - mu) * (x - mu) / (2 * sigma * sigma))); |
| 406 | 405 | } |
| 407 | 406 | |
| 408 | −extern void (*vp8_clear_system_state)(void); | |
| 409 | − | |
| 410 | − | |
| 411 | 407 | static void fillrd(struct postproc_state *state, int q, int a) |
| 412 | 408 | { |
| 413 | 409 | char char_dist[300]; |
| @@ -755,7 +751,7 @@ int vp8_post_proc_frame(VP8_COMMON *oci, YV12_BUFFER_CONFIG *dest, vp8_ppflags_t · 341 unmodified lines | ||
| 755 | 751 | if (((flags & VP8D_DEBLOCK) || (flags & VP8D_DEMACROBLOCK)) && |
| 756 | 752 | oci->post_proc_buffer_int_used) |
| 757 | 753 | { |
| 758 | − vp8_yv12_copy_frame_ptr(&oci->post_proc_buffer, &oci->post_proc_buffer_int); | |
| 754 | + vp8_yv12_copy_frame(&oci->post_proc_buffer, &oci->post_proc_buffer_int); | |
| 759 | 755 | if (flags & VP8D_DEMACROBLOCK) |
| 760 | 756 | { |
| 761 | 757 | vp8_deblock_and_de_macro_block(&oci->post_proc_buffer_int, &oci->post_proc_buffer, |
| @@ -784,7 +780,7 @@ int vp8_post_proc_frame(VP8_COMMON *oci, YV12_BUFFER_CONFIG *dest, vp8_ppflags_t · 22 unmodified lines | ||
| 784 | 780 | } |
| 785 | 781 | else |
| 786 | 782 | { |
| 787 | − vp8_yv12_copy_frame_ptr(oci->frame_to_show, &oci->post_proc_buffer); | |
| 783 | + vp8_yv12_copy_frame(oci->frame_to_show, &oci->post_proc_buffer); | |
| 788 | 784 | oci->postproc_state.last_base_qindex = oci->base_qindex; |
| 789 | 785 | } |
| 790 | 786 | oci->postproc_state.last_frame_valid = 1; |
| @@ -503,3 +503,39 @@ specialize vp8_yv12_copy_partial_frame neon · 502 unmodified lines | ||
| 503 | 503 | |
| 504 | 504 | # End of encoder only functions |
| 505 | 505 | fi |
| 506 | + | |
| 507 | +# Scaler functions | |
| 508 | +if [ "CONFIG_SPATIAL_RESAMPLING" != "yes" ]; then | |
| 509 | + prototype void vp8_horizontal_line_4_5_scale "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width" | |
| 510 | + prototype void vp8_vertical_band_4_5_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" | |
| 511 | + prototype void vp8_last_vertical_band_4_5_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" | |
| 512 | + prototype void vp8_horizontal_line_2_3_scale "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width" | |
| 513 | + prototype void vp8_vertical_band_2_3_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" | |
| 514 | + prototype void vp8_last_vertical_band_2_3_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" | |
| 515 | + prototype void vp8_horizontal_line_3_5_scale "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width" | |
| 516 | + prototype void vp8_vertical_band_3_5_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" | |
| 517 | + prototype void vp8_last_vertical_band_3_5_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" | |
| 518 | + prototype void vp8_horizontal_line_3_4_scale "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width" | |
| 519 | + prototype void vp8_vertical_band_3_4_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" | |
| 520 | + prototype void vp8_last_vertical_band_3_4_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" | |
| 521 | + prototype void vp8_horizontal_line_1_2_scale "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width" | |
| 522 | + prototype void vp8_vertical_band_1_2_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" | |
| 523 | + prototype void vp8_last_vertical_band_1_2_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" | |
| 524 | + prototype void vp8_horizontal_line_5_4_scale "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width" | |
| 525 | + prototype void vp8_vertical_band_5_4_scale "unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" | |
| 526 | + prototype void vp8_horizontal_line_5_3_scale "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width" | |
| 527 | + prototype void vp8_vertical_band_5_3_scale "unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" | |
| 528 | + prototype void vp8_horizontal_line_2_1_scale "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width" | |
| 529 | + prototype void vp8_vertical_band_2_1_scale "unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" | |
| 530 | + prototype void vp8_vertical_band_2_1_scale_i "unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width" | |
| 531 | +fi | |
| 532 | + | |
| 533 | +prototype void vp8_yv12_extend_frame_borders "struct yv12_buffer_config *ybf" | |
| 534 | +specialize vp8_yv12_extend_frame_borders neon | |
| 535 | + | |
| 536 | +prototype void vp8_yv12_copy_frame "struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc" | |
| 537 | +specialize vp8_yv12_copy_frame neon | |
| 538 | + | |
| 539 | +prototype void vp8_yv12_copy_y "struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc" | |
| 540 | +specialize vp8_yv12_copy_y neon | |
| 541 | + | |
| @@ -0,0 +1,242 @@ | ||
| 1 | +/* | |
| 2 | + * Copyright (c) 2010 The WebM project authors. All Rights Reserved. | |
| 3 | + * | |
| 4 | + * Use of this source code is governed by a BSD-style license | |
| 5 | + * that can be found in the LICENSE file in the root of the source | |
| 6 | + * tree. An additional intellectual property rights grant can be found | |
| 7 | + * in the file PATENTS. All contributing project authors may | |
| 8 | + * be found in the AUTHORS file in the root of the source tree. | |
| 9 | +*/ | |
| 10 | + | |
| 11 | + | |
| 12 | +/*Generated file, included by entropymode.c*/ | |
| 13 | + | |
| 14 | + | |
| 15 | +const struct vp8_token_struct vp8_bmode_encodings[VP8_BINTRAMODES] = | |
| 16 | +{ | |
| 17 | + { 0, 1 }, | |
| 18 | + { 2, 2 }, | |
| 19 | + { 6, 3 }, | |
| 20 | + { 28, 5 }, | |
| 21 | + { 30, 5 }, | |
| 22 | + { 58, 6 }, | |
| 23 | + { 59, 6 }, | |
| 24 | + { 62, 6 }, | |
| 25 | + { 126, 7 }, | |
| 26 | + { 127, 7 } | |
| 27 | +}; | |
| 28 | + | |
| 29 | +const struct vp8_token_struct vp8_ymode_encodings[VP8_YMODES] = | |
| 30 | +{ | |
| 31 | + { 0, 1 }, | |
| 32 | + { 4, 3 }, | |
| 33 | + { 5, 3 }, | |
| 34 | + { 6, 3 }, | |
| 35 | + { 7, 3 } | |
| 36 | +}; | |
| 37 | + | |
| 38 | +const struct vp8_token_struct vp8_kf_ymode_encodings[VP8_YMODES] = | |
| 39 | +{ | |
| 40 | + { 4, 3 }, | |
| 41 | + { 5, 3 }, | |
| 42 | + { 6, 3 }, | |
| 43 | + { 7, 3 }, | |
| 44 | + { 0, 1 } | |
| 45 | +}; | |
| 46 | + | |
| 47 | +const struct vp8_token_struct vp8_uv_mode_encodings[VP8_UV_MODES] = | |
| 48 | +{ | |
| 49 | + { 0, 1 }, | |
| 50 | + { 2, 2 }, | |
| 51 | + { 6, 3 }, | |
| 52 | + { 7, 3 } | |
| 53 | +}; | |
| 54 | + | |
| 55 | +const struct vp8_token_struct vp8_mbsplit_encodings[VP8_NUMMBSPLITS] = | |
| 56 | +{ | |
| 57 | + { 6, 3 }, | |
| 58 | + { 7, 3 }, | |
| 59 | + { 2, 2 }, | |
| 60 | + { 0, 1 } | |
| 61 | +}; | |
| 62 | + | |
| 63 | +const struct vp8_token_struct vp8_mv_ref_encoding_array[VP8_MVREFS] = | |
| 64 | +{ | |
| 65 | + { 2, 2 }, | |
| 66 | + { 6, 3 }, | |
| 67 | + { 0, 1 }, | |
| 68 | + { 14, 4 }, | |
| 69 | + { 15, 4 } | |
| 70 | +}; | |
| 71 | + | |
| 72 | +const struct vp8_token_struct vp8_sub_mv_ref_encoding_array[VP8_SUBMVREFS] = | |
| 73 | +{ | |
| 74 | + { 0, 1 }, | |
| 75 | + { 2, 2 }, | |
| 76 | + { 6, 3 }, | |
| 77 | + { 7, 3 } | |
| 78 | +}; | |
| 79 | + | |
| 80 | +const struct vp8_token_struct vp8_small_mvencodings[8] = | |
| 81 | +{ | |
| 82 | + { 0, 3 }, | |
| 83 | + { 1, 3 }, | |
| 84 | + { 2, 3 }, | |
| 85 | + { 3, 3 }, | |
| 86 | + { 4, 3 }, | |
| 87 | + { 5, 3 }, | |
| 88 | + { 6, 3 }, | |
| 89 | + { 7, 3 } | |
| 90 | +}; | |
| 91 | + | |
| 92 | +const vp8_prob vp8_ymode_prob[VP8_YMODES-1] = | |
| 93 | +{ | |
| 94 | + 112, 86, 140, 37 | |
| 95 | +}; | |
| 96 | + | |
| 97 | +const vp8_prob kf_ymode_prob[VP8_YMODES-1] = | |
| 98 | +{ | |
| 99 | + 145, 156, 163, 128 | |
| 100 | +}; | |
| 101 | + | |
| 102 | +const vp8_prob vp8_uv_mode_prob[VP8_UV_MODES-1] = | |
| 103 | +{ | |
| 104 | + 162, 101, 204 | |
| 105 | +}; | |
| 106 | + | |
| 107 | +const vp8_prob vp8_kf_uv_mode_prob[VP8_UV_MODES-1] = | |
| 108 | +{ | |
| 109 | + 142, 114, 183 | |
| 110 | +}; | |
| 111 | + | |
| 112 | +const vp8_prob vp8_bmode_prob[VP8_BINTRAMODES-1] = | |
| 113 | +{ | |
| 114 | + 120, 90, 79, 133, 87, 85, 80, 111, 151 | |
| 115 | +}; | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | +const vp8_prob vp8_kf_bmode_prob | |
| 120 | +[VP8_BINTRAMODES] [VP8_BINTRAMODES] [VP8_BINTRAMODES-1] = | |
| 121 | +{ | |
| 122 | + { | |
| 123 | + { 231, 120, 48, 89, 115, 113, 120, 152, 112 }, | |
| 124 | + { 152, 179, 64, 126, 170, 118, 46, 70, 95 }, | |
| 125 | + { 175, 69, 143, 80, 85, 82, 72, 155, 103 }, | |
| 126 | + { 56, 58, 10, 171, 218, 189, 17, 13, 152 }, | |
| 127 | + { 144, 71, 10, 38, 171, 213, 144, 34, 26 }, | |
| 128 | + { 114, 26, 17, 163, 44, 195, 21, 10, 173 }, | |
| 129 | + { 121, 24, 80, 195, 26, 62, 44, 64, 85 }, | |
| 130 | + { 170, 46, 55, 19, 136, 160, 33, 206, 71 }, | |
| 131 | + { 63, 20, 8, 114, 114, 208, 12, 9, 226 }, | |
| 132 | + { 81, 40, 11, 96, 182, 84, 29, 16, 36 } | |
| 133 | + }, | |
| 134 | + { | |
| 135 | + { 134, 183, 89, 137, 98, 101, 106, 165, 148 }, | |
| 136 | + { 72, 187, 100, 130, 157, 111, 32, 75, 80 }, | |
| 137 | + { 66, 102, 167, 99, 74, 62, 40, 234, 128 }, | |
| 138 | + { 41, 53, 9, 178, 241, 141, 26, 8, 107 }, | |
| 139 | + { 104, 79, 12, 27, 217, 255, 87, 17, 7 }, | |
| 140 | + { 74, 43, 26, 146, 73, 166, 49, 23, 157 }, | |
| 141 | + { 65, 38, 105, 160, 51, 52, 31, 115, 128 }, | |
| 142 | + { 87, 68, 71, 44, 114, 51, 15, 186, 23 }, | |
| 143 | + { 47, 41, 14, 110, 182, 183, 21, 17, 194 }, | |
| 144 | + { 66, 45, 25, 102, 197, 189, 23, 18, 22 } | |
| 145 | + }, | |
| 146 | + { | |
| 147 | + { 88, 88, 147, 150, 42, 46, 45, 196, 205 }, | |
| 148 | + { 43, 97, 183, 117, 85, 38, 35, 179, 61 }, | |
| 149 | + { 39, 53, 200, 87, 26, 21, 43, 232, 171 }, | |
| 150 | + { 56, 34, 51, 104, 114, 102, 29, 93, 77 }, | |
| 151 | + { 107, 54, 32, 26, 51, 1, 81, 43, 31 }, | |
| 152 | + { 39, 28, 85, 171, 58, 165, 90, 98, 64 }, | |
| 153 | + { 34, 22, 116, 206, 23, 34, 43, 166, 73 }, | |
| 154 | + { 68, 25, 106, 22, 64, 171, 36, 225, 114 }, | |
| 155 | + { 34, 19, 21, 102, 132, 188, 16, 76, 124 }, | |
| 156 | + { 62, 18, 78, 95, 85, 57, 50, 48, 51 } | |
| 157 | + }, | |
| 158 | + { | |
| 159 | + { 193, 101, 35, 159, 215, 111, 89, 46, 111 }, | |
| 160 | + { 60, 148, 31, 172, 219, 228, 21, 18, 111 }, | |
| 161 | + { 112, 113, 77, 85, 179, 255, 38, 120, 114 }, | |
| 162 | + { 40, 42, 1, 196, 245, 209, 10, 25, 109 }, | |
| 163 | + { 100, 80, 8, 43, 154, 1, 51, 26, 71 }, | |
| 164 | + { 88, 43, 29, 140, 166, 213, 37, 43, 154 }, | |
| 165 | + { 61, 63, 30, 155, 67, 45, 68, 1, 209 }, | |
| 166 | + { 142, 78, 78, 16, 255, 128, 34, 197, 171 }, | |
| 167 | + { 41, 40, 5, 102, 211, 183, 4, 1, 221 }, | |
| 168 | + { 51, 50, 17, 168, 209, 192, 23, 25, 82 } | |
| 169 | + }, | |
| 170 | + { | |
| 171 | + { 125, 98, 42, 88, 104, 85, 117, 175, 82 }, | |
| 172 | + { 95, 84, 53, 89, 128, 100, 113, 101, 45 }, | |
| 173 | + { 75, 79, 123, 47, 51, 128, 81, 171, 1 }, | |
| 174 | + { 57, 17, 5, 71, 102, 57, 53, 41, 49 }, | |
| 175 | + { 115, 21, 2, 10, 102, 255, 166, 23, 6 }, | |
| 176 | + { 38, 33, 13, 121, 57, 73, 26, 1, 85 }, | |
| 177 | + { 41, 10, 67, 138, 77, 110, 90, 47, 114 }, | |
| 178 | + { 101, 29, 16, 10, 85, 128, 101, 196, 26 }, | |
| 179 | + { 57, 18, 10, 102, 102, 213, 34, 20, 43 }, | |
| 180 | + { 117, 20, 15, 36, 163, 128, 68, 1, 26 } | |
| 181 | + }, | |
| 182 | + { | |
| 183 | + { 138, 31, 36, 171, 27, 166, 38, 44, 229 }, | |
| 184 | + { 67, 87, 58, 169, 82, 115, 26, 59, 179 }, | |
| 185 | + { 63, 59, 90, 180, 59, 166, 93, 73, 154 }, | |
| 186 | + { 40, 40, 21, 116, 143, 209, 34, 39, 175 }, | |
| 187 | + { 57, 46, 22, 24, 128, 1, 54, 17, 37 }, | |
| 188 | + { 47, 15, 16, 183, 34, 223, 49, 45, 183 }, | |
| 189 | + { 46, 17, 33, 183, 6, 98, 15, 32, 183 }, | |
| 190 | + { 65, 32, 73, 115, 28, 128, 23, 128, 205 }, | |
| 191 | + { 40, 3, 9, 115, 51, 192, 18, 6, 223 }, | |
| 192 | + { 87, 37, 9, 115, 59, 77, 64, 21, 47 } | |
| 193 | + }, | |
| 194 | + { | |
| 195 | + { 104, 55, 44, 218, 9, 54, 53, 130, 226 }, | |
| 196 | + { 64, 90, 70, 205, 40, 41, 23, 26, 57 }, | |
| 197 | + { 54, 57, 112, 184, 5, 41, 38, 166, 213 }, | |
| 198 | + { 30, 34, 26, 133, 152, 116, 10, 32, 134 }, | |
| 199 | + { 75, 32, 12, 51, 192, 255, 160, 43, 51 }, | |
| 200 | + { 39, 19, 53, 221, 26, 114, 32, 73, 255 }, | |
| 201 | + { 31, 9, 65, 234, 2, 15, 1, 118, 73 }, | |
| 202 | + { 88, 31, 35, 67, 102, 85, 55, 186, 85 }, | |
| 203 | + { 56, 21, 23, 111, 59, 205, 45, 37, 192 }, | |
| 204 | + { 55, 38, 70, 124, 73, 102, 1, 34, 98 } | |
| 205 | + }, | |
| 206 | + { | |
| 207 | + { 102, 61, 71, 37, 34, 53, 31, 243, 192 }, | |
| 208 | + { 69, 60, 71, 38, 73, 119, 28, 222, 37 }, | |
| 209 | + { 68, 45, 128, 34, 1, 47, 11, 245, 171 }, | |
| 210 | + { 62, 17, 19, 70, 146, 85, 55, 62, 70 }, | |
| 211 | + { 75, 15, 9, 9, 64, 255, 184, 119, 16 }, | |
| 212 | + { 37, 43, 37, 154, 100, 163, 85, 160, 1 }, | |
| 213 | + { 63, 9, 92, 136, 28, 64, 32, 201, 85 }, | |
| 214 | + { 86, 6, 28, 5, 64, 255, 25, 248, 1 }, | |
| 215 | + { 56, 8, 17, 132, 137, 255, 55, 116, 128 }, | |
| 216 | + { 58, 15, 20, 82, 135, 57, 26, 121, 40 } | |
| 217 | + }, | |
| 218 | + { | |
| 219 | + { 164, 50, 31, 137, 154, 133, 25, 35, 218 }, | |
| 220 | + { 51, 103, 44, 131, 131, 123, 31, 6, 158 }, | |
| 221 | + { 86, 40, 64, 135, 148, 224, 45, 183, 128 }, | |
| 222 | + { 22, 26, 17, 131, 240, 154, 14, 1, 209 }, | |
| 223 | + { 83, 12, 13, 54, 192, 255, 68, 47, 28 }, | |
| 224 | + { 45, 16, 21, 91, 64, 222, 7, 1, 197 }, | |
| 225 | + { 56, 21, 39, 155, 60, 138, 23, 102, 213 }, | |
| 226 | + { 85, 26, 85, 85, 128, 128, 32, 146, 171 }, | |
| 227 | + { 18, 11, 7, 63, 144, 171, 4, 4, 246 }, | |
| 228 | + { 35, 27, 10, 146, 174, 171, 12, 26, 128 } | |
| 229 | + }, | |
| 230 | + { | |
| 231 | + { 190, 80, 35, 99, 180, 80, 126, 54, 45 }, | |
| 232 | + { 85, 126, 47, 87, 176, 51, 41, 20, 32 }, | |
| 233 | + { 101, 75, 128, 139, 118, 146, 116, 128, 85 }, | |
| 234 | + { 56, 41, 15, 176, 236, 85, 37, 9, 62 }, | |
| 235 | + { 146, 36, 19, 30, 171, 255, 97, 27, 20 }, | |
| 236 | + { 71, 30, 17, 119, 118, 255, 17, 18, 138 }, | |
| 237 | + { 101, 38, 60, 138, 55, 70, 43, 26, 142 }, | |
| 238 | + { 138, 45, 61, 62, 219, 1, 81, 188, 64 }, | |
| 239 | + { 32, 41, 20, 117, 151, 142, 20, 21, 163 }, | |
| 240 | + { 112, 19, 12, 61, 195, 128, 48, 4, 24 } | |
| 241 | + } | |
| 242 | +}; | |
| @@ -21,7 +21,6 @@ · 20 unmodified lines | ||
| 21 | 21 | #include "vp8/common/entropymode.h" |
| 22 | 22 | #include "vp8/common/quant_common.h" |
| 23 | 23 | #include "vpx_scale/vpxscale.h" |
| 24 | −#include "vpx_scale/yv12extend.h" | |
| 25 | 24 | #include "vp8/common/setupintrarecon.h" |
| 26 | 25 | |
| 27 | 26 | #include "decodemv.h" |
| @@ -1135,7 +1134,7 @@ int vp8_decode_frame(VP8D_COMP *pbi) · 1107 unmodified lines | ||
| 1135 | 1134 | { |
| 1136 | 1135 | int i; |
| 1137 | 1136 | vp8mt_decode_mb_rows(pbi, xd); |
| 1138 | − vp8_yv12_extend_frame_borders_ptr(&pc->yv12_fb[pc->new_fb_idx]); /*cm->frame_to_show);*/ | |
| 1137 | + vp8_yv12_extend_frame_borders(&pc->yv12_fb[pc->new_fb_idx]); /*cm->frame_to_show);*/ | |
| 1139 | 1138 | for (i = 0; i < pbi->decoding_thread_count; ++i) |
| 1140 | 1139 | corrupt_tokens |= pbi->mb_row_di[i].mbd.corrupted; |
| 1141 | 1140 | } |
| @@ -17,7 +17,6 @@ · 16 unmodified lines | ||
| 17 | 17 | #include "onyxd_int.h" |
| 18 | 18 | #include "vpx_mem/vpx_mem.h" |
| 19 | 19 | #include "vp8/common/alloccommon.h" |
| 20 | −#include "vpx_scale/yv12extend.h" | |
| 21 | 20 | #include "vp8/common/loopfilter.h" |
| 22 | 21 | #include "vp8/common/swapyv12buffer.h" |
| 23 | 22 | #include "vp8/common/threading.h" |
| @@ -42,20 +41,6 @@ extern void vp8cx_init_de_quantizer(VP8D_COMP *pbi); · 18 unmodified lines | ||
| 42 | 41 | static int get_free_fb (VP8_COMMON *cm); |
| 43 | 42 | static void ref_cnt_fb (int *buf, int *idx, int new_idx); |
| 44 | 43 | |
| 45 | − | |
| 46 | −void vp8dx_initialize() | |
| 47 | −{ | |
| 48 | − static int init_done = 0; | |
| 49 | − | |
| 50 | − if (!init_done) | |
| 51 | − { | |
| 52 | − vp8_initialize_common(); | |
| 53 | − vp8_scale_machine_specific_config(); | |
| 54 | − init_done = 1; | |
| 55 | − } | |
| 56 | −} | |
| 57 | − | |
| 58 | − | |
| 59 | 44 | struct VP8D_COMP * vp8dx_create_decompressor(VP8D_CONFIG *oxcf) |
| 60 | 45 | { |
| 61 | 46 | VP8D_COMP *pbi = vpx_memalign(32, sizeof(VP8D_COMP)); |
| @@ -73,7 +58,6 @@ struct VP8D_COMP * vp8dx_create_decompressor(VP8D_CONFIG *oxcf) · 11 unmodified lines | ||
| 73 | 58 | } |
| 74 | 59 | |
| 75 | 60 | pbi->common.error.setjmp = 1; |
| 76 | − vp8dx_initialize(); | |
| 77 | 61 | |
| 78 | 62 | vp8_create_common(&pbi->common); |
| 79 | 63 | |
| @@ -163,7 +147,7 @@ vpx_codec_err_t vp8dx_get_reference(VP8D_COMP *pbi, VP8_REFFRAME ref_frame_flag, · 83 unmodified lines | ||
| 163 | 147 | "Incorrect buffer dimensions"); |
| 164 | 148 | } |
| 165 | 149 | else |
| 166 | − vp8_yv12_copy_frame_ptr(&cm->yv12_fb[ref_fb_idx], sd); | |
| 150 | + vp8_yv12_copy_frame(&cm->yv12_fb[ref_fb_idx], sd); | |
| 167 | 151 | |
| 168 | 152 | return pbi->common.error.error_code; |
| 169 | 153 | } |
| @@ -203,7 +187,7 @@ vpx_codec_err_t vp8dx_set_reference(VP8D_COMP *pbi, VP8_REFFRAME ref_frame_flag, · 33 unmodified lines | ||
| 203 | 187 | |
| 204 | 188 | /* Manage the reference counters and copy image. */ |
| 205 | 189 | ref_cnt_fb (cm->fb_idx_ref_cnt, ref_fb_ptr, free_fb); |
| 206 | − vp8_yv12_copy_frame_ptr(sd, &cm->yv12_fb[*ref_fb_ptr]); | |
| 190 | + vp8_yv12_copy_frame(sd, &cm->yv12_fb[*ref_fb_ptr]); | |
| 207 | 191 | } |
| 208 | 192 | |
| 209 | 193 | return pbi->common.error.error_code; |
| @@ -367,7 +351,7 @@ int vp8dx_receive_compressed_data(VP8D_COMP *pbi, unsigned long size, const unsi · 157 unmodified lines | ||
| 367 | 351 | const int prev_idx = cm->lst_fb_idx; |
| 368 | 352 | cm->fb_idx_ref_cnt[prev_idx]--; |
| 369 | 353 | cm->lst_fb_idx = get_free_fb(cm); |
| 370 | − vp8_yv12_copy_frame_ptr(&cm->yv12_fb[prev_idx], | |
| 354 | + vp8_yv12_copy_frame(&cm->yv12_fb[prev_idx], | |
| 371 | 355 | &cm->yv12_fb[cm->lst_fb_idx]); |
| 372 | 356 | } |
| 373 | 357 | /* This is used to signal that we are missing frames. |
| @@ -486,7 +470,7 @@ int vp8dx_receive_compressed_data(VP8D_COMP *pbi, unsigned long size, const unsi · 112 unmodified lines | ||
| 486 | 470 | /* Apply the loop filter if appropriate. */ |
| 487 | 471 | vp8_loop_filter_frame(cm, &pbi->mb); |
| 488 | 472 | } |
| 489 | − vp8_yv12_extend_frame_borders_ptr(cm->frame_to_show); | |
| 473 | + vp8_yv12_extend_frame_borders(cm->frame_to_show); | |
| 490 | 474 | } |
| 491 | 475 | |
| 492 | 476 | |
| @@ -162,7 +162,7 @@ static void write_split(vp8_writer *bc, int x) · 161 unmodified lines | ||
| 162 | 162 | |
| 163 | 163 | void vp8_pack_tokens_c(vp8_writer *w, const TOKENEXTRA *p, int xcount) |
| 164 | 164 | { |
| 165 | − const TOKENEXTRA *const stop = p + xcount; | |
| 165 | + const TOKENEXTRA *stop = p + xcount; | |
| 166 | 166 | unsigned int split; |
| 167 | 167 | unsigned int shift; |
| 168 | 168 | int count = w->count; |
| @@ -172,8 +172,8 @@ void vp8_pack_tokens_c(vp8_writer *w, const TOKENEXTRA *p, int xcount) · 3 unmodified lines | ||
| 172 | 172 | while (p < stop) |
| 173 | 173 | { |
| 174 | 174 | const int t = p->Token; |
| 175 | − vp8_token *const a = vp8_coef_encodings + t; | |
| 176 | − const vp8_extra_bit_struct *const b = vp8_extra_bits + t; | |
| 175 | + const vp8_token *a = vp8_coef_encodings + t; | |
| 176 | + const vp8_extra_bit_struct *b = vp8_extra_bits + t; | |
| 177 | 177 | int i = 0; |
| 178 | 178 | const unsigned char *pp = p->context_tree; |
| 179 | 179 | int v = a->value; |
| @@ -14,19 +14,19 @@ · 13 unmodified lines | ||
| 14 | 14 | |
| 15 | 15 | #if HAVE_EDSP |
| 16 | 16 | void vp8cx_pack_tokens_armv5(vp8_writer *w, const TOKENEXTRA *p, int xcount, |
| 17 | − vp8_token *, | |
| 18 | − vp8_extra_bit_struct *, | |
| 17 | + const vp8_token *, | |
| 18 | + const vp8_extra_bit_struct *, | |
| 19 | 19 | const vp8_tree_index *); |
| 20 | 20 | void vp8cx_pack_tokens_into_partitions_armv5(VP8_COMP *, |
| 21 | 21 | unsigned char * cx_data, |
| 22 | 22 | const unsigned char *cx_data_end, |
| 23 | 23 | int num_parts, |
| 24 | − vp8_token *, | |
| 25 | − vp8_extra_bit_struct *, | |
| 24 | + const vp8_token *, | |
| 25 | + const vp8_extra_bit_struct *, | |
| 26 | 26 | const vp8_tree_index *); |
| 27 | 27 | void vp8cx_pack_mb_row_tokens_armv5(VP8_COMP *cpi, vp8_writer *w, |
| 28 | − vp8_token *, | |
| 29 | − vp8_extra_bit_struct *, | |
| 28 | + const vp8_token *, | |
| 29 | + const vp8_extra_bit_struct *, | |
| 30 | 30 | const vp8_tree_index *); |
| 31 | 31 | # define pack_tokens(a,b,c) \ |
| 32 | 32 | vp8cx_pack_tokens_armv5(a,b,c,vp8_coef_encodings,vp8_extra_bits,vp8_coef_tree) |
| @@ -0,0 +1,358 @@ | ||
| 1 | +/* | |
| 2 | + * Copyright (c) 2012 The WebM project authors. All Rights Reserved. | |
| 3 | + * | |
| 4 | + * Use of this source code is governed by a BSD-style license | |
| 5 | + * that can be found in the LICENSE file in the root of the source | |
| 6 | + * tree. An additional intellectual property rights grant can be found | |
| 7 | + * in the file PATENTS. All contributing project authors may | |
| 8 | + * be found in the AUTHORS file in the root of the source tree. | |
| 9 | + */ | |
| 10 | + | |
| 11 | +/* Generated file, included by tokenize.c */ | |
| 12 | +/* Values generated by fill_value_tokens() */ | |
| 13 | + | |
| 14 | +static const short dct_value_cost[2048*2] = | |
| 15 | +{ | |
| 16 | + 8285, 8277, 8267, 8259, 8253, 8245, 8226, 8218, 8212, 8204, 8194, 8186, | |
| 17 | + 8180, 8172, 8150, 8142, 8136, 8128, 8118, 8110, 8104, 8096, 8077, 8069, | |
| 18 | + 8063, 8055, 8045, 8037, 8031, 8023, 7997, 7989, 7983, 7975, 7965, 7957, | |
| 19 | + 7951, 7943, 7924, 7916, 7910, 7902, 7892, 7884, 7878, 7870, 7848, 7840, | |
| 20 | + 7834, 7826, 7816, 7808, 7802, 7794, 7775, 7767, 7761, 7753, 7743, 7735, | |
| 21 | + 7729, 7721, 7923, 7915, 7909, 7901, 7891, 7883, 7877, 7869, 7850, 7842, | |
| 22 | + 7836, 7828, 7818, 7810, 7804, 7796, 7774, 7766, 7760, 7752, 7742, 7734, | |
| 23 | + 7728, 7720, 7701, 7693, 7687, 7679, 7669, 7661, 7655, 7647, 7621, 7613, | |
| 24 | + 7607, 7599, 7589, 7581, 7575, 7567, 7548, 7540, 7534, 7526, 7516, 7508, | |
| 25 | + 7502, 7494, 7472, 7464, 7458, 7450, 7440, 7432, 7426, 7418, 7399, 7391, | |
| 26 | + 7385, 7377, 7367, 7359, 7353, 7345, 7479, 7471, 7465, 7457, 7447, 7439, | |
| 27 | + 7433, 7425, 7406, 7398, 7392, 7384, 7374, 7366, 7360, 7352, 7330, 7322, | |
| 28 | + 7316, 7308, 7298, 7290, 7284, 7276, 7257, 7249, 7243, 7235, 7225, 7217, | |
| 29 | + 7211, 7203, 7177, 7169, 7163, 7155, 7145, 7137, 7131, 7123, 7104, 7096, | |
| 30 | + 7090, 7082, 7072, 7064, 7058, 7050, 7028, 7020, 7014, 7006, 6996, 6988, | |
| 31 | + 6982, 6974, 6955, 6947, 6941, 6933, 6923, 6915, 6909, 6901, 7632, 7624, | |
| 32 | + 7618, 7610, 7600, 7592, 7586, 7578, 7559, 7551, 7545, 7537, 7527, 7519, | |
| 33 | + 7513, 7505, 7483, 7475, 7469, 7461, 7451, 7443, 7437, 7429, 7410, 7402, | |
| 34 | + 7396, 7388, 7378, 7370, 7364, 7356, 7330, 7322, 7316, 7308, 7298, 7290, | |
| 35 | + 7284, 7276, 7257, 7249, 7243, 7235, 7225, 7217, 7211, 7203, 7181, 7173, | |
| 36 | + 7167, 7159, 7149, 7141, 7135, 7127, 7108, 7100, 7094, 7086, 7076, 7068, | |
| 37 | + 7062, 7054, 7188, 7180, 7174, 7166, 7156, 7148, 7142, 7134, 7115, 7107, | |
| 38 | + 7101, 7093, 7083, 7075, 7069, 7061, 7039, 7031, 7025, 7017, 7007, 6999, | |
| 39 | + 6993, 6985, 6966, 6958, 6952, 6944, 6934, 6926, 6920, 6912, 6886, 6878, | |
| 40 | + 6872, 6864, 6854, 6846, 6840, 6832, 6813, 6805, 6799, 6791, 6781, 6773, | |
| 41 | + 6767, 6759, 6737, 6729, 6723, 6715, 6705, 6697, 6691, 6683, 6664, 6656, | |
| 42 | + 6650, 6642, 6632, 6624, 6618, 6610, 6812, 6804, 6798, 6790, 6780, 6772, | |
| 43 | + 6766, 6758, 6739, 6731, 6725, 6717, 6707, 6699, 6693, 6685, 6663, 6655, | |
| 44 | + 6649, 6641, 6631, 6623, 6617, 6609, 6590, 6582, 6576, 6568, 6558, 6550, | |
| 45 | + 6544, 6536, 6510, 6502, 6496, 6488, 6478, 6470, 6464, 6456, 6437, 6429, | |
| 46 | + 6423, 6415, 6405, 6397, 6391, 6383, 6361, 6353, 6347, 6339, 6329, 6321, | |
| 47 | + 6315, 6307, 6288, 6280, 6274, 6266, 6256, 6248, 6242, 6234, 6368, 6360, | |
| 48 | + 6354, 6346, 6336, 6328, 6322, 6314, 6295, 6287, 6281, 6273, 6263, 6255, | |
| 49 | + 6249, 6241, 6219, 6211, 6205, 6197, 6187, 6179, 6173, 6165, 6146, 6138, | |
| 50 | + 6132, 6124, 6114, 6106, 6100, 6092, 6066, 6058, 6052, 6044, 6034, 6026, | |
| 51 | + 6020, 6012, 5993, 5985, 5979, 5971, 5961, 5953, 5947, 5939, 5917, 5909, | |
| 52 | + 5903, 5895, 5885, 5877, 5871, 5863, 5844, 5836, 5830, 5822, 5812, 5804, | |
| 53 | + 5798, 5790, 6697, 6689, 6683, 6675, 6665, 6657, 6651, 6643, 6624, 6616, | |
| 54 | + 6610, 6602, 6592, 6584, 6578, 6570, 6548, 6540, 6534, 6526, 6516, 6508, | |
| 55 | + 6502, 6494, 6475, 6467, 6461, 6453, 6443, 6435, 6429, 6421, 6395, 6387, | |
| 56 | + 6381, 6373, 6363, 6355, 6349, 6341, 6322, 6314, 6308, 6300, 6290, 6282, | |
| 57 | + 6276, 6268, 6246, 6238, 6232, 6224, 6214, 6206, 6200, 6192, 6173, 6165, | |
| 58 | + 6159, 6151, 6141, 6133, 6127, 6119, 6253, 6245, 6239, 6231, 6221, 6213, | |
| 59 | + 6207, 6199, 6180, 6172, 6166, 6158, 6148, 6140, 6134, 6126, 6104, 6096, | |
| 60 | + 6090, 6082, 6072, 6064, 6058, 6050, 6031, 6023, 6017, 6009, 5999, 5991, | |
| 61 | + 5985, 5977, 5951, 5943, 5937, 5929, 5919, 5911, 5905, 5897, 5878, 5870, | |
| 62 | + 5864, 5856, 5846, 5838, 5832, 5824, 5802, 5794, 5788, 5780, 5770, 5762, | |
| 63 | + 5756, 5748, 5729, 5721, 5715, 5707, 5697, 5689, 5683, 5675, 5877, 5869, | |
| 64 | + 5863, 5855, 5845, 5837, 5831, 5823, 5804, 5796, 5790, 5782, 5772, 5764, | |
| 65 | + 5758, 5750, 5728, 5720, 5714, 5706, 5696, 5688, 5682, 5674, 5655, 5647, | |
| 66 | + 5641, 5633, 5623, 5615, 5609, 5601, 5575, 5567, 5561, 5553, 5543, 5535, | |
| 67 | + 5529, 5521, 5502, 5494, 5488, 5480, 5470, 5462, 5456, 5448, 5426, 5418, | |
| 68 | + 5412, 5404, 5394, 5386, 5380, 5372, 5353, 5345, 5339, 5331, 5321, 5313, | |
| 69 | + 5307, 5299, 5433, 5425, 5419, 5411, 5401, 5393, 5387, 5379, 5360, 5352, | |
| 70 | + 5346, 5338, 5328, 5320, 5314, 5306, 5284, 5276, 5270, 5262, 5252, 5244, | |
| 71 | + 5238, 5230, 5211, 5203, 5197, 5189, 5179, 5171, 5165, 5157, 5131, 5123, | |
| 72 | + 5117, 5109, 5099, 5091, 5085, 5077, 5058, 5050, 5044, 5036, 5026, 5018, | |
| 73 | + 5012, 5004, 4982, 4974, 4968, 4960, 4950, 4942, 4936, 4928, 4909, 4901, | |
| 74 | + 4895, 4887, 4877, 4869, 4863, 4855, 5586, 5578, 5572, 5564, 5554, 5546, | |
| 75 | + 5540, 5532, 5513, 5505, 5499, 5491, 5481, 5473, 5467, 5459, 5437, 5429, | |
| 76 | + 5423, 5415, 5405, 5397, 5391, 5383, 5364, 5356, 5350, 5342, 5332, 5324, | |
| 77 | + 5318, 5310, 5284, 5276, 5270, 5262, 5252, 5244, 5238, 5230, 5211, 5203, | |
| 78 | + 5197, 5189, 5179, 5171, 5165, 5157, 5135, 5127, 5121, 5113, 5103, 5095, | |
| 79 | + 5089, 5081, 5062, 5054, 5048, 5040, 5030, 5022, 5016, 5008, 5142, 5134, | |
| 80 | + 5128, 5120, 5110, 5102, 5096, 5088, 5069, 5061, 5055, 5047, 5037, 5029, | |
| 81 | + 5023, 5015, 4993, 4985, 4979, 4971, 4961, 4953, 4947, 4939, 4920, 4912, | |
| 82 | + 4906, 4898, 4888, 4880, 4874, 4866, 4840, 4832, 4826, 4818, 4808, 4800, | |
| 83 | + 4794, 4786, 4767, 4759, 4753, 4745, 4735, 4727, 4721, 4713, 4691, 4683, | |
| 84 | + 4677, 4669, 4659, 4651, 4645, 4637, 4618, 4610, 4604, 4596, 4586, 4578, | |
| 85 | + 4572, 4564, 4766, 4758, 4752, 4744, 4734, 4726, 4720, 4712, 4693, 4685, | |
| 86 | + 4679, 4671, 4661, 4653, 4647, 4639, 4617, 4609, 4603, 4595, 4585, 4577, | |
| 87 | + 4571, 4563, 4544, 4536, 4530, 4522, 4512, 4504, 4498, 4490, 4464, 4456, | |
| 88 | + 4450, 4442, 4432, 4424, 4418, 4410, 4391, 4383, 4377, 4369, 4359, 4351, | |
| 89 | + 4345, 4337, 4315, 4307, 4301, 4293, 4283, 4275, 4269, 4261, 4242, 4234, | |
| 90 | + 4228, 4220, 4210, 4202, 4196, 4188, 4322, 4314, 4308, 4300, 4290, 4282, | |
| 91 | + 4276, 4268, 4249, 4241, 4235, 4227, 4217, 4209, 4203, 4195, 4173, 4165, | |
| 92 | + 4159, 4151, 4141, 4133, 4127, 4119, 4100, 4092, 4086, 4078, 4068, 4060, | |
| 93 | + 4054, 4046, 4020, 4012, 4006, 3998, 3988, 3980, 3974, 3966, 3947, 3939, | |
| 94 | + 3933, 3925, 3915, 3907, 3901, 3893, 3871, 3863, 3857, 3849, 3839, 3831, | |
| 95 | + 3825, 3817, 3798, 3790, 3784, 3776, 3766, 3758, 3752, 3744, 6697, 6689, | |
| 96 | + 6683, 6675, 6665, 6657, 6651, 6643, 6624, 6616, 6610, 6602, 6592, 6584, | |
| 97 | + 6578, 6570, 6548, 6540, 6534, 6526, 6516, 6508, 6502, 6494, 6475, 6467, | |
| 98 | + 6461, 6453, 6443, 6435, 6429, 6421, 6395, 6387, 6381, 6373, 6363, 6355, | |
| 99 | + 6349, 6341, 6322, 6314, 6308, 6300, 6290, 6282, 6276, 6268, 6246, 6238, | |
| 100 | + 6232, 6224, 6214, 6206, 6200, 6192, 6173, 6165, 6159, 6151, 6141, 6133, | |
| 101 | + 6127, 6119, 6253, 6245, 6239, 6231, 6221, 6213, 6207, 6199, 6180, 6172, | |
| 102 | + 6166, 6158, 6148, 6140, 6134, 6126, 6104, 6096, 6090, 6082, 6072, 6064, | |
| 103 | + 6058, 6050, 6031, 6023, 6017, 6009, 5999, 5991, 5985, 5977, 5951, 5943, | |
| 104 | + 5937, 5929, 5919, 5911, 5905, 5897, 5878, 5870, 5864, 5856, 5846, 5838, | |
| 105 | + 5832, 5824, 5802, 5794, 5788, 5780, 5770, 5762, 5756, 5748, 5729, 5721, | |
| 106 | + 5715, 5707, 5697, 5689, 5683, 5675, 5877, 5869, 5863, 5855, 5845, 5837, | |
| 107 | + 5831, 5823, 5804, 5796, 5790, 5782, 5772, 5764, 5758, 5750, 5728, 5720, | |
| 108 | + 5714, 5706, 5696, 5688, 5682, 5674, 5655, 5647, 5641, 5633, 5623, 5615, | |
| 109 | + 5609, 5601, 5575, 5567, 5561, 5553, 5543, 5535, 5529, 5521, 5502, 5494, | |
| 110 | + 5488, 5480, 5470, 5462, 5456, 5448, 5426, 5418, 5412, 5404, 5394, 5386, | |
| 111 | + 5380, 5372, 5353, 5345, 5339, 5331, 5321, 5313, 5307, 5299, 5433, 5425, | |
| 112 | + 5419, 5411, 5401, 5393, 5387, 5379, 5360, 5352, 5346, 5338, 5328, 5320, | |
| 113 | + 5314, 5306, 5284, 5276, 5270, 5262, 5252, 5244, 5238, 5230, 5211, 5203, | |
| 114 | + 5197, 5189, 5179, 5171, 5165, 5157, 5131, 5123, 5117, 5109, 5099, 5091, | |
| 115 | + 5085, 5077, 5058, 5050, 5044, 5036, 5026, 5018, 5012, 5004, 4982, 4974, | |
| 116 | + 4968, 4960, 4950, 4942, 4936, 4928, 4909, 4901, 4895, 4887, 4877, 4869, | |
| 117 | + 4863, 4855, 5586, 5578, 5572, 5564, 5554, 5546, 5540, 5532, 5513, 5505, | |
| 118 | + 5499, 5491, 5481, 5473, 5467, 5459, 5437, 5429, 5423, 5415, 5405, 5397, | |
| 119 | + 5391, 5383, 5364, 5356, 5350, 5342, 5332, 5324, 5318, 5310, 5284, 5276, | |
| 120 | + 5270, 5262, 5252, 5244, 5238, 5230, 5211, 5203, 5197, 5189, 5179, 5171, | |
| 121 | + 5165, 5157, 5135, 5127, 5121, 5113, 5103, 5095, 5089, 5081, 5062, 5054, | |
| 122 | + 5048, 5040, 5030, 5022, 5016, 5008, 5142, 5134, 5128, 5120, 5110, 5102, | |
| 123 | + 5096, 5088, 5069, 5061, 5055, 5047, 5037, 5029, 5023, 5015, 4993, 4985, | |
| 124 | + 4979, 4971, 4961, 4953, 4947, 4939, 4920, 4912, 4906, 4898, 4888, 4880, | |
| 125 | + 4874, 4866, 4840, 4832, 4826, 4818, 4808, 4800, 4794, 4786, 4767, 4759, | |
| 126 | + 4753, 4745, 4735, 4727, 4721, 4713, 4691, 4683, 4677, 4669, 4659, 4651, | |
| 127 | + 4645, 4637, 4618, 4610, 4604, 4596, 4586, 4578, 4572, 4564, 4766, 4758, | |
| 128 | + 4752, 4744, 4734, 4726, 4720, 4712, 4693, 4685, 4679, 4671, 4661, 4653, | |
| 129 | + 4647, 4639, 4617, 4609, 4603, 4595, 4585, 4577, 4571, 4563, 4544, 4536, | |
| 130 | + 4530, 4522, 4512, 4504, 4498, 4490, 4464, 4456, 4450, 4442, 4432, 4424, | |
| 131 | + 4418, 4410, 4391, 4383, 4377, 4369, 4359, 4351, 4345, 4337, 4315, 4307, | |
| 132 | + 4301, 4293, 4283, 4275, 4269, 4261, 4242, 4234, 4228, 4220, 4210, 4202, | |
| 133 | + 4196, 4188, 4322, 4314, 4308, 4300, 4290, 4282, 4276, 4268, 4249, 4241, | |
| 134 | + 4235, 4227, 4217, 4209, 4203, 4195, 4173, 4165, 4159, 4151, 4141, 4133, | |
| 135 | + 4127, 4119, 4100, 4092, 4086, 4078, 4068, 4060, 4054, 4046, 4020, 4012, | |
| 136 | + 4006, 3998, 3988, 3980, 3974, 3966, 3947, 3939, 3933, 3925, 3915, 3907, | |
| 137 | + 3901, 3893, 3871, 3863, 3857, 3849, 3839, 3831, 3825, 3817, 3798, 3790, | |
| 138 | + 3784, 3776, 3766, 3758, 3752, 3744, 4651, 4643, 4637, 4629, 4619, 4611, | |
| 139 | + 4605, 4597, 4578, 4570, 4564, 4556, 4546, 4538, 4532, 4524, 4502, 4494, | |
| 140 | + 4488, 4480, 4470, 4462, 4456, 4448, 4429, 4421, 4415, 4407, 4397, 4389, | |
| 141 | + 4383, 4375, 4349, 4341, 4335, 4327, 4317, 4309, 4303, 4295, 4276, 4268, | |
| 142 | + 4262, 4254, 4244, 4236, 4230, 4222, 4200, 4192, 4186, 4178, 4168, 4160, | |
| 143 | + 4154, 4146, 4127, 4119, 4113, 4105, 4095, 4087, 4081, 4073, 4207, 4199, | |
| 144 | + 4193, 4185, 4175, 4167, 4161, 4153, 4134, 4126, 4120, 4112, 4102, 4094, | |
| 145 | + 4088, 4080, 4058, 4050, 4044, 4036, 4026, 4018, 4012, 4004, 3985, 3977, | |
| 146 | + 3971, 3963, 3953, 3945, 3939, 3931, 3905, 3897, 3891, 3883, 3873, 3865, | |
| 147 | + 3859, 3851, 3832, 3824, 3818, 3810, 3800, 3792, 3786, 3778, 3756, 3748, | |
| 148 | + 3742, 3734, 3724, 3716, 3710, 3702, 3683, 3675, 3669, 3661, 3651, 3643, | |
| 149 | + 3637, 3629, 3831, 3823, 3817, 3809, 3799, 3791, 3785, 3777, 3758, 3750, | |
| 150 | + 3744, 3736, 3726, 3718, 3712, 3704, 3682, 3674, 3668, 3660, 3650, 3642, | |
| 151 | + 3636, 3628, 3609, 3601, 3595, 3587, 3577, 3569, 3563, 3555, 3529, 3521, | |
| 152 | + 3515, 3507, 3497, 3489, 3483, 3475, 3456, 3448, 3442, 3434, 3424, 3416, | |
| 153 | + 3410, 3402, 3380, 3372, 3366, 3358, 3348, 3340, 3334, 3326, 3307, 3299, | |
| 154 | + 3293, 3285, 3275, 3267, 3261, 3253, 3387, 3379, 3373, 3365, 3355, 3347, | |
| 155 | + 3341, 3333, 3314, 3306, 3300, 3292, 3282, 3274, 3268, 3260, 3238, 3230, | |
| 156 | + 3224, 3216, 3206, 3198, 3192, 3184, 3165, 3157, 3151, 3143, 3133, 3125, | |
| 157 | + 3119, 3111, 3085, 3077, 3071, 3063, 3053, 3045, 3039, 3031, 3012, 3004, | |
| 158 | + 2998, 2990, 2980, 2972, 2966, 2958, 2936, 2928, 2922, 2914, 2904, 2896, | |
| 159 | + 2890, 2882, 2863, 2855, 2849, 2841, 2831, 2823, 2817, 2809, 3540, 3532, | |
| 160 | + 3526, 3518, 3508, 3500, 3494, 3486, 3467, 3459, 3453, 3445, 3435, 3427, | |
| 161 | + 3421, 3413, 3391, 3383, 3377, 3369, 3359, 3351, 3345, 3337, 3318, 3310, | |
| 162 | + 3304, 3296, 3286, 3278, 3272, 3264, 3238, 3230, 3224, 3216, 3206, 3198, | |
| 163 | + 3192, 3184, 3165, 3157, 3151, 3143, 3133, 3125, 3119, 3111, 3089, 3081, | |
| 164 | + 3075, 3067, 3057, 3049, 3043, 3035, 3016, 3008, 3002, 2994, 2984, 2976, | |
| 165 | + 2970, 2962, 3096, 3088, 3082, 3074, 3064, 3056, 3050, 3042, 3023, 3015, | |
| 166 | + 3009, 3001, 2991, 2983, 2977, 2969, 2947, 2939, 2933, 2925, 2915, 2907, | |
| 167 | + 2901, 2893, 2874, 2866, 2860, 2852, 2842, 2834, 2828, 2820, 2794, 2786, | |
| 168 | + 2780, 2772, 2762, 2754, 2748, 2740, 2721, 2713, 2707, 2699, 2689, 2681, | |
| 169 | + 2675, 2667, 2645, 2637, 2631, 2623, 2613, 2605, 2599, 2591, 2572, 2564, | |
| 170 | + 2558, 2550, 2540, 2532, 2526, 2518, 2720, 2712, 2706, 2698, 2688, 2680, | |
| 171 | + 2674, 2666, 2647, 2639, 2633, 2625, 2615, 2607, 2601, 2593, 2571, 2563, | |
| 172 | + 2557, 2549, 2539, 2531, 2525, 2517, 2498, 2490, 2484, 2476, 2466, 2458, | |
| 173 | + 2452, 2444, 2418, 2410, 2404, 2396, 2386, 2378, 2372, 2364, 2345, 2337, | |
| 174 | + 2331, 2323, 2313, 2305, 2299, 2291, 2269, 2261, 2255, 2247, 2237, 2229, | |
| 175 | + 2223, 2215, 2196, 2188, 2182, 2174, 2164, 2156, 2150, 2142, 2276, 2268, | |
| 176 | + 2262, 2254, 2244, 2236, 2230, 2222, 2203, 2195, 2189, 2181, 2171, 2163, | |
| 177 | + 2157, 2149, 2127, 2119, 2113, 2105, 2095, 2087, 2081, 2073, 2054, 2046, | |
| 178 | + 2040, 2032, 2022, 2014, 2008, 2000, 1974, 1966, 1960, 1952, 1942, 1934, | |
| 179 | + 1928, 1920, 1901, 1893, 1887, 1879, 1869, 1861, 1855, 1847, 1825, 1817, | |
| 180 | + 1811, 1803, 1793, 1785, 1779, 1771, 1752, 1744, 1738, 1730, 1720, 1712, | |
| 181 | + 1706, 1698, 1897, 1883, 1860, 1846, 1819, 1805, 1782, 1768, 1723, 1709, | |
| 182 | + 1686, 1672, 1645, 1631, 1608, 1594, 1574, 1560, 1537, 1523, 1496, 1482, | |
| 183 | + 1459, 1445, 1400, 1386, 1363, 1349, 1322, 1308, 1285, 1271, 1608, 1565, | |
| 184 | + 1535, 1492, 1446, 1403, 1373, 1330, 1312, 1269, 1239, 1196, 1150, 1107, | |
| 185 | + 1077, 1034, 1291, 1218, 1171, 1098, 1015, 942, 895, 822, 953, 850, | |
| 186 | + 729, 626, 618, 431, 257, 257, 257, 257, 0, 255, 255, 255, | |
| 187 | + 255, 429, 616, 624, 727, 848, 951, 820, 893, 940, 1013, 1096, | |
| 188 | + 1169, 1216, 1289, 1032, 1075, 1105, 1148, 1194, 1237, 1267, 1310, 1328, | |
| 189 | + 1371, 1401, 1444, 1490, 1533, 1563, 1606, 1269, 1283, 1306, 1320, 1347, | |
| 190 | + 1361, 1384, 1398, 1443, 1457, 1480, 1494, 1521, 1535, 1558, 1572, 1592, | |
| 191 | + 1606, 1629, 1643, 1670, 1684, 1707, 1721, 1766, 1780, 1803, 1817, 1844, | |
| 192 | + 1858, 1881, 1895, 1696, 1704, 1710, 1718, 1728, 1736, 1742, 1750, 1769, | |
| 193 | + 1777, 1783, 1791, 1801, 1809, 1815, 1823, 1845, 1853, 1859, 1867, 1877, | |
| 194 | + 1885, 1891, 1899, 1918, 1926, 1932, 1940, 1950, 1958, 1964, 1972, 1998, | |
| 195 | + 2006, 2012, 2020, 2030, 2038, 2044, 2052, 2071, 2079, 2085, 2093, 2103, | |
| 196 | + 2111, 2117, 2125, 2147, 2155, 2161, 2169, 2179, 2187, 2193, 2201, 2220, | |
| 197 | + 2228, 2234, 2242, 2252, 2260, 2266, 2274, 2140, 2148, 2154, 2162, 2172, | |
| 198 | + 2180, 2186, 2194, 2213, 2221, 2227, 2235, 2245, 2253, 2259, 2267, 2289, | |
| 199 | + 2297, 2303, 2311, 2321, 2329, 2335, 2343, 2362, 2370, 2376, 2384, 2394, | |
| 200 | + 2402, 2408, 2416, 2442, 2450, 2456, 2464, 2474, 2482, 2488, 2496, 2515, | |
| 201 | + 2523, 2529, 2537, 2547, 2555, 2561, 2569, 2591, 2599, 2605, 2613, 2623, | |
| 202 | + 2631, 2637, 2645, 2664, 2672, 2678, 2686, 2696, 2704, 2710, 2718, 2516, | |
| 203 | + 2524, 2530, 2538, 2548, 2556, 2562, 2570, 2589, 2597, 2603, 2611, 2621, | |
| 204 | + 2629, 2635, 2643, 2665, 2673, 2679, 2687, 2697, 2705, 2711, 2719, 2738, | |
| 205 | + 2746, 2752, 2760, 2770, 2778, 2784, 2792, 2818, 2826, 2832, 2840, 2850, | |
| 206 | + 2858, 2864, 2872, 2891, 2899, 2905, 2913, 2923, 2931, 2937, 2945, 2967, | |
| 207 | + 2975, 2981, 2989, 2999, 3007, 3013, 3021, 3040, 3048, 3054, 3062, 3072, | |
| 208 | + 3080, 3086, 3094, 2960, 2968, 2974, 2982, 2992, 3000, 3006, 3014, 3033, | |
| 209 | + 3041, 3047, 3055, 3065, 3073, 3079, 3087, 3109, 3117, 3123, 3131, 3141, | |
| 210 | + 3149, 3155, 3163, 3182, 3190, 3196, 3204, 3214, 3222, 3228, 3236, 3262, | |
| 211 | + 3270, 3276, 3284, 3294, 3302, 3308, 3316, 3335, 3343, 3349, 3357, 3367, | |
| 212 | + 3375, 3381, 3389, 3411, 3419, 3425, 3433, 3443, 3451, 3457, 3465, 3484, | |
| 213 | + 3492, 3498, 3506, 3516, 3524, 3530, 3538, 2807, 2815, 2821, 2829, 2839, | |
| 214 | + 2847, 2853, 2861, 2880, 2888, 2894, 2902, 2912, 2920, 2926, 2934, 2956, | |
| 215 | + 2964, 2970, 2978, 2988, 2996, 3002, 3010, 3029, 3037, 3043, 3051, 3061, | |
| 216 | + 3069, 3075, 3083, 3109, 3117, 3123, 3131, 3141, 3149, 3155, 3163, 3182, | |
| 217 | + 3190, 3196, 3204, 3214, 3222, 3228, 3236, 3258, 3266, 3272, 3280, 3290, | |
| 218 | + 3298, 3304, 3312, 3331, 3339, 3345, 3353, 3363, 3371, 3377, 3385, 3251, | |
| 219 | + 3259, 3265, 3273, 3283, 3291, 3297, 3305, 3324, 3332, 3338, 3346, 3356, | |
| 220 | + 3364, 3370, 3378, 3400, 3408, 3414, 3422, 3432, 3440, 3446, 3454, 3473, | |
| 221 | + 3481, 3487, 3495, 3505, 3513, 3519, 3527, 3553, 3561, 3567, 3575, 3585, | |
| 222 | + 3593, 3599, 3607, 3626, 3634, 3640, 3648, 3658, 3666, 3672, 3680, 3702, | |
| 223 | + 3710, 3716, 3724, 3734, 3742, 3748, 3756, 3775, 3783, 3789, 3797, 3807, | |
| 224 | + 3815, 3821, 3829, 3627, 3635, 3641, 3649, 3659, 3667, 3673, 3681, 3700, | |
| 225 | + 3708, 3714, 3722, 3732, 3740, 3746, 3754, 3776, 3784, 3790, 3798, 3808, | |
| 226 | + 3816, 3822, 3830, 3849, 3857, 3863, 3871, 3881, 3889, 3895, 3903, 3929, | |
| 227 | + 3937, 3943, 3951, 3961, 3969, 3975, 3983, 4002, 4010, 4016, 4024, 4034, | |
| 228 | + 4042, 4048, 4056, 4078, 4086, 4092, 4100, 4110, 4118, 4124, 4132, 4151, | |
| 229 | + 4159, 4165, 4173, 4183, 4191, 4197, 4205, 4071, 4079, 4085, 4093, 4103, | |
| 230 | + 4111, 4117, 4125, 4144, 4152, 4158, 4166, 4176, 4184, 4190, 4198, 4220, | |
| 231 | + 4228, 4234, 4242, 4252, 4260, 4266, 4274, 4293, 4301, 4307, 4315, 4325, | |
| 232 | + 4333, 4339, 4347, 4373, 4381, 4387, 4395, 4405, 4413, 4419, 4427, 4446, | |
| 233 | + 4454, 4460, 4468, 4478, 4486, 4492, 4500, 4522, 4530, 4536, 4544, 4554, | |
| 234 | + 4562, 4568, 4576, 4595, 4603, 4609, 4617, 4627, 4635, 4641, 4649, 3742, | |
| 235 | + 3750, 3756, 3764, 3774, 3782, 3788, 3796, 3815, 3823, 3829, 3837, 3847, | |
| 236 | + 3855, 3861, 3869, 3891, 3899, 3905, 3913, 3923, 3931, 3937, 3945, 3964, | |
| 237 | + 3972, 3978, 3986, 3996, 4004, 4010, 4018, 4044, 4052, 4058, 4066, 4076, | |
| 238 | + 4084, 4090, 4098, 4117, 4125, 4131, 4139, 4149, 4157, 4163, 4171, 4193, | |
| 239 | + 4201, 4207, 4215, 4225, 4233, 4239, 4247, 4266, 4274, 4280, 4288, 4298, | |
| 240 | + 4306, 4312, 4320, 4186, 4194, 4200, 4208, 4218, 4226, 4232, 4240, 4259, | |
| 241 | + 4267, 4273, 4281, 4291, 4299, 4305, 4313, 4335, 4343, 4349, 4357, 4367, | |
| 242 | + 4375, 4381, 4389, 4408, 4416, 4422, 4430, 4440, 4448, 4454, 4462, 4488, | |
| 243 | + 4496, 4502, 4510, 4520, 4528, 4534, 4542, 4561, 4569, 4575, 4583, 4593, | |
| 244 | + 4601, 4607, 4615, 4637, 4645, 4651, 4659, 4669, 4677, 4683, 4691, 4710, | |
| 245 | + 4718, 4724, 4732, 4742, 4750, 4756, 4764, 4562, 4570, 4576, 4584, 4594, | |
| 246 | + 4602, 4608, 4616, 4635, 4643, 4649, 4657, 4667, 4675, 4681, 4689, 4711, | |
| 247 | + 4719, 4725, 4733, 4743, 4751, 4757, 4765, 4784, 4792, 4798, 4806, 4816, | |
| 248 | + 4824, 4830, 4838, 4864, 4872, 4878, 4886, 4896, 4904, 4910, 4918, 4937, | |
| 249 | + 4945, 4951, 4959, 4969, 4977, 4983, 4991, 5013, 5021, 5027, 5035, 5045, | |
| 250 | + 5053, 5059, 5067, 5086, 5094, 5100, 5108, 5118, 5126, 5132, 5140, 5006, | |
| 251 | + 5014, 5020, 5028, 5038, 5046, 5052, 5060, 5079, 5087, 5093, 5101, 5111, | |
| 252 | + 5119, 5125, 5133, 5155, 5163, 5169, 5177, 5187, 5195, 5201, 5209, 5228, | |
| 253 | + 5236, 5242, 5250, 5260, 5268, 5274, 5282, 5308, 5316, 5322, 5330, 5340, | |
| 254 | + 5348, 5354, 5362, 5381, 5389, 5395, 5403, 5413, 5421, 5427, 5435, 5457, | |
| 255 | + 5465, 5471, 5479, 5489, 5497, 5503, 5511, 5530, 5538, 5544, 5552, 5562, | |
| 256 | + 5570, 5576, 5584, 4853, 4861, 4867, 4875, 4885, 4893, 4899, 4907, 4926, | |
| 257 | + 4934, 4940, 4948, 4958, 4966, 4972, 4980, 5002, 5010, 5016, 5024, 5034, | |
| 258 | + 5042, 5048, 5056, 5075, 5083, 5089, 5097, 5107, 5115, 5121, 5129, 5155, | |
| 259 | + 5163, 5169, 5177, 5187, 5195, 5201, 5209, 5228, 5236, 5242, 5250, 5260, | |
| 260 | + 5268, 5274, 5282, 5304, 5312, 5318, 5326, 5336, 5344, 5350, 5358, 5377, | |
| 261 | + 5385, 5391, 5399, 5409, 5417, 5423, 5431, 5297, 5305, 5311, 5319, 5329, | |
| 262 | + 5337, 5343, 5351, 5370, 5378, 5384, 5392, 5402, 5410, 5416, 5424, 5446, | |
| 263 | + 5454, 5460, 5468, 5478, 5486, 5492, 5500, 5519, 5527, 5533, 5541, 5551, | |
| 264 | + 5559, 5565, 5573, 5599, 5607, 5613, 5621, 5631, 5639, 5645, 5653, 5672, | |
| 265 | + 5680, 5686, 5694, 5704, 5712, 5718, 5726, 5748, 5756, 5762, 5770, 5780, | |
| 266 | + 5788, 5794, 5802, 5821, 5829, 5835, 5843, 5853, 5861, 5867, 5875, 5673, | |
| 267 | + 5681, 5687, 5695, 5705, 5713, 5719, 5727, 5746, 5754, 5760, 5768, 5778, | |
| 268 | + 5786, 5792, 5800, 5822, 5830, 5836, 5844, 5854, 5862, 5868, 5876, 5895, | |
| 269 | + 5903, 5909, 5917, 5927, 5935, 5941, 5949, 5975, 5983, 5989, 5997, 6007, | |
| 270 | + 6015, 6021, 6029, 6048, 6056, 6062, 6070, 6080, 6088, 6094, 6102, 6124, | |
| 271 | + 6132, 6138, 6146, 6156, 6164, 6170, 6178, 6197, 6205, 6211, 6219, 6229, | |
| 272 | + 6237, 6243, 6251, 6117, 6125, 6131, 6139, 6149, 6157, 6163, 6171, 6190, | |
| 273 | + 6198, 6204, 6212, 6222, 6230, 6236, 6244, 6266, 6274, 6280, 6288, 6298, | |
| 274 | + 6306, 6312, 6320, 6339, 6347, 6353, 6361, 6371, 6379, 6385, 6393, 6419, | |
| 275 | + 6427, 6433, 6441, 6451, 6459, 6465, 6473, 6492, 6500, 6506, 6514, 6524, | |
| 276 | + 6532, 6538, 6546, 6568, 6576, 6582, 6590, 6600, 6608, 6614, 6622, 6641, | |
| 277 | + 6649, 6655, 6663, 6673, 6681, 6687, 6695, 3742, 3750, 3756, 3764, 3774, | |
| 278 | + 3782, 3788, 3796, 3815, 3823, 3829, 3837, 3847, 3855, 3861, 3869, 3891, | |
| 279 | + 3899, 3905, 3913, 3923, 3931, 3937, 3945, 3964, 3972, 3978, 3986, 3996, | |
| 280 | + 4004, 4010, 4018, 4044, 4052, 4058, 4066, 4076, 4084, 4090, 4098, 4117, | |
| 281 | + 4125, 4131, 4139, 4149, 4157, 4163, 4171, 4193, 4201, 4207, 4215, 4225, | |
| 282 | + 4233, 4239, 4247, 4266, 4274, 4280, 4288, 4298, 4306, 4312, 4320, 4186, | |
| 283 | + 4194, 4200, 4208, 4218, 4226, 4232, 4240, 4259, 4267, 4273, 4281, 4291, | |
| 284 | + 4299, 4305, 4313, 4335, 4343, 4349, 4357, 4367, 4375, 4381, 4389, 4408, | |
| 285 | + 4416, 4422, 4430, 4440, 4448, 4454, 4462, 4488, 4496, 4502, 4510, 4520, | |
| 286 | + 4528, 4534, 4542, 4561, 4569, 4575, 4583, 4593, 4601, 4607, 4615, 4637, | |
| 287 | + 4645, 4651, 4659, 4669, 4677, 4683, 4691, 4710, 4718, 4724, 4732, 4742, | |
| 288 | + 4750, 4756, 4764, 4562, 4570, 4576, 4584, 4594, 4602, 4608, 4616, 4635, | |
| 289 | + 4643, 4649, 4657, 4667, 4675, 4681, 4689, 4711, 4719, 4725, 4733, 4743, | |
| 290 | + 4751, 4757, 4765, 4784, 4792, 4798, 4806, 4816, 4824, 4830, 4838, 4864, | |
| 291 | + 4872, 4878, 4886, 4896, 4904, 4910, 4918, 4937, 4945, 4951, 4959, 4969, | |
| 292 | + 4977, 4983, 4991, 5013, 5021, 5027, 5035, 5045, 5053, 5059, 5067, 5086, | |
| 293 | + 5094, 5100, 5108, 5118, 5126, 5132, 5140, 5006, 5014, 5020, 5028, 5038, | |
| 294 | + 5046, 5052, 5060, 5079, 5087, 5093, 5101, 5111, 5119, 5125, 5133, 5155, | |
| 295 | + 5163, 5169, 5177, 5187, 5195, 5201, 5209, 5228, 5236, 5242, 5250, 5260, | |
| 296 | + 5268, 5274, 5282, 5308, 5316, 5322, 5330, 5340, 5348, 5354, 5362, 5381, | |
| 297 | + 5389, 5395, 5403, 5413, 5421, 5427, 5435, 5457, 5465, 5471, 5479, 5489, | |
| 298 | + 5497, 5503, 5511, 5530, 5538, 5544, 5552, 5562, 5570, 5576, 5584, 4853, | |
| 299 | + 4861, 4867, 4875, 4885, 4893, 4899, 4907, 4926, 4934, 4940, 4948, 4958, | |
| 300 | + 4966, 4972, 4980, 5002, 5010, 5016, 5024, 5034, 5042, 5048, 5056, 5075, | |
| 301 | + 5083, 5089, 5097, 5107, 5115, 5121, 5129, 5155, 5163, 5169, 5177, 5187, | |
| 302 | + 5195, 5201, 5209, 5228, 5236, 5242, 5250, 5260, 5268, 5274, 5282, 5304, | |
| 303 | + 5312, 5318, 5326, 5336, 5344, 5350, 5358, 5377, 5385, 5391, 5399, 5409, | |
| 304 | + 5417, 5423, 5431, 5297, 5305, 5311, 5319, 5329, 5337, 5343, 5351, 5370, | |
| 305 | + 5378, 5384, 5392, 5402, 5410, 5416, 5424, 5446, 5454, 5460, 5468, 5478, | |
| 306 | + 5486, 5492, 5500, 5519, 5527, 5533, 5541, 5551, 5559, 5565, 5573, 5599, | |
| 307 | + 5607, 5613, 5621, 5631, 5639, 5645, 5653, 5672, 5680, 5686, 5694, 5704, | |
| 308 | + 5712, 5718, 5726, 5748, 5756, 5762, 5770, 5780, 5788, 5794, 5802, 5821, | |
| 309 | + 5829, 5835, 5843, 5853, 5861, 5867, 5875, 5673, 5681, 5687, 5695, 5705, | |
| 310 | + 5713, 5719, 5727, 5746, 5754, 5760, 5768, 5778, 5786, 5792, 5800, 5822, | |
| 311 | + 5830, 5836, 5844, 5854, 5862, 5868, 5876, 5895, 5903, 5909, 5917, 5927, | |
| 312 | + 5935, 5941, 5949, 5975, 5983, 5989, 5997, 6007, 6015, 6021, 6029, 6048, | |
| 313 | + 6056, 6062, 6070, 6080, 6088, 6094, 6102, 6124, 6132, 6138, 6146, 6156, | |
| 314 | + 6164, 6170, 6178, 6197, 6205, 6211, 6219, 6229, 6237, 6243, 6251, 6117, | |
| 315 | + 6125, 6131, 6139, 6149, 6157, 6163, 6171, 6190, 6198, 6204, 6212, 6222, | |
| 316 | + 6230, 6236, 6244, 6266, 6274, 6280, 6288, 6298, 6306, 6312, 6320, 6339, | |
| 317 | + 6347, 6353, 6361, 6371, 6379, 6385, 6393, 6419, 6427, 6433, 6441, 6451, | |
| 318 | + 6459, 6465, 6473, 6492, 6500, 6506, 6514, 6524, 6532, 6538, 6546, 6568, | |
| 319 | + 6576, 6582, 6590, 6600, 6608, 6614, 6622, 6641, 6649, 6655, 6663, 6673, | |
| 320 | + 6681, 6687, 6695, 5788, 5796, 5802, 5810, 5820, 5828, 5834, 5842, 5861, | |
| 321 | + 5869, 5875, 5883, 5893, 5901, 5907, 5915, 5937, 5945, 5951, 5959, 5969, | |
| 322 | + 5977, 5983, 5991, 6010, 6018, 6024, 6032, 6042, 6050, 6056, 6064, 6090, | |
| 323 | + 6098, 6104, 6112, 6122, 6130, 6136, 6144, 6163, 6171, 6177, 6185, 6195, | |
| 324 | + 6203, 6209, 6217, 6239, 6247, 6253, 6261, 6271, 6279, 6285, 6293, 6312, | |
| 325 | + 6320, 6326, 6334, 6344, 6352, 6358, 6366, 6232, 6240, 6246, 6254, 6264, | |
| 326 | + 6272, 6278, 6286, 6305, 6313, 6319, 6327, 6337, 6345, 6351, 6359, 6381, | |
| 327 | + 6389, 6395, 6403, 6413, 6421, 6427, 6435, 6454, 6462, 6468, 6476, 6486, | |
| 328 | + 6494, 6500, 6508, 6534, 6542, 6548, 6556, 6566, 6574, 6580, 6588, 6607, | |
| 329 | + 6615, 6621, 6629, 6639, 6647, 6653, 6661, 6683, 6691, 6697, 6705, 6715, | |
| 330 | + 6723, 6729, 6737, 6756, 6764, 6770, 6778, 6788, 6796, 6802, 6810, 6608, | |
| 331 | + 6616, 6622, 6630, 6640, 6648, 6654, 6662, 6681, 6689, 6695, 6703, 6713, | |
| 332 | + 6721, 6727, 6735, 6757, 6765, 6771, 6779, 6789, 6797, 6803, 6811, 6830, | |
| 333 | + 6838, 6844, 6852, 6862, 6870, 6876, 6884, 6910, 6918, 6924, 6932, 6942, | |
| 334 | + 6950, 6956, 6964, 6983, 6991, 6997, 7005, 7015, 7023, 7029, 7037, 7059, | |
| 335 | + 7067, 7073, 7081, 7091, 7099, 7105, 7113, 7132, 7140, 7146, 7154, 7164, | |
| 336 | + 7172, 7178, 7186, 7052, 7060, 7066, 7074, 7084, 7092, 7098, 7106, 7125, | |
| 337 | + 7133, 7139, 7147, 7157, 7165, 7171, 7179, 7201, 7209, 7215, 7223, 7233, | |
| 338 | + 7241, 7247, 7255, 7274, 7282, 7288, 7296, 7306, 7314, 7320, 7328, 7354, | |
| 339 | + 7362, 7368, 7376, 7386, 7394, 7400, 7408, 7427, 7435, 7441, 7449, 7459, | |
| 340 | + 7467, 7473, 7481, 7503, 7511, 7517, 7525, 7535, 7543, 7549, 7557, 7576, | |
| 341 | + 7584, 7590, 7598, 7608, 7616, 7622, 7630, 6899, 6907, 6913, 6921, 6931, | |
| 342 | + 6939, 6945, 6953, 6972, 6980, 6986, 6994, 7004, 7012, 7018, 7026, 7048, | |
| 343 | + 7056, 7062, 7070, 7080, 7088, 7094, 7102, 7121, 7129, 7135, 7143, 7153, | |
| 344 | + 7161, 7167, 7175, 7201, 7209, 7215, 7223, 7233, 7241, 7247, 7255, 7274, | |
| 345 | + 7282, 7288, 7296, 7306, 7314, 7320, 7328, 7350, 7358, 7364, 7372, 7382, | |
| 346 | + 7390, 7396, 7404, 7423, 7431, 7437, 7445, 7455, 7463, 7469, 7477, 7343, | |
| 347 | + 7351, 7357, 7365, 7375, 7383, 7389, 7397, 7416, 7424, 7430, 7438, 7448, | |
| 348 | + 7456, 7462, 7470, 7492, 7500, 7506, 7514, 7524, 7532, 7538, 7546, 7565, | |
| 349 | + 7573, 7579, 7587, 7597, 7605, 7611, 7619, 7645, 7653, 7659, 7667, 7677, | |
| 350 | + 7685, 7691, 7699, 7718, 7726, 7732, 7740, 7750, 7758, 7764, 7772, 7794, | |
| 351 | + 7802, 7808, 7816, 7826, 7834, 7840, 7848, 7867, 7875, 7881, 7889, 7899, | |
| 352 | + 7907, 7913, 7921, 7719, 7727, 7733, 7741, 7751, 7759, 7765, 7773, 7792, | |
| 353 | + 7800, 7806, 7814, 7824, 7832, 7838, 7846, 7868, 7876, 7882, 7890, 7900, | |
| 354 | + 7908, 7914, 7922, 7941, 7949, 7955, 7963, 7973, 7981, 7987, 7995, 8021, | |
| 355 | + 8029, 8035, 8043, 8053, 8061, 8067, 8075, 8094, 8102, 8108, 8116, 8126, | |
| 356 | + 8134, 8140, 8148, 8170, 8178, 8184, 8192, 8202, 8210, 8216, 8224, 8243, | |
| 357 | + 8251, 8257, 8265, 8275 | |
| 358 | +}; | |
| @@ -0,0 +1,699 @@ | ||
| 1 | +/* | |
| 2 | + * Copyright (c) 2012 The WebM project authors. All Rights Reserved. | |
| 3 | + * | |
| 4 | + * Use of this source code is governed by a BSD-style license | |
| 5 | + * that can be found in the LICENSE file in the root of the source | |
| 6 | + * tree. An additional intellectual property rights grant can be found | |
| 7 | + * in the file PATENTS. All contributing project authors may | |
| 8 | + * be found in the AUTHORS file in the root of the source tree. | |
| 9 | + */ | |
| 10 | + | |
| 11 | +/* Generated file, included by tokenize.c */ | |
| 12 | +/* Values generated by fill_value_tokens() */ | |
| 13 | + | |
| 14 | +static const TOKENVALUE dct_value_tokens[2048*2] = | |
| 15 | +{ | |
| 16 | + {10, 3963}, {10, 3961}, {10, 3959}, {10, 3957}, {10, 3955}, {10, 3953}, | |
| 17 | + {10, 3951}, {10, 3949}, {10, 3947}, {10, 3945}, {10, 3943}, {10, 3941}, | |
| 18 | + {10, 3939}, {10, 3937}, {10, 3935}, {10, 3933}, {10, 3931}, {10, 3929}, | |
| 19 | + {10, 3927}, {10, 3925}, {10, 3923}, {10, 3921}, {10, 3919}, {10, 3917}, | |
| 20 | + {10, 3915}, {10, 3913}, {10, 3911}, {10, 3909}, {10, 3907}, {10, 3905}, | |
| 21 | + {10, 3903}, {10, 3901}, {10, 3899}, {10, 3897}, {10, 3895}, {10, 3893}, | |
| 22 | + {10, 3891}, {10, 3889}, {10, 3887}, {10, 3885}, {10, 3883}, {10, 3881}, | |
| 23 | + {10, 3879}, {10, 3877}, {10, 3875}, {10, 3873}, {10, 3871}, {10, 3869}, | |
| 24 | + {10, 3867}, {10, 3865}, {10, 3863}, {10, 3861}, {10, 3859}, {10, 3857}, | |
| 25 | + {10, 3855}, {10, 3853}, {10, 3851}, {10, 3849}, {10, 3847}, {10, 3845}, | |
| 26 | + {10, 3843}, {10, 3841}, {10, 3839}, {10, 3837}, {10, 3835}, {10, 3833}, | |
| 27 | + {10, 3831}, {10, 3829}, {10, 3827}, {10, 3825}, {10, 3823}, {10, 3821}, | |
| 28 | + {10, 3819}, {10, 3817}, {10, 3815}, {10, 3813}, {10, 3811}, {10, 3809}, | |
| 29 | + {10, 3807}, {10, 3805}, {10, 3803}, {10, 3801}, {10, 3799}, {10, 3797}, | |
| 30 | + {10, 3795}, {10, 3793}, {10, 3791}, {10, 3789}, {10, 3787}, {10, 3785}, | |
| 31 | + {10, 3783}, {10, 3781}, {10, 3779}, {10, 3777}, {10, 3775}, {10, 3773}, | |
| 32 | + {10, 3771}, {10, 3769}, {10, 3767}, {10, 3765}, {10, 3763}, {10, 3761}, | |
| 33 | + {10, 3759}, {10, 3757}, {10, 3755}, {10, 3753}, {10, 3751}, {10, 3749}, | |
| 34 | + {10, 3747}, {10, 3745}, {10, 3743}, {10, 3741}, {10, 3739}, {10, 3737}, | |
| 35 | + {10, 3735}, {10, 3733}, {10, 3731}, {10, 3729}, {10, 3727}, {10, 3725}, | |
| 36 | + {10, 3723}, {10, 3721}, {10, 3719}, {10, 3717}, {10, 3715}, {10, 3713}, | |
| 37 | + {10, 3711}, {10, 3709}, {10, 3707}, {10, 3705}, {10, 3703}, {10, 3701}, | |
| 38 | + {10, 3699}, {10, 3697}, {10, 3695}, {10, 3693}, {10, 3691}, {10, 3689}, | |
| 39 | + {10, 3687}, {10, 3685}, {10, 3683}, {10, 3681}, {10, 3679}, {10, 3677}, | |
| 40 | + {10, 3675}, {10, 3673}, {10, 3671}, {10, 3669}, {10, 3667}, {10, 3665}, | |
| 41 | + {10, 3663}, {10, 3661}, {10, 3659}, {10, 3657}, {10, 3655}, {10, 3653}, | |
| 42 | + {10, 3651}, {10, 3649}, {10, 3647}, {10, 3645}, {10, 3643}, {10, 3641}, | |
| 43 | + {10, 3639}, {10, 3637}, {10, 3635}, {10, 3633}, {10, 3631}, {10, 3629}, | |
| 44 | + {10, 3627}, {10, 3625}, {10, 3623}, {10, 3621}, {10, 3619}, {10, 3617}, | |
| 45 | + {10, 3615}, {10, 3613}, {10, 3611}, {10, 3609}, {10, 3607}, {10, 3605}, | |
| 46 | + {10, 3603}, {10, 3601}, {10, 3599}, {10, 3597}, {10, 3595}, {10, 3593}, | |
| 47 | + {10, 3591}, {10, 3589}, {10, 3587}, {10, 3585}, {10, 3583}, {10, 3581}, | |
| 48 | + {10, 3579}, {10, 3577}, {10, 3575}, {10, 3573}, {10, 3571}, {10, 3569}, | |
| 49 | + {10, 3567}, {10, 3565}, {10, 3563}, {10, 3561}, {10, 3559}, {10, 3557}, | |
| 50 | + {10, 3555}, {10, 3553}, {10, 3551}, {10, 3549}, {10, 3547}, {10, 3545}, | |
| 51 | + {10, 3543}, {10, 3541}, {10, 3539}, {10, 3537}, {10, 3535}, {10, 3533}, | |
| 52 | + {10, 3531}, {10, 3529}, {10, 3527}, {10, 3525}, {10, 3523}, {10, 3521}, | |
| 53 | + {10, 3519}, {10, 3517}, {10, 3515}, {10, 3513}, {10, 3511}, {10, 3509}, | |
| 54 | + {10, 3507}, {10, 3505}, {10, 3503}, {10, 3501}, {10, 3499}, {10, 3497}, | |
| 55 | + {10, 3495}, {10, 3493}, {10, 3491}, {10, 3489}, {10, 3487}, {10, 3485}, | |
| 56 | + {10, 3483}, {10, 3481}, {10, 3479}, {10, 3477}, {10, 3475}, {10, 3473}, | |
| 57 | + {10, 3471}, {10, 3469}, {10, 3467}, {10, 3465}, {10, 3463}, {10, 3461}, | |
| 58 | + {10, 3459}, {10, 3457}, {10, 3455}, {10, 3453}, {10, 3451}, {10, 3449}, | |
| 59 | + {10, 3447}, {10, 3445}, {10, 3443}, {10, 3441}, {10, 3439}, {10, 3437}, | |
| 60 | + {10, 3435}, {10, 3433}, {10, 3431}, {10, 3429}, {10, 3427}, {10, 3425}, | |
| 61 | + {10, 3423}, {10, 3421}, {10, 3419}, {10, 3417}, {10, 3415}, {10, 3413}, | |
| 62 | + {10, 3411}, {10, 3409}, {10, 3407}, {10, 3405}, {10, 3403}, {10, 3401}, | |
| 63 | + {10, 3399}, {10, 3397}, {10, 3395}, {10, 3393}, {10, 3391}, {10, 3389}, | |
| 64 | + {10, 3387}, {10, 3385}, {10, 3383}, {10, 3381}, {10, 3379}, {10, 3377}, | |
| 65 | + {10, 3375}, {10, 3373}, {10, 3371}, {10, 3369}, {10, 3367}, {10, 3365}, | |
| 66 | + {10, 3363}, {10, 3361}, {10, 3359}, {10, 3357}, {10, 3355}, {10, 3353}, | |
| 67 | + {10, 3351}, {10, 3349}, {10, 3347}, {10, 3345}, {10, 3343}, {10, 3341}, | |
| 68 | + {10, 3339}, {10, 3337}, {10, 3335}, {10, 3333}, {10, 3331}, {10, 3329}, | |
| 69 | + {10, 3327}, {10, 3325}, {10, 3323}, {10, 3321}, {10, 3319}, {10, 3317}, | |
| 70 | + {10, 3315}, {10, 3313}, {10, 3311}, {10, 3309}, {10, 3307}, {10, 3305}, | |
| 71 | + {10, 3303}, {10, 3301}, {10, 3299}, {10, 3297}, {10, 3295}, {10, 3293}, | |
| 72 | + {10, 3291}, {10, 3289}, {10, 3287}, {10, 3285}, {10, 3283}, {10, 3281}, | |
| 73 | + {10, 3279}, {10, 3277}, {10, 3275}, {10, 3273}, {10, 3271}, {10, 3269}, | |
| 74 | + {10, 3267}, {10, 3265}, {10, 3263}, {10, 3261}, {10, 3259}, {10, 3257}, | |
| 75 | + {10, 3255}, {10, 3253}, {10, 3251}, {10, 3249}, {10, 3247}, {10, 3245}, | |
| 76 | + {10, 3243}, {10, 3241}, {10, 3239}, {10, 3237}, {10, 3235}, {10, 3233}, | |
| 77 | + {10, 3231}, {10, 3229}, {10, 3227}, {10, 3225}, {10, 3223}, {10, 3221}, | |
| 78 | + {10, 3219}, {10, 3217}, {10, 3215}, {10, 3213}, {10, 3211}, {10, 3209}, | |
| 79 | + {10, 3207}, {10, 3205}, {10, 3203}, {10, 3201}, {10, 3199}, {10, 3197}, | |
| 80 | + {10, 3195}, {10, 3193}, {10, 3191}, {10, 3189}, {10, 3187}, {10, 3185}, | |
| 81 | + {10, 3183}, {10, 3181}, {10, 3179}, {10, 3177}, {10, 3175}, {10, 3173}, | |
| 82 | + {10, 3171}, {10, 3169}, {10, 3167}, {10, 3165}, {10, 3163}, {10, 3161}, | |
| 83 | + {10, 3159}, {10, 3157}, {10, 3155}, {10, 3153}, {10, 3151}, {10, 3149}, | |
| 84 | + {10, 3147}, {10, 3145}, {10, 3143}, {10, 3141}, {10, 3139}, {10, 3137}, | |
| 85 | + {10, 3135}, {10, 3133}, {10, 3131}, {10, 3129}, {10, 3127}, {10, 3125}, | |
| 86 | + {10, 3123}, {10, 3121}, {10, 3119}, {10, 3117}, {10, 3115}, {10, 3113}, | |
| 87 | + {10, 3111}, {10, 3109}, {10, 3107}, {10, 3105}, {10, 3103}, {10, 3101}, | |
| 88 | + {10, 3099}, {10, 3097}, {10, 3095}, {10, 3093}, {10, 3091}, {10, 3089}, | |
| 89 | + {10, 3087}, {10, 3085}, {10, 3083}, {10, 3081}, {10, 3079}, {10, 3077}, | |
| 90 | + {10, 3075}, {10, 3073}, {10, 3071}, {10, 3069}, {10, 3067}, {10, 3065}, | |
| 91 | + {10, 3063}, {10, 3061}, {10, 3059}, {10, 3057}, {10, 3055}, {10, 3053}, | |
| 92 | + {10, 3051}, {10, 3049}, {10, 3047}, {10, 3045}, {10, 3043}, {10, 3041}, | |
| 93 | + {10, 3039}, {10, 3037}, {10, 3035}, {10, 3033}, {10, 3031}, {10, 3029}, | |
| 94 | + {10, 3027}, {10, 3025}, {10, 3023}, {10, 3021}, {10, 3019}, {10, 3017}, | |
| 95 | + {10, 3015}, {10, 3013}, {10, 3011}, {10, 3009}, {10, 3007}, {10, 3005}, | |
| 96 | + {10, 3003}, {10, 3001}, {10, 2999}, {10, 2997}, {10, 2995}, {10, 2993}, | |
| 97 | + {10, 2991}, {10, 2989}, {10, 2987}, {10, 2985}, {10, 2983}, {10, 2981}, | |
| 98 | + {10, 2979}, {10, 2977}, {10, 2975}, {10, 2973}, {10, 2971}, {10, 2969}, | |
| 99 | + {10, 2967}, {10, 2965}, {10, 2963}, {10, 2961}, {10, 2959}, {10, 2957}, | |
| 100 | + {10, 2955}, {10, 2953}, {10, 2951}, {10, 2949}, {10, 2947}, {10, 2945}, | |
| 101 | + {10, 2943}, {10, 2941}, {10, 2939}, {10, 2937}, {10, 2935}, {10, 2933}, | |
| 102 | + {10, 2931}, {10, 2929}, {10, 2927}, {10, 2925}, {10, 2923}, {10, 2921}, | |
| 103 | + {10, 2919}, {10, 2917}, {10, 2915}, {10, 2913}, {10, 2911}, {10, 2909}, | |
| 104 | + {10, 2907}, {10, 2905}, {10, 2903}, {10, 2901}, {10, 2899}, {10, 2897}, | |
| 105 | + {10, 2895}, {10, 2893}, {10, 2891}, {10, 2889}, {10, 2887}, {10, 2885}, | |
| 106 | + {10, 2883}, {10, 2881}, {10, 2879}, {10, 2877}, {10, 2875}, {10, 2873}, | |
| 107 | + {10, 2871}, {10, 2869}, {10, 2867}, {10, 2865}, {10, 2863}, {10, 2861}, | |
| 108 | + {10, 2859}, {10, 2857}, {10, 2855}, {10, 2853}, {10, 2851}, {10, 2849}, | |
| 109 | + {10, 2847}, {10, 2845}, {10, 2843}, {10, 2841}, {10, 2839}, {10, 2837}, | |
| 110 | + {10, 2835}, {10, 2833}, {10, 2831}, {10, 2829}, {10, 2827}, {10, 2825}, | |
| 111 | + {10, 2823}, {10, 2821}, {10, 2819}, {10, 2817}, {10, 2815}, {10, 2813}, | |
| 112 | + {10, 2811}, {10, 2809}, {10, 2807}, {10, 2805}, {10, 2803}, {10, 2801}, | |
| 113 | + {10, 2799}, {10, 2797}, {10, 2795}, {10, 2793}, {10, 2791}, {10, 2789}, | |
| 114 | + {10, 2787}, {10, 2785}, {10, 2783}, {10, 2781}, {10, 2779}, {10, 2777}, | |
| 115 | + {10, 2775}, {10, 2773}, {10, 2771}, {10, 2769}, {10, 2767}, {10, 2765}, | |
| 116 | + {10, 2763}, {10, 2761}, {10, 2759}, {10, 2757}, {10, 2755}, {10, 2753}, | |
| 117 | + {10, 2751}, {10, 2749}, {10, 2747}, {10, 2745}, {10, 2743}, {10, 2741}, | |
| 118 | + {10, 2739}, {10, 2737}, {10, 2735}, {10, 2733}, {10, 2731}, {10, 2729}, | |
| 119 | + {10, 2727}, {10, 2725}, {10, 2723}, {10, 2721}, {10, 2719}, {10, 2717}, | |
| 120 | + {10, 2715}, {10, 2713}, {10, 2711}, {10, 2709}, {10, 2707}, {10, 2705}, | |
| 121 | + {10, 2703}, {10, 2701}, {10, 2699}, {10, 2697}, {10, 2695}, {10, 2693}, | |
| 122 | + {10, 2691}, {10, 2689}, {10, 2687}, {10, 2685}, {10, 2683}, {10, 2681}, | |
| 123 | + {10, 2679}, {10, 2677}, {10, 2675}, {10, 2673}, {10, 2671}, {10, 2669}, | |
| 124 | + {10, 2667}, {10, 2665}, {10, 2663}, {10, 2661}, {10, 2659}, {10, 2657}, | |
| 125 | + {10, 2655}, {10, 2653}, {10, 2651}, {10, 2649}, {10, 2647}, {10, 2645}, | |
| 126 | + {10, 2643}, {10, 2641}, {10, 2639}, {10, 2637}, {10, 2635}, {10, 2633}, | |
| 127 | + {10, 2631}, {10, 2629}, {10, 2627}, {10, 2625}, {10, 2623}, {10, 2621}, | |
| 128 | + {10, 2619}, {10, 2617}, {10, 2615}, {10, 2613}, {10, 2611}, {10, 2609}, | |
| 129 | + {10, 2607}, {10, 2605}, {10, 2603}, {10, 2601}, {10, 2599}, {10, 2597}, | |
| 130 | + {10, 2595}, {10, 2593}, {10, 2591}, {10, 2589}, {10, 2587}, {10, 2585}, | |
| 131 | + {10, 2583}, {10, 2581}, {10, 2579}, {10, 2577}, {10, 2575}, {10, 2573}, | |
| 132 | + {10, 2571}, {10, 2569}, {10, 2567}, {10, 2565}, {10, 2563}, {10, 2561}, | |
| 133 | + {10, 2559}, {10, 2557}, {10, 2555}, {10, 2553}, {10, 2551}, {10, 2549}, | |
| 134 | + {10, 2547}, {10, 2545}, {10, 2543}, {10, 2541}, {10, 2539}, {10, 2537}, | |
| 135 | + {10, 2535}, {10, 2533}, {10, 2531}, {10, 2529}, {10, 2527}, {10, 2525}, | |
| 136 | + {10, 2523}, {10, 2521}, {10, 2519}, {10, 2517}, {10, 2515}, {10, 2513}, | |
| 137 | + {10, 2511}, {10, 2509}, {10, 2507}, {10, 2505}, {10, 2503}, {10, 2501}, | |
| 138 | + {10, 2499}, {10, 2497}, {10, 2495}, {10, 2493}, {10, 2491}, {10, 2489}, | |
| 139 | + {10, 2487}, {10, 2485}, {10, 2483}, {10, 2481}, {10, 2479}, {10, 2477}, | |
| 140 | + {10, 2475}, {10, 2473}, {10, 2471}, {10, 2469}, {10, 2467}, {10, 2465}, | |
| 141 | + {10, 2463}, {10, 2461}, {10, 2459}, {10, 2457}, {10, 2455}, {10, 2453}, | |
| 142 | + {10, 2451}, {10, 2449}, {10, 2447}, {10, 2445}, {10, 2443}, {10, 2441}, | |
| 143 | + {10, 2439}, {10, 2437}, {10, 2435}, {10, 2433}, {10, 2431}, {10, 2429}, | |
| 144 | + {10, 2427}, {10, 2425}, {10, 2423}, {10, 2421}, {10, 2419}, {10, 2417}, | |
| 145 | + {10, 2415}, {10, 2413}, {10, 2411}, {10, 2409}, {10, 2407}, {10, 2405}, | |
| 146 | + {10, 2403}, {10, 2401}, {10, 2399}, {10, 2397}, {10, 2395}, {10, 2393}, | |
| 147 | + {10, 2391}, {10, 2389}, {10, 2387}, {10, 2385}, {10, 2383}, {10, 2381}, | |
| 148 | + {10, 2379}, {10, 2377}, {10, 2375}, {10, 2373}, {10, 2371}, {10, 2369}, | |
| 149 | + {10, 2367}, {10, 2365}, {10, 2363}, {10, 2361}, {10, 2359}, {10, 2357}, | |
| 150 | + {10, 2355}, {10, 2353}, {10, 2351}, {10, 2349}, {10, 2347}, {10, 2345}, | |
| 151 | + {10, 2343}, {10, 2341}, {10, 2339}, {10, 2337}, {10, 2335}, {10, 2333}, | |
| 152 | + {10, 2331}, {10, 2329}, {10, 2327}, {10, 2325}, {10, 2323}, {10, 2321}, | |
| 153 | + {10, 2319}, {10, 2317}, {10, 2315}, {10, 2313}, {10, 2311}, {10, 2309}, | |
| 154 | + {10, 2307}, {10, 2305}, {10, 2303}, {10, 2301}, {10, 2299}, {10, 2297}, | |
| 155 | + {10, 2295}, {10, 2293}, {10, 2291}, {10, 2289}, {10, 2287}, {10, 2285}, | |
| 156 | + {10, 2283}, {10, 2281}, {10, 2279}, {10, 2277}, {10, 2275}, {10, 2273}, | |
| 157 | + {10, 2271}, {10, 2269}, {10, 2267}, {10, 2265}, {10, 2263}, {10, 2261}, | |
| 158 | + {10, 2259}, {10, 2257}, {10, 2255}, {10, 2253}, {10, 2251}, {10, 2249}, | |
| 159 | + {10, 2247}, {10, 2245}, {10, 2243}, {10, 2241}, {10, 2239}, {10, 2237}, | |
| 160 | + {10, 2235}, {10, 2233}, {10, 2231}, {10, 2229}, {10, 2227}, {10, 2225}, | |
| 161 | + {10, 2223}, {10, 2221}, {10, 2219}, {10, 2217}, {10, 2215}, {10, 2213}, | |
| 162 | + {10, 2211}, {10, 2209}, {10, 2207}, {10, 2205}, {10, 2203}, {10, 2201}, | |
| 163 | + {10, 2199}, {10, 2197}, {10, 2195}, {10, 2193}, {10, 2191}, {10, 2189}, | |
| 164 | + {10, 2187}, {10, 2185}, {10, 2183}, {10, 2181}, {10, 2179}, {10, 2177}, | |
| 165 | + {10, 2175}, {10, 2173}, {10, 2171}, {10, 2169}, {10, 2167}, {10, 2165}, | |
| 166 | + {10, 2163}, {10, 2161}, {10, 2159}, {10, 2157}, {10, 2155}, {10, 2153}, | |
| 167 | + {10, 2151}, {10, 2149}, {10, 2147}, {10, 2145}, {10, 2143}, {10, 2141}, | |
| 168 | + {10, 2139}, {10, 2137}, {10, 2135}, {10, 2133}, {10, 2131}, {10, 2129}, | |
| 169 | + {10, 2127}, {10, 2125}, {10, 2123}, {10, 2121}, {10, 2119}, {10, 2117}, | |
| 170 | + {10, 2115}, {10, 2113}, {10, 2111}, {10, 2109}, {10, 2107}, {10, 2105}, | |
| 171 | + {10, 2103}, {10, 2101}, {10, 2099}, {10, 2097}, {10, 2095}, {10, 2093}, | |
| 172 | + {10, 2091}, {10, 2089}, {10, 2087}, {10, 2085}, {10, 2083}, {10, 2081}, | |
| 173 | + {10, 2079}, {10, 2077}, {10, 2075}, {10, 2073}, {10, 2071}, {10, 2069}, | |
| 174 | + {10, 2067}, {10, 2065}, {10, 2063}, {10, 2061}, {10, 2059}, {10, 2057}, | |
| 175 | + {10, 2055}, {10, 2053}, {10, 2051}, {10, 2049}, {10, 2047}, {10, 2045}, | |
| 176 | + {10, 2043}, {10, 2041}, {10, 2039}, {10, 2037}, {10, 2035}, {10, 2033}, | |
| 177 | + {10, 2031}, {10, 2029}, {10, 2027}, {10, 2025}, {10, 2023}, {10, 2021}, | |
| 178 | + {10, 2019}, {10, 2017}, {10, 2015}, {10, 2013}, {10, 2011}, {10, 2009}, | |
| 179 | + {10, 2007}, {10, 2005}, {10, 2003}, {10, 2001}, {10, 1999}, {10, 1997}, | |
| 180 | + {10, 1995}, {10, 1993}, {10, 1991}, {10, 1989}, {10, 1987}, {10, 1985}, | |
| 181 | + {10, 1983}, {10, 1981}, {10, 1979}, {10, 1977}, {10, 1975}, {10, 1973}, | |
| 182 | + {10, 1971}, {10, 1969}, {10, 1967}, {10, 1965}, {10, 1963}, {10, 1961}, | |
| 183 | + {10, 1959}, {10, 1957}, {10, 1955}, {10, 1953}, {10, 1951}, {10, 1949}, | |
| 184 | + {10, 1947}, {10, 1945}, {10, 1943}, {10, 1941}, {10, 1939}, {10, 1937}, | |
| 185 | + {10, 1935}, {10, 1933}, {10, 1931}, {10, 1929}, {10, 1927}, {10, 1925}, | |
| 186 | + {10, 1923}, {10, 1921}, {10, 1919}, {10, 1917}, {10, 1915}, {10, 1913}, | |
| 187 | + {10, 1911}, {10, 1909}, {10, 1907}, {10, 1905}, {10, 1903}, {10, 1901}, | |
| 188 | + {10, 1899}, {10, 1897}, {10, 1895}, {10, 1893}, {10, 1891}, {10, 1889}, | |
| 189 | + {10, 1887}, {10, 1885}, {10, 1883}, {10, 1881}, {10, 1879}, {10, 1877}, | |
| 190 | + {10, 1875}, {10, 1873}, {10, 1871}, {10, 1869}, {10, 1867}, {10, 1865}, | |
| 191 | + {10, 1863}, {10, 1861}, {10, 1859}, {10, 1857}, {10, 1855}, {10, 1853}, | |
| 192 | + {10, 1851}, {10, 1849}, {10, 1847}, {10, 1845}, {10, 1843}, {10, 1841}, | |
| 193 | + {10, 1839}, {10, 1837}, {10, 1835}, {10, 1833}, {10, 1831}, {10, 1829}, | |
| 194 | + {10, 1827}, {10, 1825}, {10, 1823}, {10, 1821}, {10, 1819}, {10, 1817}, | |
| 195 | + {10, 1815}, {10, 1813}, {10, 1811}, {10, 1809}, {10, 1807}, {10, 1805}, | |
| 196 | + {10, 1803}, {10, 1801}, {10, 1799}, {10, 1797}, {10, 1795}, {10, 1793}, | |
| 197 | + {10, 1791}, {10, 1789}, {10, 1787}, {10, 1785}, {10, 1783}, {10, 1781}, | |
| 198 | + {10, 1779}, {10, 1777}, {10, 1775}, {10, 1773}, {10, 1771}, {10, 1769}, | |
| 199 | + {10, 1767}, {10, 1765}, {10, 1763}, {10, 1761}, {10, 1759}, {10, 1757}, | |
| 200 | + {10, 1755}, {10, 1753}, {10, 1751}, {10, 1749}, {10, 1747}, {10, 1745}, | |
| 201 | + {10, 1743}, {10, 1741}, {10, 1739}, {10, 1737}, {10, 1735}, {10, 1733}, | |
| 202 | + {10, 1731}, {10, 1729}, {10, 1727}, {10, 1725}, {10, 1723}, {10, 1721}, | |
| 203 | + {10, 1719}, {10, 1717}, {10, 1715}, {10, 1713}, {10, 1711}, {10, 1709}, | |
| 204 | + {10, 1707}, {10, 1705}, {10, 1703}, {10, 1701}, {10, 1699}, {10, 1697}, | |
| 205 | + {10, 1695}, {10, 1693}, {10, 1691}, {10, 1689}, {10, 1687}, {10, 1685}, | |
| 206 | + {10, 1683}, {10, 1681}, {10, 1679}, {10, 1677}, {10, 1675}, {10, 1673}, | |
| 207 | + {10, 1671}, {10, 1669}, {10, 1667}, {10, 1665}, {10, 1663}, {10, 1661}, | |
| 208 | + {10, 1659}, {10, 1657}, {10, 1655}, {10, 1653}, {10, 1651}, {10, 1649}, | |
| 209 | + {10, 1647}, {10, 1645}, {10, 1643}, {10, 1641}, {10, 1639}, {10, 1637}, | |
| 210 | + {10, 1635}, {10, 1633}, {10, 1631}, {10, 1629}, {10, 1627}, {10, 1625}, | |
| 211 | + {10, 1623}, {10, 1621}, {10, 1619}, {10, 1617}, {10, 1615}, {10, 1613}, | |
| 212 | + {10, 1611}, {10, 1609}, {10, 1607}, {10, 1605}, {10, 1603}, {10, 1601}, | |
| 213 | + {10, 1599}, {10, 1597}, {10, 1595}, {10, 1593}, {10, 1591}, {10, 1589}, | |
| 214 | + {10, 1587}, {10, 1585}, {10, 1583}, {10, 1581}, {10, 1579}, {10, 1577}, | |
| 215 | + {10, 1575}, {10, 1573}, {10, 1571}, {10, 1569}, {10, 1567}, {10, 1565}, | |
| 216 | + {10, 1563}, {10, 1561}, {10, 1559}, {10, 1557}, {10, 1555}, {10, 1553}, | |
| 217 | + {10, 1551}, {10, 1549}, {10, 1547}, {10, 1545}, {10, 1543}, {10, 1541}, | |
| 218 | + {10, 1539}, {10, 1537}, {10, 1535}, {10, 1533}, {10, 1531}, {10, 1529}, | |
| 219 | + {10, 1527}, {10, 1525}, {10, 1523}, {10, 1521}, {10, 1519}, {10, 1517}, | |
| 220 | + {10, 1515}, {10, 1513}, {10, 1511}, {10, 1509}, {10, 1507}, {10, 1505}, | |
| 221 | + {10, 1503}, {10, 1501}, {10, 1499}, {10, 1497}, {10, 1495}, {10, 1493}, | |
| 222 | + {10, 1491}, {10, 1489}, {10, 1487}, {10, 1485}, {10, 1483}, {10, 1481}, | |
| 223 | + {10, 1479}, {10, 1477}, {10, 1475}, {10, 1473}, {10, 1471}, {10, 1469}, | |
| 224 | + {10, 1467}, {10, 1465}, {10, 1463}, {10, 1461}, {10, 1459}, {10, 1457}, | |
| 225 | + {10, 1455}, {10, 1453}, {10, 1451}, {10, 1449}, {10, 1447}, {10, 1445}, | |
| 226 | + {10, 1443}, {10, 1441}, {10, 1439}, {10, 1437}, {10, 1435}, {10, 1433}, | |
| 227 | + {10, 1431}, {10, 1429}, {10, 1427}, {10, 1425}, {10, 1423}, {10, 1421}, | |
| 228 | + {10, 1419}, {10, 1417}, {10, 1415}, {10, 1413}, {10, 1411}, {10, 1409}, | |
| 229 | + {10, 1407}, {10, 1405}, {10, 1403}, {10, 1401}, {10, 1399}, {10, 1397}, | |
| 230 | + {10, 1395}, {10, 1393}, {10, 1391}, {10, 1389}, {10, 1387}, {10, 1385}, | |
| 231 | + {10, 1383}, {10, 1381}, {10, 1379}, {10, 1377}, {10, 1375}, {10, 1373}, | |
| 232 | + {10, 1371}, {10, 1369}, {10, 1367}, {10, 1365}, {10, 1363}, {10, 1361}, | |
| 233 | + {10, 1359}, {10, 1357}, {10, 1355}, {10, 1353}, {10, 1351}, {10, 1349}, | |
| 234 | + {10, 1347}, {10, 1345}, {10, 1343}, {10, 1341}, {10, 1339}, {10, 1337}, | |
| 235 | + {10, 1335}, {10, 1333}, {10, 1331}, {10, 1329}, {10, 1327}, {10, 1325}, | |
| 236 | + {10, 1323}, {10, 1321}, {10, 1319}, {10, 1317}, {10, 1315}, {10, 1313}, | |
| 237 | + {10, 1311}, {10, 1309}, {10, 1307}, {10, 1305}, {10, 1303}, {10, 1301}, | |
| 238 | + {10, 1299}, {10, 1297}, {10, 1295}, {10, 1293}, {10, 1291}, {10, 1289}, | |
| 239 | + {10, 1287}, {10, 1285}, {10, 1283}, {10, 1281}, {10, 1279}, {10, 1277}, | |
| 240 | + {10, 1275}, {10, 1273}, {10, 1271}, {10, 1269}, {10, 1267}, {10, 1265}, | |
| 241 | + {10, 1263}, {10, 1261}, {10, 1259}, {10, 1257}, {10, 1255}, {10, 1253}, | |
| 242 | + {10, 1251}, {10, 1249}, {10, 1247}, {10, 1245}, {10, 1243}, {10, 1241}, | |
| 243 | + {10, 1239}, {10, 1237}, {10, 1235}, {10, 1233}, {10, 1231}, {10, 1229}, | |
| 244 | + {10, 1227}, {10, 1225}, {10, 1223}, {10, 1221}, {10, 1219}, {10, 1217}, | |
| 245 | + {10, 1215}, {10, 1213}, {10, 1211}, {10, 1209}, {10, 1207}, {10, 1205}, | |
| 246 | + {10, 1203}, {10, 1201}, {10, 1199}, {10, 1197}, {10, 1195}, {10, 1193}, | |
| 247 | + {10, 1191}, {10, 1189}, {10, 1187}, {10, 1185}, {10, 1183}, {10, 1181}, | |
| 248 | + {10, 1179}, {10, 1177}, {10, 1175}, {10, 1173}, {10, 1171}, {10, 1169}, | |
| 249 | + {10, 1167}, {10, 1165}, {10, 1163}, {10, 1161}, {10, 1159}, {10, 1157}, | |
| 250 | + {10, 1155}, {10, 1153}, {10, 1151}, {10, 1149}, {10, 1147}, {10, 1145}, | |
| 251 | + {10, 1143}, {10, 1141}, {10, 1139}, {10, 1137}, {10, 1135}, {10, 1133}, | |
| 252 | + {10, 1131}, {10, 1129}, {10, 1127}, {10, 1125}, {10, 1123}, {10, 1121}, | |
| 253 | + {10, 1119}, {10, 1117}, {10, 1115}, {10, 1113}, {10, 1111}, {10, 1109}, | |
| 254 | + {10, 1107}, {10, 1105}, {10, 1103}, {10, 1101}, {10, 1099}, {10, 1097}, | |
| 255 | + {10, 1095}, {10, 1093}, {10, 1091}, {10, 1089}, {10, 1087}, {10, 1085}, | |
| 256 | + {10, 1083}, {10, 1081}, {10, 1079}, {10, 1077}, {10, 1075}, {10, 1073}, | |
| 257 | + {10, 1071}, {10, 1069}, {10, 1067}, {10, 1065}, {10, 1063}, {10, 1061}, | |
| 258 | + {10, 1059}, {10, 1057}, {10, 1055}, {10, 1053}, {10, 1051}, {10, 1049}, | |
| 259 | + {10, 1047}, {10, 1045}, {10, 1043}, {10, 1041}, {10, 1039}, {10, 1037}, | |
| 260 | + {10, 1035}, {10, 1033}, {10, 1031}, {10, 1029}, {10, 1027}, {10, 1025}, | |
| 261 | + {10, 1023}, {10, 1021}, {10, 1019}, {10, 1017}, {10, 1015}, {10, 1013}, | |
| 262 | + {10, 1011}, {10, 1009}, {10, 1007}, {10, 1005}, {10, 1003}, {10, 1001}, | |
| 263 | + {10, 999}, {10, 997}, {10, 995}, {10, 993}, {10, 991}, {10, 989}, | |
| 264 | + {10, 987}, {10, 985}, {10, 983}, {10, 981}, {10, 979}, {10, 977}, | |
| 265 | + {10, 975}, {10, 973}, {10, 971}, {10, 969}, {10, 967}, {10, 965}, | |
| 266 | + {10, 963}, {10, 961}, {10, 959}, {10, 957}, {10, 955}, {10, 953}, | |
| 267 | + {10, 951}, {10, 949}, {10, 947}, {10, 945}, {10, 943}, {10, 941}, | |
| 268 | + {10, 939}, {10, 937}, {10, 935}, {10, 933}, {10, 931}, {10, 929}, | |
| 269 | + {10, 927}, {10, 925}, {10, 923}, {10, 921}, {10, 919}, {10, 917}, | |
| 270 | + {10, 915}, {10, 913}, {10, 911}, {10, 909}, {10, 907}, {10, 905}, | |
| 271 | + {10, 903}, {10, 901}, {10, 899}, {10, 897}, {10, 895}, {10, 893}, | |
| 272 | + {10, 891}, {10, 889}, {10, 887}, {10, 885}, {10, 883}, {10, 881}, | |
| 273 | + {10, 879}, {10, 877}, {10, 875}, {10, 873}, {10, 871}, {10, 869}, | |
| 274 | + {10, 867}, {10, 865}, {10, 863}, {10, 861}, {10, 859}, {10, 857}, | |
| 275 | + {10, 855}, {10, 853}, {10, 851}, {10, 849}, {10, 847}, {10, 845}, | |
| 276 | + {10, 843}, {10, 841}, {10, 839}, {10, 837}, {10, 835}, {10, 833}, | |
| 277 | + {10, 831}, {10, 829}, {10, 827}, {10, 825}, {10, 823}, {10, 821}, | |
| 278 | + {10, 819}, {10, 817}, {10, 815}, {10, 813}, {10, 811}, {10, 809}, | |
| 279 | + {10, 807}, {10, 805}, {10, 803}, {10, 801}, {10, 799}, {10, 797}, | |
| 280 | + {10, 795}, {10, 793}, {10, 791}, {10, 789}, {10, 787}, {10, 785}, | |
| 281 | + {10, 783}, {10, 781}, {10, 779}, {10, 777}, {10, 775}, {10, 773}, | |
| 282 | + {10, 771}, {10, 769}, {10, 767}, {10, 765}, {10, 763}, {10, 761}, | |
| 283 | + {10, 759}, {10, 757}, {10, 755}, {10, 753}, {10, 751}, {10, 749}, | |
| 284 | + {10, 747}, {10, 745}, {10, 743}, {10, 741}, {10, 739}, {10, 737}, | |
| 285 | + {10, 735}, {10, 733}, {10, 731}, {10, 729}, {10, 727}, {10, 725}, | |
| 286 | + {10, 723}, {10, 721}, {10, 719}, {10, 717}, {10, 715}, {10, 713}, | |
| 287 | + {10, 711}, {10, 709}, {10, 707}, {10, 705}, {10, 703}, {10, 701}, | |
| 288 | + {10, 699}, {10, 697}, {10, 695}, {10, 693}, {10, 691}, {10, 689}, | |
| 289 | + {10, 687}, {10, 685}, {10, 683}, {10, 681}, {10, 679}, {10, 677}, | |
| 290 | + {10, 675}, {10, 673}, {10, 671}, {10, 669}, {10, 667}, {10, 665}, | |
| 291 | + {10, 663}, {10, 661}, {10, 659}, {10, 657}, {10, 655}, {10, 653}, | |
| 292 | + {10, 651}, {10, 649}, {10, 647}, {10, 645}, {10, 643}, {10, 641}, | |
| 293 | + {10, 639}, {10, 637}, {10, 635}, {10, 633}, {10, 631}, {10, 629}, | |
| 294 | + {10, 627}, {10, 625}, {10, 623}, {10, 621}, {10, 619}, {10, 617}, | |
| 295 | + {10, 615}, {10, 613}, {10, 611}, {10, 609}, {10, 607}, {10, 605}, | |
| 296 | + {10, 603}, {10, 601}, {10, 599}, {10, 597}, {10, 595}, {10, 593}, | |
| 297 | + {10, 591}, {10, 589}, {10, 587}, {10, 585}, {10, 583}, {10, 581}, | |
| 298 | + {10, 579}, {10, 577}, {10, 575}, {10, 573}, {10, 571}, {10, 569}, | |
| 299 | + {10, 567}, {10, 565}, {10, 563}, {10, 561}, {10, 559}, {10, 557}, | |
| 300 | + {10, 555}, {10, 553}, {10, 551}, {10, 549}, {10, 547}, {10, 545}, | |
| 301 | + {10, 543}, {10, 541}, {10, 539}, {10, 537}, {10, 535}, {10, 533}, | |
| 302 | + {10, 531}, {10, 529}, {10, 527}, {10, 525}, {10, 523}, {10, 521}, | |
| 303 | + {10, 519}, {10, 517}, {10, 515}, {10, 513}, {10, 511}, {10, 509}, | |
| 304 | + {10, 507}, {10, 505}, {10, 503}, {10, 501}, {10, 499}, {10, 497}, | |
| 305 | + {10, 495}, {10, 493}, {10, 491}, {10, 489}, {10, 487}, {10, 485}, | |
| 306 | + {10, 483}, {10, 481}, {10, 479}, {10, 477}, {10, 475}, {10, 473}, | |
| 307 | + {10, 471}, {10, 469}, {10, 467}, {10, 465}, {10, 463}, {10, 461}, | |
| 308 | + {10, 459}, {10, 457}, {10, 455}, {10, 453}, {10, 451}, {10, 449}, | |
| 309 | + {10, 447}, {10, 445}, {10, 443}, {10, 441}, {10, 439}, {10, 437}, | |
| 310 | + {10, 435}, {10, 433}, {10, 431}, {10, 429}, {10, 427}, {10, 425}, | |
| 311 | + {10, 423}, {10, 421}, {10, 419}, {10, 417}, {10, 415}, {10, 413}, | |
| 312 | + {10, 411}, {10, 409}, {10, 407}, {10, 405}, {10, 403}, {10, 401}, | |
| 313 | + {10, 399}, {10, 397}, {10, 395}, {10, 393}, {10, 391}, {10, 389}, | |
| 314 | + {10, 387}, {10, 385}, {10, 383}, {10, 381}, {10, 379}, {10, 377}, | |
| 315 | + {10, 375}, {10, 373}, {10, 371}, {10, 369}, {10, 367}, {10, 365}, | |
| 316 | + {10, 363}, {10, 361}, {10, 359}, {10, 357}, {10, 355}, {10, 353}, | |
| 317 | + {10, 351}, {10, 349}, {10, 347}, {10, 345}, {10, 343}, {10, 341}, | |
| 318 | + {10, 339}, {10, 337}, {10, 335}, {10, 333}, {10, 331}, {10, 329}, | |
| 319 | + {10, 327}, {10, 325}, {10, 323}, {10, 321}, {10, 319}, {10, 317}, | |
| 320 | + {10, 315}, {10, 313}, {10, 311}, {10, 309}, {10, 307}, {10, 305}, | |
| 321 | + {10, 303}, {10, 301}, {10, 299}, {10, 297}, {10, 295}, {10, 293}, | |
| 322 | + {10, 291}, {10, 289}, {10, 287}, {10, 285}, {10, 283}, {10, 281}, | |
| 323 | + {10, 279}, {10, 277}, {10, 275}, {10, 273}, {10, 271}, {10, 269}, | |
| 324 | + {10, 267}, {10, 265}, {10, 263}, {10, 261}, {10, 259}, {10, 257}, | |
| 325 | + {10, 255}, {10, 253}, {10, 251}, {10, 249}, {10, 247}, {10, 245}, | |
| 326 | + {10, 243}, {10, 241}, {10, 239}, {10, 237}, {10, 235}, {10, 233}, | |
| 327 | + {10, 231}, {10, 229}, {10, 227}, {10, 225}, {10, 223}, {10, 221}, | |
| 328 | + {10, 219}, {10, 217}, {10, 215}, {10, 213}, {10, 211}, {10, 209}, | |
| 329 | + {10, 207}, {10, 205}, {10, 203}, {10, 201}, {10, 199}, {10, 197}, | |
| 330 | + {10, 195}, {10, 193}, {10, 191}, {10, 189}, {10, 187}, {10, 185}, | |
| 331 | + {10, 183}, {10, 181}, {10, 179}, {10, 177}, {10, 175}, {10, 173}, | |
| 332 | + {10, 171}, {10, 169}, {10, 167}, {10, 165}, {10, 163}, {10, 161}, | |
| 333 | + {10, 159}, {10, 157}, {10, 155}, {10, 153}, {10, 151}, {10, 149}, | |
| 334 | + {10, 147}, {10, 145}, {10, 143}, {10, 141}, {10, 139}, {10, 137}, | |
| 335 | + {10, 135}, {10, 133}, {10, 131}, {10, 129}, {10, 127}, {10, 125}, | |
| 336 | + {10, 123}, {10, 121}, {10, 119}, {10, 117}, {10, 115}, {10, 113}, | |
| 337 | + {10, 111}, {10, 109}, {10, 107}, {10, 105}, {10, 103}, {10, 101}, | |
| 338 | + {10, 99}, {10, 97}, {10, 95}, {10, 93}, {10, 91}, {10, 89}, | |
| 339 | + {10, 87}, {10, 85}, {10, 83}, {10, 81}, {10, 79}, {10, 77}, | |
| 340 | + {10, 75}, {10, 73}, {10, 71}, {10, 69}, {10, 67}, {10, 65}, | |
| 341 | + {10, 63}, {10, 61}, {10, 59}, {10, 57}, {10, 55}, {10, 53}, | |
| 342 | + {10, 51}, {10, 49}, {10, 47}, {10, 45}, {10, 43}, {10, 41}, | |
| 343 | + {10, 39}, {10, 37}, {10, 35}, {10, 33}, {10, 31}, {10, 29}, | |
| 344 | + {10, 27}, {10, 25}, {10, 23}, {10, 21}, {10, 19}, {10, 17}, | |
| 345 | + {10, 15}, {10, 13}, {10, 11}, {10, 9}, {10, 7}, {10, 5}, | |
| 346 | + {10, 3}, {10, 1}, {9, 63}, {9, 61}, {9, 59}, {9, 57}, | |
| 347 | + {9, 55}, {9, 53}, {9, 51}, {9, 49}, {9, 47}, {9, 45}, | |
| 348 | + {9, 43}, {9, 41}, {9, 39}, {9, 37}, {9, 35}, {9, 33}, | |
| 349 | + {9, 31}, {9, 29}, {9, 27}, {9, 25}, {9, 23}, {9, 21}, | |
| 350 | + {9, 19}, {9, 17}, {9, 15}, {9, 13}, {9, 11}, {9, 9}, | |
| 351 | + {9, 7}, {9, 5}, {9, 3}, {9, 1}, {8, 31}, {8, 29}, | |
| 352 | + {8, 27}, {8, 25}, {8, 23}, {8, 21}, {8, 19}, {8, 17}, | |
| 353 | + {8, 15}, {8, 13}, {8, 11}, {8, 9}, {8, 7}, {8, 5}, | |
| 354 | + {8, 3}, {8, 1}, {7, 15}, {7, 13}, {7, 11}, {7, 9}, | |
| 355 | + {7, 7}, {7, 5}, {7, 3}, {7, 1}, {6, 7}, {6, 5}, | |
| 356 | + {6, 3}, {6, 1}, {5, 3}, {5, 1}, {4, 1}, {3, 1}, | |
| 357 | + {2, 1}, {1, 1}, {0, 0}, {1, 0}, {2, 0}, {3, 0}, | |
| 358 | + {4, 0}, {5, 0}, {5, 2}, {6, 0}, {6, 2}, {6, 4}, | |
| 359 | + {6, 6}, {7, 0}, {7, 2}, {7, 4}, {7, 6}, {7, 8}, | |
| 360 | + {7, 10}, {7, 12}, {7, 14}, {8, 0}, {8, 2}, {8, 4}, | |
| 361 | + {8, 6}, {8, 8}, {8, 10}, {8, 12}, {8, 14}, {8, 16}, | |
| 362 | + {8, 18}, {8, 20}, {8, 22}, {8, 24}, {8, 26}, {8, 28}, | |
| 363 | + {8, 30}, {9, 0}, {9, 2}, {9, 4}, {9, 6}, {9, 8}, | |
| 364 | + {9, 10}, {9, 12}, {9, 14}, {9, 16}, {9, 18}, {9, 20}, | |
| 365 | + {9, 22}, {9, 24}, {9, 26}, {9, 28}, {9, 30}, {9, 32}, | |
| 366 | + {9, 34}, {9, 36}, {9, 38}, {9, 40}, {9, 42}, {9, 44}, | |
| 367 | + {9, 46}, {9, 48}, {9, 50}, {9, 52}, {9, 54}, {9, 56}, | |
| 368 | + {9, 58}, {9, 60}, {9, 62}, {10, 0}, {10, 2}, {10, 4}, | |
| 369 | + {10, 6}, {10, 8}, {10, 10}, {10, 12}, {10, 14}, {10, 16}, | |
| 370 | + {10, 18}, {10, 20}, {10, 22}, {10, 24}, {10, 26}, {10, 28}, | |
| 371 | + {10, 30}, {10, 32}, {10, 34}, {10, 36}, {10, 38}, {10, 40}, | |
| 372 | + {10, 42}, {10, 44}, {10, 46}, {10, 48}, {10, 50}, {10, 52}, | |
| 373 | + {10, 54}, {10, 56}, {10, 58}, {10, 60}, {10, 62}, {10, 64}, | |
| 374 | + {10, 66}, {10, 68}, {10, 70}, {10, 72}, {10, 74}, {10, 76}, | |
| 375 | + {10, 78}, {10, 80}, {10, 82}, {10, 84}, {10, 86}, {10, 88}, | |
| 376 | + {10, 90}, {10, 92}, {10, 94}, {10, 96}, {10, 98}, {10, 100}, | |
| 377 | + {10, 102}, {10, 104}, {10, 106}, {10, 108}, {10, 110}, {10, 112}, | |
| 378 | + {10, 114}, {10, 116}, {10, 118}, {10, 120}, {10, 122}, {10, 124}, | |
| 379 | + {10, 126}, {10, 128}, {10, 130}, {10, 132}, {10, 134}, {10, 136}, | |
| 380 | + {10, 138}, {10, 140}, {10, 142}, {10, 144}, {10, 146}, {10, 148}, | |
| 381 | + {10, 150}, {10, 152}, {10, 154}, {10, 156}, {10, 158}, {10, 160}, | |
| 382 | + {10, 162}, {10, 164}, {10, 166}, {10, 168}, {10, 170}, {10, 172}, | |
| 383 | + {10, 174}, {10, 176}, {10, 178}, {10, 180}, {10, 182}, {10, 184}, | |
| 384 | + {10, 186}, {10, 188}, {10, 190}, {10, 192}, {10, 194}, {10, 196}, | |
| 385 | + {10, 198}, {10, 200}, {10, 202}, {10, 204}, {10, 206}, {10, 208}, | |
| 386 | + {10, 210}, {10, 212}, {10, 214}, {10, 216}, {10, 218}, {10, 220}, | |
| 387 | + {10, 222}, {10, 224}, {10, 226}, {10, 228}, {10, 230}, {10, 232}, | |
| 388 | + {10, 234}, {10, 236}, {10, 238}, {10, 240}, {10, 242}, {10, 244}, | |
| 389 | + {10, 246}, {10, 248}, {10, 250}, {10, 252}, {10, 254}, {10, 256}, | |
| 390 | + {10, 258}, {10, 260}, {10, 262}, {10, 264}, {10, 266}, {10, 268}, | |
| 391 | + {10, 270}, {10, 272}, {10, 274}, {10, 276}, {10, 278}, {10, 280}, | |
| 392 | + {10, 282}, {10, 284}, {10, 286}, {10, 288}, {10, 290}, {10, 292}, | |
| 393 | + {10, 294}, {10, 296}, {10, 298}, {10, 300}, {10, 302}, {10, 304}, | |
| 394 | + {10, 306}, {10, 308}, {10, 310}, {10, 312}, {10, 314}, {10, 316}, | |
| 395 | + {10, 318}, {10, 320}, {10, 322}, {10, 324}, {10, 326}, {10, 328}, | |
| 396 | + {10, 330}, {10, 332}, {10, 334}, {10, 336}, {10, 338}, {10, 340}, | |
| 397 | + {10, 342}, {10, 344}, {10, 346}, {10, 348}, {10, 350}, {10, 352}, | |
| 398 | + {10, 354}, {10, 356}, {10, 358}, {10, 360}, {10, 362}, {10, 364}, | |
| 399 | + {10, 366}, {10, 368}, {10, 370}, {10, 372}, {10, 374}, {10, 376}, | |
| 400 | + {10, 378}, {10, 380}, {10, 382}, {10, 384}, {10, 386}, {10, 388}, | |
| 401 | + {10, 390}, {10, 392}, {10, 394}, {10, 396}, {10, 398}, {10, 400}, | |
| 402 | + {10, 402}, {10, 404}, {10, 406}, {10, 408}, {10, 410}, {10, 412}, | |
| 403 | + {10, 414}, {10, 416}, {10, 418}, {10, 420}, {10, 422}, {10, 424}, | |
| 404 | + {10, 426}, {10, 428}, {10, 430}, {10, 432}, {10, 434}, {10, 436}, | |
| 405 | + {10, 438}, {10, 440}, {10, 442}, {10, 444}, {10, 446}, {10, 448}, | |
| 406 | + {10, 450}, {10, 452}, {10, 454}, {10, 456}, {10, 458}, {10, 460}, | |
| 407 | + {10, 462}, {10, 464}, {10, 466}, {10, 468}, {10, 470}, {10, 472}, | |
| 408 | + {10, 474}, {10, 476}, {10, 478}, {10, 480}, {10, 482}, {10, 484}, | |
| 409 | + {10, 486}, {10, 488}, {10, 490}, {10, 492}, {10, 494}, {10, 496}, | |
| 410 | + {10, 498}, {10, 500}, {10, 502}, {10, 504}, {10, 506}, {10, 508}, | |
| 411 | + {10, 510}, {10, 512}, {10, 514}, {10, 516}, {10, 518}, {10, 520}, | |
| 412 | + {10, 522}, {10, 524}, {10, 526}, {10, 528}, {10, 530}, {10, 532}, | |
| 413 | + {10, 534}, {10, 536}, {10, 538}, {10, 540}, {10, 542}, {10, 544}, | |
| 414 | + {10, 546}, {10, 548}, {10, 550}, {10, 552}, {10, 554}, {10, 556}, | |
| 415 | + {10, 558}, {10, 560}, {10, 562}, {10, 564}, {10, 566}, {10, 568}, | |
| 416 | + {10, 570}, {10, 572}, {10, 574}, {10, 576}, {10, 578}, {10, 580}, | |
| 417 | + {10, 582}, {10, 584}, {10, 586}, {10, 588}, {10, 590}, {10, 592}, | |
| 418 | + {10, 594}, {10, 596}, {10, 598}, {10, 600}, {10, 602}, {10, 604}, | |
| 419 | + {10, 606}, {10, 608}, {10, 610}, {10, 612}, {10, 614}, {10, 616}, | |
| 420 | + {10, 618}, {10, 620}, {10, 622}, {10, 624}, {10, 626}, {10, 628}, | |
| 421 | + {10, 630}, {10, 632}, {10, 634}, {10, 636}, {10, 638}, {10, 640}, | |
| 422 | + {10, 642}, {10, 644}, {10, 646}, {10, 648}, {10, 650}, {10, 652}, | |
| 423 | + {10, 654}, {10, 656}, {10, 658}, {10, 660}, {10, 662}, {10, 664}, | |
| 424 | + {10, 666}, {10, 668}, {10, 670}, {10, 672}, {10, 674}, {10, 676}, | |
| 425 | + {10, 678}, {10, 680}, {10, 682}, {10, 684}, {10, 686}, {10, 688}, | |
| 426 | + {10, 690}, {10, 692}, {10, 694}, {10, 696}, {10, 698}, {10, 700}, | |
| 427 | + {10, 702}, {10, 704}, {10, 706}, {10, 708}, {10, 710}, {10, 712}, | |
| 428 | + {10, 714}, {10, 716}, {10, 718}, {10, 720}, {10, 722}, {10, 724}, | |
| 429 | + {10, 726}, {10, 728}, {10, 730}, {10, 732}, {10, 734}, {10, 736}, | |
| 430 | + {10, 738}, {10, 740}, {10, 742}, {10, 744}, {10, 746}, {10, 748}, | |
| 431 | + {10, 750}, {10, 752}, {10, 754}, {10, 756}, {10, 758}, {10, 760}, | |
| 432 | + {10, 762}, {10, 764}, {10, 766}, {10, 768}, {10, 770}, {10, 772}, | |
| 433 | + {10, 774}, {10, 776}, {10, 778}, {10, 780}, {10, 782}, {10, 784}, | |
| 434 | + {10, 786}, {10, 788}, {10, 790}, {10, 792}, {10, 794}, {10, 796}, | |
| 435 | + {10, 798}, {10, 800}, {10, 802}, {10, 804}, {10, 806}, {10, 808}, | |
| 436 | + {10, 810}, {10, 812}, {10, 814}, {10, 816}, {10, 818}, {10, 820}, | |
| 437 | + {10, 822}, {10, 824}, {10, 826}, {10, 828}, {10, 830}, {10, 832}, | |
| 438 | + {10, 834}, {10, 836}, {10, 838}, {10, 840}, {10, 842}, {10, 844}, | |
| 439 | + {10, 846}, {10, 848}, {10, 850}, {10, 852}, {10, 854}, {10, 856}, | |
| 440 | + {10, 858}, {10, 860}, {10, 862}, {10, 864}, {10, 866}, {10, 868}, | |
| 441 | + {10, 870}, {10, 872}, {10, 874}, {10, 876}, {10, 878}, {10, 880}, | |
| 442 | + {10, 882}, {10, 884}, {10, 886}, {10, 888}, {10, 890}, {10, 892}, | |
| 443 | + {10, 894}, {10, 896}, {10, 898}, {10, 900}, {10, 902}, {10, 904}, | |
| 444 | + {10, 906}, {10, 908}, {10, 910}, {10, 912}, {10, 914}, {10, 916}, | |
| 445 | + {10, 918}, {10, 920}, {10, 922}, {10, 924}, {10, 926}, {10, 928}, | |
| 446 | + {10, 930}, {10, 932}, {10, 934}, {10, 936}, {10, 938}, {10, 940}, | |
| 447 | + {10, 942}, {10, 944}, {10, 946}, {10, 948}, {10, 950}, {10, 952}, | |
| 448 | + {10, 954}, {10, 956}, {10, 958}, {10, 960}, {10, 962}, {10, 964}, | |
| 449 | + {10, 966}, {10, 968}, {10, 970}, {10, 972}, {10, 974}, {10, 976}, | |
| 450 | + {10, 978}, {10, 980}, {10, 982}, {10, 984}, {10, 986}, {10, 988}, | |
| 451 | + {10, 990}, {10, 992}, {10, 994}, {10, 996}, {10, 998}, {10, 1000}, | |
| 452 | + {10, 1002}, {10, 1004}, {10, 1006}, {10, 1008}, {10, 1010}, {10, 1012}, | |
| 453 | + {10, 1014}, {10, 1016}, {10, 1018}, {10, 1020}, {10, 1022}, {10, 1024}, | |
| 454 | + {10, 1026}, {10, 1028}, {10, 1030}, {10, 1032}, {10, 1034}, {10, 1036}, | |
| 455 | + {10, 1038}, {10, 1040}, {10, 1042}, {10, 1044}, {10, 1046}, {10, 1048}, | |
| 456 | + {10, 1050}, {10, 1052}, {10, 1054}, {10, 1056}, {10, 1058}, {10, 1060}, | |
| 457 | + {10, 1062}, {10, 1064}, {10, 1066}, {10, 1068}, {10, 1070}, {10, 1072}, | |
| 458 | + {10, 1074}, {10, 1076}, {10, 1078}, {10, 1080}, {10, 1082}, {10, 1084}, | |
| 459 | + {10, 1086}, {10, 1088}, {10, 1090}, {10, 1092}, {10, 1094}, {10, 1096}, | |
| 460 | + {10, 1098}, {10, 1100}, {10, 1102}, {10, 1104}, {10, 1106}, {10, 1108}, | |
| 461 | + {10, 1110}, {10, 1112}, {10, 1114}, {10, 1116}, {10, 1118}, {10, 1120}, | |
| 462 | + {10, 1122}, {10, 1124}, {10, 1126}, {10, 1128}, {10, 1130}, {10, 1132}, | |
| 463 | + {10, 1134}, {10, 1136}, {10, 1138}, {10, 1140}, {10, 1142}, {10, 1144}, | |
| 464 | + {10, 1146}, {10, 1148}, {10, 1150}, {10, 1152}, {10, 1154}, {10, 1156}, | |
| 465 | + {10, 1158}, {10, 1160}, {10, 1162}, {10, 1164}, {10, 1166}, {10, 1168}, | |
| 466 | + {10, 1170}, {10, 1172}, {10, 1174}, {10, 1176}, {10, 1178}, {10, 1180}, | |
| 467 | + {10, 1182}, {10, 1184}, {10, 1186}, {10, 1188}, {10, 1190}, {10, 1192}, | |
| 468 | + {10, 1194}, {10, 1196}, {10, 1198}, {10, 1200}, {10, 1202}, {10, 1204}, | |
| 469 | + {10, 1206}, {10, 1208}, {10, 1210}, {10, 1212}, {10, 1214}, {10, 1216}, | |
| 470 | + {10, 1218}, {10, 1220}, {10, 1222}, {10, 1224}, {10, 1226}, {10, 1228}, | |
| 471 | + {10, 1230}, {10, 1232}, {10, 1234}, {10, 1236}, {10, 1238}, {10, 1240}, | |
| 472 | + {10, 1242}, {10, 1244}, {10, 1246}, {10, 1248}, {10, 1250}, {10, 1252}, | |
| 473 | + {10, 1254}, {10, 1256}, {10, 1258}, {10, 1260}, {10, 1262}, {10, 1264}, | |
| 474 | + {10, 1266}, {10, 1268}, {10, 1270}, {10, 1272}, {10, 1274}, {10, 1276}, | |
| 475 | + {10, 1278}, {10, 1280}, {10, 1282}, {10, 1284}, {10, 1286}, {10, 1288}, | |
| 476 | + {10, 1290}, {10, 1292}, {10, 1294}, {10, 1296}, {10, 1298}, {10, 1300}, | |
| 477 | + {10, 1302}, {10, 1304}, {10, 1306}, {10, 1308}, {10, 1310}, {10, 1312}, | |
| 478 | + {10, 1314}, {10, 1316}, {10, 1318}, {10, 1320}, {10, 1322}, {10, 1324}, | |
| 479 | + {10, 1326}, {10, 1328}, {10, 1330}, {10, 1332}, {10, 1334}, {10, 1336}, | |
| 480 | + {10, 1338}, {10, 1340}, {10, 1342}, {10, 1344}, {10, 1346}, {10, 1348}, | |
| 481 | + {10, 1350}, {10, 1352}, {10, 1354}, {10, 1356}, {10, 1358}, {10, 1360}, | |
| 482 | + {10, 1362}, {10, 1364}, {10, 1366}, {10, 1368}, {10, 1370}, {10, 1372}, | |
| 483 | + {10, 1374}, {10, 1376}, {10, 1378}, {10, 1380}, {10, 1382}, {10, 1384}, | |
| 484 | + {10, 1386}, {10, 1388}, {10, 1390}, {10, 1392}, {10, 1394}, {10, 1396}, | |
| 485 | + {10, 1398}, {10, 1400}, {10, 1402}, {10, 1404}, {10, 1406}, {10, 1408}, | |
| 486 | + {10, 1410}, {10, 1412}, {10, 1414}, {10, 1416}, {10, 1418}, {10, 1420}, | |
| 487 | + {10, 1422}, {10, 1424}, {10, 1426}, {10, 1428}, {10, 1430}, {10, 1432}, | |
| 488 | + {10, 1434}, {10, 1436}, {10, 1438}, {10, 1440}, {10, 1442}, {10, 1444}, | |
| 489 | + {10, 1446}, {10, 1448}, {10, 1450}, {10, 1452}, {10, 1454}, {10, 1456}, | |
| 490 | + {10, 1458}, {10, 1460}, {10, 1462}, {10, 1464}, {10, 1466}, {10, 1468}, | |
| 491 | + {10, 1470}, {10, 1472}, {10, 1474}, {10, 1476}, {10, 1478}, {10, 1480}, | |
| 492 | + {10, 1482}, {10, 1484}, {10, 1486}, {10, 1488}, {10, 1490}, {10, 1492}, | |
| 493 | + {10, 1494}, {10, 1496}, {10, 1498}, {10, 1500}, {10, 1502}, {10, 1504}, | |
| 494 | + {10, 1506}, {10, 1508}, {10, 1510}, {10, 1512}, {10, 1514}, {10, 1516}, | |
| 495 | + {10, 1518}, {10, 1520}, {10, 1522}, {10, 1524}, {10, 1526}, {10, 1528}, | |
| 496 | + {10, 1530}, {10, 1532}, {10, 1534}, {10, 1536}, {10, 1538}, {10, 1540}, | |
| 497 | + {10, 1542}, {10, 1544}, {10, 1546}, {10, 1548}, {10, 1550}, {10, 1552}, | |
| 498 | + {10, 1554}, {10, 1556}, {10, 1558}, {10, 1560}, {10, 1562}, {10, 1564}, | |
| 499 | + {10, 1566}, {10, 1568}, {10, 1570}, {10, 1572}, {10, 1574}, {10, 1576}, | |
| 500 | + {10, 1578}, {10, 1580}, {10, 1582}, {10, 1584}, {10, 1586}, {10, 1588}, | |
| 501 | + {10, 1590}, {10, 1592}, {10, 1594}, {10, 1596}, {10, 1598}, {10, 1600}, | |
| 502 | + {10, 1602}, {10, 1604}, {10, 1606}, {10, 1608}, {10, 1610}, {10, 1612}, | |
| 503 | + {10, 1614}, {10, 1616}, {10, 1618}, {10, 1620}, {10, 1622}, {10, 1624}, | |
| 504 | + {10, 1626}, {10, 1628}, {10, 1630}, {10, 1632}, {10, 1634}, {10, 1636}, | |
| 505 | + {10, 1638}, {10, 1640}, {10, 1642}, {10, 1644}, {10, 1646}, {10, 1648}, | |
| 506 | + {10, 1650}, {10, 1652}, {10, 1654}, {10, 1656}, {10, 1658}, {10, 1660}, | |
| 507 | + {10, 1662}, {10, 1664}, {10, 1666}, {10, 1668}, {10, 1670}, {10, 1672}, | |
| 508 | + {10, 1674}, {10, 1676}, {10, 1678}, {10, 1680}, {10, 1682}, {10, 1684}, | |
| 509 | + {10, 1686}, {10, 1688}, {10, 1690}, {10, 1692}, {10, 1694}, {10, 1696}, | |
| 510 | + {10, 1698}, {10, 1700}, {10, 1702}, {10, 1704}, {10, 1706}, {10, 1708}, | |
| 511 | + {10, 1710}, {10, 1712}, {10, 1714}, {10, 1716}, {10, 1718}, {10, 1720}, | |
| 512 | + {10, 1722}, {10, 1724}, {10, 1726}, {10, 1728}, {10, 1730}, {10, 1732}, | |
| 513 | + {10, 1734}, {10, 1736}, {10, 1738}, {10, 1740}, {10, 1742}, {10, 1744}, | |
| 514 | + {10, 1746}, {10, 1748}, {10, 1750}, {10, 1752}, {10, 1754}, {10, 1756}, | |
| 515 | + {10, 1758}, {10, 1760}, {10, 1762}, {10, 1764}, {10, 1766}, {10, 1768}, | |
| 516 | + {10, 1770}, {10, 1772}, {10, 1774}, {10, 1776}, {10, 1778}, {10, 1780}, | |
| 517 | + {10, 1782}, {10, 1784}, {10, 1786}, {10, 1788}, {10, 1790}, {10, 1792}, | |
| 518 | + {10, 1794}, {10, 1796}, {10, 1798}, {10, 1800}, {10, 1802}, {10, 1804}, | |
| 519 | + {10, 1806}, {10, 1808}, {10, 1810}, {10, 1812}, {10, 1814}, {10, 1816}, | |
| 520 | + {10, 1818}, {10, 1820}, {10, 1822}, {10, 1824}, {10, 1826}, {10, 1828}, | |
| 521 | + {10, 1830}, {10, 1832}, {10, 1834}, {10, 1836}, {10, 1838}, {10, 1840}, | |
| 522 | + {10, 1842}, {10, 1844}, {10, 1846}, {10, 1848}, {10, 1850}, {10, 1852}, | |
| 523 | + {10, 1854}, {10, 1856}, {10, 1858}, {10, 1860}, {10, 1862}, {10, 1864}, | |
| 524 | + {10, 1866}, {10, 1868}, {10, 1870}, {10, 1872}, {10, 1874}, {10, 1876}, | |
| 525 | + {10, 1878}, {10, 1880}, {10, 1882}, {10, 1884}, {10, 1886}, {10, 1888}, | |
| 526 | + {10, 1890}, {10, 1892}, {10, 1894}, {10, 1896}, {10, 1898}, {10, 1900}, | |
| 527 | + {10, 1902}, {10, 1904}, {10, 1906}, {10, 1908}, {10, 1910}, {10, 1912}, | |
| 528 | + {10, 1914}, {10, 1916}, {10, 1918}, {10, 1920}, {10, 1922}, {10, 1924}, | |
| 529 | + {10, 1926}, {10, 1928}, {10, 1930}, {10, 1932}, {10, 1934}, {10, 1936}, | |
| 530 | + {10, 1938}, {10, 1940}, {10, 1942}, {10, 1944}, {10, 1946}, {10, 1948}, | |
| 531 | + {10, 1950}, {10, 1952}, {10, 1954}, {10, 1956}, {10, 1958}, {10, 1960}, | |
| 532 | + {10, 1962}, {10, 1964}, {10, 1966}, {10, 1968}, {10, 1970}, {10, 1972}, | |
| 533 | + {10, 1974}, {10, 1976}, {10, 1978}, {10, 1980}, {10, 1982}, {10, 1984}, | |
| 534 | + {10, 1986}, {10, 1988}, {10, 1990}, {10, 1992}, {10, 1994}, {10, 1996}, | |
| 535 | + {10, 1998}, {10, 2000}, {10, 2002}, {10, 2004}, {10, 2006}, {10, 2008}, | |
| 536 | + {10, 2010}, {10, 2012}, {10, 2014}, {10, 2016}, {10, 2018}, {10, 2020}, | |
| 537 | + {10, 2022}, {10, 2024}, {10, 2026}, {10, 2028}, {10, 2030}, {10, 2032}, | |
| 538 | + {10, 2034}, {10, 2036}, {10, 2038}, {10, 2040}, {10, 2042}, {10, 2044}, | |
| 539 | + {10, 2046}, {10, 2048}, {10, 2050}, {10, 2052}, {10, 2054}, {10, 2056}, | |
| 540 | + {10, 2058}, {10, 2060}, {10, 2062}, {10, 2064}, {10, 2066}, {10, 2068}, | |
| 541 | + {10, 2070}, {10, 2072}, {10, 2074}, {10, 2076}, {10, 2078}, {10, 2080}, | |
| 542 | + {10, 2082}, {10, 2084}, {10, 2086}, {10, 2088}, {10, 2090}, {10, 2092}, | |
| 543 | + {10, 2094}, {10, 2096}, {10, 2098}, {10, 2100}, {10, 2102}, {10, 2104}, | |
| 544 | + {10, 2106}, {10, 2108}, {10, 2110}, {10, 2112}, {10, 2114}, {10, 2116}, | |
| 545 | + {10, 2118}, {10, 2120}, {10, 2122}, {10, 2124}, {10, 2126}, {10, 2128}, | |
| 546 | + {10, 2130}, {10, 2132}, {10, 2134}, {10, 2136}, {10, 2138}, {10, 2140}, | |
| 547 | + {10, 2142}, {10, 2144}, {10, 2146}, {10, 2148}, {10, 2150}, {10, 2152}, | |
| 548 | + {10, 2154}, {10, 2156}, {10, 2158}, {10, 2160}, {10, 2162}, {10, 2164}, | |
| 549 | + {10, 2166}, {10, 2168}, {10, 2170}, {10, 2172}, {10, 2174}, {10, 2176}, | |
| 550 | + {10, 2178}, {10, 2180}, {10, 2182}, {10, 2184}, {10, 2186}, {10, 2188}, | |
| 551 | + {10, 2190}, {10, 2192}, {10, 2194}, {10, 2196}, {10, 2198}, {10, 2200}, | |
| 552 | + {10, 2202}, {10, 2204}, {10, 2206}, {10, 2208}, {10, 2210}, {10, 2212}, | |
| 553 | + {10, 2214}, {10, 2216}, {10, 2218}, {10, 2220}, {10, 2222}, {10, 2224}, | |
| 554 | + {10, 2226}, {10, 2228}, {10, 2230}, {10, 2232}, {10, 2234}, {10, 2236}, | |
| 555 | + {10, 2238}, {10, 2240}, {10, 2242}, {10, 2244}, {10, 2246}, {10, 2248}, | |
| 556 | + {10, 2250}, {10, 2252}, {10, 2254}, {10, 2256}, {10, 2258}, {10, 2260}, | |
| 557 | + {10, 2262}, {10, 2264}, {10, 2266}, {10, 2268}, {10, 2270}, {10, 2272}, | |
| 558 | + {10, 2274}, {10, 2276}, {10, 2278}, {10, 2280}, {10, 2282}, {10, 2284}, | |
| 559 | + {10, 2286}, {10, 2288}, {10, 2290}, {10, 2292}, {10, 2294}, {10, 2296}, | |
| 560 | + {10, 2298}, {10, 2300}, {10, 2302}, {10, 2304}, {10, 2306}, {10, 2308}, | |
| 561 | + {10, 2310}, {10, 2312}, {10, 2314}, {10, 2316}, {10, 2318}, {10, 2320}, | |
| 562 | + {10, 2322}, {10, 2324}, {10, 2326}, {10, 2328}, {10, 2330}, {10, 2332}, | |
| 563 | + {10, 2334}, {10, 2336}, {10, 2338}, {10, 2340}, {10, 2342}, {10, 2344}, | |
| 564 | + {10, 2346}, {10, 2348}, {10, 2350}, {10, 2352}, {10, 2354}, {10, 2356}, | |
| 565 | + {10, 2358}, {10, 2360}, {10, 2362}, {10, 2364}, {10, 2366}, {10, 2368}, | |
| 566 | + {10, 2370}, {10, 2372}, {10, 2374}, {10, 2376}, {10, 2378}, {10, 2380}, | |
| 567 | + {10, 2382}, {10, 2384}, {10, 2386}, {10, 2388}, {10, 2390}, {10, 2392}, | |
| 568 | + {10, 2394}, {10, 2396}, {10, 2398}, {10, 2400}, {10, 2402}, {10, 2404}, | |
| 569 | + {10, 2406}, {10, 2408}, {10, 2410}, {10, 2412}, {10, 2414}, {10, 2416}, | |
| 570 | + {10, 2418}, {10, 2420}, {10, 2422}, {10, 2424}, {10, 2426}, {10, 2428}, | |
| 571 | + {10, 2430}, {10, 2432}, {10, 2434}, {10, 2436}, {10, 2438}, {10, 2440}, | |
| 572 | + {10, 2442}, {10, 2444}, {10, 2446}, {10, 2448}, {10, 2450}, {10, 2452}, | |
| 573 | + {10, 2454}, {10, 2456}, {10, 2458}, {10, 2460}, {10, 2462}, {10, 2464}, | |
| 574 | + {10, 2466}, {10, 2468}, {10, 2470}, {10, 2472}, {10, 2474}, {10, 2476}, | |
| 575 | + {10, 2478}, {10, 2480}, {10, 2482}, {10, 2484}, {10, 2486}, {10, 2488}, | |
| 576 | + {10, 2490}, {10, 2492}, {10, 2494}, {10, 2496}, {10, 2498}, {10, 2500}, | |
| 577 | + {10, 2502}, {10, 2504}, {10, 2506}, {10, 2508}, {10, 2510}, {10, 2512}, | |
| 578 | + {10, 2514}, {10, 2516}, {10, 2518}, {10, 2520}, {10, 2522}, {10, 2524}, | |
| 579 | + {10, 2526}, {10, 2528}, {10, 2530}, {10, 2532}, {10, 2534}, {10, 2536}, | |
| 580 | + {10, 2538}, {10, 2540}, {10, 2542}, {10, 2544}, {10, 2546}, {10, 2548}, | |
| 581 | + {10, 2550}, {10, 2552}, {10, 2554}, {10, 2556}, {10, 2558}, {10, 2560}, | |
| 582 | + {10, 2562}, {10, 2564}, {10, 2566}, {10, 2568}, {10, 2570}, {10, 2572}, | |
| 583 | + {10, 2574}, {10, 2576}, {10, 2578}, {10, 2580}, {10, 2582}, {10, 2584}, | |
| 584 | + {10, 2586}, {10, 2588}, {10, 2590}, {10, 2592}, {10, 2594}, {10, 2596}, | |
| 585 | + {10, 2598}, {10, 2600}, {10, 2602}, {10, 2604}, {10, 2606}, {10, 2608}, | |
| 586 | + {10, 2610}, {10, 2612}, {10, 2614}, {10, 2616}, {10, 2618}, {10, 2620}, | |
| 587 | + {10, 2622}, {10, 2624}, {10, 2626}, {10, 2628}, {10, 2630}, {10, 2632}, | |
| 588 | + {10, 2634}, {10, 2636}, {10, 2638}, {10, 2640}, {10, 2642}, {10, 2644}, | |
| 589 | + {10, 2646}, {10, 2648}, {10, 2650}, {10, 2652}, {10, 2654}, {10, 2656}, | |
| 590 | + {10, 2658}, {10, 2660}, {10, 2662}, {10, 2664}, {10, 2666}, {10, 2668}, | |
| 591 | + {10, 2670}, {10, 2672}, {10, 2674}, {10, 2676}, {10, 2678}, {10, 2680}, | |
| 592 | + {10, 2682}, {10, 2684}, {10, 2686}, {10, 2688}, {10, 2690}, {10, 2692}, | |
| 593 | + {10, 2694}, {10, 2696}, {10, 2698}, {10, 2700}, {10, 2702}, {10, 2704}, | |
| 594 | + {10, 2706}, {10, 2708}, {10, 2710}, {10, 2712}, {10, 2714}, {10, 2716}, | |
| 595 | + {10, 2718}, {10, 2720}, {10, 2722}, {10, 2724}, {10, 2726}, {10, 2728}, | |
| 596 | + {10, 2730}, {10, 2732}, {10, 2734}, {10, 2736}, {10, 2738}, {10, 2740}, | |
| 597 | + {10, 2742}, {10, 2744}, {10, 2746}, {10, 2748}, {10, 2750}, {10, 2752}, | |
| 598 | + {10, 2754}, {10, 2756}, {10, 2758}, {10, 2760}, {10, 2762}, {10, 2764}, | |
| 599 | + {10, 2766}, {10, 2768}, {10, 2770}, {10, 2772}, {10, 2774}, {10, 2776}, | |
| 600 | + {10, 2778}, {10, 2780}, {10, 2782}, {10, 2784}, {10, 2786}, {10, 2788}, | |
| 601 | + {10, 2790}, {10, 2792}, {10, 2794}, {10, 2796}, {10, 2798}, {10, 2800}, | |
| 602 | + {10, 2802}, {10, 2804}, {10, 2806}, {10, 2808}, {10, 2810}, {10, 2812}, | |
| 603 | + {10, 2814}, {10, 2816}, {10, 2818}, {10, 2820}, {10, 2822}, {10, 2824}, | |
| 604 | + {10, 2826}, {10, 2828}, {10, 2830}, {10, 2832}, {10, 2834}, {10, 2836}, | |
| 605 | + {10, 2838}, {10, 2840}, {10, 2842}, {10, 2844}, {10, 2846}, {10, 2848}, | |
| 606 | + {10, 2850}, {10, 2852}, {10, 2854}, {10, 2856}, {10, 2858}, {10, 2860}, | |
| 607 | + {10, 2862}, {10, 2864}, {10, 2866}, {10, 2868}, {10, 2870}, {10, 2872}, | |
| 608 | + {10, 2874}, {10, 2876}, {10, 2878}, {10, 2880}, {10, 2882}, {10, 2884}, | |
| 609 | + {10, 2886}, {10, 2888}, {10, 2890}, {10, 2892}, {10, 2894}, {10, 2896}, | |
| 610 | + {10, 2898}, {10, 2900}, {10, 2902}, {10, 2904}, {10, 2906}, {10, 2908}, | |
| 611 | + {10, 2910}, {10, 2912}, {10, 2914}, {10, 2916}, {10, 2918}, {10, 2920}, | |
| 612 | + {10, 2922}, {10, 2924}, {10, 2926}, {10, 2928}, {10, 2930}, {10, 2932}, | |
| 613 | + {10, 2934}, {10, 2936}, {10, 2938}, {10, 2940}, {10, 2942}, {10, 2944}, | |
| 614 | + {10, 2946}, {10, 2948}, {10, 2950}, {10, 2952}, {10, 2954}, {10, 2956}, | |
| 615 | + {10, 2958}, {10, 2960}, {10, 2962}, {10, 2964}, {10, 2966}, {10, 2968}, | |
| 616 | + {10, 2970}, {10, 2972}, {10, 2974}, {10, 2976}, {10, 2978}, {10, 2980}, | |
| 617 | + {10, 2982}, {10, 2984}, {10, 2986}, {10, 2988}, {10, 2990}, {10, 2992}, | |
| 618 | + {10, 2994}, {10, 2996}, {10, 2998}, {10, 3000}, {10, 3002}, {10, 3004}, | |
| 619 | + {10, 3006}, {10, 3008}, {10, 3010}, {10, 3012}, {10, 3014}, {10, 3016}, | |
| 620 | + {10, 3018}, {10, 3020}, {10, 3022}, {10, 3024}, {10, 3026}, {10, 3028}, | |
| 621 | + {10, 3030}, {10, 3032}, {10, 3034}, {10, 3036}, {10, 3038}, {10, 3040}, | |
| 622 | + {10, 3042}, {10, 3044}, {10, 3046}, {10, 3048}, {10, 3050}, {10, 3052}, | |
| 623 | + {10, 3054}, {10, 3056}, {10, 3058}, {10, 3060}, {10, 3062}, {10, 3064}, | |
| 624 | + {10, 3066}, {10, 3068}, {10, 3070}, {10, 3072}, {10, 3074}, {10, 3076}, | |
| 625 | + {10, 3078}, {10, 3080}, {10, 3082}, {10, 3084}, {10, 3086}, {10, 3088}, | |
| 626 | + {10, 3090}, {10, 3092}, {10, 3094}, {10, 3096}, {10, 3098}, {10, 3100}, | |
| 627 | + {10, 3102}, {10, 3104}, {10, 3106}, {10, 3108}, {10, 3110}, {10, 3112}, | |
| 628 | + {10, 3114}, {10, 3116}, {10, 3118}, {10, 3120}, {10, 3122}, {10, 3124}, | |
| 629 | + {10, 3126}, {10, 3128}, {10, 3130}, {10, 3132}, {10, 3134}, {10, 3136}, | |
| 630 | + {10, 3138}, {10, 3140}, {10, 3142}, {10, 3144}, {10, 3146}, {10, 3148}, | |
| 631 | + {10, 3150}, {10, 3152}, {10, 3154}, {10, 3156}, {10, 3158}, {10, 3160}, | |
| 632 | + {10, 3162}, {10, 3164}, {10, 3166}, {10, 3168}, {10, 3170}, {10, 3172}, | |
| 633 | + {10, 3174}, {10, 3176}, {10, 3178}, {10, 3180}, {10, 3182}, {10, 3184}, | |
| 634 | + {10, 3186}, {10, 3188}, {10, 3190}, {10, 3192}, {10, 3194}, {10, 3196}, | |
| 635 | + {10, 3198}, {10, 3200}, {10, 3202}, {10, 3204}, {10, 3206}, {10, 3208}, | |
| 636 | + {10, 3210}, {10, 3212}, {10, 3214}, {10, 3216}, {10, 3218}, {10, 3220}, | |
| 637 | + {10, 3222}, {10, 3224}, {10, 3226}, {10, 3228}, {10, 3230}, {10, 3232}, | |
| 638 | + {10, 3234}, {10, 3236}, {10, 3238}, {10, 3240}, {10, 3242}, {10, 3244}, | |
| 639 | + {10, 3246}, {10, 3248}, {10, 3250}, {10, 3252}, {10, 3254}, {10, 3256}, | |
| 640 | + {10, 3258}, {10, 3260}, {10, 3262}, {10, 3264}, {10, 3266}, {10, 3268}, | |
| 641 | + {10, 3270}, {10, 3272}, {10, 3274}, {10, 3276}, {10, 3278}, {10, 3280}, | |
| 642 | + {10, 3282}, {10, 3284}, {10, 3286}, {10, 3288}, {10, 3290}, {10, 3292}, | |
| 643 | + {10, 3294}, {10, 3296}, {10, 3298}, {10, 3300}, {10, 3302}, {10, 3304}, | |
| 644 | + {10, 3306}, {10, 3308}, {10, 3310}, {10, 3312}, {10, 3314}, {10, 3316}, | |
| 645 | + {10, 3318}, {10, 3320}, {10, 3322}, {10, 3324}, {10, 3326}, {10, 3328}, | |
| 646 | + {10, 3330}, {10, 3332}, {10, 3334}, {10, 3336}, {10, 3338}, {10, 3340}, | |
| 647 | + {10, 3342}, {10, 3344}, {10, 3346}, {10, 3348}, {10, 3350}, {10, 3352}, | |
| 648 | + {10, 3354}, {10, 3356}, {10, 3358}, {10, 3360}, {10, 3362}, {10, 3364}, | |
| 649 | + {10, 3366}, {10, 3368}, {10, 3370}, {10, 3372}, {10, 3374}, {10, 3376}, | |
| 650 | + {10, 3378}, {10, 3380}, {10, 3382}, {10, 3384}, {10, 3386}, {10, 3388}, | |
| 651 | + {10, 3390}, {10, 3392}, {10, 3394}, {10, 3396}, {10, 3398}, {10, 3400}, | |
| 652 | + {10, 3402}, {10, 3404}, {10, 3406}, {10, 3408}, {10, 3410}, {10, 3412}, | |
| 653 | + {10, 3414}, {10, 3416}, {10, 3418}, {10, 3420}, {10, 3422}, {10, 3424}, | |
| 654 | + {10, 3426}, {10, 3428}, {10, 3430}, {10, 3432}, {10, 3434}, {10, 3436}, | |
| 655 | + {10, 3438}, {10, 3440}, {10, 3442}, {10, 3444}, {10, 3446}, {10, 3448}, | |
| 656 | + {10, 3450}, {10, 3452}, {10, 3454}, {10, 3456}, {10, 3458}, {10, 3460}, | |
| 657 | + {10, 3462}, {10, 3464}, {10, 3466}, {10, 3468}, {10, 3470}, {10, 3472}, | |
| 658 | + {10, 3474}, {10, 3476}, {10, 3478}, {10, 3480}, {10, 3482}, {10, 3484}, | |
| 659 | + {10, 3486}, {10, 3488}, {10, 3490}, {10, 3492}, {10, 3494}, {10, 3496}, | |
| 660 | + {10, 3498}, {10, 3500}, {10, 3502}, {10, 3504}, {10, 3506}, {10, 3508}, | |
| 661 | + {10, 3510}, {10, 3512}, {10, 3514}, {10, 3516}, {10, 3518}, {10, 3520}, | |
| 662 | + {10, 3522}, {10, 3524}, {10, 3526}, {10, 3528}, {10, 3530}, {10, 3532}, | |
| 663 | + {10, 3534}, {10, 3536}, {10, 3538}, {10, 3540}, {10, 3542}, {10, 3544}, | |
| 664 | + {10, 3546}, {10, 3548}, {10, 3550}, {10, 3552}, {10, 3554}, {10, 3556}, | |
| 665 | + {10, 3558}, {10, 3560}, {10, 3562}, {10, 3564}, {10, 3566}, {10, 3568}, | |
| 666 | + {10, 3570}, {10, 3572}, {10, 3574}, {10, 3576}, {10, 3578}, {10, 3580}, | |
| 667 | + {10, 3582}, {10, 3584}, {10, 3586}, {10, 3588}, {10, 3590}, {10, 3592}, | |
| 668 | + {10, 3594}, {10, 3596}, {10, 3598}, {10, 3600}, {10, 3602}, {10, 3604}, | |
| 669 | + {10, 3606}, {10, 3608}, {10, 3610}, {10, 3612}, {10, 3614}, {10, 3616}, | |
| 670 | + {10, 3618}, {10, 3620}, {10, 3622}, {10, 3624}, {10, 3626}, {10, 3628}, | |
| 671 | + {10, 3630}, {10, 3632}, {10, 3634}, {10, 3636}, {10, 3638}, {10, 3640}, | |
| 672 | + {10, 3642}, {10, 3644}, {10, 3646}, {10, 3648}, {10, 3650}, {10, 3652}, | |
| 673 | + {10, 3654}, {10, 3656}, {10, 3658}, {10, 3660}, {10, 3662}, {10, 3664}, | |
| 674 | + {10, 3666}, {10, 3668}, {10, 3670}, {10, 3672}, {10, 3674}, {10, 3676}, | |
| 675 | + {10, 3678}, {10, 3680}, {10, 3682}, {10, 3684}, {10, 3686}, {10, 3688}, | |
| 676 | + {10, 3690}, {10, 3692}, {10, 3694}, {10, 3696}, {10, 3698}, {10, 3700}, | |
| 677 | + {10, 3702}, {10, 3704}, {10, 3706}, {10, 3708}, {10, 3710}, {10, 3712}, | |
| 678 | + {10, 3714}, {10, 3716}, {10, 3718}, {10, 3720}, {10, 3722}, {10, 3724}, | |
| 679 | + {10, 3726}, {10, 3728}, {10, 3730}, {10, 3732}, {10, 3734}, {10, 3736}, | |
| 680 | + {10, 3738}, {10, 3740}, {10, 3742}, {10, 3744}, {10, 3746}, {10, 3748}, | |
| 681 | + {10, 3750}, {10, 3752}, {10, 3754}, {10, 3756}, {10, 3758}, {10, 3760}, | |
| 682 | + {10, 3762}, {10, 3764}, {10, 3766}, {10, 3768}, {10, 3770}, {10, 3772}, | |
| 683 | + {10, 3774}, {10, 3776}, {10, 3778}, {10, 3780}, {10, 3782}, {10, 3784}, | |
| 684 | + {10, 3786}, {10, 3788}, {10, 3790}, {10, 3792}, {10, 3794}, {10, 3796}, | |
| 685 | + {10, 3798}, {10, 3800}, {10, 3802}, {10, 3804}, {10, 3806}, {10, 3808}, | |
| 686 | + {10, 3810}, {10, 3812}, {10, 3814}, {10, 3816}, {10, 3818}, {10, 3820}, | |
| 687 | + {10, 3822}, {10, 3824}, {10, 3826}, {10, 3828}, {10, 3830}, {10, 3832}, | |
| 688 | + {10, 3834}, {10, 3836}, {10, 3838}, {10, 3840}, {10, 3842}, {10, 3844}, | |
| 689 | + {10, 3846}, {10, 3848}, {10, 3850}, {10, 3852}, {10, 3854}, {10, 3856}, | |
| 690 | + {10, 3858}, {10, 3860}, {10, 3862}, {10, 3864}, {10, 3866}, {10, 3868}, | |
| 691 | + {10, 3870}, {10, 3872}, {10, 3874}, {10, 3876}, {10, 3878}, {10, 3880}, | |
| 692 | + {10, 3882}, {10, 3884}, {10, 3886}, {10, 3888}, {10, 3890}, {10, 3892}, | |
| 693 | + {10, 3894}, {10, 3896}, {10, 3898}, {10, 3900}, {10, 3902}, {10, 3904}, | |
| 694 | + {10, 3906}, {10, 3908}, {10, 3910}, {10, 3912}, {10, 3914}, {10, 3916}, | |
| 695 | + {10, 3918}, {10, 3920}, {10, 3922}, {10, 3924}, {10, 3926}, {10, 3928}, | |
| 696 | + {10, 3930}, {10, 3932}, {10, 3934}, {10, 3936}, {10, 3938}, {10, 3940}, | |
| 697 | + {10, 3942}, {10, 3944}, {10, 3946}, {10, 3948}, {10, 3950}, {10, 3952}, | |
| 698 | + {10, 3954}, {10, 3956}, {10, 3958}, {10, 3960} | |
| 699 | +}; | |
| @@ -8,23 +8,23 @@ · 7 unmodified lines | ||
| 8 | 8 | * be found in the AUTHORS file in the root of the source tree. |
| 9 | 9 | */ |
| 10 | 10 | |
| 11 | −#include "math.h" | |
| 12 | −#include "limits.h" | |
| 11 | +#include <math.h> | |
| 12 | +#include <limits.h> | |
| 13 | +#include <stdio.h> | |
| 14 | + | |
| 13 | 15 | #include "block.h" |
| 14 | 16 | #include "onyx_int.h" |
| 15 | 17 | #include "vp8/common/variance.h" |
| 16 | 18 | #include "encodeintra.h" |
| 17 | 19 | #include "vp8/common/setupintrarecon.h" |
| 20 | +#include "vp8/common/systemdependent.h" | |
| 18 | 21 | #include "mcomp.h" |
| 19 | 22 | #include "firstpass.h" |
| 20 | 23 | #include "vpx_scale/vpxscale.h" |
| 21 | 24 | #include "encodemb.h" |
| 22 | 25 | #include "vp8/common/extend.h" |
| 23 | −#include "vp8/common/systemdependent.h" | |
| 24 | −#include "vpx_scale/yv12extend.h" | |
| 25 | 26 | #include "vpx_mem/vpx_mem.h" |
| 26 | 27 | #include "vp8/common/swapyv12buffer.h" |
| 27 | −#include <stdio.h> | |
| 28 | 28 | #include "rdopt.h" |
| 29 | 29 | #include "vp8/common/quant_common.h" |
| 30 | 30 | #include "encodemv.h" |
| @@ -828,7 +828,7 @@ skip_motion_search: · 797 unmodified lines | ||
| 828 | 828 | (cpi->twopass.this_frame_stats.pcnt_inter > 0.20) && |
| 829 | 829 | ((cpi->twopass.this_frame_stats.intra_error / cpi->twopass.this_frame_stats.coded_error) > 2.0)) |
| 830 | 830 | { |
| 831 | − vp8_yv12_copy_frame_ptr(lst_yv12, gld_yv12); | |
| 831 | + vp8_yv12_copy_frame(lst_yv12, gld_yv12); | |
| 832 | 832 | } |
| 833 | 833 | |
| 834 | 834 | // swap frame pointers so last frame refers to the frame we just compressed |
| @@ -838,7 +838,7 @@ skip_motion_search: · 3 unmodified lines | ||
| 838 | 838 | // Special case for the first frame. Copy into the GF buffer as a second reference. |
| 839 | 839 | if (cm->current_video_frame == 0) |
| 840 | 840 | { |
| 841 | − vp8_yv12_copy_frame_ptr(lst_yv12, gld_yv12); | |
| 841 | + vp8_yv12_copy_frame(lst_yv12, gld_yv12); | |
| 842 | 842 | } |
| 843 | 843 | |
| 844 | 844 | |
| @@ -23,7 +23,6 @@ · 22 unmodified lines | ||
| 23 | 23 | #include "ratectrl.h" |
| 24 | 24 | #include "vp8/common/quant_common.h" |
| 25 | 25 | #include "segmentation.h" |
| 26 | −#include "vpx_scale/yv12extend.h" | |
| 27 | 26 | #if CONFIG_POSTPROC |
| 28 | 27 | #include "vp8/common/postproc.h" |
| 29 | 28 | #endif |
| @@ -211,19 +210,6 @@ static const unsigned char inter_minq[QINDEX_RANGE] = · 181 unmodified lines | ||
| 211 | 210 | 86,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100 |
| 212 | 211 | }; |
| 213 | 212 | |
| 214 | −void vp8_initialize() | |
| 215 | −{ | |
| 216 | − static int init_done = 0; | |
| 217 | − | |
| 218 | − if (!init_done) | |
| 219 | − { | |
| 220 | − vp8_scale_machine_specific_config(); | |
| 221 | − vp8_initialize_common(); | |
| 222 | − vp8_tokenize_initialize(); | |
| 223 | − | |
| 224 | − init_done = 1; | |
| 225 | − } | |
| 226 | −} | |
| 227 | 213 | #ifdef PACKET_TESTING |
| 228 | 214 | extern FILE *vpxlogc; |
| 229 | 215 | #endif |
| @@ -591,7 +577,7 @@ static void set_default_lf_deltas(VP8_COMP *cpi) · 361 unmodified lines | ||
| 591 | 577 | #define GOOD(x) (x+1) |
| 592 | 578 | #define RT(x) (x+7) |
| 593 | 579 | |
| 594 | −static int speed_map(int speed, int *map) | |
| 580 | +static int speed_map(int speed, const int *map) | |
| 595 | 581 | { |
| 596 | 582 | int res; |
| 597 | 583 | |
| @@ -602,73 +588,73 @@ static int speed_map(int speed, int *map) · 4 unmodified lines | ||
| 602 | 588 | return res; |
| 603 | 589 | } |
| 604 | 590 | |
| 605 | −static int thresh_mult_map_znn[] = { | |
| 591 | +static const int thresh_mult_map_znn[] = { | |
| 606 | 592 | /* map common to zero, nearest, and near */ |
| 607 | 593 | 0, GOOD(2), 1500, GOOD(3), 2000, RT(0), 1000, RT(2), 2000, INT_MAX |
| 608 | 594 | }; |
| 609 | 595 | |
| 610 | −static int thresh_mult_map_vhpred[] = { | |
| 596 | +static const int thresh_mult_map_vhpred[] = { | |
| 611 | 597 | 1000, GOOD(2), 1500, GOOD(3), 2000, RT(0), 1000, RT(1), 2000, |
| 612 | 598 | RT(7), INT_MAX, INT_MAX |
| 613 | 599 | }; |
| 614 | 600 | |
| 615 | −static int thresh_mult_map_bpred[] = { | |
| 601 | +static const int thresh_mult_map_bpred[] = { | |
| 616 | 602 | 2000, GOOD(0), 2500, GOOD(2), 5000, GOOD(3), 7500, RT(0), 2500, RT(1), 5000, |
| 617 | 603 | RT(6), INT_MAX, INT_MAX |
| 618 | 604 | }; |
| 619 | 605 | |
| 620 | −static int thresh_mult_map_tm[] = { | |
| 606 | +static const int thresh_mult_map_tm[] = { | |
| 621 | 607 | 1000, GOOD(2), 1500, GOOD(3), 2000, RT(0), 0, RT(1), 1000, RT(2), 2000, |
| 622 | 608 | RT(7), INT_MAX, INT_MAX |
| 623 | 609 | }; |
| 624 | 610 | |
| 625 | −static int thresh_mult_map_new1[] = { | |
| 611 | +static const int thresh_mult_map_new1[] = { | |
| 626 | 612 | 1000, GOOD(2), 2000, RT(0), 2000, INT_MAX |
| 627 | 613 | }; |
| 628 | 614 | |
| 629 | −static int thresh_mult_map_new2[] = { | |
| 615 | +static const int thresh_mult_map_new2[] = { | |
| 630 | 616 | 1000, GOOD(2), 2000, GOOD(3), 2500, GOOD(5), 4000, RT(0), 2000, RT(2), 2500, |
| 631 | 617 | RT(5), 4000, INT_MAX |
| 632 | 618 | }; |
| 633 | 619 | |
| 634 | −static int thresh_mult_map_split1[] = { | |
| 620 | +static const int thresh_mult_map_split1[] = { | |
| 635 | 621 | 2500, GOOD(0), 1700, GOOD(2), 10000, GOOD(3), 25000, GOOD(4), INT_MAX, |
| 636 | 622 | RT(0), 5000, RT(1), 10000, RT(2), 25000, RT(3), INT_MAX, INT_MAX |
| 637 | 623 | }; |
| 638 | 624 | |
| 639 | −static int thresh_mult_map_split2[] = { | |
| 625 | +static const int thresh_mult_map_split2[] = { | |
| 640 | 626 | 5000, GOOD(0), 4500, GOOD(2), 20000, GOOD(3), 50000, GOOD(4), INT_MAX, |
| 641 | 627 | RT(0), 10000, RT(1), 20000, RT(2), 50000, RT(3), INT_MAX, INT_MAX |
| 642 | 628 | }; |
| 643 | 629 | |
| 644 | −static int mode_check_freq_map_zn2[] = { | |
| 630 | +static const int mode_check_freq_map_zn2[] = { | |
| 645 | 631 | /* {zero,nearest}{2,3} */ |
| 646 | 632 | 0, RT(10), 1<<1, RT(11), 1<<2, RT(12), 1<<3, INT_MAX |
| 647 | 633 | }; |
| 648 | 634 | |
| 649 | −static int mode_check_freq_map_vhbpred[] = { | |
| 635 | +static const int mode_check_freq_map_vhbpred[] = { | |
| 650 | 636 | 0, GOOD(5), 2, RT(0), 0, RT(3), 2, RT(5), 4, INT_MAX |
| 651 | 637 | }; |
| 652 | 638 | |
| 653 | −static int mode_check_freq_map_near2[] = { | |
| 639 | +static const int mode_check_freq_map_near2[] = { | |
| 654 | 640 | 0, GOOD(5), 2, RT(0), 0, RT(3), 2, RT(10), 1<<2, RT(11), 1<<3, RT(12), 1<<4, |
| 655 | 641 | INT_MAX |
| 656 | 642 | }; |
| 657 | 643 | |
| 658 | −static int mode_check_freq_map_new1[] = { | |
| 644 | +static const int mode_check_freq_map_new1[] = { | |
| 659 | 645 | 0, RT(10), 1<<1, RT(11), 1<<2, RT(12), 1<<3, INT_MAX |
| 660 | 646 | }; |
| 661 | 647 | |
| 662 | −static int mode_check_freq_map_new2[] = { | |
| 648 | +static const int mode_check_freq_map_new2[] = { | |
| 663 | 649 | 0, GOOD(5), 4, RT(0), 0, RT(3), 4, RT(10), 1<<3, RT(11), 1<<4, RT(12), 1<<5, |
| 664 | 650 | INT_MAX |
| 665 | 651 | }; |
| 666 | 652 | |
| 667 | −static int mode_check_freq_map_split1[] = { | |
| 653 | +static const int mode_check_freq_map_split1[] = { | |
| 668 | 654 | 0, GOOD(2), 2, GOOD(3), 7, RT(1), 2, RT(2), 7, INT_MAX |
| 669 | 655 | }; |
| 670 | 656 | |
| 671 | −static int mode_check_freq_map_split2[] = { | |
| 657 | +static const int mode_check_freq_map_split2[] = { | |
| 672 | 658 | 0, GOOD(1), 2, GOOD(2), 4, GOOD(3), 15, RT(1), 4, RT(2), 15, INT_MAX |
| 673 | 659 | }; |
| 674 | 660 | |
| @@ -2521,7 +2507,7 @@ int vp8_get_reference(VP8_COMP *cpi, VP8_REFFRAME ref_frame_flag, YV12_BUFFER_CO · 1846 unmodified lines | ||
| 2521 | 2507 | else |
| 2522 | 2508 | return -1; |
| 2523 | 2509 | |
| 2524 | − vp8_yv12_copy_frame_ptr(&cm->yv12_fb[ref_fb_idx], sd); | |
| 2510 | + vp8_yv12_copy_frame(&cm->yv12_fb[ref_fb_idx], sd); | |
| 2525 | 2511 | |
| 2526 | 2512 | return 0; |
| 2527 | 2513 | } |
| @@ -2540,7 +2526,7 @@ int vp8_set_reference(VP8_COMP *cpi, VP8_REFFRAME ref_frame_flag, YV12_BUFFER_CO · 12 unmodified lines | ||
| 2540 | 2526 | else |
| 2541 | 2527 | return -1; |
| 2542 | 2528 | |
| 2543 | − vp8_yv12_copy_frame_ptr(sd, &cm->yv12_fb[ref_fb_idx]); | |
| 2529 | + vp8_yv12_copy_frame(sd, &cm->yv12_fb[ref_fb_idx]); | |
| 2544 | 2530 | |
| 2545 | 2531 | return 0; |
| 2546 | 2532 | } |
| @@ -3158,7 +3144,7 @@ void vp8_loopfilter_frame(VP8_COMP *cpi, VP8_COMMON *cm) · 611 unmodified lines | ||
| 3158 | 3144 | vp8_loop_filter_frame(cm, &cpi->mb.e_mbd); |
| 3159 | 3145 | } |
| 3160 | 3146 | |
| 3161 | − vp8_yv12_extend_frame_borders_ptr(cm->frame_to_show); | |
| 3147 | + vp8_yv12_extend_frame_borders(cm->frame_to_show); | |
| 3162 | 3148 | #if CONFIG_TEMPORAL_DENOISING |
| 3163 | 3149 | if (cpi->oxcf.noise_sensitivity) |
| 3164 | 3150 | { |
| @@ -13,7 +13,6 @@ · 12 unmodified lines | ||
| 13 | 13 | #include "onyx_int.h" |
| 14 | 14 | #include "quantize.h" |
| 15 | 15 | #include "vpx_mem/vpx_mem.h" |
| 16 | −#include "vpx_scale/yv12extend.h" | |
| 17 | 16 | #include "vpx_scale/vpxscale.h" |
| 18 | 17 | #include "vp8/common/alloccommon.h" |
| 19 | 18 | #include "vp8/common/loopfilter.h" |
| @@ -302,7 +301,7 @@ void vp8cx_pick_filter_level(YV12_BUFFER_CONFIG *sd, VP8_COMP *cpi) · 282 unmodified lines | ||
| 302 | 301 | // Get baseline error score |
| 303 | 302 | |
| 304 | 303 | /* Copy the unfiltered / processed recon buffer to the new buffer */ |
| 305 | − vp8_yv12_copy_y_ptr(saved_frame, cm->frame_to_show); | |
| 304 | + vp8_yv12_copy_y(saved_frame, cm->frame_to_show); | |
| 306 | 305 | |
| 307 | 306 | vp8cx_set_alt_lf_level(cpi, filt_mid); |
| 308 | 307 | vp8_loop_filter_frame_yonly(cm, &cpi->mb.e_mbd, filt_mid); |
| @@ -329,7 +328,7 @@ void vp8cx_pick_filter_level(YV12_BUFFER_CONFIG *sd, VP8_COMP *cpi) · 20 unmodified lines | ||
| 329 | 328 | if(ss_err[filt_low] == 0) |
| 330 | 329 | { |
| 331 | 330 | // Get Low filter error score |
| 332 | − vp8_yv12_copy_y_ptr(saved_frame, cm->frame_to_show); | |
| 331 | + vp8_yv12_copy_y(saved_frame, cm->frame_to_show); | |
| 333 | 332 | vp8cx_set_alt_lf_level(cpi, filt_low); |
| 334 | 333 | vp8_loop_filter_frame_yonly(cm, &cpi->mb.e_mbd, filt_low); |
| 335 | 334 | |
| @@ -355,7 +354,7 @@ void vp8cx_pick_filter_level(YV12_BUFFER_CONFIG *sd, VP8_COMP *cpi) · 19 unmodified lines | ||
| 355 | 354 | { |
| 356 | 355 | if(ss_err[filt_high] == 0) |
| 357 | 356 | { |
| 358 | − vp8_yv12_copy_y_ptr(saved_frame, cm->frame_to_show); | |
| 357 | + vp8_yv12_copy_y(saved_frame, cm->frame_to_show); | |
| 359 | 358 | vp8cx_set_alt_lf_level(cpi, filt_high); |
| 360 | 359 | vp8_loop_filter_frame_yonly(cm, &cpi->mb.e_mbd, filt_high); |
| 361 | 360 | |
| @@ -22,7 +22,6 @@ · 21 unmodified lines | ||
| 22 | 22 | #include "ratectrl.h" |
| 23 | 23 | #include "vp8/common/quant_common.h" |
| 24 | 24 | #include "segmentation.h" |
| 25 | −#include "vpx_scale/yv12extend.h" | |
| 26 | 25 | #include "vpx_mem/vpx_mem.h" |
| 27 | 26 | #include "vp8/common/swapyv12buffer.h" |
| 28 | 27 | #include "vp8/common/threading.h" |
| @@ -26,19 +26,25 @@ _int64 context_counters[BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [MAX_ENTR · 25 unmodified lines | ||
| 26 | 26 | void vp8_stuff_mb(VP8_COMP *cpi, MACROBLOCKD *x, TOKENEXTRA **t) ; |
| 27 | 27 | void vp8_fix_contexts(MACROBLOCKD *x); |
| 28 | 28 | |
| 29 | −static TOKENVALUE dct_value_tokens[DCT_MAX_VALUE*2]; | |
| 30 | −const TOKENVALUE *vp8_dct_value_tokens_ptr; | |
| 31 | −static int dct_value_cost[DCT_MAX_VALUE*2]; | |
| 32 | −const int *vp8_dct_value_cost_ptr; | |
| 29 | +#include "dct_value_tokens.h" | |
| 30 | +#include "dct_value_cost.h" | |
| 31 | + | |
| 32 | +const TOKENVALUE *const vp8_dct_value_tokens_ptr = dct_value_tokens + | |
| 33 | + DCT_MAX_VALUE; | |
| 34 | +const short *const vp8_dct_value_cost_ptr = dct_value_cost + DCT_MAX_VALUE; | |
| 35 | + | |
| 33 | 36 | #if 0 |
| 34 | 37 | int skip_true_count = 0; |
| 35 | 38 | int skip_false_count = 0; |
| 36 | 39 | #endif |
| 40 | + | |
| 41 | +/* function used to generate dct_value_tokens and dct_value_cost tables */ | |
| 42 | +/* | |
| 37 | 43 | static void fill_value_tokens() |
| 38 | 44 | { |
| 39 | 45 | |
| 40 | − TOKENVALUE *const t = dct_value_tokens + DCT_MAX_VALUE; | |
| 41 | − vp8_extra_bit_struct *const e = vp8_extra_bits; | |
| 46 | + TOKENVALUE *t = dct_value_tokens + DCT_MAX_VALUE; | |
| 47 | + const vp8_extra_bit_struct *e = vp8_extra_bits; | |
| 42 | 48 | |
| 43 | 49 | int i = -DCT_MAX_VALUE; |
| 44 | 50 | int sign = 1; |
| @@ -70,7 +76,7 @@ static void fill_value_tokens() · 25 unmodified lines | ||
| 70 | 76 | // initialize the cost for extra bits for all possible coefficient value. |
| 71 | 77 | { |
| 72 | 78 | int cost = 0; |
| 73 | − vp8_extra_bit_struct *p = vp8_extra_bits + t[i].Token; | |
| 79 | + const vp8_extra_bit_struct *p = vp8_extra_bits + t[i].Token; | |
| 74 | 80 | |
| 75 | 81 | if (p->base_val) |
| 76 | 82 | { |
| @@ -80,7 +86,7 @@ static void fill_value_tokens() · 3 unmodified lines | ||
| 80 | 86 | if (Length) |
| 81 | 87 | cost += vp8_treed_cost(p->tree, p->prob, extra >> 1, Length); |
| 82 | 88 | |
| 83 | − cost += vp8_cost_bit(vp8_prob_half, extra & 1); /* sign */ | |
| 89 | + cost += vp8_cost_bit(vp8_prob_half, extra & 1); // sign | |
| 84 | 90 | dct_value_cost[i + DCT_MAX_VALUE] = cost; |
| 85 | 91 | } |
| 86 | 92 | |
| @@ -92,6 +98,7 @@ static void fill_value_tokens() · 5 unmodified lines | ||
| 92 | 98 | vp8_dct_value_tokens_ptr = dct_value_tokens + DCT_MAX_VALUE; |
| 93 | 99 | vp8_dct_value_cost_ptr = dct_value_cost + DCT_MAX_VALUE; |
| 94 | 100 | } |
| 101 | +*/ | |
| 95 | 102 | |
| 96 | 103 | static void tokenize2nd_order_b |
| 97 | 104 | ( |
| @@ -476,12 +483,6 @@ void print_context_counters() · 378 unmodified lines | ||
| 476 | 483 | #endif |
| 477 | 484 | |
| 478 | 485 | |
| 479 | −void vp8_tokenize_initialize() | |
| 480 | −{ | |
| 481 | − fill_value_tokens(); | |
| 482 | −} | |
| 483 | − | |
| 484 | − | |
| 485 | 486 | static void stuff2nd_order_b |
| 486 | 487 | ( |
| 487 | 488 | TOKENEXTRA **tp, |
| @@ -40,11 +40,11 @@ void print_context_counters(); · 39 unmodified lines | ||
| 40 | 40 | extern _int64 context_counters[BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [MAX_ENTROPY_TOKENS]; |
| 41 | 41 | #endif |
| 42 | 42 | |
| 43 | −extern const int *vp8_dct_value_cost_ptr; | |
| 43 | +extern const short *const vp8_dct_value_cost_ptr; | |
| 44 | 44 | /* TODO: The Token field should be broken out into a separate char array to |
| 45 | 45 | * improve cache locality, since it's needed for costing when the rest of the |
| 46 | 46 | * fields are not. |
| 47 | 47 | */ |
| 48 | −extern const TOKENVALUE *vp8_dct_value_tokens_ptr; | |
| 48 | +extern const TOKENVALUE *const vp8_dct_value_tokens_ptr; | |
| 49 | 49 | |
| 50 | 50 | #endif /* tokenize_h */ |
| @@ -23,11 +23,11 @@ void vp8_short_fdct8x4_mmx(short *input, short *output, int pitch) · 22 unmodified lines | ||
| 23 | 23 | |
| 24 | 24 | int vp8_fast_quantize_b_impl_mmx(short *coeff_ptr, short *zbin_ptr, |
| 25 | 25 | short *qcoeff_ptr, short *dequant_ptr, |
| 26 | − short *scan_mask, short *round_ptr, | |
| 26 | + const short *scan_mask, short *round_ptr, | |
| 27 | 27 | short *quant_ptr, short *dqcoeff_ptr); |
| 28 | 28 | void vp8_fast_quantize_b_mmx(BLOCK *b, BLOCKD *d) |
| 29 | 29 | { |
| 30 | − short *scan_mask = vp8_default_zig_zag_mask;//d->scan_order_mask_ptr; | |
| 30 | + const short *scan_mask = vp8_default_zig_zag_mask; | |
| 31 | 31 | short *coeff_ptr = b->coeff; |
| 32 | 32 | short *zbin_ptr = b->zbin; |
| 33 | 33 | short *round_ptr = b->round; |
| @@ -59,7 +59,6 @@ VP8_COMMON_SRCS-yes += common/loopfilter.c · 58 unmodified lines | ||
| 59 | 59 | VP8_COMMON_SRCS-yes += common/loopfilter_filters.c |
| 60 | 60 | VP8_COMMON_SRCS-yes += common/mbpitch.c |
| 61 | 61 | VP8_COMMON_SRCS-yes += common/modecont.c |
| 62 | −VP8_COMMON_SRCS-yes += common/modecontext.c | |
| 63 | 62 | VP8_COMMON_SRCS-yes += common/quant_common.c |
| 64 | 63 | VP8_COMMON_SRCS-yes += common/reconinter.c |
| 65 | 64 | VP8_COMMON_SRCS-yes += common/reconintra.c |
| @@ -69,6 +68,7 @@ VP8_COMMON_SRCS-yes += common/setupintrarecon.c · 3 unmodified lines | ||
| 69 | 68 | VP8_COMMON_SRCS-yes += common/swapyv12buffer.c |
| 70 | 69 | VP8_COMMON_SRCS-yes += common/variance_c.c |
| 71 | 70 | VP8_COMMON_SRCS-yes += common/variance.h |
| 71 | +VP8_COMMON_SRCS-yes += common/vp8_entropymodedata.h | |
| 72 | 72 | |
| 73 | 73 | |
| 74 | 74 | |
| @@ -628,8 +628,6 @@ static vpx_codec_err_t vp8e_init(vpx_codec_ctx_t *ctx, · 627 unmodified lines | ||
| 628 | 628 | |
| 629 | 629 | priv->deprecated_mode = NO_MODE_SET; |
| 630 | 630 | |
| 631 | − vp8_initialize(); | |
| 632 | − | |
| 633 | 631 | res = validate_config(priv, &priv->cfg, &priv->vp8_cfg, 0); |
| 634 | 632 | |
| 635 | 633 | if (!res) |
| @@ -391,8 +391,6 @@ static vpx_codec_err_t vp8_decode(vpx_codec_alg_priv_t *ctx, · 390 unmodified lines | ||
| 391 | 391 | VP8D_CONFIG oxcf; |
| 392 | 392 | struct VP8D_COMP* optr; |
| 393 | 393 | |
| 394 | − vp8dx_initialize(); | |
| 395 | − | |
| 396 | 394 | oxcf.Width = ctx->si.w; |
| 397 | 395 | oxcf.Height = ctx->si.h; |
| 398 | 396 | oxcf.Version = 9; |
| @@ -78,6 +78,8 @@ VP8_CX_SRCS-yes += encoder/segmentation.c · 77 unmodified lines | ||
| 78 | 78 | VP8_CX_SRCS-yes += encoder/segmentation.h |
| 79 | 79 | VP8_CX_SRCS-$(CONFIG_INTERNAL_STATS) += encoder/ssim.c |
| 80 | 80 | VP8_CX_SRCS-yes += encoder/tokenize.c |
| 81 | +VP8_CX_SRCS-yes += encoder/dct_value_cost.h | |
| 82 | +VP8_CX_SRCS-yes += encoder/dct_value_tokens.h | |
| 81 | 83 | VP8_CX_SRCS-yes += encoder/treewriter.c |
| 82 | 84 | VP8_CX_SRCS-$(CONFIG_INTERNAL_STATS) += common/postproc.h |
| 83 | 85 | VP8_CX_SRCS-$(CONFIG_INTERNAL_STATS) += common/postproc.c |
| @@ -1,30 +0,0 @@ | ||
| 1 | −/* | |
| 2 | − * Copyright (c) 2010 The WebM project authors. All Rights Reserved. | |
| 3 | − * | |
| 4 | − * Use of this source code is governed by a BSD-style license | |
| 5 | − * that can be found in the LICENSE file in the root of the source | |
| 6 | − * tree. An additional intellectual property rights grant can be found | |
| 7 | − * in the file PATENTS. All contributing project authors may | |
| 8 | − * be found in the AUTHORS file in the root of the source tree. | |
| 9 | − */ | |
| 10 | − | |
| 11 | − | |
| 12 | −#include "vpx_config.h" | |
| 13 | −#include "vpx_ports/arm.h" | |
| 14 | −#include "vpx_scale/vpxscale.h" | |
| 15 | −#include "vpx_scale/yv12extend.h" | |
| 16 | − | |
| 17 | −void vp8_arch_arm_vpx_scale_init() | |
| 18 | −{ | |
| 19 | −#if HAVE_NEON | |
| 20 | −#if CONFIG_RUNTIME_CPU_DETECT | |
| 21 | − int flags = arm_cpu_caps(); | |
| 22 | − if (flags & HAS_NEON) | |
| 23 | −#endif | |
| 24 | − { | |
| 25 | − vp8_yv12_extend_frame_borders_ptr = vp8_yv12_extend_frame_borders_neon; | |
| 26 | − vp8_yv12_copy_y_ptr = vp8_yv12_copy_y_neon; | |
| 27 | − vp8_yv12_copy_frame_ptr = vp8_yv12_copy_frame_neon; | |
| 28 | − } | |
| 29 | −#endif | |
| 30 | −} | |
| @@ -1,28 +0,0 @@ | ||
| 1 | −/* | |
| 2 | − * Copyright (c) 2010 The WebM project authors. All Rights Reserved. | |
| 3 | − * | |
| 4 | − * Use of this source code is governed by a BSD-style license | |
| 5 | − * that can be found in the LICENSE file in the root of the source | |
| 6 | − * tree. An additional intellectual property rights grant can be found | |
| 7 | − * in the file PATENTS. All contributing project authors may | |
| 8 | − * be found in the AUTHORS file in the root of the source tree. | |
| 9 | − */ | |
| 10 | − | |
| 11 | − | |
| 12 | −#ifndef YV12_EXTEND_ARM_H | |
| 13 | −#define YV12_EXTEND_ARM_H | |
| 14 | − | |
| 15 | −#include "vpx_config.h" | |
| 16 | −#include "vpx_scale/yv12config.h" | |
| 17 | − | |
| 18 | −#if HAVE_NEON | |
| 19 | − void vp8_yv12_extend_frame_borders_neon(YV12_BUFFER_CONFIG *ybf); | |
| 20 | − | |
| 21 | − /* Copy Y,U,V buffer data from src to dst, filling border of dst as well. */ | |
| 22 | − void vp8_yv12_copy_frame_neon(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc); | |
| 23 | − | |
| 24 | − /* Copy Y buffer data from src_ybc to dst_ybc without filling border data */ | |
| 25 | − void vp8_yv12_copy_y_neon(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc); | |
| 26 | −#endif | |
| 27 | − | |
| 28 | −#endif /* YV12_EXTEND_ARM_H */ | |
| @@ -17,7 +17,7 @@ · 16 unmodified lines | ||
| 17 | 17 | |
| 18 | 18 | /**************************************************************************** |
| 19 | 19 | * |
| 20 | − * ROUTINE : vp8cx_horizontal_line_4_5_scale_c | |
| 20 | + * ROUTINE : vp8_horizontal_line_4_5_scale_c | |
| 21 | 21 | * |
| 22 | 22 | * INPUTS : const unsigned char *source : Pointer to source data. |
| 23 | 23 | * unsigned int source_width : Stride of source. |
| @@ -34,7 +34,7 @@ · 10 unmodified lines | ||
| 34 | 34 | * SPECIAL NOTES : None. |
| 35 | 35 | * |
| 36 | 36 | ****************************************************************************/ |
| 37 | −void vp8cx_horizontal_line_4_5_scale_c | |
| 37 | +void vp8_horizontal_line_4_5_scale_c | |
| 38 | 38 | ( |
| 39 | 39 | const unsigned char *source, |
| 40 | 40 | unsigned int source_width, |
| @@ -80,7 +80,7 @@ void vp8cx_horizontal_line_4_5_scale_c · 39 unmodified lines | ||
| 80 | 80 | |
| 81 | 81 | /**************************************************************************** |
| 82 | 82 | * |
| 83 | − * ROUTINE : vp8cx_vertical_band_4_5_scale_c | |
| 83 | + * ROUTINE : vp8_vertical_band_4_5_scale_c | |
| 84 | 84 | * |
| 85 | 85 | * INPUTS : unsigned char *dest : Pointer to destination data. |
| 86 | 86 | * unsigned int dest_pitch : Stride of destination data. |
| @@ -97,7 +97,7 @@ void vp8cx_horizontal_line_4_5_scale_c · 10 unmodified lines | ||
| 97 | 97 | * the current band. |
| 98 | 98 | * |
| 99 | 99 | ****************************************************************************/ |
| 100 | −void vp8cx_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 100 | +void vp8_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 101 | 101 | { |
| 102 | 102 | unsigned int i; |
| 103 | 103 | unsigned int a, b, c, d; |
| @@ -126,7 +126,7 @@ void vp8cx_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitc · 22 unmodified lines | ||
| 126 | 126 | |
| 127 | 127 | /**************************************************************************** |
| 128 | 128 | * |
| 129 | − * ROUTINE : vp8cx_last_vertical_band_4_5_scale_c | |
| 129 | + * ROUTINE : vp8_last_vertical_band_4_5_scale_c | |
| 130 | 130 | * |
| 131 | 131 | * INPUTS : unsigned char *dest : Pointer to destination data. |
| 132 | 132 | * unsigned int dest_pitch : Stride of destination data. |
| @@ -144,7 +144,7 @@ void vp8cx_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitc · 11 unmodified lines | ||
| 144 | 144 | * last band. |
| 145 | 145 | * |
| 146 | 146 | ****************************************************************************/ |
| 147 | −void vp8cx_last_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 147 | +void vp8_last_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 148 | 148 | { |
| 149 | 149 | unsigned int i; |
| 150 | 150 | unsigned int a, b, c, d; |
| @@ -172,7 +172,7 @@ void vp8cx_last_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest · 21 unmodified lines | ||
| 172 | 172 | |
| 173 | 173 | /**************************************************************************** |
| 174 | 174 | * |
| 175 | − * ROUTINE : vp8cx_horizontal_line_2_3_scale_c | |
| 175 | + * ROUTINE : vp8_horizontal_line_2_3_scale_c | |
| 176 | 176 | * |
| 177 | 177 | * INPUTS : const unsigned char *source : Pointer to source data. |
| 178 | 178 | * unsigned int source_width : Stride of source. |
| @@ -190,7 +190,7 @@ void vp8cx_last_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest · 11 unmodified lines | ||
| 190 | 190 | * |
| 191 | 191 | * |
| 192 | 192 | ****************************************************************************/ |
| 193 | −void vp8cx_horizontal_line_2_3_scale_c | |
| 193 | +void vp8_horizontal_line_2_3_scale_c | |
| 194 | 194 | ( |
| 195 | 195 | const unsigned char *source, |
| 196 | 196 | unsigned int source_width, |
| @@ -229,7 +229,7 @@ void vp8cx_horizontal_line_2_3_scale_c · 32 unmodified lines | ||
| 229 | 229 | |
| 230 | 230 | /**************************************************************************** |
| 231 | 231 | * |
| 232 | − * ROUTINE : vp8cx_vertical_band_2_3_scale_c | |
| 232 | + * ROUTINE : vp8_vertical_band_2_3_scale_c | |
| 233 | 233 | * |
| 234 | 234 | * INPUTS : unsigned char *dest : Pointer to destination data. |
| 235 | 235 | * unsigned int dest_pitch : Stride of destination data. |
| @@ -246,7 +246,7 @@ void vp8cx_horizontal_line_2_3_scale_c · 10 unmodified lines | ||
| 246 | 246 | * the current band. |
| 247 | 247 | * |
| 248 | 248 | ****************************************************************************/ |
| 249 | −void vp8cx_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 249 | +void vp8_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 250 | 250 | { |
| 251 | 251 | unsigned int i; |
| 252 | 252 | unsigned int a, b, c; |
| @@ -266,7 +266,7 @@ void vp8cx_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitc · 13 unmodified lines | ||
| 266 | 266 | |
| 267 | 267 | /**************************************************************************** |
| 268 | 268 | * |
| 269 | − * ROUTINE : vp8cx_last_vertical_band_2_3_scale_c | |
| 269 | + * ROUTINE : vp8_last_vertical_band_2_3_scale_c | |
| 270 | 270 | * |
| 271 | 271 | * INPUTS : unsigned char *dest : Pointer to destination data. |
| 272 | 272 | * unsigned int dest_pitch : Stride of destination data. |
| @@ -284,7 +284,7 @@ void vp8cx_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitc · 11 unmodified lines | ||
| 284 | 284 | * last band. |
| 285 | 285 | * |
| 286 | 286 | ****************************************************************************/ |
| 287 | −void vp8cx_last_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 287 | +void vp8_last_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 288 | 288 | { |
| 289 | 289 | unsigned int i; |
| 290 | 290 | unsigned int a, b; |
| @@ -303,7 +303,7 @@ void vp8cx_last_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest · 12 unmodified lines | ||
| 303 | 303 | |
| 304 | 304 | /**************************************************************************** |
| 305 | 305 | * |
| 306 | − * ROUTINE : vp8cx_horizontal_line_3_5_scale_c | |
| 306 | + * ROUTINE : vp8_horizontal_line_3_5_scale_c | |
| 307 | 307 | * |
| 308 | 308 | * INPUTS : const unsigned char *source : Pointer to source data. |
| 309 | 309 | * unsigned int source_width : Stride of source. |
| @@ -321,7 +321,7 @@ void vp8cx_last_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest · 11 unmodified lines | ||
| 321 | 321 | * |
| 322 | 322 | * |
| 323 | 323 | ****************************************************************************/ |
| 324 | −void vp8cx_horizontal_line_3_5_scale_c | |
| 324 | +void vp8_horizontal_line_3_5_scale_c | |
| 325 | 325 | ( |
| 326 | 326 | const unsigned char *source, |
| 327 | 327 | unsigned int source_width, |
| @@ -368,7 +368,7 @@ void vp8cx_horizontal_line_3_5_scale_c · 40 unmodified lines | ||
| 368 | 368 | |
| 369 | 369 | /**************************************************************************** |
| 370 | 370 | * |
| 371 | − * ROUTINE : vp8cx_vertical_band_3_5_scale_c | |
| 371 | + * ROUTINE : vp8_vertical_band_3_5_scale_c | |
| 372 | 372 | * |
| 373 | 373 | * INPUTS : unsigned char *dest : Pointer to destination data. |
| 374 | 374 | * unsigned int dest_pitch : Stride of destination data. |
| @@ -385,7 +385,7 @@ void vp8cx_horizontal_line_3_5_scale_c · 10 unmodified lines | ||
| 385 | 385 | * the current band. |
| 386 | 386 | * |
| 387 | 387 | ****************************************************************************/ |
| 388 | −void vp8cx_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 388 | +void vp8_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 389 | 389 | { |
| 390 | 390 | unsigned int i; |
| 391 | 391 | unsigned int a, b, c; |
| @@ -411,7 +411,7 @@ void vp8cx_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitc · 19 unmodified lines | ||
| 411 | 411 | |
| 412 | 412 | /**************************************************************************** |
| 413 | 413 | * |
| 414 | − * ROUTINE : vp8cx_last_vertical_band_3_5_scale_c | |
| 414 | + * ROUTINE : vp8_last_vertical_band_3_5_scale_c | |
| 415 | 415 | * |
| 416 | 416 | * INPUTS : unsigned char *dest : Pointer to destination data. |
| 417 | 417 | * unsigned int dest_pitch : Stride of destination data. |
| @@ -429,7 +429,7 @@ void vp8cx_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitc · 11 unmodified lines | ||
| 429 | 429 | * last band. |
| 430 | 430 | * |
| 431 | 431 | ****************************************************************************/ |
| 432 | −void vp8cx_last_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 432 | +void vp8_last_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 433 | 433 | { |
| 434 | 434 | unsigned int i; |
| 435 | 435 | unsigned int a, b, c; |
| @@ -455,7 +455,7 @@ void vp8cx_last_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest · 19 unmodified lines | ||
| 455 | 455 | |
| 456 | 456 | /**************************************************************************** |
| 457 | 457 | * |
| 458 | − * ROUTINE : vp8cx_horizontal_line_3_4_scale_c | |
| 458 | + * ROUTINE : vp8_horizontal_line_3_4_scale_c | |
| 459 | 459 | * |
| 460 | 460 | * INPUTS : const unsigned char *source : Pointer to source data. |
| 461 | 461 | * unsigned int source_width : Stride of source. |
| @@ -473,7 +473,7 @@ void vp8cx_last_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest · 11 unmodified lines | ||
| 473 | 473 | * |
| 474 | 474 | * |
| 475 | 475 | ****************************************************************************/ |
| 476 | −void vp8cx_horizontal_line_3_4_scale_c | |
| 476 | +void vp8_horizontal_line_3_4_scale_c | |
| 477 | 477 | ( |
| 478 | 478 | const unsigned char *source, |
| 479 | 479 | unsigned int source_width, |
| @@ -517,7 +517,7 @@ void vp8cx_horizontal_line_3_4_scale_c · 37 unmodified lines | ||
| 517 | 517 | |
| 518 | 518 | /**************************************************************************** |
| 519 | 519 | * |
| 520 | − * ROUTINE : vp8cx_vertical_band_3_4_scale_c | |
| 520 | + * ROUTINE : vp8_vertical_band_3_4_scale_c | |
| 521 | 521 | * |
| 522 | 522 | * INPUTS : unsigned char *dest : Pointer to destination data. |
| 523 | 523 | * unsigned int dest_pitch : Stride of destination data. |
| @@ -534,7 +534,7 @@ void vp8cx_horizontal_line_3_4_scale_c · 10 unmodified lines | ||
| 534 | 534 | * the current band. |
| 535 | 535 | * |
| 536 | 536 | ****************************************************************************/ |
| 537 | −void vp8cx_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 537 | +void vp8_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 538 | 538 | { |
| 539 | 539 | unsigned int i; |
| 540 | 540 | unsigned int a, b, c; |
| @@ -559,7 +559,7 @@ void vp8cx_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitc · 18 unmodified lines | ||
| 559 | 559 | |
| 560 | 560 | /**************************************************************************** |
| 561 | 561 | * |
| 562 | − * ROUTINE : vp8cx_last_vertical_band_3_4_scale_c | |
| 562 | + * ROUTINE : vp8_last_vertical_band_3_4_scale_c | |
| 563 | 563 | * |
| 564 | 564 | * INPUTS : unsigned char *dest : Pointer to destination data. |
| 565 | 565 | * unsigned int dest_pitch : Stride of destination data. |
| @@ -577,7 +577,7 @@ void vp8cx_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitc · 11 unmodified lines | ||
| 577 | 577 | * last band. |
| 578 | 578 | * |
| 579 | 579 | ****************************************************************************/ |
| 580 | −void vp8cx_last_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 580 | +void vp8_last_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 581 | 581 | { |
| 582 | 582 | unsigned int i; |
| 583 | 583 | unsigned int a, b, c; |
| @@ -602,7 +602,7 @@ void vp8cx_last_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest · 18 unmodified lines | ||
| 602 | 602 | |
| 603 | 603 | /**************************************************************************** |
| 604 | 604 | * |
| 605 | − * ROUTINE : vp8cx_horizontal_line_1_2_scale_c | |
| 605 | + * ROUTINE : vp8_horizontal_line_1_2_scale_c | |
| 606 | 606 | * |
| 607 | 607 | * INPUTS : const unsigned char *source : Pointer to source data. |
| 608 | 608 | * unsigned int source_width : Stride of source. |
| @@ -619,7 +619,7 @@ void vp8cx_last_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest · 10 unmodified lines | ||
| 619 | 619 | * SPECIAL NOTES : None. |
| 620 | 620 | * |
| 621 | 621 | ****************************************************************************/ |
| 622 | −void vp8cx_horizontal_line_1_2_scale_c | |
| 622 | +void vp8_horizontal_line_1_2_scale_c | |
| 623 | 623 | ( |
| 624 | 624 | const unsigned char *source, |
| 625 | 625 | unsigned int source_width, |
| @@ -651,7 +651,7 @@ void vp8cx_horizontal_line_1_2_scale_c · 25 unmodified lines | ||
| 651 | 651 | |
| 652 | 652 | /**************************************************************************** |
| 653 | 653 | * |
| 654 | − * ROUTINE : vp8cx_vertical_band_1_2_scale_c | |
| 654 | + * ROUTINE : vp8_vertical_band_1_2_scale_c | |
| 655 | 655 | * |
| 656 | 656 | * INPUTS : unsigned char *dest : Pointer to destination data. |
| 657 | 657 | * unsigned int dest_pitch : Stride of destination data. |
| @@ -668,7 +668,7 @@ void vp8cx_horizontal_line_1_2_scale_c · 10 unmodified lines | ||
| 668 | 668 | * the current band. |
| 669 | 669 | * |
| 670 | 670 | ****************************************************************************/ |
| 671 | −void vp8cx_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 671 | +void vp8_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 672 | 672 | { |
| 673 | 673 | unsigned int i; |
| 674 | 674 | unsigned int a, b; |
| @@ -687,7 +687,7 @@ void vp8cx_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitc · 12 unmodified lines | ||
| 687 | 687 | |
| 688 | 688 | /**************************************************************************** |
| 689 | 689 | * |
| 690 | − * ROUTINE : vp8cx_last_vertical_band_1_2_scale_c | |
| 690 | + * ROUTINE : vp8_last_vertical_band_1_2_scale_c | |
| 691 | 691 | * |
| 692 | 692 | * INPUTS : unsigned char *dest : Pointer to destination data. |
| 693 | 693 | * unsigned int dest_pitch : Stride of destination data. |
| @@ -705,7 +705,7 @@ void vp8cx_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitc · 11 unmodified lines | ||
| 705 | 705 | * last band. |
| 706 | 706 | * |
| 707 | 707 | ****************************************************************************/ |
| 708 | −void vp8cx_last_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 708 | +void vp8_last_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 709 | 709 | { |
| 710 | 710 | unsigned int i; |
| 711 | 711 | unsigned char *des = dest; |
| @@ -723,7 +723,7 @@ void vp8cx_last_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest · 11 unmodified lines | ||
| 723 | 723 | |
| 724 | 724 | /**************************************************************************** |
| 725 | 725 | * |
| 726 | − * ROUTINE : vp8cx_horizontal_line_4_5_scale_c | |
| 726 | + * ROUTINE : vp8_horizontal_line_4_5_scale_c | |
| 727 | 727 | * |
| 728 | 728 | * INPUTS : const unsigned char *source : Pointer to source data. |
| 729 | 729 | * unsigned int source_width : Stride of source. |
| @@ -740,7 +740,7 @@ void vp8cx_last_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest · 10 unmodified lines | ||
| 740 | 740 | * SPECIAL NOTES : None. |
| 741 | 741 | * |
| 742 | 742 | ****************************************************************************/ |
| 743 | −void vp8cx_horizontal_line_5_4_scale_c | |
| 743 | +void vp8_horizontal_line_5_4_scale_c | |
| 744 | 744 | ( |
| 745 | 745 | const unsigned char *source, |
| 746 | 746 | unsigned int source_width, |
| @@ -776,7 +776,7 @@ void vp8cx_horizontal_line_5_4_scale_c · 29 unmodified lines | ||
| 776 | 776 | |
| 777 | 777 | |
| 778 | 778 | |
| 779 | −void vp8cx_vertical_band_5_4_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 779 | +void vp8_vertical_band_5_4_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 780 | 780 | { |
| 781 | 781 | unsigned int i; |
| 782 | 782 | unsigned int a, b, c, d, e; |
| @@ -806,7 +806,7 @@ void vp8cx_vertical_band_5_4_scale_c(unsigned char *source, unsigned int src_pit · 23 unmodified lines | ||
| 806 | 806 | |
| 807 | 807 | /*7*************************************************************************** |
| 808 | 808 | * |
| 809 | − * ROUTINE : vp8cx_horizontal_line_3_5_scale_c | |
| 809 | + * ROUTINE : vp8_horizontal_line_3_5_scale_c | |
| 810 | 810 | * |
| 811 | 811 | * INPUTS : const unsigned char *source : Pointer to source data. |
| 812 | 812 | * unsigned int source_width : Stride of source. |
| @@ -824,7 +824,7 @@ void vp8cx_vertical_band_5_4_scale_c(unsigned char *source, unsigned int src_pit · 11 unmodified lines | ||
| 824 | 824 | * |
| 825 | 825 | * |
| 826 | 826 | ****************************************************************************/ |
| 827 | −void vp8cx_horizontal_line_5_3_scale_c | |
| 827 | +void vp8_horizontal_line_5_3_scale_c | |
| 828 | 828 | ( |
| 829 | 829 | const unsigned char *source, |
| 830 | 830 | unsigned int source_width, |
| @@ -857,7 +857,7 @@ void vp8cx_horizontal_line_5_3_scale_c · 26 unmodified lines | ||
| 857 | 857 | |
| 858 | 858 | } |
| 859 | 859 | |
| 860 | −void vp8cx_vertical_band_5_3_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 860 | +void vp8_vertical_band_5_3_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 861 | 861 | { |
| 862 | 862 | unsigned int i; |
| 863 | 863 | unsigned int a, b, c, d, e; |
| @@ -885,7 +885,7 @@ void vp8cx_vertical_band_5_3_scale_c(unsigned char *source, unsigned int src_pit · 21 unmodified lines | ||
| 885 | 885 | |
| 886 | 886 | /**************************************************************************** |
| 887 | 887 | * |
| 888 | − * ROUTINE : vp8cx_horizontal_line_1_2_scale_c | |
| 888 | + * ROUTINE : vp8_horizontal_line_1_2_scale_c | |
| 889 | 889 | * |
| 890 | 890 | * INPUTS : const unsigned char *source : Pointer to source data. |
| 891 | 891 | * unsigned int source_width : Stride of source. |
| @@ -902,7 +902,7 @@ void vp8cx_vertical_band_5_3_scale_c(unsigned char *source, unsigned int src_pit · 10 unmodified lines | ||
| 902 | 902 | * SPECIAL NOTES : None. |
| 903 | 903 | * |
| 904 | 904 | ****************************************************************************/ |
| 905 | −void vp8cx_horizontal_line_2_1_scale_c | |
| 905 | +void vp8_horizontal_line_2_1_scale_c | |
| 906 | 906 | ( |
| 907 | 907 | const unsigned char *source, |
| 908 | 908 | unsigned int source_width, |
| @@ -928,14 +928,14 @@ void vp8cx_horizontal_line_2_1_scale_c · 19 unmodified lines | ||
| 928 | 928 | |
| 929 | 929 | |
| 930 | 930 | } |
| 931 | −void vp8cx_vertical_band_2_1_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 931 | +void vp8_vertical_band_2_1_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 932 | 932 | { |
| 933 | 933 | (void) dest_pitch; |
| 934 | 934 | (void) src_pitch; |
| 935 | 935 | vpx_memcpy(dest, source, dest_width); |
| 936 | 936 | } |
| 937 | 937 | |
| 938 | −void vp8cx_vertical_band_2_1_scale_i_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 938 | +void vp8_vertical_band_2_1_scale_i_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) | |
| 939 | 939 | { |
| 940 | 940 | int i; |
| 941 | 941 | int temp; |
| @@ -1,74 +0,0 @@ | ||
| 1 | −/* | |
| 2 | − * Copyright (c) 2010 The WebM project authors. All Rights Reserved. | |
| 3 | − * | |
| 4 | − * Use of this source code is governed by a BSD-style license | |
| 5 | − * that can be found in the LICENSE file in the root of the source | |
| 6 | − * tree. An additional intellectual property rights grant can be found | |
| 7 | − * in the file PATENTS. All contributing project authors may | |
| 8 | − * be found in the AUTHORS file in the root of the source tree. | |
| 9 | − */ | |
| 10 | − | |
| 11 | − | |
| 12 | −#include "vpx_config.h" | |
| 13 | −#include "vpx_scale/vpxscale.h" | |
| 14 | −#include "vpx_scale/yv12extend.h" | |
| 15 | − | |
| 16 | −void (*vp8_yv12_extend_frame_borders_ptr)(YV12_BUFFER_CONFIG *ybf); | |
| 17 | −void (*vp8_yv12_copy_frame_ptr)(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc); | |
| 18 | −void (*vp8_yv12_copy_y_ptr)(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc); | |
| 19 | − | |
| 20 | −extern void vp8_arch_arm_vpx_scale_init(); | |
| 21 | − | |
| 22 | −/**************************************************************************** | |
| 23 | − * | |
| 24 | − * ROUTINE : vp8_scale_machine_specific_config | |
| 25 | − * | |
| 26 | − * INPUTS : UINT32 Version : Codec version number. | |
| 27 | − * | |
| 28 | − * OUTPUTS : None. | |
| 29 | − * | |
| 30 | − * RETURNS : void | |
| 31 | − * | |
| 32 | − * FUNCTION : Checks for machine specifc features such as MMX support | |
| 33 | − * sets appropriate flags and function pointers. | |
| 34 | − * | |
| 35 | − * SPECIAL NOTES : None. | |
| 36 | − * | |
| 37 | − ****************************************************************************/ | |
| 38 | −void vp8_scale_machine_specific_config() | |
| 39 | −{ | |
| 40 | −#if CONFIG_SPATIAL_RESAMPLING | |
| 41 | − vp8_horizontal_line_1_2_scale = vp8cx_horizontal_line_1_2_scale_c; | |
| 42 | − vp8_vertical_band_1_2_scale = vp8cx_vertical_band_1_2_scale_c; | |
| 43 | − vp8_last_vertical_band_1_2_scale = vp8cx_last_vertical_band_1_2_scale_c; | |
| 44 | − vp8_horizontal_line_3_5_scale = vp8cx_horizontal_line_3_5_scale_c; | |
| 45 | − vp8_vertical_band_3_5_scale = vp8cx_vertical_band_3_5_scale_c; | |
| 46 | − vp8_last_vertical_band_3_5_scale = vp8cx_last_vertical_band_3_5_scale_c; | |
| 47 | − vp8_horizontal_line_3_4_scale = vp8cx_horizontal_line_3_4_scale_c; | |
| 48 | − vp8_vertical_band_3_4_scale = vp8cx_vertical_band_3_4_scale_c; | |
| 49 | − vp8_last_vertical_band_3_4_scale = vp8cx_last_vertical_band_3_4_scale_c; | |
| 50 | − vp8_horizontal_line_2_3_scale = vp8cx_horizontal_line_2_3_scale_c; | |
| 51 | − vp8_vertical_band_2_3_scale = vp8cx_vertical_band_2_3_scale_c; | |
| 52 | − vp8_last_vertical_band_2_3_scale = vp8cx_last_vertical_band_2_3_scale_c; | |
| 53 | − vp8_horizontal_line_4_5_scale = vp8cx_horizontal_line_4_5_scale_c; | |
| 54 | − vp8_vertical_band_4_5_scale = vp8cx_vertical_band_4_5_scale_c; | |
| 55 | − vp8_last_vertical_band_4_5_scale = vp8cx_last_vertical_band_4_5_scale_c; | |
| 56 | − | |
| 57 | − | |
| 58 | − vp8_vertical_band_5_4_scale = vp8cx_vertical_band_5_4_scale_c; | |
| 59 | − vp8_vertical_band_5_3_scale = vp8cx_vertical_band_5_3_scale_c; | |
| 60 | − vp8_vertical_band_2_1_scale = vp8cx_vertical_band_2_1_scale_c; | |
| 61 | − vp8_vertical_band_2_1_scale_i = vp8cx_vertical_band_2_1_scale_i_c; | |
| 62 | − vp8_horizontal_line_2_1_scale = vp8cx_horizontal_line_2_1_scale_c; | |
| 63 | − vp8_horizontal_line_5_3_scale = vp8cx_horizontal_line_5_3_scale_c; | |
| 64 | − vp8_horizontal_line_5_4_scale = vp8cx_horizontal_line_5_4_scale_c; | |
| 65 | −#endif | |
| 66 | − | |
| 67 | − vp8_yv12_extend_frame_borders_ptr = vp8_yv12_extend_frame_borders; | |
| 68 | − vp8_yv12_copy_y_ptr = vp8_yv12_copy_y_c; | |
| 69 | − vp8_yv12_copy_frame_ptr = vp8_yv12_copy_frame; | |
| 70 | − | |
| 71 | −#if ARCH_ARM | |
| 72 | − vp8_arch_arm_vpx_scale_init(); | |
| 73 | −#endif | |
| 74 | −} | |
| @@ -20,37 +20,11 @@ · 19 unmodified lines | ||
| 20 | 20 | /**************************************************************************** |
| 21 | 21 | * Header Files |
| 22 | 22 | ****************************************************************************/ |
| 23 | +#include "vpx_rtcd.h" | |
| 23 | 24 | #include "vpx_mem/vpx_mem.h" |
| 24 | 25 | #include "vpx_scale/yv12config.h" |
| 25 | 26 | #include "vpx_scale/scale_mode.h" |
| 26 | 27 | |
| 27 | −/**************************************************************************** | |
| 28 | −* Exports | |
| 29 | −****************************************************************************/ | |
| 30 | −void (*vp8_vertical_band_4_5_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; | |
| 31 | −void (*vp8_last_vertical_band_4_5_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; | |
| 32 | −void (*vp8_vertical_band_2_3_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; | |
| 33 | −void (*vp8_last_vertical_band_2_3_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; | |
| 34 | −void (*vp8_vertical_band_3_5_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; | |
| 35 | −void (*vp8_last_vertical_band_3_5_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; | |
| 36 | −void (*vp8_vertical_band_3_4_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; | |
| 37 | −void (*vp8_last_vertical_band_3_4_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; | |
| 38 | −void (*vp8_horizontal_line_1_2_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width) = 0; | |
| 39 | −void (*vp8_horizontal_line_3_5_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width) = 0; | |
| 40 | −void (*vp8_horizontal_line_3_4_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width) = 0; | |
| 41 | −void (*vp8_horizontal_line_2_3_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width) = 0; | |
| 42 | −void (*vp8_horizontal_line_4_5_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width) = 0; | |
| 43 | −void (*vp8_vertical_band_1_2_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; | |
| 44 | −void (*vp8_last_vertical_band_1_2_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; | |
| 45 | − | |
| 46 | −void (*vp8_vertical_band_5_4_scale)(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; | |
| 47 | −void (*vp8_vertical_band_5_3_scale)(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; | |
| 48 | −void (*vp8_vertical_band_2_1_scale)(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; | |
| 49 | −void (*vp8_vertical_band_2_1_scale_i)(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0; | |
| 50 | −void (*vp8_horizontal_line_2_1_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width) = 0; | |
| 51 | −void (*vp8_horizontal_line_5_3_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width) = 0; | |
| 52 | −void (*vp8_horizontal_line_5_4_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width) = 0; | |
| 53 | − | |
| 54 | 28 | typedef struct |
| 55 | 29 | { |
| 56 | 30 | int expanded_frame_width; |
| @@ -21,7 +21,7 @@ · 20 unmodified lines | ||
| 21 | 21 | * |
| 22 | 22 | ****************************************************************************/ |
| 23 | 23 | void |
| 24 | −vp8_yv12_extend_frame_borders(YV12_BUFFER_CONFIG *ybf) | |
| 24 | +vp8_yv12_extend_frame_borders_c(YV12_BUFFER_CONFIG *ybf) | |
| 25 | 25 | { |
| 26 | 26 | int i; |
| 27 | 27 | unsigned char *src_ptr1, *src_ptr2; |
| @@ -146,7 +146,7 @@ vp8_yv12_extend_frame_borders(YV12_BUFFER_CONFIG *ybf) · 118 unmodified lines | ||
| 146 | 146 | |
| 147 | 147 | |
| 148 | 148 | static void |
| 149 | −extend_frame_borders_yonly(YV12_BUFFER_CONFIG *ybf) | |
| 149 | +extend_frame_borders_yonly_c(YV12_BUFFER_CONFIG *ybf) | |
| 150 | 150 | { |
| 151 | 151 | int i; |
| 152 | 152 | unsigned char *src_ptr1, *src_ptr2; |
| @@ -221,7 +221,7 @@ extend_frame_borders_yonly(YV12_BUFFER_CONFIG *ybf) · 68 unmodified lines | ||
| 221 | 221 | * |
| 222 | 222 | ****************************************************************************/ |
| 223 | 223 | void |
| 224 | −vp8_yv12_copy_frame(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc) | |
| 224 | +vp8_yv12_copy_frame_c(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc) | |
| 225 | 225 | { |
| 226 | 226 | int row; |
| 227 | 227 | unsigned char *source, *dest; |
| @@ -256,7 +256,7 @@ vp8_yv12_copy_frame(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc) · 28 unmodified lines | ||
| 256 | 256 | dest += dst_ybc->uv_stride; |
| 257 | 257 | } |
| 258 | 258 | |
| 259 | − vp8_yv12_extend_frame_borders_ptr(dst_ybc); | |
| 259 | + vp8_yv12_extend_frame_borders_c(dst_ybc); | |
| 260 | 260 | } |
| 261 | 261 | |
| 262 | 262 | void vp8_yv12_copy_y_c(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc) |
| @@ -1,19 +1,13 @@ | ||
| 1 | 1 | SCALE_SRCS-yes += vpx_scale.mk |
| 2 | 2 | SCALE_SRCS-yes += scale_mode.h |
| 3 | −SCALE_SRCS-yes += yv12extend.h | |
| 4 | 3 | SCALE_SRCS-yes += yv12config.h |
| 5 | 4 | SCALE_SRCS-yes += vpxscale.h |
| 6 | 5 | SCALE_SRCS-yes += generic/vpxscale.c |
| 7 | 6 | SCALE_SRCS-yes += generic/yv12config.c |
| 8 | 7 | SCALE_SRCS-yes += generic/yv12extend.c |
| 9 | 8 | SCALE_SRCS-yes += generic/yv12extend_generic.h |
| 10 | −SCALE_SRCS-yes += generic/scalesystemdependent.c | |
| 11 | 9 | SCALE_SRCS-$(CONFIG_SPATIAL_RESAMPLING) += generic/gen_scalers.c |
| 12 | 10 | |
| 13 | −#arm | |
| 14 | −SCALE_SRCS-$(ARCH_ARM) += arm/yv12extend_arm.h | |
| 15 | −SCALE_SRCS-$(ARCH_ARM) += arm/scalesystemdependent.c | |
| 16 | − | |
| 17 | 11 | #neon |
| 18 | 12 | SCALE_SRCS-$(HAVE_NEON) += arm/neon/vp8_vpxyv12_copyframe_func_neon$(ASM) |
| 19 | 13 | SCALE_SRCS-$(HAVE_NEON) += arm/neon/vp8_vpxyv12_copy_y_neon$(ASM) |
| @@ -13,53 +13,6 @@ · 12 unmodified lines | ||
| 13 | 13 | #define VPXSCALE_H |
| 14 | 14 | |
| 15 | 15 | #include "vpx_scale/yv12config.h" |
| 16 | −#include "vpx_scale/yv12extend.h" | |
| 17 | −void vp8cx_horizontal_line_4_5_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); | |
| 18 | −void vp8cx_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 19 | −void vp8cx_last_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 20 | −void vp8cx_horizontal_line_2_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); | |
| 21 | −void vp8cx_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 22 | −void vp8cx_last_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 23 | −void vp8cx_horizontal_line_3_5_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); | |
| 24 | −void vp8cx_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 25 | −void vp8cx_last_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 26 | −void vp8cx_horizontal_line_3_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); | |
| 27 | −void vp8cx_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 28 | −void vp8cx_last_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 29 | −void vp8cx_horizontal_line_1_2_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); | |
| 30 | −void vp8cx_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 31 | −void vp8cx_last_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 32 | −void vp8cx_horizontal_line_5_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); | |
| 33 | −void vp8cx_vertical_band_5_4_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 34 | −void vp8cx_horizontal_line_5_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); | |
| 35 | −void vp8cx_vertical_band_5_3_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 36 | −void vp8cx_horizontal_line_2_1_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); | |
| 37 | −void vp8cx_vertical_band_2_1_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 38 | −void vp8cx_vertical_band_2_1_scale_i_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 39 | − | |
| 40 | − | |
| 41 | −extern void (*vp8_vertical_band_4_5_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 42 | −extern void (*vp8_last_vertical_band_4_5_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 43 | −extern void (*vp8_vertical_band_2_3_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 44 | −extern void (*vp8_last_vertical_band_2_3_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 45 | −extern void (*vp8_vertical_band_3_5_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 46 | −extern void (*vp8_last_vertical_band_3_5_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 47 | −extern void (*vp8_vertical_band_3_4_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 48 | −extern void (*vp8_last_vertical_band_3_4_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 49 | −extern void (*vp8_horizontal_line_1_2_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); | |
| 50 | −extern void (*vp8_horizontal_line_3_4_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); | |
| 51 | −extern void (*vp8_horizontal_line_3_5_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); | |
| 52 | −extern void (*vp8_horizontal_line_2_3_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); | |
| 53 | −extern void (*vp8_horizontal_line_4_5_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); | |
| 54 | −extern void (*vp8_vertical_band_1_2_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 55 | −extern void (*vp8_last_vertical_band_1_2_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 56 | −extern void (*vp8_vertical_band_5_4_scale)(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 57 | −extern void (*vp8_vertical_band_5_3_scale)(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 58 | −extern void (*vp8_vertical_band_2_1_scale)(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 59 | −extern void (*vp8_vertical_band_2_1_scale_i)(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
| 60 | −extern void (*vp8_horizontal_line_2_1_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); | |
| 61 | −extern void (*vp8_horizontal_line_5_3_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); | |
| 62 | −extern void (*vp8_horizontal_line_5_4_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); | |
| 63 | 16 | |
| 64 | 17 | extern void vp8_yv12_scale_or_center |
| 65 | 18 | ( |
| @@ -85,6 +38,5 @@ extern void vp8_scale_frame · 19 unmodified lines | ||
| 85 | 38 | unsigned int vratio, |
| 86 | 39 | unsigned int interlaced |
| 87 | 40 | ); |
| 88 | −extern void vp8_scale_machine_specific_config(void); | |
| 89 | 41 | |
| 90 | 42 | #endif |
| @@ -1,40 +0,0 @@ | ||
| 1 | −/* | |
| 2 | − * Copyright (c) 2010 The WebM project authors. All Rights Reserved. | |
| 3 | − * | |
| 4 | − * Use of this source code is governed by a BSD-style license | |
| 5 | − * that can be found in the LICENSE file in the root of the source | |
| 6 | − * tree. An additional intellectual property rights grant can be found | |
| 7 | − * in the file PATENTS. All contributing project authors may | |
| 8 | − * be found in the AUTHORS file in the root of the source tree. | |
| 9 | − */ | |
| 10 | − | |
| 11 | − | |
| 12 | −#ifndef YV12_EXTEND_H | |
| 13 | −#define YV12_EXTEND_H | |
| 14 | − | |
| 15 | −#include "vpx_config.h" | |
| 16 | −#include "vpx_scale/yv12config.h" | |
| 17 | −#include "vpx_scale/generic/yv12extend_generic.h" | |
| 18 | − | |
| 19 | −#if HAVE_NEON | |
| 20 | −#include "vpx_scale/arm/yv12extend_arm.h" | |
| 21 | −#endif | |
| 22 | − | |
| 23 | −#ifdef __cplusplus | |
| 24 | −extern "C" | |
| 25 | −{ | |
| 26 | −#endif | |
| 27 | − | |
| 28 | − extern void (*vp8_yv12_extend_frame_borders_ptr)(YV12_BUFFER_CONFIG *ybf); | |
| 29 | − | |
| 30 | − /* Copy Y,U,V buffer data from src to dst, filling border of dst as well. */ | |
| 31 | − extern void (*vp8_yv12_copy_frame_ptr)(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc); | |
| 32 | − | |
| 33 | − /* Copy Y buffer data from src_ybc to dst_ybc without filling border data */ | |
| 34 | − extern void (*vp8_yv12_copy_y_ptr)(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc); | |
| 35 | − | |
| 36 | −#ifdef __cplusplus | |
| 37 | −} | |
| 38 | −#endif | |
| 39 | − | |
| 40 | −#endif | |