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 | oci->clr_type = REG_YUV; | 208 | oci->clr_type = REG_YUV; |
| 209 | oci->clamp_type = RECON_CLAMP_REQUIRED; | 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 | vpx_memset(oci->ref_frame_sign_bias, 0, sizeof(oci->ref_frame_sign_bias)); | 212 | vpx_memset(oci->ref_frame_sign_bias, 0, sizeof(oci->ref_frame_sign_bias)); |
| 213 | 213 | ||
| 214 | /* Default disable buffer to buffer copying */ | 214 | /* Default disable buffer to buffer copying */ |
| @@ -220,13 +220,3 @@ void vp8_remove_common(VP8_COMMON *oci) · 5 unmodified lines | |||
| 220 | { | 220 | { |
| 221 | vp8_de_alloc_frame_buffers(oci); | 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 | * be found in the AUTHORS file in the root of the source tree. | 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 | #include "entropy.h" | 11 | #include "entropy.h" |
| 15 | #include "string.h" | ||
| 16 | #include "blockd.h" | 12 | #include "blockd.h" |
| 17 | #include "onyxc_int.h" | 13 | #include "onyxc_int.h" |
| 18 | #include "vpx_mem/vpx_mem.h" | 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 | #include "coefupdateprobs.h" | 16 | #include "coefupdateprobs.h" |
| 29 | 17 | ||
| 30 | DECLARE_ALIGNED(16, const unsigned char, vp8_norm[256]) = | 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 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 | 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 | { 0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7}; | 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 | { 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0}; | 43 | { 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0}; |
| 55 | 44 | ||
| 56 | DECLARE_ALIGNED(16, const int, vp8_default_zig_zag1d[16]) = | 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 | 10, 11, 15, 16 | 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 | const int vp8_mb_feature_data_bits[MB_LVL_MAX] = {7, 6}; | 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 | -DCT_VAL_CATEGORY5, -DCT_VAL_CATEGORY6 /* 10 = CAT_FIVE */ | 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 | /* Trees for extra bits. Probabilities are constant and | 120 | /* Trees for extra bits. Probabilities are constant and |
| 96 | do not depend on previously encoded bits */ | 121 | do not depend on previously encoded bits */ |
| 97 | 122 | ||
| 98 | static const Prob Pcat1[] = { 159}; | 123 | static const vp8_prob Pcat1[] = { 159}; |
| 99 | static const Prob Pcat2[] = { 165, 145}; | 124 | static const vp8_prob Pcat2[] = { 165, 145}; |
| 100 | static const Prob Pcat3[] = { 173, 148, 140}; | 125 | static const vp8_prob Pcat3[] = { 173, 148, 140}; |
| 101 | static const Prob Pcat4[] = { 176, 155, 140, 135}; | 126 | static const vp8_prob Pcat4[] = { 176, 155, 140, 135}; |
| 102 | static const Prob Pcat5[] = { 180, 157, 141, 134, 130}; | 127 | static const vp8_prob Pcat5[] = { 180, 157, 141, 134, 130}; |
| 103 | static const Prob Pcat6[] = | 128 | static const vp8_prob Pcat6[] = |
| 104 | { 254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129}; | 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() | 132 | /* tree index tables generated with: |
| 109 | { | ||
| 110 | int i; | ||
| 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; | 136 | int i = 0; |
| 115 | } | ||
| 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) | 144 | p[0] = p[1] = 0; |
| 120 | { | 145 | } |
| 121 | int i = 0; | ||
| 122 | 146 | ||
| 123 | while (++i < n) | 147 | void init_bit_trees() |
| 124 | { | 148 | { |
| 125 | p[0] = p[1] = i << 1; | 149 | init_bit_tree(cat1, 1); |
| 126 | p += 2; | 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; | 158 | static const vp8_tree_index cat1[2] = { 0, 0 }; |
| 130 | } | 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() | 166 | const vp8_extra_bit_struct vp8_extra_bits[12] = |
| 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] = | ||
| 143 | { | 167 | { |
| 144 | { 0, 0, 0, 0}, | 168 | { 0, 0, 0, 0}, |
| 145 | { 0, 0, 0, 1}, | 169 | { 0, 0, 0, 1}, |
| @@ -163,8 +187,3 @@ void vp8_default_coef_probs(VP8_COMMON *pc) · 17 unmodified lines | |||
| 163 | sizeof(default_coef_probs)); | 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 | extern const vp8_tree_index vp8_coef_tree[]; | 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 | typedef struct | 40 | typedef struct |
| 41 | { | 41 | { |
| @@ -45,7 +45,7 @@ typedef struct · 3 unmodified lines | |||
| 45 | int base_val; | 45 | int base_val; |
| 46 | } vp8_extra_bit_struct; | 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 | #define PROB_UPDATE_BASELINE_COST 7 | 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 | extern DECLARE_ALIGNED(16, const int, vp8_default_zig_zag1d[16]); | 95 | extern DECLARE_ALIGNED(16, const int, vp8_default_zig_zag1d[16]); |
| 96 | extern DECLARE_ALIGNED(16, const short, vp8_default_inv_zig_zag[16]); | 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 | extern const int vp8_mb_feature_data_bits[MB_LVL_MAX]; | 98 | extern const int vp8_mb_feature_data_bits[MB_LVL_MAX]; |
| 99 | 99 | ||
| 100 | void vp8_coef_tree_initialize(void); | 100 | void vp8_coef_tree_initialize(void); |
| @@ -8,22 +8,13 @@ · 7 unmodified lines | |||
| 8 | * be found in the AUTHORS file in the root of the source tree. | 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 | #include "entropymode.h" | 13 | #include "entropymode.h" |
| 13 | #include "entropy.h" | 14 | #include "entropy.h" |
| 14 | #include "vpx_mem/vpx_mem.h" | 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 | #include "vp8_entropymodedata.h" |
| 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 | |||
| 27 | 18 | ||
| 28 | int vp8_mv_cont(const int_mv *l, const int_mv *a) | 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 | 0, 0, 0, 0, | 56 | 0, 0, 0, 0, |
| @@ -84,7 +75,7 @@ vp8_mbsplit vp8_mbsplits [VP8_NUMMBSPLITS] = · 18 unmodified lines | |||
| 84 | 4, 5, 6, 7, | 75 | 4, 5, 6, 7, |
| 85 | 8, 9, 10, 11, | 76 | 8, 9, 10, 11, |
| 86 | 12, 13, 14, 15, | 77 | 12, 13, 14, 15, |
| 87 | }, | 78 | } |
| 88 | }; | 79 | }; |
| 89 | 80 | ||
| 90 | const int vp8_mbsplit_count [VP8_NUMMBSPLITS] = { 2, 2, 4, 16}; | 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 | -ZERO4X4, -NEW4X4 | 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 | const vp8_tree_index vp8_small_mvtree [14] = | 149 | const vp8_tree_index vp8_small_mvtree [14] = |
| 170 | { | 150 | { |
| 171 | 2, 8, | 151 | 2, 8, |
| @@ -177,89 +157,21 @@ const vp8_tree_index vp8_small_mvtree [14] = · 5 unmodified lines | |||
| 177 | -6, -7 | 157 | -6, -7 |
| 178 | }; | 158 | }; |
| 179 | 159 | ||
| 180 | struct vp8_token_struct vp8_small_mvencodings [8]; | ||
| 181 | |||
| 182 | void vp8_init_mbmode_probs(VP8_COMMON *x) | 160 | void vp8_init_mbmode_probs(VP8_COMMON *x) |
| 183 | { | 161 | { |
| 184 | unsigned int bct [VP8_YMODES] [2]; /* num Ymodes > num UV modes */ | 162 | vpx_memcpy(x->fc.ymode_prob, vp8_ymode_prob, sizeof(vp8_ymode_prob)); |
| 185 | 163 | vpx_memcpy(x->kf_ymode_prob, kf_ymode_prob, sizeof(kf_ymode_prob)); | |
| 186 | vp8_tree_probs_from_distribution( | 164 | vpx_memcpy(x->fc.uv_mode_prob, vp8_uv_mode_prob, sizeof(vp8_uv_mode_prob)); |
| 187 | VP8_YMODES, vp8_ymode_encodings, vp8_ymode_tree, | 165 | vpx_memcpy(x->kf_uv_mode_prob, vp8_kf_uv_mode_prob, sizeof(vp8_kf_uv_mode_prob)); |
| 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 | ); | ||
| 206 | vpx_memcpy(x->fc.sub_mv_ref_prob, sub_mv_ref_prob, sizeof(sub_mv_ref_prob)); | 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 | void vp8_default_bmode_probs(vp8_prob p [VP8_BINTRAMODES-1]) | 169 | void vp8_default_bmode_probs(vp8_prob p [VP8_BINTRAMODES-1]) |
| 224 | { | 170 | { |
| 225 | unsigned int branch_ct [VP8_BINTRAMODES-1] [2]; | 171 | vpx_memcpy(p, vp8_bmode_prob, sizeof(vp8_bmode_prob)); |
| 226 | intra_bmode_probs_from_distribution(p, branch_ct, bmode_cts); | ||
| 227 | } | 172 | } |
| 228 | 173 | ||
| 229 | void vp8_kf_default_bmode_probs(vp8_prob p [VP8_BINTRAMODES] [VP8_BINTRAMODES] [VP8_BINTRAMODES-1]) | 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]; | 176 | vpx_memcpy(p, vp8_kf_bmode_prob, sizeof(vp8_kf_bmode_prob)); |
| 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); | ||
| 265 | } | 177 | } |
| @@ -52,22 +52,20 @@ extern const vp8_tree_index vp8_mbsplit_tree[]; · 51 unmodified lines | |||
| 52 | extern const vp8_tree_index vp8_mv_ref_tree[]; | 52 | extern const vp8_tree_index vp8_mv_ref_tree[]; |
| 53 | extern const vp8_tree_index vp8_sub_mv_ref_tree[]; | 53 | extern const vp8_tree_index vp8_sub_mv_ref_tree[]; |
| 54 | 54 | ||
| 55 | extern struct vp8_token_struct vp8_bmode_encodings [VP8_BINTRAMODES]; | 55 | extern const struct vp8_token_struct vp8_bmode_encodings[VP8_BINTRAMODES]; |
| 56 | extern struct vp8_token_struct vp8_ymode_encodings [VP8_YMODES]; | 56 | extern const struct vp8_token_struct vp8_ymode_encodings[VP8_YMODES]; |
| 57 | extern struct vp8_token_struct vp8_kf_ymode_encodings [VP8_YMODES]; | 57 | extern const struct vp8_token_struct vp8_kf_ymode_encodings[VP8_YMODES]; |
| 58 | extern struct vp8_token_struct vp8_uv_mode_encodings [VP8_UV_MODES]; | 58 | extern const struct vp8_token_struct vp8_uv_mode_encodings[VP8_UV_MODES]; |
| 59 | extern struct vp8_token_struct vp8_mbsplit_encodings [VP8_NUMMBSPLITS]; | 59 | extern const struct vp8_token_struct vp8_mbsplit_encodings[VP8_NUMMBSPLITS]; |
| 60 | 60 | ||
| 61 | /* Inter mode values do not start at zero */ | 61 | /* Inter mode values do not start at zero */ |
| 62 | 62 | ||
| 63 | extern struct vp8_token_struct vp8_mv_ref_encoding_array [VP8_MVREFS]; | 63 | extern const 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]; | 64 | extern const struct vp8_token_struct vp8_sub_mv_ref_encoding_array[VP8_SUBMVREFS]; |
| 65 | 65 | ||
| 66 | extern const vp8_tree_index vp8_small_mvtree[]; | 66 | extern const vp8_tree_index vp8_small_mvtree[]; |
| 67 | 67 | ||
| 68 | extern struct vp8_token_struct vp8_small_mvencodings [8]; | 68 | extern const struct vp8_token_struct vp8_small_mvencodings[8]; |
| 69 | |||
| 70 | void vp8_entropy_mode_init(void); | ||
| 71 | 69 | ||
| 72 | void vp8_init_mbmode_probs(VP8_COMMON *x); | 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 | #include "header.h" | 26 | #include "header.h" |
| 27 | /*#endif*/ | 27 | /*#endif*/ |
| 28 | 28 | ||
| 29 | /* Create/destroy static data structures. */ | ||
| 30 | |||
| 31 | void vp8_initialize_common(void); | ||
| 32 | |||
| 33 | #define MINQ 0 | 29 | #define MINQ 0 |
| 34 | #define MAXQ 127 | 30 | #define MAXQ 127 |
| 35 | #define QINDEX_RANGE (MAXQ + 1) | 31 | #define QINDEX_RANGE (MAXQ + 1) |
| @@ -14,7 +14,6 @@ · 13 unmodified lines | |||
| 14 | #include "vpx_scale/yv12config.h" | 14 | #include "vpx_scale/yv12config.h" |
| 15 | #include "postproc.h" | 15 | #include "postproc.h" |
| 16 | #include "common.h" | 16 | #include "common.h" |
| 17 | #include "vpx_scale/yv12extend.h" | ||
| 18 | #include "vpx_scale/vpxscale.h" | 17 | #include "vpx_scale/vpxscale.h" |
| 19 | #include "systemdependent.h" | 18 | #include "systemdependent.h" |
| 20 | 19 | ||
| @@ -405,9 +404,6 @@ double vp8_gaussian(double sigma, double mu, double x) · 384 unmodified lines | |||
| 405 | (exp(-(x - mu) * (x - mu) / (2 * sigma * sigma))); | 404 | (exp(-(x - mu) * (x - mu) / (2 * sigma * sigma))); |
| 406 | } | 405 | } |
| 407 | 406 | ||
| 408 | extern void (*vp8_clear_system_state)(void); | ||
| 409 | |||
| 410 | |||
| 411 | static void fillrd(struct postproc_state *state, int q, int a) | 407 | static void fillrd(struct postproc_state *state, int q, int a) |
| 412 | { | 408 | { |
| 413 | char char_dist[300]; | 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 | if (((flags & VP8D_DEBLOCK) || (flags & VP8D_DEMACROBLOCK)) && | 751 | if (((flags & VP8D_DEBLOCK) || (flags & VP8D_DEMACROBLOCK)) && |
| 756 | oci->post_proc_buffer_int_used) | 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 | if (flags & VP8D_DEMACROBLOCK) | 755 | if (flags & VP8D_DEMACROBLOCK) |
| 760 | { | 756 | { |
| 761 | vp8_deblock_and_de_macro_block(&oci->post_proc_buffer_int, &oci->post_proc_buffer, | 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 | else | 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 | oci->postproc_state.last_base_qindex = oci->base_qindex; | 784 | oci->postproc_state.last_base_qindex = oci->base_qindex; |
| 789 | } | 785 | } |
| 790 | oci->postproc_state.last_frame_valid = 1; | 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 | # End of encoder only functions | 504 | # End of encoder only functions |
| 505 | fi | 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 | #include "vp8/common/entropymode.h" | 21 | #include "vp8/common/entropymode.h" |
| 22 | #include "vp8/common/quant_common.h" | 22 | #include "vp8/common/quant_common.h" |
| 23 | #include "vpx_scale/vpxscale.h" | 23 | #include "vpx_scale/vpxscale.h" |
| 24 | #include "vpx_scale/yv12extend.h" | ||
| 25 | #include "vp8/common/setupintrarecon.h" | 24 | #include "vp8/common/setupintrarecon.h" |
| 26 | 25 | ||
| 27 | #include "decodemv.h" | 26 | #include "decodemv.h" |
| @@ -1135,7 +1134,7 @@ int vp8_decode_frame(VP8D_COMP *pbi) · 1107 unmodified lines | |||
| 1135 | { | 1134 | { |
| 1136 | int i; | 1135 | int i; |
| 1137 | vp8mt_decode_mb_rows(pbi, xd); | 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 | for (i = 0; i < pbi->decoding_thread_count; ++i) | 1138 | for (i = 0; i < pbi->decoding_thread_count; ++i) |
| 1140 | corrupt_tokens |= pbi->mb_row_di[i].mbd.corrupted; | 1139 | corrupt_tokens |= pbi->mb_row_di[i].mbd.corrupted; |
| 1141 | } | 1140 | } |
| @@ -17,7 +17,6 @@ · 16 unmodified lines | |||
| 17 | #include "onyxd_int.h" | 17 | #include "onyxd_int.h" |
| 18 | #include "vpx_mem/vpx_mem.h" | 18 | #include "vpx_mem/vpx_mem.h" |
| 19 | #include "vp8/common/alloccommon.h" | 19 | #include "vp8/common/alloccommon.h" |
| 20 | #include "vpx_scale/yv12extend.h" | ||
| 21 | #include "vp8/common/loopfilter.h" | 20 | #include "vp8/common/loopfilter.h" |
| 22 | #include "vp8/common/swapyv12buffer.h" | 21 | #include "vp8/common/swapyv12buffer.h" |
| 23 | #include "vp8/common/threading.h" | 22 | #include "vp8/common/threading.h" |
| @@ -42,20 +41,6 @@ extern void vp8cx_init_de_quantizer(VP8D_COMP *pbi); · 18 unmodified lines | |||
| 42 | static int get_free_fb (VP8_COMMON *cm); | 41 | static int get_free_fb (VP8_COMMON *cm); |
| 43 | static void ref_cnt_fb (int *buf, int *idx, int new_idx); | 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 | struct VP8D_COMP * vp8dx_create_decompressor(VP8D_CONFIG *oxcf) | 44 | struct VP8D_COMP * vp8dx_create_decompressor(VP8D_CONFIG *oxcf) |
| 60 | { | 45 | { |
| 61 | VP8D_COMP *pbi = vpx_memalign(32, sizeof(VP8D_COMP)); | 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 | pbi->common.error.setjmp = 1; | 60 | pbi->common.error.setjmp = 1; |
| 76 | vp8dx_initialize(); | ||
| 77 | 61 | ||
| 78 | vp8_create_common(&pbi->common); | 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 | "Incorrect buffer dimensions"); | 147 | "Incorrect buffer dimensions"); |
| 164 | } | 148 | } |
| 165 | else | 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 | return pbi->common.error.error_code; | 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 | /* Manage the reference counters and copy image. */ | 188 | /* Manage the reference counters and copy image. */ |
| 205 | ref_cnt_fb (cm->fb_idx_ref_cnt, ref_fb_ptr, free_fb); | 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 | return pbi->common.error.error_code; | 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 | const int prev_idx = cm->lst_fb_idx; | 351 | const int prev_idx = cm->lst_fb_idx; |
| 368 | cm->fb_idx_ref_cnt[prev_idx]--; | 352 | cm->fb_idx_ref_cnt[prev_idx]--; |
| 369 | cm->lst_fb_idx = get_free_fb(cm); | 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 | &cm->yv12_fb[cm->lst_fb_idx]); | 355 | &cm->yv12_fb[cm->lst_fb_idx]); |
| 372 | } | 356 | } |
| 373 | /* This is used to signal that we are missing frames. | 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 | /* Apply the loop filter if appropriate. */ | 470 | /* Apply the loop filter if appropriate. */ |
| 487 | vp8_loop_filter_frame(cm, &pbi->mb); | 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 | void vp8_pack_tokens_c(vp8_writer *w, const TOKENEXTRA *p, int xcount) | 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 | unsigned int split; | 166 | unsigned int split; |
| 167 | unsigned int shift; | 167 | unsigned int shift; |
| 168 | int count = w->count; | 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 | while (p < stop) | 172 | while (p < stop) |
| 173 | { | 173 | { |
| 174 | const int t = p->Token; | 174 | const int t = p->Token; |
| 175 | vp8_token *const a = vp8_coef_encodings + t; | 175 | const vp8_token *a = vp8_coef_encodings + t; |
| 176 | const vp8_extra_bit_struct *const b = vp8_extra_bits + t; | 176 | const vp8_extra_bit_struct *b = vp8_extra_bits + t; |
| 177 | int i = 0; | 177 | int i = 0; |
| 178 | const unsigned char *pp = p->context_tree; | 178 | const unsigned char *pp = p->context_tree; |
| 179 | int v = a->value; | 179 | int v = a->value; |
| @@ -14,19 +14,19 @@ · 13 unmodified lines | |||
| 14 | 14 | ||
| 15 | #if HAVE_EDSP | 15 | #if HAVE_EDSP |
| 16 | void vp8cx_pack_tokens_armv5(vp8_writer *w, const TOKENEXTRA *p, int xcount, | 16 | void vp8cx_pack_tokens_armv5(vp8_writer *w, const TOKENEXTRA *p, int xcount, |
| 17 | vp8_token *, | 17 | const vp8_token *, |
| 18 | vp8_extra_bit_struct *, | 18 | const vp8_extra_bit_struct *, |
| 19 | const vp8_tree_index *); | 19 | const vp8_tree_index *); |
| 20 | void vp8cx_pack_tokens_into_partitions_armv5(VP8_COMP *, | 20 | void vp8cx_pack_tokens_into_partitions_armv5(VP8_COMP *, |
| 21 | unsigned char * cx_data, | 21 | unsigned char * cx_data, |
| 22 | const unsigned char *cx_data_end, | 22 | const unsigned char *cx_data_end, |
| 23 | int num_parts, | 23 | int num_parts, |
| 24 | vp8_token *, | 24 | const vp8_token *, |
| 25 | vp8_extra_bit_struct *, | 25 | const vp8_extra_bit_struct *, |
| 26 | const vp8_tree_index *); | 26 | const vp8_tree_index *); |
| 27 | void vp8cx_pack_mb_row_tokens_armv5(VP8_COMP *cpi, vp8_writer *w, | 27 | void vp8cx_pack_mb_row_tokens_armv5(VP8_COMP *cpi, vp8_writer *w, |
| 28 | vp8_token *, | 28 | const vp8_token *, |
| 29 | vp8_extra_bit_struct *, | 29 | const vp8_extra_bit_struct *, |
| 30 | const vp8_tree_index *); | 30 | const vp8_tree_index *); |
| 31 | # define pack_tokens(a,b,c) \ | 31 | # define pack_tokens(a,b,c) \ |
| 32 | vp8cx_pack_tokens_armv5(a,b,c,vp8_coef_encodings,vp8_extra_bits,vp8_coef_tree) | 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 | * be found in the AUTHORS file in the root of the source tree. | 8 | * be found in the AUTHORS file in the root of the source tree. |
| 9 | */ | 9 | */ |
| 10 | 10 | ||
| 11 | #include "math.h" | 11 | #include <math.h> |
| 12 | #include "limits.h" | 12 | #include <limits.h> |
| 13 | #include <stdio.h> | ||
| 14 | |||
| 13 | #include "block.h" | 15 | #include "block.h" |
| 14 | #include "onyx_int.h" | 16 | #include "onyx_int.h" |
| 15 | #include "vp8/common/variance.h" | 17 | #include "vp8/common/variance.h" |
| 16 | #include "encodeintra.h" | 18 | #include "encodeintra.h" |
| 17 | #include "vp8/common/setupintrarecon.h" | 19 | #include "vp8/common/setupintrarecon.h" |
| 20 | #include "vp8/common/systemdependent.h" | ||
| 18 | #include "mcomp.h" | 21 | #include "mcomp.h" |
| 19 | #include "firstpass.h" | 22 | #include "firstpass.h" |
| 20 | #include "vpx_scale/vpxscale.h" | 23 | #include "vpx_scale/vpxscale.h" |
| 21 | #include "encodemb.h" | 24 | #include "encodemb.h" |
| 22 | #include "vp8/common/extend.h" | 25 | #include "vp8/common/extend.h" |
| 23 | #include "vp8/common/systemdependent.h" | ||
| 24 | #include "vpx_scale/yv12extend.h" | ||
| 25 | #include "vpx_mem/vpx_mem.h" | 26 | #include "vpx_mem/vpx_mem.h" |
| 26 | #include "vp8/common/swapyv12buffer.h" | 27 | #include "vp8/common/swapyv12buffer.h" |
| 27 | #include <stdio.h> | ||
| 28 | #include "rdopt.h" | 28 | #include "rdopt.h" |
| 29 | #include "vp8/common/quant_common.h" | 29 | #include "vp8/common/quant_common.h" |
| 30 | #include "encodemv.h" | 30 | #include "encodemv.h" |
| @@ -828,7 +828,7 @@ skip_motion_search: · 797 unmodified lines | |||
| 828 | (cpi->twopass.this_frame_stats.pcnt_inter > 0.20) && | 828 | (cpi->twopass.this_frame_stats.pcnt_inter > 0.20) && |
| 829 | ((cpi->twopass.this_frame_stats.intra_error / cpi->twopass.this_frame_stats.coded_error) > 2.0)) | 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 | // swap frame pointers so last frame refers to the frame we just compressed | 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 | // Special case for the first frame. Copy into the GF buffer as a second reference. | 838 | // Special case for the first frame. Copy into the GF buffer as a second reference. |
| 839 | if (cm->current_video_frame == 0) | 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 | #include "ratectrl.h" | 23 | #include "ratectrl.h" |
| 24 | #include "vp8/common/quant_common.h" | 24 | #include "vp8/common/quant_common.h" |
| 25 | #include "segmentation.h" | 25 | #include "segmentation.h" |
| 26 | #include "vpx_scale/yv12extend.h" | ||
| 27 | #if CONFIG_POSTPROC | 26 | #if CONFIG_POSTPROC |
| 28 | #include "vp8/common/postproc.h" | 27 | #include "vp8/common/postproc.h" |
| 29 | #endif | 28 | #endif |
| @@ -211,19 +210,6 @@ static const unsigned char inter_minq[QINDEX_RANGE] = · 181 unmodified lines | |||
| 211 | 86,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100 | 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 | #ifdef PACKET_TESTING | 213 | #ifdef PACKET_TESTING |
| 228 | extern FILE *vpxlogc; | 214 | extern FILE *vpxlogc; |
| 229 | #endif | 215 | #endif |
| @@ -591,7 +577,7 @@ static void set_default_lf_deltas(VP8_COMP *cpi) · 361 unmodified lines | |||
| 591 | #define GOOD(x) (x+1) | 577 | #define GOOD(x) (x+1) |
| 592 | #define RT(x) (x+7) | 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 | int res; | 582 | int res; |
| 597 | 583 | ||
| @@ -602,73 +588,73 @@ static int speed_map(int speed, int *map) · 4 unmodified lines | |||
| 602 | return res; | 588 | return res; |
| 603 | } | 589 | } |
| 604 | 590 | ||
| 605 | static int thresh_mult_map_znn[] = { | 591 | static const int thresh_mult_map_znn[] = { |
| 606 | /* map common to zero, nearest, and near */ | 592 | /* map common to zero, nearest, and near */ |
| 607 | 0, GOOD(2), 1500, GOOD(3), 2000, RT(0), 1000, RT(2), 2000, INT_MAX | 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 | 1000, GOOD(2), 1500, GOOD(3), 2000, RT(0), 1000, RT(1), 2000, | 597 | 1000, GOOD(2), 1500, GOOD(3), 2000, RT(0), 1000, RT(1), 2000, |
| 612 | RT(7), INT_MAX, INT_MAX | 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 | 2000, GOOD(0), 2500, GOOD(2), 5000, GOOD(3), 7500, RT(0), 2500, RT(1), 5000, | 602 | 2000, GOOD(0), 2500, GOOD(2), 5000, GOOD(3), 7500, RT(0), 2500, RT(1), 5000, |
| 617 | RT(6), INT_MAX, INT_MAX | 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 | 1000, GOOD(2), 1500, GOOD(3), 2000, RT(0), 0, RT(1), 1000, RT(2), 2000, | 607 | 1000, GOOD(2), 1500, GOOD(3), 2000, RT(0), 0, RT(1), 1000, RT(2), 2000, |
| 622 | RT(7), INT_MAX, INT_MAX | 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 | 1000, GOOD(2), 2000, RT(0), 2000, INT_MAX | 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 | 1000, GOOD(2), 2000, GOOD(3), 2500, GOOD(5), 4000, RT(0), 2000, RT(2), 2500, | 616 | 1000, GOOD(2), 2000, GOOD(3), 2500, GOOD(5), 4000, RT(0), 2000, RT(2), 2500, |
| 631 | RT(5), 4000, INT_MAX | 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 | 2500, GOOD(0), 1700, GOOD(2), 10000, GOOD(3), 25000, GOOD(4), INT_MAX, | 621 | 2500, GOOD(0), 1700, GOOD(2), 10000, GOOD(3), 25000, GOOD(4), INT_MAX, |
| 636 | RT(0), 5000, RT(1), 10000, RT(2), 25000, RT(3), INT_MAX, INT_MAX | 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 | 5000, GOOD(0), 4500, GOOD(2), 20000, GOOD(3), 50000, GOOD(4), INT_MAX, | 626 | 5000, GOOD(0), 4500, GOOD(2), 20000, GOOD(3), 50000, GOOD(4), INT_MAX, |
| 641 | RT(0), 10000, RT(1), 20000, RT(2), 50000, RT(3), INT_MAX, INT_MAX | 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 | /* {zero,nearest}{2,3} */ | 631 | /* {zero,nearest}{2,3} */ |
| 646 | 0, RT(10), 1<<1, RT(11), 1<<2, RT(12), 1<<3, INT_MAX | 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 | 0, GOOD(5), 2, RT(0), 0, RT(3), 2, RT(5), 4, INT_MAX | 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 | 0, GOOD(5), 2, RT(0), 0, RT(3), 2, RT(10), 1<<2, RT(11), 1<<3, RT(12), 1<<4, | 640 | 0, GOOD(5), 2, RT(0), 0, RT(3), 2, RT(10), 1<<2, RT(11), 1<<3, RT(12), 1<<4, |
| 655 | INT_MAX | 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 | 0, RT(10), 1<<1, RT(11), 1<<2, RT(12), 1<<3, INT_MAX | 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 | 0, GOOD(5), 4, RT(0), 0, RT(3), 4, RT(10), 1<<3, RT(11), 1<<4, RT(12), 1<<5, | 649 | 0, GOOD(5), 4, RT(0), 0, RT(3), 4, RT(10), 1<<3, RT(11), 1<<4, RT(12), 1<<5, |
| 664 | INT_MAX | 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 | 0, GOOD(2), 2, GOOD(3), 7, RT(1), 2, RT(2), 7, INT_MAX | 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 | 0, GOOD(1), 2, GOOD(2), 4, GOOD(3), 15, RT(1), 4, RT(2), 15, INT_MAX | 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 | else | 2507 | else |
| 2522 | return -1; | 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 | return 0; | 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 | else | 2526 | else |
| 2541 | return -1; | 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 | return 0; | 2531 | return 0; |
| 2546 | } | 2532 | } |
| @@ -3158,7 +3144,7 @@ void vp8_loopfilter_frame(VP8_COMP *cpi, VP8_COMMON *cm) · 611 unmodified lines | |||
| 3158 | vp8_loop_filter_frame(cm, &cpi->mb.e_mbd); | 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 | #if CONFIG_TEMPORAL_DENOISING | 3148 | #if CONFIG_TEMPORAL_DENOISING |
| 3163 | if (cpi->oxcf.noise_sensitivity) | 3149 | if (cpi->oxcf.noise_sensitivity) |
| 3164 | { | 3150 | { |
| @@ -13,7 +13,6 @@ · 12 unmodified lines | |||
| 13 | #include "onyx_int.h" | 13 | #include "onyx_int.h" |
| 14 | #include "quantize.h" | 14 | #include "quantize.h" |
| 15 | #include "vpx_mem/vpx_mem.h" | 15 | #include "vpx_mem/vpx_mem.h" |
| 16 | #include "vpx_scale/yv12extend.h" | ||
| 17 | #include "vpx_scale/vpxscale.h" | 16 | #include "vpx_scale/vpxscale.h" |
| 18 | #include "vp8/common/alloccommon.h" | 17 | #include "vp8/common/alloccommon.h" |
| 19 | #include "vp8/common/loopfilter.h" | 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 | // Get baseline error score | 301 | // Get baseline error score |
| 303 | 302 | ||
| 304 | /* Copy the unfiltered / processed recon buffer to the new buffer */ | 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 | vp8cx_set_alt_lf_level(cpi, filt_mid); | 306 | vp8cx_set_alt_lf_level(cpi, filt_mid); |
| 308 | vp8_loop_filter_frame_yonly(cm, &cpi->mb.e_mbd, filt_mid); | 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 | if(ss_err[filt_low] == 0) | 328 | if(ss_err[filt_low] == 0) |
| 330 | { | 329 | { |
| 331 | // Get Low filter error score | 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 | vp8cx_set_alt_lf_level(cpi, filt_low); | 332 | vp8cx_set_alt_lf_level(cpi, filt_low); |
| 334 | vp8_loop_filter_frame_yonly(cm, &cpi->mb.e_mbd, filt_low); | 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 | if(ss_err[filt_high] == 0) | 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 | vp8cx_set_alt_lf_level(cpi, filt_high); | 358 | vp8cx_set_alt_lf_level(cpi, filt_high); |
| 360 | vp8_loop_filter_frame_yonly(cm, &cpi->mb.e_mbd, filt_high); | 359 | vp8_loop_filter_frame_yonly(cm, &cpi->mb.e_mbd, filt_high); |
| 361 | 360 | ||
| @@ -22,7 +22,6 @@ · 21 unmodified lines | |||
| 22 | #include "ratectrl.h" | 22 | #include "ratectrl.h" |
| 23 | #include "vp8/common/quant_common.h" | 23 | #include "vp8/common/quant_common.h" |
| 24 | #include "segmentation.h" | 24 | #include "segmentation.h" |
| 25 | #include "vpx_scale/yv12extend.h" | ||
| 26 | #include "vpx_mem/vpx_mem.h" | 25 | #include "vpx_mem/vpx_mem.h" |
| 27 | #include "vp8/common/swapyv12buffer.h" | 26 | #include "vp8/common/swapyv12buffer.h" |
| 28 | #include "vp8/common/threading.h" | 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 | void vp8_stuff_mb(VP8_COMP *cpi, MACROBLOCKD *x, TOKENEXTRA **t) ; | 26 | void vp8_stuff_mb(VP8_COMP *cpi, MACROBLOCKD *x, TOKENEXTRA **t) ; |
| 27 | void vp8_fix_contexts(MACROBLOCKD *x); | 27 | void vp8_fix_contexts(MACROBLOCKD *x); |
| 28 | 28 | ||
| 29 | static TOKENVALUE dct_value_tokens[DCT_MAX_VALUE*2]; | 29 | #include "dct_value_tokens.h" |
| 30 | const TOKENVALUE *vp8_dct_value_tokens_ptr; | 30 | #include "dct_value_cost.h" |
| 31 | static int dct_value_cost[DCT_MAX_VALUE*2]; | 31 | |
| 32 | const int *vp8_dct_value_cost_ptr; | 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 | #if 0 | 36 | #if 0 |
| 34 | int skip_true_count = 0; | 37 | int skip_true_count = 0; |
| 35 | int skip_false_count = 0; | 38 | int skip_false_count = 0; |
| 36 | #endif | 39 | #endif |
| 40 | |||
| 41 | /* function used to generate dct_value_tokens and dct_value_cost tables */ | ||
| 42 | /* | ||
| 37 | static void fill_value_tokens() | 43 | static void fill_value_tokens() |
| 38 | { | 44 | { |
| 39 | 45 | ||
| 40 | TOKENVALUE *const t = dct_value_tokens + DCT_MAX_VALUE; | 46 | TOKENVALUE *t = dct_value_tokens + DCT_MAX_VALUE; |
| 41 | vp8_extra_bit_struct *const e = vp8_extra_bits; | 47 | const vp8_extra_bit_struct *e = vp8_extra_bits; |
| 42 | 48 | ||
| 43 | int i = -DCT_MAX_VALUE; | 49 | int i = -DCT_MAX_VALUE; |
| 44 | int sign = 1; | 50 | int sign = 1; |
| @@ -70,7 +76,7 @@ static void fill_value_tokens() · 25 unmodified lines | |||
| 70 | // initialize the cost for extra bits for all possible coefficient value. | 76 | // initialize the cost for extra bits for all possible coefficient value. |
| 71 | { | 77 | { |
| 72 | int cost = 0; | 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 | if (p->base_val) | 81 | if (p->base_val) |
| 76 | { | 82 | { |
| @@ -80,7 +86,7 @@ static void fill_value_tokens() · 3 unmodified lines | |||
| 80 | if (Length) | 86 | if (Length) |
| 81 | cost += vp8_treed_cost(p->tree, p->prob, extra >> 1, Length); | 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 | dct_value_cost[i + DCT_MAX_VALUE] = cost; | 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 | vp8_dct_value_tokens_ptr = dct_value_tokens + DCT_MAX_VALUE; | 98 | vp8_dct_value_tokens_ptr = dct_value_tokens + DCT_MAX_VALUE; |
| 93 | vp8_dct_value_cost_ptr = dct_value_cost + DCT_MAX_VALUE; | 99 | vp8_dct_value_cost_ptr = dct_value_cost + DCT_MAX_VALUE; |
| 94 | } | 100 | } |
| 101 | */ | ||
| 95 | 102 | ||
| 96 | static void tokenize2nd_order_b | 103 | static void tokenize2nd_order_b |
| 97 | ( | 104 | ( |
| @@ -476,12 +483,6 @@ void print_context_counters() · 378 unmodified lines | |||
| 476 | #endif | 483 | #endif |
| 477 | 484 | ||
| 478 | 485 | ||
| 479 | void vp8_tokenize_initialize() | ||
| 480 | { | ||
| 481 | fill_value_tokens(); | ||
| 482 | } | ||
| 483 | |||
| 484 | |||
| 485 | static void stuff2nd_order_b | 486 | static void stuff2nd_order_b |
| 486 | ( | 487 | ( |
| 487 | TOKENEXTRA **tp, | 488 | TOKENEXTRA **tp, |
| @@ -40,11 +40,11 @@ void print_context_counters(); · 39 unmodified lines | |||
| 40 | extern _int64 context_counters[BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [MAX_ENTROPY_TOKENS]; | 40 | extern _int64 context_counters[BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [MAX_ENTROPY_TOKENS]; |
| 41 | #endif | 41 | #endif |
| 42 | 42 | ||
| 43 | extern const int *vp8_dct_value_cost_ptr; | 43 | extern const short *const vp8_dct_value_cost_ptr; |
| 44 | /* TODO: The Token field should be broken out into a separate char array to | 44 | /* TODO: The Token field should be broken out into a separate char array to |
| 45 | * improve cache locality, since it's needed for costing when the rest of the | 45 | * improve cache locality, since it's needed for costing when the rest of the |
| 46 | * fields are not. | 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 | #endif /* tokenize_h */ | 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 | int vp8_fast_quantize_b_impl_mmx(short *coeff_ptr, short *zbin_ptr, | 24 | int vp8_fast_quantize_b_impl_mmx(short *coeff_ptr, short *zbin_ptr, |
| 25 | short *qcoeff_ptr, short *dequant_ptr, | 25 | short *qcoeff_ptr, short *dequant_ptr, |
| 26 | short *scan_mask, short *round_ptr, | 26 | const short *scan_mask, short *round_ptr, |
| 27 | short *quant_ptr, short *dqcoeff_ptr); | 27 | short *quant_ptr, short *dqcoeff_ptr); |
| 28 | void vp8_fast_quantize_b_mmx(BLOCK *b, BLOCKD *d) | 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 | short *coeff_ptr = b->coeff; | 31 | short *coeff_ptr = b->coeff; |
| 32 | short *zbin_ptr = b->zbin; | 32 | short *zbin_ptr = b->zbin; |
| 33 | short *round_ptr = b->round; | 33 | short *round_ptr = b->round; |
| @@ -59,7 +59,6 @@ VP8_COMMON_SRCS-yes += common/loopfilter.c · 58 unmodified lines | |||
| 59 | VP8_COMMON_SRCS-yes += common/loopfilter_filters.c | 59 | VP8_COMMON_SRCS-yes += common/loopfilter_filters.c |
| 60 | VP8_COMMON_SRCS-yes += common/mbpitch.c | 60 | VP8_COMMON_SRCS-yes += common/mbpitch.c |
| 61 | VP8_COMMON_SRCS-yes += common/modecont.c | 61 | VP8_COMMON_SRCS-yes += common/modecont.c |
| 62 | VP8_COMMON_SRCS-yes += common/modecontext.c | ||
| 63 | VP8_COMMON_SRCS-yes += common/quant_common.c | 62 | VP8_COMMON_SRCS-yes += common/quant_common.c |
| 64 | VP8_COMMON_SRCS-yes += common/reconinter.c | 63 | VP8_COMMON_SRCS-yes += common/reconinter.c |
| 65 | VP8_COMMON_SRCS-yes += common/reconintra.c | 64 | VP8_COMMON_SRCS-yes += common/reconintra.c |
| @@ -69,6 +68,7 @@ VP8_COMMON_SRCS-yes += common/setupintrarecon.c · 3 unmodified lines | |||
| 69 | VP8_COMMON_SRCS-yes += common/swapyv12buffer.c | 68 | VP8_COMMON_SRCS-yes += common/swapyv12buffer.c |
| 70 | VP8_COMMON_SRCS-yes += common/variance_c.c | 69 | VP8_COMMON_SRCS-yes += common/variance_c.c |
| 71 | VP8_COMMON_SRCS-yes += common/variance.h | 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 | priv->deprecated_mode = NO_MODE_SET; | 629 | priv->deprecated_mode = NO_MODE_SET; |
| 630 | 630 | ||
| 631 | vp8_initialize(); | ||
| 632 | |||
| 633 | res = validate_config(priv, &priv->cfg, &priv->vp8_cfg, 0); | 631 | res = validate_config(priv, &priv->cfg, &priv->vp8_cfg, 0); |
| 634 | 632 | ||
| 635 | if (!res) | 633 | if (!res) |
| @@ -391,8 +391,6 @@ static vpx_codec_err_t vp8_decode(vpx_codec_alg_priv_t *ctx, · 390 unmodified lines | |||
| 391 | VP8D_CONFIG oxcf; | 391 | VP8D_CONFIG oxcf; |
| 392 | struct VP8D_COMP* optr; | 392 | struct VP8D_COMP* optr; |
| 393 | 393 | ||
| 394 | vp8dx_initialize(); | ||
| 395 | |||
| 396 | oxcf.Width = ctx->si.w; | 394 | oxcf.Width = ctx->si.w; |
| 397 | oxcf.Height = ctx->si.h; | 395 | oxcf.Height = ctx->si.h; |
| 398 | oxcf.Version = 9; | 396 | oxcf.Version = 9; |
| @@ -78,6 +78,8 @@ VP8_CX_SRCS-yes += encoder/segmentation.c · 77 unmodified lines | |||
| 78 | VP8_CX_SRCS-yes += encoder/segmentation.h | 78 | VP8_CX_SRCS-yes += encoder/segmentation.h |
| 79 | VP8_CX_SRCS-$(CONFIG_INTERNAL_STATS) += encoder/ssim.c | 79 | VP8_CX_SRCS-$(CONFIG_INTERNAL_STATS) += encoder/ssim.c |
| 80 | VP8_CX_SRCS-yes += encoder/tokenize.c | 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 | VP8_CX_SRCS-yes += encoder/treewriter.c | 83 | VP8_CX_SRCS-yes += encoder/treewriter.c |
| 82 | VP8_CX_SRCS-$(CONFIG_INTERNAL_STATS) += common/postproc.h | 84 | VP8_CX_SRCS-$(CONFIG_INTERNAL_STATS) += common/postproc.h |
| 83 | VP8_CX_SRCS-$(CONFIG_INTERNAL_STATS) += common/postproc.c | 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 | * INPUTS : const unsigned char *source : Pointer to source data. | 22 | * INPUTS : const unsigned char *source : Pointer to source data. |
| 23 | * unsigned int source_width : Stride of source. | 23 | * unsigned int source_width : Stride of source. |
| @@ -34,7 +34,7 @@ · 10 unmodified lines | |||
| 34 | * SPECIAL NOTES : None. | 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 | const unsigned char *source, | 39 | const unsigned char *source, |
| 40 | unsigned int source_width, | 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 | * INPUTS : unsigned char *dest : Pointer to destination data. | 85 | * INPUTS : unsigned char *dest : Pointer to destination data. |
| 86 | * unsigned int dest_pitch : Stride of destination data. | 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 | * the current band. | 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 | unsigned int i; | 102 | unsigned int i; |
| 103 | unsigned int a, b, c, d; | 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 | * INPUTS : unsigned char *dest : Pointer to destination data. | 131 | * INPUTS : unsigned char *dest : Pointer to destination data. |
| 132 | * unsigned int dest_pitch : Stride of destination data. | 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 | * last band. | 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 | unsigned int i; | 149 | unsigned int i; |
| 150 | unsigned int a, b, c, d; | 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 | * INPUTS : const unsigned char *source : Pointer to source data. | 177 | * INPUTS : const unsigned char *source : Pointer to source data. |
| 178 | * unsigned int source_width : Stride of source. | 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 | const unsigned char *source, | 195 | const unsigned char *source, |
| 196 | unsigned int source_width, | 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 | * INPUTS : unsigned char *dest : Pointer to destination data. | 234 | * INPUTS : unsigned char *dest : Pointer to destination data. |
| 235 | * unsigned int dest_pitch : Stride of destination data. | 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 | * the current band. | 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 | unsigned int i; | 251 | unsigned int i; |
| 252 | unsigned int a, b, c; | 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 | * INPUTS : unsigned char *dest : Pointer to destination data. | 271 | * INPUTS : unsigned char *dest : Pointer to destination data. |
| 272 | * unsigned int dest_pitch : Stride of destination data. | 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 | * last band. | 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 | unsigned int i; | 289 | unsigned int i; |
| 290 | unsigned int a, b; | 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 | * INPUTS : const unsigned char *source : Pointer to source data. | 308 | * INPUTS : const unsigned char *source : Pointer to source data. |
| 309 | * unsigned int source_width : Stride of source. | 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 | const unsigned char *source, | 326 | const unsigned char *source, |
| 327 | unsigned int source_width, | 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 | * INPUTS : unsigned char *dest : Pointer to destination data. | 373 | * INPUTS : unsigned char *dest : Pointer to destination data. |
| 374 | * unsigned int dest_pitch : Stride of destination data. | 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 | * the current band. | 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 | unsigned int i; | 390 | unsigned int i; |
| 391 | unsigned int a, b, c; | 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 | * INPUTS : unsigned char *dest : Pointer to destination data. | 416 | * INPUTS : unsigned char *dest : Pointer to destination data. |
| 417 | * unsigned int dest_pitch : Stride of destination data. | 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 | * last band. | 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 | unsigned int i; | 434 | unsigned int i; |
| 435 | unsigned int a, b, c; | 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 | * INPUTS : const unsigned char *source : Pointer to source data. | 460 | * INPUTS : const unsigned char *source : Pointer to source data. |
| 461 | * unsigned int source_width : Stride of source. | 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 | const unsigned char *source, | 478 | const unsigned char *source, |
| 479 | unsigned int source_width, | 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 | * INPUTS : unsigned char *dest : Pointer to destination data. | 522 | * INPUTS : unsigned char *dest : Pointer to destination data. |
| 523 | * unsigned int dest_pitch : Stride of destination data. | 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 | * the current band. | 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 | unsigned int i; | 539 | unsigned int i; |
| 540 | unsigned int a, b, c; | 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 | * INPUTS : unsigned char *dest : Pointer to destination data. | 564 | * INPUTS : unsigned char *dest : Pointer to destination data. |
| 565 | * unsigned int dest_pitch : Stride of destination data. | 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 | * last band. | 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 | unsigned int i; | 582 | unsigned int i; |
| 583 | unsigned int a, b, c; | 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 | * INPUTS : const unsigned char *source : Pointer to source data. | 607 | * INPUTS : const unsigned char *source : Pointer to source data. |
| 608 | * unsigned int source_width : Stride of source. | 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 | * SPECIAL NOTES : None. | 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 | const unsigned char *source, | 624 | const unsigned char *source, |
| 625 | unsigned int source_width, | 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 | * INPUTS : unsigned char *dest : Pointer to destination data. | 656 | * INPUTS : unsigned char *dest : Pointer to destination data. |
| 657 | * unsigned int dest_pitch : Stride of destination data. | 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 | * the current band. | 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 | unsigned int i; | 673 | unsigned int i; |
| 674 | unsigned int a, b; | 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 | * INPUTS : unsigned char *dest : Pointer to destination data. | 692 | * INPUTS : unsigned char *dest : Pointer to destination data. |
| 693 | * unsigned int dest_pitch : Stride of destination data. | 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 | * last band. | 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 | unsigned int i; | 710 | unsigned int i; |
| 711 | unsigned char *des = dest; | 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 | * INPUTS : const unsigned char *source : Pointer to source data. | 728 | * INPUTS : const unsigned char *source : Pointer to source data. |
| 729 | * unsigned int source_width : Stride of source. | 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 | * SPECIAL NOTES : None. | 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 | const unsigned char *source, | 745 | const unsigned char *source, |
| 746 | unsigned int source_width, | 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 | unsigned int i; | 781 | unsigned int i; |
| 782 | unsigned int a, b, c, d, e; | 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 | /*7*************************************************************************** | 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 | * INPUTS : const unsigned char *source : Pointer to source data. | 811 | * INPUTS : const unsigned char *source : Pointer to source data. |
| 812 | * unsigned int source_width : Stride of source. | 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 | const unsigned char *source, | 829 | const unsigned char *source, |
| 830 | unsigned int source_width, | 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 | unsigned int i; | 862 | unsigned int i; |
| 863 | unsigned int a, b, c, d, e; | 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 | * INPUTS : const unsigned char *source : Pointer to source data. | 890 | * INPUTS : const unsigned char *source : Pointer to source data. |
| 891 | * unsigned int source_width : Stride of source. | 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 | * SPECIAL NOTES : None. | 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 | const unsigned char *source, | 907 | const unsigned char *source, |
| 908 | unsigned int source_width, | 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 | (void) dest_pitch; | 933 | (void) dest_pitch; |
| 934 | (void) src_pitch; | 934 | (void) src_pitch; |
| 935 | vpx_memcpy(dest, source, dest_width); | 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 | int i; | 940 | int i; |
| 941 | int temp; | 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 | * Header Files | 21 | * Header Files |
| 22 | ****************************************************************************/ | 22 | ****************************************************************************/ |
| 23 | #include "vpx_rtcd.h" | ||
| 23 | #include "vpx_mem/vpx_mem.h" | 24 | #include "vpx_mem/vpx_mem.h" |
| 24 | #include "vpx_scale/yv12config.h" | 25 | #include "vpx_scale/yv12config.h" |
| 25 | #include "vpx_scale/scale_mode.h" | 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 | typedef struct | 28 | typedef struct |
| 55 | { | 29 | { |
| 56 | int expanded_frame_width; | 30 | int expanded_frame_width; |
| @@ -21,7 +21,7 @@ · 20 unmodified lines | |||
| 21 | * | 21 | * |
| 22 | ****************************************************************************/ | 22 | ****************************************************************************/ |
| 23 | void | 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 | int i; | 26 | int i; |
| 27 | unsigned char *src_ptr1, *src_ptr2; | 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 | static void | 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 | int i; | 151 | int i; |
| 152 | unsigned char *src_ptr1, *src_ptr2; | 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 | void | 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 | int row; | 226 | int row; |
| 227 | unsigned char *source, *dest; | 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 | dest += dst_ybc->uv_stride; | 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 | void vp8_yv12_copy_y_c(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc) | 262 | void vp8_yv12_copy_y_c(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc) |
| @@ -1,19 +1,13 @@ | |||
| 1 | SCALE_SRCS-yes += vpx_scale.mk | 1 | SCALE_SRCS-yes += vpx_scale.mk |
| 2 | SCALE_SRCS-yes += scale_mode.h | 2 | SCALE_SRCS-yes += scale_mode.h |
| 3 | SCALE_SRCS-yes += yv12extend.h | ||
| 4 | SCALE_SRCS-yes += yv12config.h | 3 | SCALE_SRCS-yes += yv12config.h |
| 5 | SCALE_SRCS-yes += vpxscale.h | 4 | SCALE_SRCS-yes += vpxscale.h |
| 6 | SCALE_SRCS-yes += generic/vpxscale.c | 5 | SCALE_SRCS-yes += generic/vpxscale.c |
| 7 | SCALE_SRCS-yes += generic/yv12config.c | 6 | SCALE_SRCS-yes += generic/yv12config.c |
| 8 | SCALE_SRCS-yes += generic/yv12extend.c | 7 | SCALE_SRCS-yes += generic/yv12extend.c |
| 9 | SCALE_SRCS-yes += generic/yv12extend_generic.h | 8 | SCALE_SRCS-yes += generic/yv12extend_generic.h |
| 10 | SCALE_SRCS-yes += generic/scalesystemdependent.c | ||
| 11 | SCALE_SRCS-$(CONFIG_SPATIAL_RESAMPLING) += generic/gen_scalers.c | 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 | #neon | 11 | #neon |
| 18 | SCALE_SRCS-$(HAVE_NEON) += arm/neon/vp8_vpxyv12_copyframe_func_neon$(ASM) | 12 | SCALE_SRCS-$(HAVE_NEON) += arm/neon/vp8_vpxyv12_copyframe_func_neon$(ASM) |
| 19 | SCALE_SRCS-$(HAVE_NEON) += arm/neon/vp8_vpxyv12_copy_y_neon$(ASM) | 13 | SCALE_SRCS-$(HAVE_NEON) += arm/neon/vp8_vpxyv12_copy_y_neon$(ASM) |
| @@ -13,53 +13,6 @@ · 12 unmodified lines | |||
| 13 | #define VPXSCALE_H | 13 | #define VPXSCALE_H |
| 14 | 14 | ||
| 15 | #include "vpx_scale/yv12config.h" | 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 | extern void vp8_yv12_scale_or_center | 17 | extern void vp8_yv12_scale_or_center |
| 65 | ( | 18 | ( |
| @@ -85,6 +38,5 @@ extern void vp8_scale_frame · 19 unmodified lines | |||
| 85 | unsigned int vratio, | 38 | unsigned int vratio, |
| 86 | unsigned int interlaced | 39 | unsigned int interlaced |
| 87 | ); | 40 | ); |
| 88 | extern void vp8_scale_machine_specific_config(void); | ||
| 89 | 41 | ||
| 90 | #endif | 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 | ||