... | ... |
@@ -19,13 +19,13 @@ |
19 | 19 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
20 | 20 |
*/ |
21 | 21 |
|
22 |
-#include "avcodec.h" |
|
23 | 22 |
#include "libavutil/avassert.h" |
24 |
- |
|
23 |
+#include "avcodec.h" |
|
25 | 24 |
|
26 | 25 |
void av_destruct_packet_nofree(AVPacket *pkt) |
27 | 26 |
{ |
28 |
- pkt->data = NULL; pkt->size = 0; |
|
27 |
+ pkt->data = NULL; |
|
28 |
+ pkt->size = 0; |
|
29 | 29 |
pkt->side_data = NULL; |
30 | 30 |
pkt->side_data_elems = 0; |
31 | 31 |
} |
... | ... |
@@ -35,7 +35,8 @@ void av_destruct_packet(AVPacket *pkt) |
35 | 35 |
int i; |
36 | 36 |
|
37 | 37 |
av_free(pkt->data); |
38 |
- pkt->data = NULL; pkt->size = 0; |
|
38 |
+ pkt->data = NULL; |
|
39 |
+ pkt->size = 0; |
|
39 | 40 |
|
40 | 41 |
for (i = 0; i < pkt->side_data_elems; i++) |
41 | 42 |
av_free(pkt->side_data[i].data); |
... | ... |
@@ -45,40 +46,41 @@ void av_destruct_packet(AVPacket *pkt) |
45 | 45 |
|
46 | 46 |
void av_init_packet(AVPacket *pkt) |
47 | 47 |
{ |
48 |
- pkt->pts = AV_NOPTS_VALUE; |
|
49 |
- pkt->dts = AV_NOPTS_VALUE; |
|
50 |
- pkt->pos = -1; |
|
51 |
- pkt->duration = 0; |
|
48 |
+ pkt->pts = AV_NOPTS_VALUE; |
|
49 |
+ pkt->dts = AV_NOPTS_VALUE; |
|
50 |
+ pkt->pos = -1; |
|
51 |
+ pkt->duration = 0; |
|
52 | 52 |
pkt->convergence_duration = 0; |
53 |
- pkt->flags = 0; |
|
54 |
- pkt->stream_index = 0; |
|
55 |
- pkt->destruct= NULL; |
|
56 |
- pkt->side_data = NULL; |
|
57 |
- pkt->side_data_elems = 0; |
|
53 |
+ pkt->flags = 0; |
|
54 |
+ pkt->stream_index = 0; |
|
55 |
+ pkt->destruct = NULL; |
|
56 |
+ pkt->side_data = NULL; |
|
57 |
+ pkt->side_data_elems = 0; |
|
58 | 58 |
} |
59 | 59 |
|
60 | 60 |
int av_new_packet(AVPacket *pkt, int size) |
61 | 61 |
{ |
62 |
- uint8_t *data= NULL; |
|
63 |
- if((unsigned)size < (unsigned)size + FF_INPUT_BUFFER_PADDING_SIZE) |
|
62 |
+ uint8_t *data = NULL; |
|
63 |
+ if ((unsigned)size < (unsigned)size + FF_INPUT_BUFFER_PADDING_SIZE) |
|
64 | 64 |
data = av_malloc(size + FF_INPUT_BUFFER_PADDING_SIZE); |
65 |
- if (data){ |
|
65 |
+ if (data) { |
|
66 | 66 |
memset(data + size, 0, FF_INPUT_BUFFER_PADDING_SIZE); |
67 |
- }else |
|
68 |
- size=0; |
|
67 |
+ } else |
|
68 |
+ size = 0; |
|
69 | 69 |
|
70 | 70 |
av_init_packet(pkt); |
71 |
- pkt->data = data; |
|
72 |
- pkt->size = size; |
|
71 |
+ pkt->data = data; |
|
72 |
+ pkt->size = size; |
|
73 | 73 |
pkt->destruct = av_destruct_packet; |
74 |
- if(!data) |
|
74 |
+ if (!data) |
|
75 | 75 |
return AVERROR(ENOMEM); |
76 | 76 |
return 0; |
77 | 77 |
} |
78 | 78 |
|
79 | 79 |
void av_shrink_packet(AVPacket *pkt, int size) |
80 | 80 |
{ |
81 |
- if (pkt->size <= size) return; |
|
81 |
+ if (pkt->size <= size) |
|
82 |
+ return; |
|
82 | 83 |
pkt->size = size; |
83 | 84 |
memset(pkt->data + size, 0, FF_INPUT_BUFFER_PADDING_SIZE); |
84 | 85 |
} |
... | ... |
@@ -89,40 +91,45 @@ int av_grow_packet(AVPacket *pkt, int grow_by) |
89 | 89 |
av_assert0((unsigned)pkt->size <= INT_MAX - FF_INPUT_BUFFER_PADDING_SIZE); |
90 | 90 |
if (!pkt->size) |
91 | 91 |
return av_new_packet(pkt, grow_by); |
92 |
- if ((unsigned)grow_by > INT_MAX - (pkt->size + FF_INPUT_BUFFER_PADDING_SIZE)) |
|
92 |
+ if ((unsigned)grow_by > |
|
93 |
+ INT_MAX - (pkt->size + FF_INPUT_BUFFER_PADDING_SIZE)) |
|
93 | 94 |
return -1; |
94 |
- new_ptr = av_realloc(pkt->data, pkt->size + grow_by + FF_INPUT_BUFFER_PADDING_SIZE); |
|
95 |
+ new_ptr = av_realloc(pkt->data, |
|
96 |
+ pkt->size + grow_by + FF_INPUT_BUFFER_PADDING_SIZE); |
|
95 | 97 |
if (!new_ptr) |
96 | 98 |
return AVERROR(ENOMEM); |
97 |
- pkt->data = new_ptr; |
|
99 |
+ pkt->data = new_ptr; |
|
98 | 100 |
pkt->size += grow_by; |
99 | 101 |
memset(pkt->data + pkt->size, 0, FF_INPUT_BUFFER_PADDING_SIZE); |
100 | 102 |
return 0; |
101 | 103 |
} |
102 | 104 |
|
103 |
-#define DUP_DATA(dst, src, size, padding) \ |
|
104 |
- do { \ |
|
105 |
- void *data; \ |
|
106 |
- if (padding) { \ |
|
107 |
- if ((unsigned)(size) > (unsigned)(size) + FF_INPUT_BUFFER_PADDING_SIZE) \ |
|
108 |
- goto failed_alloc; \ |
|
109 |
- data = av_malloc(size + FF_INPUT_BUFFER_PADDING_SIZE); \ |
|
110 |
- } else { \ |
|
111 |
- data = av_malloc(size); \ |
|
112 |
- } \ |
|
113 |
- if (!data) \ |
|
114 |
- goto failed_alloc; \ |
|
115 |
- memcpy(data, src, size); \ |
|
116 |
- if (padding) \ |
|
117 |
- memset((uint8_t*)data + size, 0, FF_INPUT_BUFFER_PADDING_SIZE); \ |
|
118 |
- dst = data; \ |
|
119 |
- } while(0) |
|
105 |
+#define DUP_DATA(dst, src, size, padding) \ |
|
106 |
+ do { \ |
|
107 |
+ void *data; \ |
|
108 |
+ if (padding) { \ |
|
109 |
+ if ((unsigned)(size) > \ |
|
110 |
+ (unsigned)(size) + FF_INPUT_BUFFER_PADDING_SIZE) \ |
|
111 |
+ goto failed_alloc; \ |
|
112 |
+ data = av_malloc(size + FF_INPUT_BUFFER_PADDING_SIZE); \ |
|
113 |
+ } else { \ |
|
114 |
+ data = av_malloc(size); \ |
|
115 |
+ } \ |
|
116 |
+ if (!data) \ |
|
117 |
+ goto failed_alloc; \ |
|
118 |
+ memcpy(data, src, size); \ |
|
119 |
+ if (padding) \ |
|
120 |
+ memset((uint8_t *)data + size, 0, \ |
|
121 |
+ FF_INPUT_BUFFER_PADDING_SIZE); \ |
|
122 |
+ dst = data; \ |
|
123 |
+ } while (0) |
|
120 | 124 |
|
121 | 125 |
int av_dup_packet(AVPacket *pkt) |
122 | 126 |
{ |
123 | 127 |
AVPacket tmp_pkt; |
124 | 128 |
|
125 |
- if (((pkt->destruct == av_destruct_packet_nofree) || (pkt->destruct == NULL)) && pkt->data) { |
|
129 |
+ if (((pkt->destruct == av_destruct_packet_nofree) || |
|
130 |
+ (pkt->destruct == NULL)) && pkt->data) { |
|
126 | 131 |
tmp_pkt = *pkt; |
127 | 132 |
|
128 | 133 |
pkt->data = NULL; |
... | ... |
@@ -135,14 +142,15 @@ int av_dup_packet(AVPacket *pkt) |
135 | 135 |
|
136 | 136 |
DUP_DATA(pkt->side_data, tmp_pkt.side_data, |
137 | 137 |
pkt->side_data_elems * sizeof(*pkt->side_data), 0); |
138 |
- memset(pkt->side_data, 0, pkt->side_data_elems * sizeof(*pkt->side_data)); |
|
139 |
- for (i = 0; i < pkt->side_data_elems; i++) { |
|
138 |
+ memset(pkt->side_data, 0, |
|
139 |
+ pkt->side_data_elems * sizeof(*pkt->side_data)); |
|
140 |
+ for (i = 0; i < pkt->side_data_elems; i++) |
|
140 | 141 |
DUP_DATA(pkt->side_data[i].data, tmp_pkt.side_data[i].data, |
141 | 142 |
pkt->side_data[i].size, 1); |
142 |
- } |
|
143 | 143 |
} |
144 | 144 |
} |
145 | 145 |
return 0; |
146 |
+ |
|
146 | 147 |
failed_alloc: |
147 | 148 |
av_destruct_packet(pkt); |
148 | 149 |
return AVERROR(ENOMEM); |
... | ... |
@@ -151,14 +159,16 @@ failed_alloc: |
151 | 151 |
void av_free_packet(AVPacket *pkt) |
152 | 152 |
{ |
153 | 153 |
if (pkt) { |
154 |
- if (pkt->destruct) pkt->destruct(pkt); |
|
155 |
- pkt->data = NULL; pkt->size = 0; |
|
154 |
+ if (pkt->destruct) |
|
155 |
+ pkt->destruct(pkt); |
|
156 |
+ pkt->data = NULL; |
|
157 |
+ pkt->size = 0; |
|
156 | 158 |
pkt->side_data = NULL; |
157 | 159 |
pkt->side_data_elems = 0; |
158 | 160 |
} |
159 | 161 |
} |
160 | 162 |
|
161 |
-uint8_t* av_packet_new_side_data(AVPacket *pkt, enum AVPacketSideDataType type, |
|
163 |
+uint8_t *av_packet_new_side_data(AVPacket *pkt, enum AVPacketSideDataType type, |
|
162 | 164 |
int size) |
163 | 165 |
{ |
164 | 166 |
int elems = pkt->side_data_elems; |
... | ... |
@@ -168,7 +178,8 @@ uint8_t* av_packet_new_side_data(AVPacket *pkt, enum AVPacketSideDataType type, |
168 | 168 |
if ((unsigned)size > INT_MAX - FF_INPUT_BUFFER_PADDING_SIZE) |
169 | 169 |
return NULL; |
170 | 170 |
|
171 |
- pkt->side_data = av_realloc(pkt->side_data, (elems + 1) * sizeof(*pkt->side_data)); |
|
171 |
+ pkt->side_data = av_realloc(pkt->side_data, |
|
172 |
+ (elems + 1) * sizeof(*pkt->side_data)); |
|
172 | 173 |
if (!pkt->side_data) |
173 | 174 |
return NULL; |
174 | 175 |
|
... | ... |
@@ -182,7 +193,7 @@ uint8_t* av_packet_new_side_data(AVPacket *pkt, enum AVPacketSideDataType type, |
182 | 182 |
return pkt->side_data[elems].data; |
183 | 183 |
} |
184 | 184 |
|
185 |
-uint8_t* av_packet_get_side_data(AVPacket *pkt, enum AVPacketSideDataType type, |
|
185 |
+uint8_t *av_packet_get_side_data(AVPacket *pkt, enum AVPacketSideDataType type, |
|
186 | 186 |
int *size) |
187 | 187 |
{ |
188 | 188 |
int i; |
... | ... |
@@ -39,8 +39,8 @@ typedef struct BFIContext { |
39 | 39 |
static av_cold int bfi_decode_init(AVCodecContext *avctx) |
40 | 40 |
{ |
41 | 41 |
BFIContext *bfi = avctx->priv_data; |
42 |
- avctx->pix_fmt = PIX_FMT_PAL8; |
|
43 |
- bfi->dst = av_mallocz(avctx->width * avctx->height); |
|
42 |
+ avctx->pix_fmt = PIX_FMT_PAL8; |
|
43 |
+ bfi->dst = av_mallocz(avctx->width * avctx->height); |
|
44 | 44 |
return 0; |
45 | 45 |
} |
46 | 46 |
|
... | ... |
@@ -48,9 +48,9 @@ static int bfi_decode_frame(AVCodecContext *avctx, void *data, |
48 | 48 |
int *data_size, AVPacket *avpkt) |
49 | 49 |
{ |
50 | 50 |
GetByteContext g; |
51 |
- int buf_size = avpkt->size; |
|
51 |
+ int buf_size = avpkt->size; |
|
52 | 52 |
BFIContext *bfi = avctx->priv_data; |
53 |
- uint8_t *dst = bfi->dst; |
|
53 |
+ uint8_t *dst = bfi->dst; |
|
54 | 54 |
uint8_t *src, *dst_offset, colour1, colour2; |
55 | 55 |
uint8_t *frame_end = bfi->dst + avctx->width * avctx->height; |
56 | 56 |
uint32_t *pal; |
... | ... |
@@ -82,9 +82,8 @@ static int bfi_decode_frame(AVCodecContext *avctx, void *data, |
82 | 82 |
int shift = 16; |
83 | 83 |
*pal = 0; |
84 | 84 |
for (j = 0; j < 3; j++, shift -= 8) |
85 |
- *pal += |
|
86 |
- ((avctx->extradata[i * 3 + j] << 2) | |
|
87 |
- (avctx->extradata[i * 3 + j] >> 4)) << shift; |
|
85 |
+ *pal += ((avctx->extradata[i * 3 + j] << 2) | |
|
86 |
+ (avctx->extradata[i * 3 + j] >> 4)) << shift; |
|
88 | 87 |
pal++; |
89 | 88 |
} |
90 | 89 |
bfi->frame.palette_has_changed = 1; |
... | ... |
@@ -107,7 +106,7 @@ static int bfi_decode_frame(AVCodecContext *avctx, void *data, |
107 | 107 |
return -1; |
108 | 108 |
} |
109 | 109 |
|
110 |
- /* Get length and offset(if required) */ |
|
110 |
+ /* Get length and offset (if required) */ |
|
111 | 111 |
if (length == 0) { |
112 | 112 |
if (code == 1) { |
113 | 113 |
length = bytestream2_get_byte(&g); |
... | ... |
@@ -127,8 +126,7 @@ static int bfi_decode_frame(AVCodecContext *avctx, void *data, |
127 | 127 |
break; |
128 | 128 |
|
129 | 129 |
switch (code) { |
130 |
- |
|
131 |
- case 0: //Normal Chain |
|
130 |
+ case 0: // normal chain |
|
132 | 131 |
if (length >= bytestream2_get_bytes_left(&g)) { |
133 | 132 |
av_log(avctx, AV_LOG_ERROR, "Frame larger than buffer.\n"); |
134 | 133 |
return -1; |
... | ... |
@@ -136,21 +134,18 @@ static int bfi_decode_frame(AVCodecContext *avctx, void *data, |
136 | 136 |
bytestream2_get_buffer(&g, dst, length); |
137 | 137 |
dst += length; |
138 | 138 |
break; |
139 |
- |
|
140 |
- case 1: //Back Chain |
|
139 |
+ case 1: // back chain |
|
141 | 140 |
dst_offset = dst - offset; |
142 |
- length *= 4; //Convert dwords to bytes. |
|
141 |
+ length *= 4; // Convert dwords to bytes. |
|
143 | 142 |
if (dst_offset < bfi->dst) |
144 | 143 |
break; |
145 | 144 |
while (length--) |
146 | 145 |
*dst++ = *dst_offset++; |
147 | 146 |
break; |
148 |
- |
|
149 |
- case 2: //Skip Chain |
|
147 |
+ case 2: // skip chain |
|
150 | 148 |
dst += length; |
151 | 149 |
break; |
152 |
- |
|
153 |
- case 3: //Fill Chain |
|
150 |
+ case 3: // fill chain |
|
154 | 151 |
colour1 = bytestream2_get_byte(&g); |
155 | 152 |
colour2 = bytestream2_get_byte(&g); |
156 | 153 |
while (length--) { |
... | ... |
@@ -158,7 +153,6 @@ static int bfi_decode_frame(AVCodecContext *avctx, void *data, |
158 | 158 |
*dst++ = colour2; |
159 | 159 |
} |
160 | 160 |
break; |
161 |
- |
|
162 | 161 |
} |
163 | 162 |
} |
164 | 163 |
|
... | ... |
@@ -169,12 +163,12 @@ static int bfi_decode_frame(AVCodecContext *avctx, void *data, |
169 | 169 |
src += avctx->width; |
170 | 170 |
dst += bfi->frame.linesize[0]; |
171 | 171 |
} |
172 |
- *data_size = sizeof(AVFrame); |
|
172 |
+ *data_size = sizeof(AVFrame); |
|
173 | 173 |
*(AVFrame *)data = bfi->frame; |
174 | 174 |
return buf_size; |
175 | 175 |
} |
176 | 176 |
|
177 |
-static av_cold int bfi_decode_close(AVCodecContext * avctx) |
|
177 |
+static av_cold int bfi_decode_close(AVCodecContext *avctx) |
|
178 | 178 |
{ |
179 | 179 |
BFIContext *bfi = avctx->priv_data; |
180 | 180 |
if (bfi->frame.data[0]) |
... | ... |
@@ -25,10 +25,8 @@ |
25 | 25 |
* @author Thilo Borgmann <thilo.borgmann _at_ googlemail.com> |
26 | 26 |
*/ |
27 | 27 |
|
28 |
- |
|
29 | 28 |
#include "bgmc.h" |
30 | 29 |
|
31 |
- |
|
32 | 30 |
#define FREQ_BITS 14 // bits used by frequency counters |
33 | 31 |
#define VALUE_BITS 18 // bits used to represent the values |
34 | 32 |
#define TOP_VALUE ((1 << VALUE_BITS) - 1) // maximum value |
... | ... |
@@ -41,382 +39,381 @@ |
41 | 41 |
#define LUT_BUFF 4 // number of buffered lookup tables |
42 | 42 |
|
43 | 43 |
|
44 |
-/** Cumulative frequency tables for block Gilbert-Moore coding. |
|
45 |
- */ |
|
44 |
+/** Cumulative frequency tables for block Gilbert-Moore coding. */ |
|
46 | 45 |
static const uint16_t cf_tables_1[3][129] = { |
47 | 46 |
{ |
48 |
- 16384, 16066, 15748, 15431, 15114, 14799, 14485, 14173, 13861, 13552, |
|
49 |
- 13243, 12939, 12635, 12336, 12038, 11745, 11452, 11161, 10870, 10586, |
|
50 |
- 10303, 10027, 9751, 9483, 9215, 8953, 8692, 8440, 8189, 7946, |
|
51 |
- 7704, 7472, 7240, 7008, 6776, 6554, 6333, 6122, 5912, 5711, |
|
52 |
- 5512, 5320, 5128, 4947, 4766, 4595, 4425, 4264, 4104, 3946, |
|
53 |
- 3788, 3640, 3493, 3355, 3218, 3090, 2963, 2842, 2721, 2609, |
|
54 |
- 2498, 2395, 2292, 2196, 2100, 2004, 1908, 1820, 1732, 1651, |
|
55 |
- 1570, 1497, 1424, 1355, 1287, 1223, 1161, 1100, 1044, 988, |
|
56 |
- 938, 888, 839, 790, 746, 702, 662, 623, 588, 553, |
|
57 |
- 520, 488, 459, 431, 405, 380, 357, 334, 311, 288, |
|
58 |
- 268, 248, 230, 213, 197, 182, 168, 154, 142, 130, |
|
59 |
- 119, 108, 99, 90, 81, 72, 64, 56, 49, 42, |
|
60 |
- 36, 30, 25, 20, 15, 11, 7, 3, 0 |
|
61 |
- }, |
|
62 |
- { |
|
63 |
- 16384, 16080, 15776, 15473, 15170, 14868, 14567, 14268, 13970, 13674, |
|
64 |
- 13378, 13086, 12794, 12505, 12218, 11936, 11654, 11373, 11092, 10818, |
|
65 |
- 10544, 10276, 10008, 9749, 9490, 9236, 8982, 8737, 8492, 8256, |
|
66 |
- 8020, 7792, 7564, 7336, 7108, 6888, 6669, 6459, 6249, 6050, |
|
67 |
- 5852, 5660, 5468, 5286, 5104, 4931, 4760, 4598, 4436, 4275, |
|
68 |
- 4115, 3965, 3816, 3674, 3534, 3403, 3272, 3147, 3023, 2907, |
|
69 |
- 2792, 2684, 2577, 2476, 2375, 2274, 2173, 2079, 1986, 1897, |
|
70 |
- 1810, 1724, 1645, 1567, 1493, 1419, 1351, 1284, 1222, 1161, |
|
71 |
- 1105, 1050, 995, 941, 891, 842, 797, 753, 713, 673, |
|
72 |
- 636, 599, 566, 533, 503, 473, 446, 419, 392, 365, |
|
73 |
- 340, 316, 294, 272, 253, 234, 216, 199, 184, 169, |
|
74 |
- 155, 142, 130, 118, 106, 95, 85, 75, 66, 57, |
|
75 |
- 49, 41, 34, 27, 21, 15, 10, 5, 0 |
|
76 |
- }, |
|
77 |
- { |
|
78 |
- 16384, 16092, 15801, 15510, 15219, 14930, 14641, 14355, 14069, 13785, |
|
79 |
- 13501, 13219, 12938, 12661, 12384, 12112, 11841, 11571, 11301, 11037, |
|
80 |
- 10773, 10514, 10256, 10005, 9754, 9508, 9263, 9025, 8787, 8557, |
|
81 |
- 8327, 8103, 7879, 7655, 7431, 7215, 7000, 6792, 6585, 6387, |
|
82 |
- 6190, 5998, 5807, 5625, 5445, 5272, 5100, 4937, 4774, 4613, |
|
83 |
- 4452, 4301, 4150, 4007, 3865, 3731, 3597, 3469, 3341, 3218, |
|
84 |
- 3099, 2981, 2869, 2758, 2652, 2546, 2440, 2334, 2234, 2134, |
|
85 |
- 2041, 1949, 1864, 1779, 1699, 1620, 1547, 1474, 1407, 1340, |
|
86 |
- 1278, 1217, 1157, 1097, 1043, 989, 940, 891, 846, 801, |
|
87 |
- 759, 718, 680, 643, 609, 575, 543, 511, 479, 447, |
|
88 |
- 418, 389, 363, 337, 314, 291, 270, 249, 230, 212, |
|
89 |
- 195, 179, 164, 149, 135, 121, 108, 96, 85, 74, |
|
90 |
- 64, 54, 45, 36, 28, 20, 13, 6, 0 |
|
91 |
- } |
|
47 |
+ 16384, 16066, 15748, 15431, 15114, 14799, 14485, 14173, 13861, 13552, |
|
48 |
+ 13243, 12939, 12635, 12336, 12038, 11745, 11452, 11161, 10870, 10586, |
|
49 |
+ 10303, 10027, 9751, 9483, 9215, 8953, 8692, 8440, 8189, 7946, |
|
50 |
+ 7704, 7472, 7240, 7008, 6776, 6554, 6333, 6122, 5912, 5711, |
|
51 |
+ 5512, 5320, 5128, 4947, 4766, 4595, 4425, 4264, 4104, 3946, |
|
52 |
+ 3788, 3640, 3493, 3355, 3218, 3090, 2963, 2842, 2721, 2609, |
|
53 |
+ 2498, 2395, 2292, 2196, 2100, 2004, 1908, 1820, 1732, 1651, |
|
54 |
+ 1570, 1497, 1424, 1355, 1287, 1223, 1161, 1100, 1044, 988, |
|
55 |
+ 938, 888, 839, 790, 746, 702, 662, 623, 588, 553, |
|
56 |
+ 520, 488, 459, 431, 405, 380, 357, 334, 311, 288, |
|
57 |
+ 268, 248, 230, 213, 197, 182, 168, 154, 142, 130, |
|
58 |
+ 119, 108, 99, 90, 81, 72, 64, 56, 49, 42, |
|
59 |
+ 36, 30, 25, 20, 15, 11, 7, 3, 0 |
|
60 |
+ }, |
|
61 |
+ { |
|
62 |
+ 16384, 16080, 15776, 15473, 15170, 14868, 14567, 14268, 13970, 13674, |
|
63 |
+ 13378, 13086, 12794, 12505, 12218, 11936, 11654, 11373, 11092, 10818, |
|
64 |
+ 10544, 10276, 10008, 9749, 9490, 9236, 8982, 8737, 8492, 8256, |
|
65 |
+ 8020, 7792, 7564, 7336, 7108, 6888, 6669, 6459, 6249, 6050, |
|
66 |
+ 5852, 5660, 5468, 5286, 5104, 4931, 4760, 4598, 4436, 4275, |
|
67 |
+ 4115, 3965, 3816, 3674, 3534, 3403, 3272, 3147, 3023, 2907, |
|
68 |
+ 2792, 2684, 2577, 2476, 2375, 2274, 2173, 2079, 1986, 1897, |
|
69 |
+ 1810, 1724, 1645, 1567, 1493, 1419, 1351, 1284, 1222, 1161, |
|
70 |
+ 1105, 1050, 995, 941, 891, 842, 797, 753, 713, 673, |
|
71 |
+ 636, 599, 566, 533, 503, 473, 446, 419, 392, 365, |
|
72 |
+ 340, 316, 294, 272, 253, 234, 216, 199, 184, 169, |
|
73 |
+ 155, 142, 130, 118, 106, 95, 85, 75, 66, 57, |
|
74 |
+ 49, 41, 34, 27, 21, 15, 10, 5, 0 |
|
75 |
+ }, |
|
76 |
+ { |
|
77 |
+ 16384, 16092, 15801, 15510, 15219, 14930, 14641, 14355, 14069, 13785, |
|
78 |
+ 13501, 13219, 12938, 12661, 12384, 12112, 11841, 11571, 11301, 11037, |
|
79 |
+ 10773, 10514, 10256, 10005, 9754, 9508, 9263, 9025, 8787, 8557, |
|
80 |
+ 8327, 8103, 7879, 7655, 7431, 7215, 7000, 6792, 6585, 6387, |
|
81 |
+ 6190, 5998, 5807, 5625, 5445, 5272, 5100, 4937, 4774, 4613, |
|
82 |
+ 4452, 4301, 4150, 4007, 3865, 3731, 3597, 3469, 3341, 3218, |
|
83 |
+ 3099, 2981, 2869, 2758, 2652, 2546, 2440, 2334, 2234, 2134, |
|
84 |
+ 2041, 1949, 1864, 1779, 1699, 1620, 1547, 1474, 1407, 1340, |
|
85 |
+ 1278, 1217, 1157, 1097, 1043, 989, 940, 891, 846, 801, |
|
86 |
+ 759, 718, 680, 643, 609, 575, 543, 511, 479, 447, |
|
87 |
+ 418, 389, 363, 337, 314, 291, 270, 249, 230, 212, |
|
88 |
+ 195, 179, 164, 149, 135, 121, 108, 96, 85, 74, |
|
89 |
+ 64, 54, 45, 36, 28, 20, 13, 6, 0 |
|
90 |
+ } |
|
92 | 91 |
}; |
93 | 92 |
|
94 | 93 |
|
95 | 94 |
static const uint16_t cf_tables_2[8][193] = { |
96 | 95 |
{ |
97 |
- 16384, 16104, 15825, 15546, 15268, 14991, 14714, 14439, 14164, 13891, |
|
98 |
- 13620, 13350, 13081, 12815, 12549, 12287, 12025, 11765, 11505, 11250, |
|
99 |
- 10996, 10746, 10497, 10254, 10011, 9772, 9534, 9303, 9072, 8848, |
|
100 |
- 8624, 8406, 8188, 7970, 7752, 7539, 7327, 7123, 6919, 6724, |
|
101 |
- 6529, 6339, 6150, 5970, 5790, 5618, 5446, 5282, 5119, 4957, |
|
102 |
- 4795, 4642, 4490, 4345, 4201, 4065, 3929, 3798, 3669, 3547, |
|
103 |
- 3425, 3310, 3196, 3086, 2976, 2866, 2756, 2650, 2545, 2447, |
|
104 |
- 2350, 2260, 2170, 2085, 2000, 1921, 1843, 1770, 1698, 1632, |
|
105 |
- 1566, 1501, 1436, 1376, 1316, 1261, 1207, 1157, 1108, 1061, |
|
106 |
- 1015, 973, 931, 893, 855, 819, 783, 747, 711, 677, |
|
107 |
- 644, 614, 584, 557, 530, 505, 480, 458, 436, 416, |
|
108 |
- 396, 378, 360, 343, 326, 310, 295, 281, 267, 255, |
|
109 |
- 243, 232, 221, 211, 201, 192, 183, 174, 166, 158, |
|
110 |
- 150, 142, 134, 126, 119, 112, 106, 100, 95, 90, |
|
111 |
- 85, 80, 76, 72, 69, 66, 63, 60, 57, 54, |
|
112 |
- 51, 48, 46, 44, 42, 40, 38, 36, 34, 33, |
|
113 |
- 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, |
|
114 |
- 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, |
|
115 |
- 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, |
|
116 |
- 2, 1, 0 |
|
96 |
+ 16384, 16104, 15825, 15546, 15268, 14991, 14714, 14439, 14164, 13891, |
|
97 |
+ 13620, 13350, 13081, 12815, 12549, 12287, 12025, 11765, 11505, 11250, |
|
98 |
+ 10996, 10746, 10497, 10254, 10011, 9772, 9534, 9303, 9072, 8848, |
|
99 |
+ 8624, 8406, 8188, 7970, 7752, 7539, 7327, 7123, 6919, 6724, |
|
100 |
+ 6529, 6339, 6150, 5970, 5790, 5618, 5446, 5282, 5119, 4957, |
|
101 |
+ 4795, 4642, 4490, 4345, 4201, 4065, 3929, 3798, 3669, 3547, |
|
102 |
+ 3425, 3310, 3196, 3086, 2976, 2866, 2756, 2650, 2545, 2447, |
|
103 |
+ 2350, 2260, 2170, 2085, 2000, 1921, 1843, 1770, 1698, 1632, |
|
104 |
+ 1566, 1501, 1436, 1376, 1316, 1261, 1207, 1157, 1108, 1061, |
|
105 |
+ 1015, 973, 931, 893, 855, 819, 783, 747, 711, 677, |
|
106 |
+ 644, 614, 584, 557, 530, 505, 480, 458, 436, 416, |
|
107 |
+ 396, 378, 360, 343, 326, 310, 295, 281, 267, 255, |
|
108 |
+ 243, 232, 221, 211, 201, 192, 183, 174, 166, 158, |
|
109 |
+ 150, 142, 134, 126, 119, 112, 106, 100, 95, 90, |
|
110 |
+ 85, 80, 76, 72, 69, 66, 63, 60, 57, 54, |
|
111 |
+ 51, 48, 46, 44, 42, 40, 38, 36, 34, 33, |
|
112 |
+ 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, |
|
113 |
+ 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, |
|
114 |
+ 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, |
|
115 |
+ 2, 1, 0 |
|
117 | 116 |
}, |
118 | 117 |
{ |
119 |
- 16384, 16116, 15849, 15582, 15316, 15050, 14785, 14521, 14257, 13995, |
|
120 |
- 13734, 13476, 13218, 12963, 12708, 12457, 12206, 11956, 11706, 11460, |
|
121 |
- 11215, 10975, 10735, 10500, 10265, 10034, 9803, 9579, 9355, 9136, |
|
122 |
- 8917, 8703, 8489, 8275, 8061, 7853, 7645, 7444, 7244, 7051, |
|
123 |
- 6858, 6671, 6484, 6305, 6127, 5956, 5785, 5622, 5459, 5298, |
|
124 |
- 5137, 4983, 4830, 4684, 4539, 4401, 4263, 4131, 3999, 3874, |
|
125 |
- 3750, 3632, 3515, 3401, 3287, 3173, 3059, 2949, 2840, 2737, |
|
126 |
- 2635, 2539, 2444, 2354, 2264, 2181, 2098, 2020, 1943, 1872, |
|
127 |
- 1801, 1731, 1661, 1596, 1532, 1472, 1412, 1357, 1303, 1251, |
|
128 |
- 1200, 1153, 1106, 1063, 1020, 979, 938, 897, 856, 818, |
|
129 |
- 780, 746, 712, 681, 650, 621, 592, 566, 540, 517, |
|
130 |
- 494, 473, 452, 431, 410, 391, 373, 356, 340, 325, |
|
131 |
- 310, 296, 282, 270, 258, 247, 236, 225, 214, 203, |
|
132 |
- 192, 182, 172, 162, 153, 144, 136, 128, 121, 114, |
|
133 |
- 108, 102, 97, 92, 87, 82, 77, 73, 69, 65, |
|
134 |
- 62, 59, 56, 53, 50, 47, 45, 43, 41, 39, |
|
135 |
- 37, 35, 33, 31, 29, 27, 26, 25, 24, 23, |
|
136 |
- 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, |
|
137 |
- 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, |
|
138 |
- 2, 1, 0 |
|
118 |
+ 16384, 16116, 15849, 15582, 15316, 15050, 14785, 14521, 14257, 13995, |
|
119 |
+ 13734, 13476, 13218, 12963, 12708, 12457, 12206, 11956, 11706, 11460, |
|
120 |
+ 11215, 10975, 10735, 10500, 10265, 10034, 9803, 9579, 9355, 9136, |
|
121 |
+ 8917, 8703, 8489, 8275, 8061, 7853, 7645, 7444, 7244, 7051, |
|
122 |
+ 6858, 6671, 6484, 6305, 6127, 5956, 5785, 5622, 5459, 5298, |
|
123 |
+ 5137, 4983, 4830, 4684, 4539, 4401, 4263, 4131, 3999, 3874, |
|
124 |
+ 3750, 3632, 3515, 3401, 3287, 3173, 3059, 2949, 2840, 2737, |
|
125 |
+ 2635, 2539, 2444, 2354, 2264, 2181, 2098, 2020, 1943, 1872, |
|
126 |
+ 1801, 1731, 1661, 1596, 1532, 1472, 1412, 1357, 1303, 1251, |
|
127 |
+ 1200, 1153, 1106, 1063, 1020, 979, 938, 897, 856, 818, |
|
128 |
+ 780, 746, 712, 681, 650, 621, 592, 566, 540, 517, |
|
129 |
+ 494, 473, 452, 431, 410, 391, 373, 356, 340, 325, |
|
130 |
+ 310, 296, 282, 270, 258, 247, 236, 225, 214, 203, |
|
131 |
+ 192, 182, 172, 162, 153, 144, 136, 128, 121, 114, |
|
132 |
+ 108, 102, 97, 92, 87, 82, 77, 73, 69, 65, |
|
133 |
+ 62, 59, 56, 53, 50, 47, 45, 43, 41, 39, |
|
134 |
+ 37, 35, 33, 31, 29, 27, 26, 25, 24, 23, |
|
135 |
+ 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, |
|
136 |
+ 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, |
|
137 |
+ 2, 1, 0 |
|
139 | 138 |
}, |
140 | 139 |
{ |
141 |
- 16384, 16128, 15872, 15617, 15362, 15107, 14853, 14600, 14347, 14096, |
|
142 |
- 13846, 13597, 13350, 13105, 12860, 12618, 12376, 12135, 11894, 11657, |
|
143 |
- 11421, 11189, 10957, 10730, 10503, 10279, 10056, 9838, 9620, 9407, |
|
144 |
- 9195, 8987, 8779, 8571, 8363, 8159, 7955, 7758, 7561, 7371, |
|
145 |
- 7182, 6997, 6812, 6635, 6459, 6289, 6120, 5957, 5795, 5634, |
|
146 |
- 5473, 5319, 5165, 5018, 4871, 4732, 4593, 4458, 4324, 4197, |
|
147 |
- 4071, 3951, 3831, 3714, 3597, 3480, 3363, 3250, 3138, 3032, |
|
148 |
- 2927, 2828, 2729, 2635, 2541, 2453, 2366, 2284, 2202, 2126, |
|
149 |
- 2050, 1975, 1900, 1830, 1761, 1697, 1633, 1574, 1515, 1459, |
|
150 |
- 1403, 1351, 1300, 1252, 1205, 1160, 1115, 1070, 1025, 982, |
|
151 |
- 939, 899, 860, 824, 789, 756, 723, 693, 663, 636, |
|
152 |
- 609, 584, 559, 535, 511, 489, 467, 447, 427, 409, |
|
153 |
- 391, 374, 358, 343, 328, 313, 300, 287, 274, 261, |
|
154 |
- 248, 235, 223, 211, 200, 189, 179, 169, 160, 151, |
|
155 |
- 143, 135, 128, 121, 115, 109, 103, 97, 92, 87, |
|
156 |
- 82, 77, 73, 69, 65, 61, 58, 55, 52, 49, |
|
157 |
- 46, 43, 40, 37, 35, 33, 31, 29, 27, 25, |
|
158 |
- 23, 21, 20, 19, 18, 17, 16, 15, 14, 13, |
|
159 |
- 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, |
|
160 |
- 2, 1, 0 |
|
140 |
+ 16384, 16128, 15872, 15617, 15362, 15107, 14853, 14600, 14347, 14096, |
|
141 |
+ 13846, 13597, 13350, 13105, 12860, 12618, 12376, 12135, 11894, 11657, |
|
142 |
+ 11421, 11189, 10957, 10730, 10503, 10279, 10056, 9838, 9620, 9407, |
|
143 |
+ 9195, 8987, 8779, 8571, 8363, 8159, 7955, 7758, 7561, 7371, |
|
144 |
+ 7182, 6997, 6812, 6635, 6459, 6289, 6120, 5957, 5795, 5634, |
|
145 |
+ 5473, 5319, 5165, 5018, 4871, 4732, 4593, 4458, 4324, 4197, |
|
146 |
+ 4071, 3951, 3831, 3714, 3597, 3480, 3363, 3250, 3138, 3032, |
|
147 |
+ 2927, 2828, 2729, 2635, 2541, 2453, 2366, 2284, 2202, 2126, |
|
148 |
+ 2050, 1975, 1900, 1830, 1761, 1697, 1633, 1574, 1515, 1459, |
|
149 |
+ 1403, 1351, 1300, 1252, 1205, 1160, 1115, 1070, 1025, 982, |
|
150 |
+ 939, 899, 860, 824, 789, 756, 723, 693, 663, 636, |
|
151 |
+ 609, 584, 559, 535, 511, 489, 467, 447, 427, 409, |
|
152 |
+ 391, 374, 358, 343, 328, 313, 300, 287, 274, 261, |
|
153 |
+ 248, 235, 223, 211, 200, 189, 179, 169, 160, 151, |
|
154 |
+ 143, 135, 128, 121, 115, 109, 103, 97, 92, 87, |
|
155 |
+ 82, 77, 73, 69, 65, 61, 58, 55, 52, 49, |
|
156 |
+ 46, 43, 40, 37, 35, 33, 31, 29, 27, 25, |
|
157 |
+ 23, 21, 20, 19, 18, 17, 16, 15, 14, 13, |
|
158 |
+ 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, |
|
159 |
+ 2, 1, 0 |
|
161 | 160 |
}, |
162 | 161 |
{ |
163 |
- 16384, 16139, 15894, 15649, 15405, 15162, 14919, 14677, 14435, 14195, |
|
164 |
- 13955, 13717, 13479, 13243, 13008, 12775, 12542, 12310, 12079, 11851, |
|
165 |
- 11623, 11399, 11176, 10956, 10737, 10521, 10305, 10094, 9883, 9677, |
|
166 |
- 9471, 9268, 9065, 8862, 8659, 8459, 8260, 8067, 7874, 7688, |
|
167 |
- 7502, 7321, 7140, 6965, 6790, 6621, 6452, 6290, 6128, 5968, |
|
168 |
- 5808, 5655, 5503, 5356, 5209, 5069, 4929, 4794, 4660, 4532, |
|
169 |
- 4404, 4282, 4160, 4041, 3922, 3803, 3684, 3568, 3452, 3343, |
|
170 |
- 3234, 3131, 3029, 2931, 2833, 2741, 2649, 2563, 2477, 2396, |
|
171 |
- 2316, 2236, 2157, 2083, 2009, 1940, 1871, 1807, 1743, 1683, |
|
172 |
- 1623, 1567, 1511, 1459, 1407, 1357, 1307, 1257, 1207, 1159, |
|
173 |
- 1111, 1067, 1023, 983, 943, 905, 868, 834, 800, 769, |
|
174 |
- 738, 709, 681, 653, 625, 600, 575, 552, 529, 508, |
|
175 |
- 487, 466, 447, 428, 410, 392, 376, 360, 344, 328, |
|
176 |
- 313, 298, 283, 268, 255, 242, 230, 218, 207, 196, |
|
177 |
- 186, 176, 167, 158, 150, 142, 135, 128, 121, 114, |
|
178 |
- 108, 102, 97, 92, 87, 82, 78, 74, 70, 66, |
|
179 |
- 62, 58, 54, 50, 47, 44, 41, 38, 35, 32, |
|
180 |
- 30, 28, 26, 24, 22, 20, 18, 16, 14, 13, |
|
181 |
- 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, |
|
182 |
- 2, 1, 0 |
|
162 |
+ 16384, 16139, 15894, 15649, 15405, 15162, 14919, 14677, 14435, 14195, |
|
163 |
+ 13955, 13717, 13479, 13243, 13008, 12775, 12542, 12310, 12079, 11851, |
|
164 |
+ 11623, 11399, 11176, 10956, 10737, 10521, 10305, 10094, 9883, 9677, |
|
165 |
+ 9471, 9268, 9065, 8862, 8659, 8459, 8260, 8067, 7874, 7688, |
|
166 |
+ 7502, 7321, 7140, 6965, 6790, 6621, 6452, 6290, 6128, 5968, |
|
167 |
+ 5808, 5655, 5503, 5356, 5209, 5069, 4929, 4794, 4660, 4532, |
|
168 |
+ 4404, 4282, 4160, 4041, 3922, 3803, 3684, 3568, 3452, 3343, |
|
169 |
+ 3234, 3131, 3029, 2931, 2833, 2741, 2649, 2563, 2477, 2396, |
|
170 |
+ 2316, 2236, 2157, 2083, 2009, 1940, 1871, 1807, 1743, 1683, |
|
171 |
+ 1623, 1567, 1511, 1459, 1407, 1357, 1307, 1257, 1207, 1159, |
|
172 |
+ 1111, 1067, 1023, 983, 943, 905, 868, 834, 800, 769, |
|
173 |
+ 738, 709, 681, 653, 625, 600, 575, 552, 529, 508, |
|
174 |
+ 487, 466, 447, 428, 410, 392, 376, 360, 344, 328, |
|
175 |
+ 313, 298, 283, 268, 255, 242, 230, 218, 207, 196, |
|
176 |
+ 186, 176, 167, 158, 150, 142, 135, 128, 121, 114, |
|
177 |
+ 108, 102, 97, 92, 87, 82, 78, 74, 70, 66, |
|
178 |
+ 62, 58, 54, 50, 47, 44, 41, 38, 35, 32, |
|
179 |
+ 30, 28, 26, 24, 22, 20, 18, 16, 14, 13, |
|
180 |
+ 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, |
|
181 |
+ 2, 1, 0 |
|
183 | 182 |
}, |
184 | 183 |
{ |
185 |
- 16384, 16149, 15915, 15681, 15447, 15214, 14981, 14749, 14517, 14286, |
|
186 |
- 14055, 13827, 13599, 13373, 13147, 12923, 12699, 12476, 12253, 12034, |
|
187 |
- 11815, 11599, 11383, 11171, 10959, 10750, 10541, 10337, 10133, 9933, |
|
188 |
- 9733, 9536, 9339, 9142, 8945, 8751, 8557, 8369, 8181, 7998, |
|
189 |
- 7816, 7638, 7460, 7288, 7116, 6950, 6785, 6625, 6465, 6306, |
|
190 |
- 6147, 5995, 5843, 5697, 5551, 5411, 5271, 5135, 5000, 4871, |
|
191 |
- 4742, 4618, 4495, 4374, 4253, 4132, 4011, 3893, 3775, 3663, |
|
192 |
- 3552, 3446, 3340, 3239, 3138, 3043, 2948, 2858, 2768, 2684, |
|
193 |
- 2600, 2516, 2433, 2355, 2278, 2205, 2133, 2065, 1997, 1932, |
|
194 |
- 1867, 1807, 1747, 1690, 1634, 1580, 1526, 1472, 1418, 1366, |
|
195 |
- 1314, 1266, 1218, 1174, 1130, 1088, 1047, 1009, 971, 936, |
|
196 |
- 901, 868, 836, 804, 772, 743, 714, 685, 658, 631, |
|
197 |
- 606, 582, 559, 536, 515, 494, 475, 456, 437, 418, |
|
198 |
- 399, 380, 362, 344, 328, 312, 297, 283, 270, 257, |
|
199 |
- 245, 233, 222, 211, 201, 191, 181, 172, 163, 155, |
|
200 |
- 147, 139, 132, 125, 119, 113, 107, 101, 96, 91, |
|
201 |
- 86, 81, 76, 71, 66, 62, 58, 54, 50, 46, |
|
202 |
- 43, 40, 37, 34, 31, 28, 26, 24, 22, 20, |
|
203 |
- 18, 16, 14, 12, 10, 8, 6, 5, 4, 3, |
|
204 |
- 2, 1, 0 |
|
184 |
+ 16384, 16149, 15915, 15681, 15447, 15214, 14981, 14749, 14517, 14286, |
|
185 |
+ 14055, 13827, 13599, 13373, 13147, 12923, 12699, 12476, 12253, 12034, |
|
186 |
+ 11815, 11599, 11383, 11171, 10959, 10750, 10541, 10337, 10133, 9933, |
|
187 |
+ 9733, 9536, 9339, 9142, 8945, 8751, 8557, 8369, 8181, 7998, |
|
188 |
+ 7816, 7638, 7460, 7288, 7116, 6950, 6785, 6625, 6465, 6306, |
|
189 |
+ 6147, 5995, 5843, 5697, 5551, 5411, 5271, 5135, 5000, 4871, |
|
190 |
+ 4742, 4618, 4495, 4374, 4253, 4132, 4011, 3893, 3775, 3663, |
|
191 |
+ 3552, 3446, 3340, 3239, 3138, 3043, 2948, 2858, 2768, 2684, |
|
192 |
+ 2600, 2516, 2433, 2355, 2278, 2205, 2133, 2065, 1997, 1932, |
|
193 |
+ 1867, 1807, 1747, 1690, 1634, 1580, 1526, 1472, 1418, 1366, |
|
194 |
+ 1314, 1266, 1218, 1174, 1130, 1088, 1047, 1009, 971, 936, |
|
195 |
+ 901, 868, 836, 804, 772, 743, 714, 685, 658, 631, |
|
196 |
+ 606, 582, 559, 536, 515, 494, 475, 456, 437, 418, |
|
197 |
+ 399, 380, 362, 344, 328, 312, 297, 283, 270, 257, |
|
198 |
+ 245, 233, 222, 211, 201, 191, 181, 172, 163, 155, |
|
199 |
+ 147, 139, 132, 125, 119, 113, 107, 101, 96, 91, |
|
200 |
+ 86, 81, 76, 71, 66, 62, 58, 54, 50, 46, |
|
201 |
+ 43, 40, 37, 34, 31, 28, 26, 24, 22, 20, |
|
202 |
+ 18, 16, 14, 12, 10, 8, 6, 5, 4, 3, |
|
203 |
+ 2, 1, 0 |
|
205 | 204 |
}, |
206 | 205 |
{ |
207 |
- 16384, 16159, 15934, 15709, 15485, 15261, 15038, 14816, 14594, 14373, |
|
208 |
- 14152, 13933, 13714, 13497, 13280, 13065, 12850, 12636, 12422, 12211, |
|
209 |
- 12000, 11791, 11583, 11378, 11173, 10971, 10769, 10571, 10373, 10179, |
|
210 |
- 9985, 9793, 9601, 9409, 9217, 9029, 8842, 8658, 8475, 8297, |
|
211 |
- 8120, 7946, 7773, 7604, 7435, 7271, 7108, 6950, 6792, 6634, |
|
212 |
- 6477, 6326, 6175, 6029, 5883, 5742, 5602, 5466, 5330, 5199, |
|
213 |
- 5068, 4943, 4818, 4696, 4574, 4452, 4330, 4211, 4093, 3979, |
|
214 |
- 3866, 3759, 3652, 3549, 3446, 3348, 3250, 3157, 3065, 2977, |
|
215 |
- 2889, 2802, 2716, 2634, 2553, 2476, 2399, 2326, 2254, 2185, |
|
216 |
- 2117, 2052, 1987, 1926, 1866, 1808, 1750, 1692, 1634, 1578, |
|
217 |
- 1522, 1470, 1418, 1369, 1321, 1275, 1229, 1187, 1145, 1105, |
|
218 |
- 1066, 1027, 991, 955, 919, 883, 850, 817, 786, 756, |
|
219 |
- 728, 700, 674, 648, 624, 600, 578, 556, 534, 512, |
|
220 |
- 490, 468, 447, 426, 407, 388, 371, 354, 338, 322, |
|
221 |
- 307, 293, 280, 267, 255, 243, 231, 219, 209, 199, |
|
222 |
- 189, 179, 170, 161, 153, 145, 138, 131, 124, 117, |
|
223 |
- 111, 105, 99, 93, 87, 81, 76, 71, 66, 61, |
|
224 |
- 57, 53, 49, 45, 42, 39, 36, 33, 30, 27, |
|
225 |
- 24, 21, 19, 17, 15, 13, 11, 9, 7, 5, |
|
226 |
- 3, 1, 0 |
|
206 |
+ 16384, 16159, 15934, 15709, 15485, 15261, 15038, 14816, 14594, 14373, |
|
207 |
+ 14152, 13933, 13714, 13497, 13280, 13065, 12850, 12636, 12422, 12211, |
|
208 |
+ 12000, 11791, 11583, 11378, 11173, 10971, 10769, 10571, 10373, 10179, |
|
209 |
+ 9985, 9793, 9601, 9409, 9217, 9029, 8842, 8658, 8475, 8297, |
|
210 |
+ 8120, 7946, 7773, 7604, 7435, 7271, 7108, 6950, 6792, 6634, |
|
211 |
+ 6477, 6326, 6175, 6029, 5883, 5742, 5602, 5466, 5330, 5199, |
|
212 |
+ 5068, 4943, 4818, 4696, 4574, 4452, 4330, 4211, 4093, 3979, |
|
213 |
+ 3866, 3759, 3652, 3549, 3446, 3348, 3250, 3157, 3065, 2977, |
|
214 |
+ 2889, 2802, 2716, 2634, 2553, 2476, 2399, 2326, 2254, 2185, |
|
215 |
+ 2117, 2052, 1987, 1926, 1866, 1808, 1750, 1692, 1634, 1578, |
|
216 |
+ 1522, 1470, 1418, 1369, 1321, 1275, 1229, 1187, 1145, 1105, |
|
217 |
+ 1066, 1027, 991, 955, 919, 883, 850, 817, 786, 756, |
|
218 |
+ 728, 700, 674, 648, 624, 600, 578, 556, 534, 512, |
|
219 |
+ 490, 468, 447, 426, 407, 388, 371, 354, 338, 322, |
|
220 |
+ 307, 293, 280, 267, 255, 243, 231, 219, 209, 199, |
|
221 |
+ 189, 179, 170, 161, 153, 145, 138, 131, 124, 117, |
|
222 |
+ 111, 105, 99, 93, 87, 81, 76, 71, 66, 61, |
|
223 |
+ 57, 53, 49, 45, 42, 39, 36, 33, 30, 27, |
|
224 |
+ 24, 21, 19, 17, 15, 13, 11, 9, 7, 5, |
|
225 |
+ 3, 1, 0 |
|
227 | 226 |
}, |
228 | 227 |
{ |
229 |
- 16384, 16169, 15954, 15739, 15524, 15310, 15096, 14883, 14670, 14458, |
|
230 |
- 14246, 14035, 13824, 13614, 13405, 13198, 12991, 12785, 12579, 12376, |
|
231 |
- 12173, 11972, 11772, 11574, 11377, 11182, 10987, 10795, 10603, 10414, |
|
232 |
- 10226, 10040, 9854, 9668, 9482, 9299, 9116, 8937, 8759, 8585, |
|
233 |
- 8411, 8241, 8071, 7906, 7741, 7580, 7419, 7263, 7107, 6952, |
|
234 |
- 6797, 6647, 6497, 6353, 6209, 6070, 5931, 5796, 5661, 5531, |
|
235 |
- 5401, 5275, 5150, 5027, 4904, 4781, 4658, 4538, 4419, 4304, |
|
236 |
- 4190, 4081, 3972, 3867, 3762, 3662, 3562, 3467, 3372, 3281, |
|
237 |
- 3191, 3101, 3012, 2928, 2844, 2764, 2684, 2608, 2533, 2460, |
|
238 |
- 2387, 2318, 2250, 2185, 2121, 2059, 1997, 1935, 1873, 1813, |
|
239 |
- 1754, 1698, 1642, 1588, 1535, 1483, 1433, 1384, 1338, 1292, |
|
240 |
- 1249, 1206, 1165, 1125, 1085, 1045, 1008, 971, 937, 903, |
|
241 |
- 871, 840, 810, 780, 752, 724, 698, 672, 647, 622, |
|
242 |
- 597, 572, 548, 524, 502, 480, 460, 440, 421, 403, |
|
243 |
- 386, 369, 353, 337, 323, 309, 295, 281, 268, 255, |
|
244 |
- 243, 231, 220, 209, 199, 189, 180, 171, 163, 155, |
|
245 |
- 147, 139, 131, 123, 116, 109, 102, 95, 89, 83, |
|
246 |
- 77, 72, 67, 62, 57, 52, 48, 44, 40, 36, |
|
247 |
- 32, 28, 25, 22, 19, 16, 13, 10, 8, 6, |
|
248 |
- 4, 2, 0 |
|
228 |
+ 16384, 16169, 15954, 15739, 15524, 15310, 15096, 14883, 14670, 14458, |
|
229 |
+ 14246, 14035, 13824, 13614, 13405, 13198, 12991, 12785, 12579, 12376, |
|
230 |
+ 12173, 11972, 11772, 11574, 11377, 11182, 10987, 10795, 10603, 10414, |
|
231 |
+ 10226, 10040, 9854, 9668, 9482, 9299, 9116, 8937, 8759, 8585, |
|
232 |
+ 8411, 8241, 8071, 7906, 7741, 7580, 7419, 7263, 7107, 6952, |
|
233 |
+ 6797, 6647, 6497, 6353, 6209, 6070, 5931, 5796, 5661, 5531, |
|
234 |
+ 5401, 5275, 5150, 5027, 4904, 4781, 4658, 4538, 4419, 4304, |
|
235 |
+ 4190, 4081, 3972, 3867, 3762, 3662, 3562, 3467, 3372, 3281, |
|
236 |
+ 3191, 3101, 3012, 2928, 2844, 2764, 2684, 2608, 2533, 2460, |
|
237 |
+ 2387, 2318, 2250, 2185, 2121, 2059, 1997, 1935, 1873, 1813, |
|
238 |
+ 1754, 1698, 1642, 1588, 1535, 1483, 1433, 1384, 1338, 1292, |
|
239 |
+ 1249, 1206, 1165, 1125, 1085, 1045, 1008, 971, 937, 903, |
|
240 |
+ 871, 840, 810, 780, 752, 724, 698, 672, 647, 622, |
|
241 |
+ 597, 572, 548, 524, 502, 480, 460, 440, 421, 403, |
|
242 |
+ 386, 369, 353, 337, 323, 309, 295, 281, 268, 255, |
|
243 |
+ 243, 231, 220, 209, 199, 189, 180, 171, 163, 155, |
|
244 |
+ 147, 139, 131, 123, 116, 109, 102, 95, 89, 83, |
|
245 |
+ 77, 72, 67, 62, 57, 52, 48, 44, 40, 36, |
|
246 |
+ 32, 28, 25, 22, 19, 16, 13, 10, 8, 6, |
|
247 |
+ 4, 2, 0 |
|
249 | 248 |
}, |
250 | 249 |
{ |
251 |
- 16384, 16177, 15970, 15764, 15558, 15353, 15148, 14944, 14740, 14537, |
|
252 |
- 14334, 14132, 13930, 13729, 13529, 13330, 13131, 12933, 12735, 12539, |
|
253 |
- 12343, 12150, 11957, 11766, 11576, 11388, 11200, 11015, 10830, 10647, |
|
254 |
- 10465, 10285, 10105, 9925, 9745, 9568, 9391, 9218, 9045, 8876, |
|
255 |
- 8707, 8541, 8375, 8213, 8051, 7894, 7737, 7583, 7429, 7277, |
|
256 |
- 7125, 6977, 6830, 6687, 6544, 6406, 6268, 6133, 5998, 5868, |
|
257 |
- 5738, 5612, 5487, 5364, 5241, 5118, 4995, 4875, 4755, 4640, |
|
258 |
- 4525, 4414, 4304, 4198, 4092, 3990, 3888, 3790, 3693, 3600, |
|
259 |
- 3507, 3415, 3323, 3235, 3147, 3064, 2981, 2902, 2823, 2746, |
|
260 |
- 2670, 2594, 2522, 2450, 2382, 2314, 2248, 2182, 2116, 2050, |
|
261 |
- 1987, 1924, 1864, 1804, 1748, 1692, 1638, 1585, 1534, 1484, |
|
262 |
- 1437, 1390, 1346, 1302, 1258, 1215, 1174, 1133, 1095, 1057, |
|
263 |
- 1021, 986, 952, 918, 887, 856, 827, 798, 770, 742, |
|
264 |
- 714, 686, 659, 632, 607, 582, 559, 536, 514, 492, |
|
265 |
- 472, 452, 433, 415, 398, 381, 364, 348, 333, 318, |
|
266 |
- 304, 290, 277, 264, 252, 240, 229, 218, 208, 198, |
|
267 |
- 188, 178, 168, 158, 149, 140, 132, 124, 116, 108, |
|
268 |
- 101, 94, 87, 81, 75, 69, 64, 59, 54, 49, |
|
269 |
- 44, 39, 35, 31, 27, 23, 19, 15, 12, 9, |
|
270 |
- 6, 3, 0 |
|
250 |
+ 16384, 16177, 15970, 15764, 15558, 15353, 15148, 14944, 14740, 14537, |
|
251 |
+ 14334, 14132, 13930, 13729, 13529, 13330, 13131, 12933, 12735, 12539, |
|
252 |
+ 12343, 12150, 11957, 11766, 11576, 11388, 11200, 11015, 10830, 10647, |
|
253 |
+ 10465, 10285, 10105, 9925, 9745, 9568, 9391, 9218, 9045, 8876, |
|
254 |
+ 8707, 8541, 8375, 8213, 8051, 7894, 7737, 7583, 7429, 7277, |
|
255 |
+ 7125, 6977, 6830, 6687, 6544, 6406, 6268, 6133, 5998, 5868, |
|
256 |
+ 5738, 5612, 5487, 5364, 5241, 5118, 4995, 4875, 4755, 4640, |
|
257 |
+ 4525, 4414, 4304, 4198, 4092, 3990, 3888, 3790, 3693, 3600, |
|
258 |
+ 3507, 3415, 3323, 3235, 3147, 3064, 2981, 2902, 2823, 2746, |
|
259 |
+ 2670, 2594, 2522, 2450, 2382, 2314, 2248, 2182, 2116, 2050, |
|
260 |
+ 1987, 1924, 1864, 1804, 1748, 1692, 1638, 1585, 1534, 1484, |
|
261 |
+ 1437, 1390, 1346, 1302, 1258, 1215, 1174, 1133, 1095, 1057, |
|
262 |
+ 1021, 986, 952, 918, 887, 856, 827, 798, 770, 742, |
|
263 |
+ 714, 686, 659, 632, 607, 582, 559, 536, 514, 492, |
|
264 |
+ 472, 452, 433, 415, 398, 381, 364, 348, 333, 318, |
|
265 |
+ 304, 290, 277, 264, 252, 240, 229, 218, 208, 198, |
|
266 |
+ 188, 178, 168, 158, 149, 140, 132, 124, 116, 108, |
|
267 |
+ 101, 94, 87, 81, 75, 69, 64, 59, 54, 49, |
|
268 |
+ 44, 39, 35, 31, 27, 23, 19, 15, 12, 9, |
|
269 |
+ 6, 3, 0 |
|
271 | 270 |
} |
272 | 271 |
}; |
273 | 272 |
|
274 | 273 |
|
275 | 274 |
static const uint16_t cf_tables_3[5][257] = { |
276 | 275 |
{ |
277 |
- 16384, 16187, 15990, 15793, 15597, 15401, 15205, 15009, 14813, 14618, |
|
278 |
- 14423, 14230, 14037, 13845, 13653, 13463, 13273, 13083, 12894, 12706, |
|
279 |
- 12518, 12332, 12146, 11962, 11778, 11597, 11416, 11237, 11059, 10882, |
|
280 |
- 10706, 10532, 10358, 10184, 10010, 9838, 9666, 9497, 9328, 9163, |
|
281 |
- 8999, 8837, 8675, 8517, 8359, 8205, 8051, 7901, 7751, 7602, |
|
282 |
- 7453, 7308, 7163, 7022, 6882, 6745, 6609, 6476, 6343, 6214, |
|
283 |
- 6085, 5960, 5835, 5712, 5589, 5466, 5343, 5223, 5103, 4987, |
|
284 |
- 4872, 4761, 4650, 4542, 4435, 4332, 4229, 4130, 4031, 3936, |
|
285 |
- 3841, 3747, 3653, 3563, 3473, 3387, 3302, 3220, 3138, 3059, |
|
286 |
- 2980, 2905, 2830, 2759, 2688, 2619, 2550, 2481, 2412, 2345, |
|
287 |
- 2278, 2215, 2152, 2092, 2032, 1974, 1917, 1863, 1809, 1758, |
|
288 |
- 1707, 1659, 1611, 1564, 1517, 1473, 1429, 1387, 1346, 1307, |
|
289 |
- 1268, 1230, 1193, 1158, 1123, 1090, 1058, 1026, 994, 962, |
|
290 |
- 930, 899, 869, 841, 813, 786, 760, 735, 710, 687, |
|
291 |
- 664, 643, 622, 602, 582, 562, 543, 525, 507, 490, |
|
292 |
- 473, 457, 442, 427, 412, 398, 385, 373, 361, 349, |
|
293 |
- 337, 325, 313, 301, 290, 279, 269, 259, 249, 240, |
|
294 |
- 231, 222, 214, 206, 199, 192, 185, 178, 171, 165, |
|
295 |
- 159, 153, 148, 143, 138, 133, 128, 123, 119, 115, |
|
296 |
- 111, 107, 103, 99, 95, 91, 87, 83, 80, 77, |
|
297 |
- 74, 71, 68, 65, 63, 61, 59, 57, 55, 53, |
|
298 |
- 51, 49, 47, 45, 43, 41, 40, 39, 38, 37, |
|
299 |
- 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, |
|
300 |
- 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, |
|
301 |
- 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, |
|
302 |
- 6, 5, 4, 3, 2, 1, 0 |
|
276 |
+ 16384, 16187, 15990, 15793, 15597, 15401, 15205, 15009, 14813, 14618, |
|
277 |
+ 14423, 14230, 14037, 13845, 13653, 13463, 13273, 13083, 12894, 12706, |
|
278 |
+ 12518, 12332, 12146, 11962, 11778, 11597, 11416, 11237, 11059, 10882, |
|
279 |
+ 10706, 10532, 10358, 10184, 10010, 9838, 9666, 9497, 9328, 9163, |
|
280 |
+ 8999, 8837, 8675, 8517, 8359, 8205, 8051, 7901, 7751, 7602, |
|
281 |
+ 7453, 7308, 7163, 7022, 6882, 6745, 6609, 6476, 6343, 6214, |
|
282 |
+ 6085, 5960, 5835, 5712, 5589, 5466, 5343, 5223, 5103, 4987, |
|
283 |
+ 4872, 4761, 4650, 4542, 4435, 4332, 4229, 4130, 4031, 3936, |
|
284 |
+ 3841, 3747, 3653, 3563, 3473, 3387, 3302, 3220, 3138, 3059, |
|
285 |
+ 2980, 2905, 2830, 2759, 2688, 2619, 2550, 2481, 2412, 2345, |
|
286 |
+ 2278, 2215, 2152, 2092, 2032, 1974, 1917, 1863, 1809, 1758, |
|
287 |
+ 1707, 1659, 1611, 1564, 1517, 1473, 1429, 1387, 1346, 1307, |
|
288 |
+ 1268, 1230, 1193, 1158, 1123, 1090, 1058, 1026, 994, 962, |
|
289 |
+ 930, 899, 869, 841, 813, 786, 760, 735, 710, 687, |
|
290 |
+ 664, 643, 622, 602, 582, 562, 543, 525, 507, 490, |
|
291 |
+ 473, 457, 442, 427, 412, 398, 385, 373, 361, 349, |
|
292 |
+ 337, 325, 313, 301, 290, 279, 269, 259, 249, 240, |
|
293 |
+ 231, 222, 214, 206, 199, 192, 185, 178, 171, 165, |
|
294 |
+ 159, 153, 148, 143, 138, 133, 128, 123, 119, 115, |
|
295 |
+ 111, 107, 103, 99, 95, 91, 87, 83, 80, 77, |
|
296 |
+ 74, 71, 68, 65, 63, 61, 59, 57, 55, 53, |
|
297 |
+ 51, 49, 47, 45, 43, 41, 40, 39, 38, 37, |
|
298 |
+ 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, |
|
299 |
+ 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, |
|
300 |
+ 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, |
|
301 |
+ 6, 5, 4, 3, 2, 1, 0 |
|
303 | 302 |
}, |
304 | 303 |
{ |
305 |
- 16384, 16195, 16006, 15817, 15629, 15441, 15253, 15065, 14878, 14692, |
|
306 |
- 14506, 14321, 14136, 13952, 13768, 13585, 13402, 13219, 13037, 12857, |
|
307 |
- 12677, 12499, 12321, 12144, 11967, 11792, 11617, 11444, 11271, 11100, |
|
308 |
- 10930, 10762, 10594, 10426, 10258, 10091, 9925, 9761, 9598, 9438, |
|
309 |
- 9278, 9120, 8963, 8809, 8655, 8504, 8354, 8207, 8060, 7914, |
|
310 |
- 7769, 7627, 7485, 7347, 7209, 7074, 6939, 6807, 6676, 6548, |
|
311 |
- 6420, 6296, 6172, 6050, 5928, 5806, 5684, 5564, 5444, 5328, |
|
312 |
- 5212, 5100, 4988, 4879, 4771, 4667, 4563, 4462, 4362, 4265, |
|
313 |
- 4169, 4073, 3978, 3886, 3795, 3707, 3619, 3535, 3451, 3369, |
|
314 |
- 3288, 3210, 3133, 3059, 2985, 2913, 2841, 2769, 2697, 2627, |
|
315 |
- 2557, 2490, 2424, 2360, 2297, 2237, 2177, 2119, 2062, 2007, |
|
316 |
- 1953, 1901, 1849, 1798, 1748, 1700, 1652, 1607, 1562, 1519, |
|
317 |
- 1476, 1435, 1394, 1355, 1317, 1281, 1245, 1210, 1175, 1140, |
|
318 |
- 1105, 1071, 1037, 1005, 973, 943, 913, 885, 857, 830, |
|
319 |
- 804, 779, 754, 731, 708, 685, 663, 642, 621, 601, |
|
320 |
- 581, 563, 545, 528, 511, 495, 479, 463, 448, 433, |
|
321 |
- 419, 405, 391, 377, 364, 351, 338, 326, 314, 302, |
|
322 |
- 291, 280, 270, 260, 251, 242, 234, 226, 218, 210, |
|
323 |
- 202, 195, 188, 181, 174, 168, 162, 156, 150, 144, |
|
324 |
- 139, 134, 129, 124, 119, 114, 109, 104, 100, 96, |
|
325 |
- 92, 88, 84, 80, 77, 74, 71, 68, 65, 62, |
|
326 |
- 59, 56, 54, 52, 50, 48, 46, 44, 42, 40, |
|
327 |
- 38, 36, 34, 33, 32, 31, 30, 29, 28, 27, |
|
328 |
- 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, |
|
329 |
- 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, |
|
330 |
- 6, 5, 4, 3, 2, 1, 0 |
|
304 |
+ 16384, 16195, 16006, 15817, 15629, 15441, 15253, 15065, 14878, 14692, |
|
305 |
+ 14506, 14321, 14136, 13952, 13768, 13585, 13402, 13219, 13037, 12857, |
|
306 |
+ 12677, 12499, 12321, 12144, 11967, 11792, 11617, 11444, 11271, 11100, |
|
307 |
+ 10930, 10762, 10594, 10426, 10258, 10091, 9925, 9761, 9598, 9438, |
|
308 |
+ 9278, 9120, 8963, 8809, 8655, 8504, 8354, 8207, 8060, 7914, |
|
309 |
+ 7769, 7627, 7485, 7347, 7209, 7074, 6939, 6807, 6676, 6548, |
|
310 |
+ 6420, 6296, 6172, 6050, 5928, 5806, 5684, 5564, 5444, 5328, |
|
311 |
+ 5212, 5100, 4988, 4879, 4771, 4667, 4563, 4462, 4362, 4265, |
|
312 |
+ 4169, 4073, 3978, 3886, 3795, 3707, 3619, 3535, 3451, 3369, |
|
313 |
+ 3288, 3210, 3133, 3059, 2985, 2913, 2841, 2769, 2697, 2627, |
|
314 |
+ 2557, 2490, 2424, 2360, 2297, 2237, 2177, 2119, 2062, 2007, |
|
315 |
+ 1953, 1901, 1849, 1798, 1748, 1700, 1652, 1607, 1562, 1519, |
|
316 |
+ 1476, 1435, 1394, 1355, 1317, 1281, 1245, 1210, 1175, 1140, |
|
317 |
+ 1105, 1071, 1037, 1005, 973, 943, 913, 885, 857, 830, |
|
318 |
+ 804, 779, 754, 731, 708, 685, 663, 642, 621, 601, |
|
319 |
+ 581, 563, 545, 528, 511, 495, 479, 463, 448, 433, |
|
320 |
+ 419, 405, 391, 377, 364, 351, 338, 326, 314, 302, |
|
321 |
+ 291, 280, 270, 260, 251, 242, 234, 226, 218, 210, |
|
322 |
+ 202, 195, 188, 181, 174, 168, 162, 156, 150, 144, |
|
323 |
+ 139, 134, 129, 124, 119, 114, 109, 104, 100, 96, |
|
324 |
+ 92, 88, 84, 80, 77, 74, 71, 68, 65, 62, |
|
325 |
+ 59, 56, 54, 52, 50, 48, 46, 44, 42, 40, |
|
326 |
+ 38, 36, 34, 33, 32, 31, 30, 29, 28, 27, |
|
327 |
+ 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, |
|
328 |
+ 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, |
|
329 |
+ 6, 5, 4, 3, 2, 1, 0 |
|
331 | 330 |
}, |
332 | 331 |
{ |
333 |
- 16384, 16203, 16022, 15842, 15662, 15482, 15302, 15122, 14942, 14763, |
|
334 |
- 14584, 14406, 14228, 14051, 13874, 13698, 13522, 13347, 13172, 12998, |
|
335 |
- 12824, 12652, 12480, 12310, 12140, 11971, 11803, 11637, 11471, 11307, |
|
336 |
- 11143, 10980, 10817, 10654, 10491, 10330, 10169, 10011, 9853, 9697, |
|
337 |
- 9542, 9389, 9236, 9086, 8936, 8789, 8642, 8498, 8355, 8212, |
|
338 |
- 8070, 7931, 7792, 7656, 7520, 7388, 7256, 7126, 6996, 6870, |
|
339 |
- 6744, 6621, 6498, 6377, 6256, 6135, 6014, 5895, 5776, 5660, |
|
340 |
- 5545, 5433, 5321, 5212, 5104, 4999, 4895, 4793, 4692, 4594, |
|
341 |
- 4496, 4400, 4304, 4211, 4118, 4028, 3939, 3853, 3767, 3684, |
|
342 |
- 3601, 3521, 3441, 3364, 3287, 3212, 3137, 3062, 2987, 2915, |
|
343 |
- 2843, 2773, 2704, 2638, 2572, 2508, 2445, 2384, 2324, 2266, |
|
344 |
- 2208, 2153, 2098, 2044, 1990, 1939, 1888, 1839, 1791, 1745, |
|
345 |
- 1699, 1655, 1611, 1569, 1527, 1487, 1448, 1409, 1370, 1331, |
|
346 |
- 1292, 1255, 1218, 1183, 1148, 1115, 1082, 1051, 1020, 990, |
|
347 |
- 960, 932, 904, 878, 852, 826, 801, 777, 753, 731, |
|
348 |
- 709, 687, 666, 645, 625, 605, 586, 567, 550, 533, |
|
349 |
- 516, 499, 482, 465, 449, 433, 418, 403, 389, 375, |
|
350 |
- 362, 349, 337, 325, 314, 303, 293, 283, 273, 263, |
|
351 |
- 254, 245, 236, 227, 219, 211, 204, 197, 190, 183, |
|
352 |
- 177, 171, 165, 159, 153, 147, 141, 135, 130, 125, |
|
353 |
- 120, 115, 110, 105, 101, 97, 93, 89, 85, 81, |
|
354 |
- 77, 74, 71, 68, 65, 62, 59, 56, 53, 51, |
|
355 |
- 49, 47, 45, 43, 41, 39, 37, 35, 33, 31, |
|
356 |
- 29, 27, 25, 23, 22, 21, 20, 19, 18, 17, |
|
357 |
- 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, |
|
358 |
- 6, 5, 4, 3, 2, 1, 0 |
|
332 |
+ 16384, 16203, 16022, 15842, 15662, 15482, 15302, 15122, 14942, 14763, |
|
333 |
+ 14584, 14406, 14228, 14051, 13874, 13698, 13522, 13347, 13172, 12998, |
|
334 |
+ 12824, 12652, 12480, 12310, 12140, 11971, 11803, 11637, 11471, 11307, |
|
335 |
+ 11143, 10980, 10817, 10654, 10491, 10330, 10169, 10011, 9853, 9697, |
|
336 |
+ 9542, 9389, 9236, 9086, 8936, 8789, 8642, 8498, 8355, 8212, |
|
337 |
+ 8070, 7931, 7792, 7656, 7520, 7388, 7256, 7126, 6996, 6870, |
|
338 |
+ 6744, 6621, 6498, 6377, 6256, 6135, 6014, 5895, 5776, 5660, |
|
339 |
+ 5545, 5433, 5321, 5212, 5104, 4999, 4895, 4793, 4692, 4594, |
|
340 |
+ 4496, 4400, 4304, 4211, 4118, 4028, 3939, 3853, 3767, 3684, |
|
341 |
+ 3601, 3521, 3441, 3364, 3287, 3212, 3137, 3062, 2987, 2915, |
|
342 |
+ 2843, 2773, 2704, 2638, 2572, 2508, 2445, 2384, 2324, 2266, |
|
343 |
+ 2208, 2153, 2098, 2044, 1990, 1939, 1888, 1839, 1791, 1745, |
|
344 |
+ 1699, 1655, 1611, 1569, 1527, 1487, 1448, 1409, 1370, 1331, |
|
345 |
+ 1292, 1255, 1218, 1183, 1148, 1115, 1082, 1051, 1020, 990, |
|
346 |
+ 960, 932, 904, 878, 852, 826, 801, 777, 753, 731, |
|
347 |
+ 709, 687, 666, 645, 625, 605, 586, 567, 550, 533, |
|
348 |
+ 516, 499, 482, 465, 449, 433, 418, 403, 389, 375, |
|
349 |
+ 362, 349, 337, 325, 314, 303, 293, 283, 273, 263, |
|
350 |
+ 254, 245, 236, 227, 219, 211, 204, 197, 190, 183, |
|
351 |
+ 177, 171, 165, 159, 153, 147, 141, 135, 130, 125, |
|
352 |
+ 120, 115, 110, 105, 101, 97, 93, 89, 85, 81, |
|
353 |
+ 77, 74, 71, 68, 65, 62, 59, 56, 53, 51, |
|
354 |
+ 49, 47, 45, 43, 41, 39, 37, 35, 33, 31, |
|
355 |
+ 29, 27, 25, 23, 22, 21, 20, 19, 18, 17, |
|
356 |
+ 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, |
|
357 |
+ 6, 5, 4, 3, 2, 1, 0 |
|
359 | 358 |
}, |
360 | 359 |
{ |
361 |
- 16384, 16210, 16036, 15863, 15690, 15517, 15344, 15172, 15000, 14828, |
|
362 |
- 14656, 14485, 14314, 14145, 13976, 13808, 13640, 13472, 13304, 13137, |
|
363 |
- 12970, 12804, 12639, 12475, 12312, 12149, 11987, 11827, 11667, 11508, |
|
364 |
- 11349, 11192, 11035, 10878, 10721, 10565, 10410, 10257, 10104, 9953, |
|
365 |
- 9802, 9654, 9506, 9359, 9213, 9070, 8927, 8787, 8647, 8508, |
|
366 |
- 8369, 8233, 8097, 7964, 7831, 7700, 7570, 7442, 7315, 7190, |
|
367 |
- 7065, 6943, 6821, 6701, 6581, 6461, 6341, 6223, 6105, 5990, |
|
368 |
- 5876, 5764, 5653, 5545, 5437, 5331, 5226, 5124, 5022, 4924, |
|
369 |
- 4826, 4729, 4632, 4538, 4444, 4353, 4262, 4174, 4087, 4002, |
|
370 |
- 3917, 3835, 3753, 3674, 3595, 3518, 3441, 3364, 3287, 3212, |
|
371 |
- 3138, 3066, 2995, 2926, 2858, 2792, 2726, 2662, 2599, 2538, |
|
372 |
- 2478, 2420, 2362, 2305, 2249, 2195, 2141, 2089, 2037, 1988, |
|
373 |
- 1939, 1891, 1844, 1799, 1754, 1711, 1668, 1626, 1584, 1542, |
|
374 |
- 1500, 1459, 1418, 1380, 1342, 1305, 1269, 1234, 1199, 1166, |
|
375 |
- 1133, 1102, 1071, 1041, 1012, 983, 954, 926, 899, 872, |
|
376 |
- 847, 822, 798, 774, 751, 728, 707, 686, 666, 646, |
|
377 |
- 627, 608, 589, 570, 552, 534, 517, 500, 484, 468, |
|
378 |
- 453, 438, 424, 410, 397, 384, 372, 360, 348, 336, |
|
379 |
- 325, 314, 303, 293, 283, 273, 264, 255, 246, 237, |
|
380 |
- 229, 221, 213, 205, 197, 189, 181, 174, 167, 160, |
|
381 |
- 154, 148, 142, 136, 131, 126, 121, 116, 111, 106, |
|
382 |
- 101, 97, 93, 89, 85, 81, 77, 73, 70, 67, |
|
383 |
- 64, 61, 58, 55, 52, 49, 46, 43, 40, 37, |
|
384 |
- 35, 33, 31, 29, 27, 25, 23, 21, 19, 17, |
|
385 |
- 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, |
|
386 |
- 6, 5, 4, 3, 2, 1, 0 |
|
360 |
+ 16384, 16210, 16036, 15863, 15690, 15517, 15344, 15172, 15000, 14828, |
|
361 |
+ 14656, 14485, 14314, 14145, 13976, 13808, 13640, 13472, 13304, 13137, |
|
362 |
+ 12970, 12804, 12639, 12475, 12312, 12149, 11987, 11827, 11667, 11508, |
|
363 |
+ 11349, 11192, 11035, 10878, 10721, 10565, 10410, 10257, 10104, 9953, |
|
364 |
+ 9802, 9654, 9506, 9359, 9213, 9070, 8927, 8787, 8647, 8508, |
|
365 |
+ 8369, 8233, 8097, 7964, 7831, 7700, 7570, 7442, 7315, 7190, |
|
366 |
+ 7065, 6943, 6821, 6701, 6581, 6461, 6341, 6223, 6105, 5990, |
|
367 |
+ 5876, 5764, 5653, 5545, 5437, 5331, 5226, 5124, 5022, 4924, |
|
368 |
+ 4826, 4729, 4632, 4538, 4444, 4353, 4262, 4174, 4087, 4002, |
|
369 |
+ 3917, 3835, 3753, 3674, 3595, 3518, 3441, 3364, 3287, 3212, |
|
370 |
+ 3138, 3066, 2995, 2926, 2858, 2792, 2726, 2662, 2599, 2538, |
|
371 |
+ 2478, 2420, 2362, 2305, 2249, 2195, 2141, 2089, 2037, 1988, |
|
372 |
+ 1939, 1891, 1844, 1799, 1754, 1711, 1668, 1626, 1584, 1542, |
|
373 |
+ 1500, 1459, 1418, 1380, 1342, 1305, 1269, 1234, 1199, 1166, |
|
374 |
+ 1133, 1102, 1071, 1041, 1012, 983, 954, 926, 899, 872, |
|
375 |
+ 847, 822, 798, 774, 751, 728, 707, 686, 666, 646, |
|
376 |
+ 627, 608, 589, 570, 552, 534, 517, 500, 484, 468, |
|
377 |
+ 453, 438, 424, 410, 397, 384, 372, 360, 348, 336, |
|
378 |
+ 325, 314, 303, 293, 283, 273, 264, 255, 246, 237, |
|
379 |
+ 229, 221, 213, 205, 197, 189, 181, 174, 167, 160, |
|
380 |
+ 154, 148, 142, 136, 131, 126, 121, 116, 111, 106, |
|
381 |
+ 101, 97, 93, 89, 85, 81, 77, 73, 70, 67, |
|
382 |
+ 64, 61, 58, 55, 52, 49, 46, 43, 40, 37, |
|
383 |
+ 35, 33, 31, 29, 27, 25, 23, 21, 19, 17, |
|
384 |
+ 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, |
|
385 |
+ 6, 5, 4, 3, 2, 1, 0 |
|
387 | 386 |
}, |
388 | 387 |
{ |
389 |
- 16384, 16218, 16052, 15886, 15720, 15554, 15389, 15224, 15059, 14895, |
|
390 |
- 14731, 14567, 14403, 14240, 14077, 13915, 13753, 13591, 13429, 13269, |
|
391 |
- 13109, 12950, 12791, 12633, 12476, 12320, 12164, 12009, 11854, 11701, |
|
392 |
- 11548, 11396, 11244, 11092, 10940, 10790, 10640, 10492, 10344, 10198, |
|
393 |
- 10052, 9908, 9764, 9622, 9481, 9342, 9203, 9066, 8929, 8793, |
|
394 |
- 8657, 8524, 8391, 8261, 8131, 8003, 7875, 7749, 7624, 7502, |
|
395 |
- 7380, 7260, 7140, 7022, 6904, 6786, 6668, 6551, 6435, 6322, |
|
396 |
- 6209, 6099, 5989, 5881, 5773, 5668, 5563, 5461, 5359, 5260, |
|
397 |
- 5161, 5063, 4965, 4871, 4777, 4686, 4595, 4506, 4417, 4331, |
|
398 |
- 4245, 4162, 4079, 3999, 3919, 3841, 3763, 3685, 3607, 3530, |
|
399 |
- 3454, 3380, 3307, 3236, 3166, 3097, 3029, 2963, 2897, 2834, |
|
400 |
- 2771, 2710, 2650, 2591, 2532, 2475, 2418, 2363, 2309, 2257, |
|
401 |
- 2205, 2155, 2105, 2057, 2009, 1963, 1918, 1873, 1828, 1783, |
|
402 |
- 1738, 1694, 1650, 1607, 1565, 1524, 1484, 1445, 1407, 1369, |
|
403 |
- 1333, 1297, 1263, 1229, 1197, 1165, 1134, 1103, 1073, 1043, |
|
404 |
- 1015, 987, 960, 933, 907, 882, 858, 834, 811, 788, |
|
405 |
- 766, 744, 722, 700, 679, 658, 638, 618, 599, 581, |
|
406 |
- 563, 545, 528, 511, 495, 480, 465, 451, 437, 423, |
|
407 |
- 410, 397, 384, 372, 360, 348, 337, 326, 315, 305, |
|
408 |
- 295, 285, 275, 265, 255, 245, 236, 227, 219, 211, |
|
409 |
- 203, 195, 188, 181, 174, 167, 161, 155, 149, 143, |
|
410 |
- 137, 131, 126, 121, 116, 111, 106, 101, 97, 93, |
|
411 |
- 89, 85, 81, 77, 73, 69, 65, 61, 58, 55, |
|
412 |
- 52, 49, 46, 43, 40, 37, 34, 32, 30, 28, |
|
413 |
- 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, |
|
414 |
- 6, 5, 4, 3, 2, 1, 0 |
|
388 |
+ 16384, 16218, 16052, 15886, 15720, 15554, 15389, 15224, 15059, 14895, |
|
389 |
+ 14731, 14567, 14403, 14240, 14077, 13915, 13753, 13591, 13429, 13269, |
|
390 |
+ 13109, 12950, 12791, 12633, 12476, 12320, 12164, 12009, 11854, 11701, |
|
391 |
+ 11548, 11396, 11244, 11092, 10940, 10790, 10640, 10492, 10344, 10198, |
|
392 |
+ 10052, 9908, 9764, 9622, 9481, 9342, 9203, 9066, 8929, 8793, |
|
393 |
+ 8657, 8524, 8391, 8261, 8131, 8003, 7875, 7749, 7624, 7502, |
|
394 |
+ 7380, 7260, 7140, 7022, 6904, 6786, 6668, 6551, 6435, 6322, |
|
395 |
+ 6209, 6099, 5989, 5881, 5773, 5668, 5563, 5461, 5359, 5260, |
|
396 |
+ 5161, 5063, 4965, 4871, 4777, 4686, 4595, 4506, 4417, 4331, |
|
397 |
+ 4245, 4162, 4079, 3999, 3919, 3841, 3763, 3685, 3607, 3530, |
|
398 |
+ 3454, 3380, 3307, 3236, 3166, 3097, 3029, 2963, 2897, 2834, |
|
399 |
+ 2771, 2710, 2650, 2591, 2532, 2475, 2418, 2363, 2309, 2257, |
|
400 |
+ 2205, 2155, 2105, 2057, 2009, 1963, 1918, 1873, 1828, 1783, |
|
401 |
+ 1738, 1694, 1650, 1607, 1565, 1524, 1484, 1445, 1407, 1369, |
|
402 |
+ 1333, 1297, 1263, 1229, 1197, 1165, 1134, 1103, 1073, 1043, |
|
403 |
+ 1015, 987, 960, 933, 907, 882, 858, 834, 811, 788, |
|
404 |
+ 766, 744, 722, 700, 679, 658, 638, 618, 599, 581, |
|
405 |
+ 563, 545, 528, 511, 495, 480, 465, 451, 437, 423, |
|
406 |
+ 410, 397, 384, 372, 360, 348, 337, 326, 315, 305, |
|
407 |
+ 295, 285, 275, 265, 255, 245, 236, 227, 219, 211, |
|
408 |
+ 203, 195, 188, 181, 174, 167, 161, 155, 149, 143, |
|
409 |
+ 137, 131, 126, 121, 116, 111, 106, 101, 97, 93, |
|
410 |
+ 89, 85, 81, 77, 73, 69, 65, 61, 58, 55, |
|
411 |
+ 52, 49, 46, 43, 40, 37, 34, 32, 30, 28, |
|
412 |
+ 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, |
|
413 |
+ 6, 5, 4, 3, 2, 1, 0 |
|
415 | 414 |
} |
416 | 415 |
}; |
417 | 416 |
|
418 | 417 |
|
419 |
-static const uint16_t * const cf_table[16] = { |
|
418 |
+static const uint16_t *const cf_table[16] = { |
|
420 | 419 |
cf_tables_1[0], cf_tables_1[1], cf_tables_1[2], cf_tables_2[0], |
421 | 420 |
cf_tables_2[1], cf_tables_2[2], cf_tables_2[3], cf_tables_2[4], |
422 | 421 |
cf_tables_2[5], cf_tables_2[6], cf_tables_2[7], cf_tables_3[0], |
... | ... |
@@ -424,10 +421,8 @@ static const uint16_t * const cf_table[16] = { |
424 | 424 |
}; |
425 | 425 |
|
426 | 426 |
|
427 |
-/** Initialize a given lookup table using a given delta |
|
428 |
- */ |
|
429 |
-static void bgmc_lut_fillp(uint8_t *lut, int *lut_status, |
|
430 |
- int delta) |
|
427 |
+/** Initialize a given lookup table using a given delta */ |
|
428 |
+static void bgmc_lut_fillp(uint8_t *lut, int *lut_status, int delta) |
|
431 | 429 |
{ |
432 | 430 |
unsigned int sx, i; |
433 | 431 |
|
... | ... |
@@ -446,10 +441,8 @@ static void bgmc_lut_fillp(uint8_t *lut, int *lut_status, |
446 | 446 |
} |
447 | 447 |
|
448 | 448 |
|
449 |
-/** Retune the index of a suitable lookup table for a given delta |
|
450 |
- */ |
|
451 |
-static uint8_t* bgmc_lut_getp(uint8_t *lut, int *lut_status, |
|
452 |
- int delta) |
|
449 |
+/** Retune the index of a suitable lookup table for a given delta */ |
|
450 |
+static uint8_t *bgmc_lut_getp(uint8_t *lut, int *lut_status, int delta) |
|
453 | 451 |
{ |
454 | 452 |
unsigned int i = av_clip(delta, 0, LUT_BUFF - 1); |
455 | 453 |
|
... | ... |
@@ -462,11 +455,10 @@ static uint8_t* bgmc_lut_getp(uint8_t *lut, int *lut_status, |
462 | 462 |
} |
463 | 463 |
|
464 | 464 |
|
465 |
-/** Initialize the lookup table arrays |
|
466 |
- */ |
|
465 |
+/** Initialize the lookup table arrays */ |
|
467 | 466 |
int ff_bgmc_init(AVCodecContext *avctx, uint8_t **cf_lut, int **cf_lut_status) |
468 | 467 |
{ |
469 |
- *cf_lut = av_malloc(sizeof(*cf_lut ) * LUT_BUFF * 16 * LUT_SIZE); |
|
468 |
+ *cf_lut = av_malloc(sizeof(*cf_lut) * LUT_BUFF * 16 * LUT_SIZE); |
|
470 | 469 |
*cf_lut_status = av_malloc(sizeof(*cf_lut_status) * LUT_BUFF); |
471 | 470 |
|
472 | 471 |
if (!cf_lut || !cf_lut_status) { |
... | ... |
@@ -474,8 +466,7 @@ int ff_bgmc_init(AVCodecContext *avctx, uint8_t **cf_lut, int **cf_lut_status) |
474 | 474 |
av_log(avctx, AV_LOG_ERROR, "Allocating buffer memory failed.\n"); |
475 | 475 |
return AVERROR(ENOMEM); |
476 | 476 |
} else { |
477 |
- // initialize lut_status buffer to a value never used to compare |
|
478 |
- // against |
|
477 |
+ // initialize lut_status buffer to a value never used to compare against |
|
479 | 478 |
memset(*cf_lut_status, -1, sizeof(*cf_lut_status) * LUT_BUFF); |
480 | 479 |
} |
481 | 480 |
|
... | ... |
@@ -483,8 +474,7 @@ int ff_bgmc_init(AVCodecContext *avctx, uint8_t **cf_lut, int **cf_lut_status) |
483 | 483 |
} |
484 | 484 |
|
485 | 485 |
|
486 |
-/** Release the lookup table arrays |
|
487 |
- */ |
|
486 |
+/** Release the lookup table arrays */ |
|
488 | 487 |
void ff_bgmc_end(uint8_t **cf_lut, int **cf_lut_status) |
489 | 488 |
{ |
490 | 489 |
av_freep(cf_lut); |
... | ... |
@@ -492,10 +482,9 @@ void ff_bgmc_end(uint8_t **cf_lut, int **cf_lut_status) |
492 | 492 |
} |
493 | 493 |
|
494 | 494 |
|
495 |
-/** Initialize decoding and reads the first value |
|
496 |
- */ |
|
497 |
-void ff_bgmc_decode_init(GetBitContext *gb, |
|
498 |
- unsigned int *h, unsigned int *l, unsigned int *v) |
|
495 |
+/** Initialize decoding and reads the first value */ |
|
496 |
+void ff_bgmc_decode_init(GetBitContext *gb, unsigned int *h, unsigned int *l, |
|
497 |
+ unsigned int *v) |
|
499 | 498 |
{ |
500 | 499 |
*h = TOP_VALUE; |
501 | 500 |
*l = 0; |
... | ... |
@@ -503,16 +492,14 @@ void ff_bgmc_decode_init(GetBitContext *gb, |
503 | 503 |
} |
504 | 504 |
|
505 | 505 |
|
506 |
-/** Finish decoding |
|
507 |
- */ |
|
506 |
+/** Finish decoding */ |
|
508 | 507 |
void ff_bgmc_decode_end(GetBitContext *gb) |
509 | 508 |
{ |
510 | 509 |
skip_bits_long(gb, -(VALUE_BITS - 2)); |
511 | 510 |
} |
512 | 511 |
|
513 | 512 |
|
514 |
-/** Read and decode a block Gilbert-Moore coded symbol |
|
515 |
- */ |
|
513 |
+/** Read and decode a block Gilbert-Moore coded symbol */ |
|
516 | 514 |
void ff_bgmc_decode(GetBitContext *gb, unsigned int num, int32_t *dst, |
517 | 515 |
int delta, unsigned int sx, |
518 | 516 |
unsigned int *h, unsigned int *l, unsigned int *v, |
... | ... |
@@ -522,9 +509,9 @@ void ff_bgmc_decode(GetBitContext *gb, unsigned int num, int32_t *dst, |
522 | 522 |
uint8_t *lut = bgmc_lut_getp(cf_lut, cf_lut_status, delta); |
523 | 523 |
|
524 | 524 |
// read current state |
525 |
- unsigned int high = *h; |
|
526 |
- unsigned int low = *l; |
|
527 |
- unsigned int value = *v; |
|
525 |
+ unsigned int high = *h; |
|
526 |
+ unsigned int low = *l; |
|
527 |
+ unsigned int value = *v; |
|
528 | 528 |
|
529 | 529 |
lut += sx * LUT_SIZE; |
530 | 530 |
|
... | ... |
@@ -539,12 +526,12 @@ void ff_bgmc_decode(GetBitContext *gb, unsigned int num, int32_t *dst, |
539 | 539 |
|
540 | 540 |
symbol = (symbol >> delta) - 1; |
541 | 541 |
|
542 |
- high = low + ((range * cf_table[sx][(symbol ) << delta] - (1 << FREQ_BITS)) >> FREQ_BITS); |
|
543 |
- low = low + ((range * cf_table[sx][(symbol + 1) << delta] ) >> FREQ_BITS); |
|
542 |
+ high = low + ((range * cf_table[sx][(symbol) << delta] - (1 << FREQ_BITS)) >> FREQ_BITS); |
|
543 |
+ low = low + ((range * cf_table[sx][(symbol + 1) << delta]) >> FREQ_BITS); |
|
544 | 544 |
|
545 | 545 |
while (1) { |
546 | 546 |
if (high >= HALF) { |
547 |
- if (low >= HALF) { |
|
547 |
+ if (low >= HALF) { |
|
548 | 548 |
value -= HALF; |
549 | 549 |
low -= HALF; |
550 | 550 |
high -= HALF; |
... | ... |
@@ -552,12 +539,13 @@ void ff_bgmc_decode(GetBitContext *gb, unsigned int num, int32_t *dst, |
552 | 552 |
value -= FIRST_QTR; |
553 | 553 |
low -= FIRST_QTR; |
554 | 554 |
high -= FIRST_QTR; |
555 |
- } else break; |
|
555 |
+ } else |
|
556 |
+ break; |
|
556 | 557 |
} |
557 | 558 |
|
558 |
- low *= 2; |
|
559 |
- high = 2 * high + 1; |
|
560 |
- value = 2 * value + get_bits1(gb); |
|
559 |
+ low *= 2; |
|
560 |
+ high = 2 * high + 1; |
|
561 |
+ value = 2 * value + get_bits1(gb); |
|
561 | 562 |
} |
562 | 563 |
|
563 | 564 |
*dst++ = symbol; |
... | ... |
@@ -57,6 +57,18 @@ AVOutputFormat ff_adx_muxer = { |
57 | 57 |
}; |
58 | 58 |
#endif |
59 | 59 |
|
60 |
+#if CONFIG_CAVSVIDEO_MUXER |
|
61 |
+AVOutputFormat ff_cavsvideo_muxer = { |
|
62 |
+ .name = "cavsvideo", |
|
63 |
+ .long_name = NULL_IF_CONFIG_SMALL("raw Chinese AVS video"), |
|
64 |
+ .extensions = "cavs", |
|
65 |
+ .audio_codec = CODEC_ID_NONE, |
|
66 |
+ .video_codec = CODEC_ID_CAVS, |
|
67 |
+ .write_packet = ff_raw_write_packet, |
|
68 |
+ .flags = AVFMT_NOTIMESTAMPS, |
|
69 |
+}; |
|
70 |
+#endif |
|
71 |
+ |
|
60 | 72 |
#if CONFIG_DIRAC_MUXER |
61 | 73 |
AVOutputFormat ff_dirac_muxer = { |
62 | 74 |
.name = "dirac", |
... | ... |
@@ -158,18 +170,6 @@ AVOutputFormat ff_h264_muxer = { |
158 | 158 |
}; |
159 | 159 |
#endif |
160 | 160 |
|
161 |
-#if CONFIG_CAVSVIDEO_MUXER |
|
162 |
-AVOutputFormat ff_cavsvideo_muxer = { |
|
163 |
- .name = "cavsvideo", |
|
164 |
- .long_name = NULL_IF_CONFIG_SMALL("raw Chinese AVS video"), |
|
165 |
- .extensions = "cavs", |
|
166 |
- .audio_codec = CODEC_ID_NONE, |
|
167 |
- .video_codec = CODEC_ID_CAVS, |
|
168 |
- .write_packet = ff_raw_write_packet, |
|
169 |
- .flags = AVFMT_NOTIMESTAMPS, |
|
170 |
-}; |
|
171 |
-#endif |
|
172 |
- |
|
173 | 161 |
#if CONFIG_M4V_MUXER |
174 | 162 |
AVOutputFormat ff_m4v_muxer = { |
175 | 163 |
.name = "m4v", |
... | ... |
@@ -207,30 +207,6 @@ AVOutputFormat ff_mlp_muxer = { |
207 | 207 |
}; |
208 | 208 |
#endif |
209 | 209 |
|
210 |
-#if CONFIG_SRT_MUXER |
|
211 |
-AVOutputFormat ff_srt_muxer = { |
|
212 |
- .name = "srt", |
|
213 |
- .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle format"), |
|
214 |
- .mime_type = "application/x-subrip", |
|
215 |
- .extensions = "srt", |
|
216 |
- .write_packet = ff_raw_write_packet, |
|
217 |
- .flags = AVFMT_NOTIMESTAMPS, |
|
218 |
- .subtitle_codec = CODEC_ID_SRT, |
|
219 |
-}; |
|
220 |
-#endif |
|
221 |
- |
|
222 |
-#if CONFIG_TRUEHD_MUXER |
|
223 |
-AVOutputFormat ff_truehd_muxer = { |
|
224 |
- .name = "truehd", |
|
225 |
- .long_name = NULL_IF_CONFIG_SMALL("raw TrueHD"), |
|
226 |
- .extensions = "thd", |
|
227 |
- .audio_codec = CODEC_ID_TRUEHD, |
|
228 |
- .video_codec = CODEC_ID_NONE, |
|
229 |
- .write_packet = ff_raw_write_packet, |
|
230 |
- .flags = AVFMT_NOTIMESTAMPS, |
|
231 |
-}; |
|
232 |
-#endif |
|
233 |
- |
|
234 | 210 |
#if CONFIG_MPEG1VIDEO_MUXER |
235 | 211 |
AVOutputFormat ff_mpeg1video_muxer = { |
236 | 212 |
.name = "mpeg1video", |
... | ... |
@@ -267,3 +243,27 @@ AVOutputFormat ff_rawvideo_muxer = { |
267 | 267 |
.flags = AVFMT_NOTIMESTAMPS, |
268 | 268 |
}; |
269 | 269 |
#endif |
270 |
+ |
|
271 |
+#if CONFIG_SRT_MUXER |
|
272 |
+AVOutputFormat ff_srt_muxer = { |
|
273 |
+ .name = "srt", |
|
274 |
+ .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle format"), |
|
275 |
+ .mime_type = "application/x-subrip", |
|
276 |
+ .extensions = "srt", |
|
277 |
+ .write_packet = ff_raw_write_packet, |
|
278 |
+ .flags = AVFMT_NOTIMESTAMPS, |
|
279 |
+ .subtitle_codec = CODEC_ID_SRT, |
|
280 |
+}; |
|
281 |
+#endif |
|
282 |
+ |
|
283 |
+#if CONFIG_TRUEHD_MUXER |
|
284 |
+AVOutputFormat ff_truehd_muxer = { |
|
285 |
+ .name = "truehd", |
|
286 |
+ .long_name = NULL_IF_CONFIG_SMALL("raw TrueHD"), |
|
287 |
+ .extensions = "thd", |
|
288 |
+ .audio_codec = CODEC_ID_TRUEHD, |
|
289 |
+ .video_codec = CODEC_ID_NONE, |
|
290 |
+ .write_packet = ff_raw_write_packet, |
|
291 |
+ .flags = AVFMT_NOTIMESTAMPS, |
|
292 |
+}; |
|
293 |
+#endif |