Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
d3076955
F
Ffmpeg
项目概览
小白菜888
/
Ffmpeg
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
Ffmpeg
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d3076955
编写于
5月 19, 2005
作者:
M
Mike Melanson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
replace unpack_token() with a series of lookup tables
Originally committed as revision 4277 to
svn://svn.ffmpeg.org/ffmpeg/trunk
上级
def4272a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
268 addition
and
2 deletion
+268
-2
libavcodec/vp3.c
libavcodec/vp3.c
+22
-2
libavcodec/vp3data.h
libavcodec/vp3data.h
+246
-0
未找到文件。
libavcodec/vp3.c
浏览文件 @
d3076955
...
...
@@ -1667,10 +1667,11 @@ static int unpack_vlcs(Vp3DecodeContext *s, GetBitContext *gb,
{
int
i
;
int
token
;
int
zero_run
;
DCTELEM
coeff
;
int
zero_run
=
0
;
DCTELEM
coeff
=
0
;
Vp3Fragment
*
fragment
;
uint8_t
*
perm
=
s
->
scantable
.
permutated
;
int
bits_to_get
;
if
((
first_fragment
>=
s
->
fragment_count
)
||
(
last_fragment
>=
s
->
fragment_count
))
{
...
...
@@ -1691,7 +1692,26 @@ static int unpack_vlcs(Vp3DecodeContext *s, GetBitContext *gb,
token
=
get_vlc2
(
gb
,
table
->
table
,
5
,
3
);
debug_vlc
(
" token = %2d, "
,
token
);
/* use the token to get a zero run, a coefficient, and an eob run */
#if 1
if
(
token
<=
6
)
{
eob_run
=
eob_run_base
[
token
];
if
(
eob_run_get_bits
[
token
])
eob_run
+=
get_bits
(
gb
,
eob_run_get_bits
[
token
]);
coeff
=
zero_run
=
0
;
}
else
{
bits_to_get
=
coeff_get_bits
[
token
];
if
(
!
bits_to_get
)
coeff
=
coeff_tables
[
token
][
0
];
else
coeff
=
coeff_tables
[
token
][
get_bits
(
gb
,
bits_to_get
)];
zero_run
=
zero_run_base
[
token
];
if
(
zero_run_get_bits
[
token
])
zero_run
+=
get_bits
(
gb
,
zero_run_get_bits
[
token
]);
}
#else
unpack_token
(
gb
,
token
,
&
zero_run
,
&
coeff
,
&
eob_run
);
#endif
}
if
(
!
eob_run
)
{
...
...
libavcodec/vp3data.h
浏览文件 @
d3076955
...
...
@@ -163,6 +163,252 @@ static const int motion_vector_table[63] = {
24
,
-
24
,
25
,
-
25
,
26
,
-
26
,
27
,
-
27
,
28
,
-
28
,
29
,
-
29
,
30
,
-
30
,
31
,
-
31
};
/* only tokens 0..6 indicate eob runs */
static
const
int
eob_run_base
[
7
]
=
{
1
,
2
,
3
,
4
,
8
,
16
,
0
};
static
const
int
eob_run_get_bits
[
7
]
=
{
0
,
0
,
0
,
2
,
3
,
4
,
12
};
static
const
int
zero_run_base
[
32
]
=
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
/* 0..6 are never used */
0
,
0
,
/* 7..8 */
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
/* 9..22 */
1
,
2
,
3
,
4
,
5
,
/* 23..27 */
6
,
10
,
1
,
2
/* 28..31 */
};
static
const
int
zero_run_get_bits
[
32
]
=
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
/* 0..6 are never used */
3
,
6
,
/* 7..8 */
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
/* 9..22 */
0
,
0
,
0
,
0
,
0
,
/* 23..27 */
2
,
3
,
0
,
1
/* 28..31 */
};
static
const
int
coeff_get_bits
[
32
]
=
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
/* 0..6 are never used */
0
,
0
,
0
,
0
,
0
,
0
,
/* 7..12 use constant coeffs */
1
,
1
,
1
,
1
,
/* 13..16 are constants but still need sign bit */
2
,
3
,
4
,
5
,
6
,
10
,
/* 17..22, for reading large coeffs */
1
,
1
,
1
,
1
,
1
,
1
,
1
,
/* 23..29 are constants but still need sign bit */
2
,
2
/* 30..31 */
};
static
const
int16_t
coeff_table_token_7_8
[
1
]
=
{
0
};
static
const
int16_t
coeff_table_token_9
[
1
]
=
{
1
};
static
const
int16_t
coeff_table_token_10
[
1
]
=
{
-
1
};
static
const
int16_t
coeff_table_token_11
[
1
]
=
{
2
};
static
const
int16_t
coeff_table_token_12
[
1
]
=
{
-
2
};
static
const
int16_t
coeff_table_token_13
[
2
]
=
{
3
,
-
3
};
static
const
int16_t
coeff_table_token_14
[
2
]
=
{
4
,
-
4
};
static
const
int16_t
coeff_table_token_15
[
2
]
=
{
5
,
-
5
};
static
const
int16_t
coeff_table_token_16
[
2
]
=
{
6
,
-
6
};
static
const
int16_t
coeff_table_token_23_24_25_26_27_28_29
[
2
]
=
{
1
,
-
1
};
static
const
int16_t
coeff_table_token_30
[
4
]
=
{
2
,
3
,
-
2
,
-
3
};
static
const
int16_t
coeff_table_token_31
[
4
]
=
{
2
,
3
,
-
2
,
-
3
};
static
const
int16_t
coeff_table_token_17
[
4
]
=
{
7
,
8
,
-
7
,
-
8
};
static
const
int16_t
coeff_table_token_18
[
8
]
=
{
9
,
10
,
11
,
12
,
-
9
,
-
10
,
-
11
,
-
12
};
static
const
int16_t
coeff_table_token_19
[
16
]
=
{
13
,
14
,
15
,
16
,
17
,
18
,
19
,
20
,
-
13
,
-
14
,
-
15
,
-
16
,
-
17
,
-
18
,
-
19
,
-
20
};
static
const
int16_t
coeff_table_token_20
[
32
]
=
{
21
,
22
,
23
,
24
,
25
,
26
,
27
,
28
,
29
,
30
,
31
,
32
,
33
,
34
,
35
,
36
,
-
21
,
-
22
,
-
23
,
-
24
,
-
25
,
-
26
,
-
27
,
-
28
,
-
29
,
-
30
,
-
31
,
-
32
,
-
33
,
-
34
,
-
35
,
-
36
};
static
const
int16_t
coeff_table_token_21
[
64
]
=
{
37
,
38
,
39
,
40
,
41
,
42
,
43
,
44
,
45
,
46
,
47
,
48
,
49
,
50
,
51
,
52
,
53
,
54
,
55
,
56
,
57
,
58
,
59
,
60
,
61
,
62
,
63
,
64
,
65
,
66
,
67
,
68
,
-
37
,
-
38
,
-
39
,
-
40
,
-
41
,
-
42
,
-
43
,
-
44
,
-
45
,
-
46
,
-
47
,
-
48
,
-
49
,
-
50
,
-
51
,
-
52
,
-
53
,
-
54
,
-
55
,
-
56
,
-
57
,
-
58
,
-
59
,
-
60
,
-
61
,
-
62
,
-
63
,
-
64
,
-
65
,
-
66
,
-
67
,
-
68
};
static
const
int16_t
coeff_table_token_22
[
1024
]
=
{
69
,
70
,
71
,
72
,
73
,
74
,
75
,
76
,
77
,
78
,
79
,
80
,
81
,
82
,
83
,
84
,
85
,
86
,
87
,
88
,
89
,
90
,
91
,
92
,
93
,
94
,
95
,
96
,
97
,
98
,
99
,
100
,
101
,
102
,
103
,
104
,
105
,
106
,
107
,
108
,
109
,
110
,
111
,
112
,
113
,
114
,
115
,
116
,
117
,
118
,
119
,
120
,
121
,
122
,
123
,
124
,
125
,
126
,
127
,
128
,
129
,
130
,
131
,
132
,
133
,
134
,
135
,
136
,
137
,
138
,
139
,
140
,
141
,
142
,
143
,
144
,
145
,
146
,
147
,
148
,
149
,
150
,
151
,
152
,
153
,
154
,
155
,
156
,
157
,
158
,
159
,
160
,
161
,
162
,
163
,
164
,
165
,
166
,
167
,
168
,
169
,
170
,
171
,
172
,
173
,
174
,
175
,
176
,
177
,
178
,
179
,
180
,
181
,
182
,
183
,
184
,
185
,
186
,
187
,
188
,
189
,
190
,
191
,
192
,
193
,
194
,
195
,
196
,
197
,
198
,
199
,
200
,
201
,
202
,
203
,
204
,
205
,
206
,
207
,
208
,
209
,
210
,
211
,
212
,
213
,
214
,
215
,
216
,
217
,
218
,
219
,
220
,
221
,
222
,
223
,
224
,
225
,
226
,
227
,
228
,
229
,
230
,
231
,
232
,
233
,
234
,
235
,
236
,
237
,
238
,
239
,
240
,
241
,
242
,
243
,
244
,
245
,
246
,
247
,
248
,
249
,
250
,
251
,
252
,
253
,
254
,
255
,
256
,
257
,
258
,
259
,
260
,
261
,
262
,
263
,
264
,
265
,
266
,
267
,
268
,
269
,
270
,
271
,
272
,
273
,
274
,
275
,
276
,
277
,
278
,
279
,
280
,
281
,
282
,
283
,
284
,
285
,
286
,
287
,
288
,
289
,
290
,
291
,
292
,
293
,
294
,
295
,
296
,
297
,
298
,
299
,
300
,
301
,
302
,
303
,
304
,
305
,
306
,
307
,
308
,
309
,
310
,
311
,
312
,
313
,
314
,
315
,
316
,
317
,
318
,
319
,
320
,
321
,
322
,
323
,
324
,
325
,
326
,
327
,
328
,
329
,
330
,
331
,
332
,
333
,
334
,
335
,
336
,
337
,
338
,
339
,
340
,
341
,
342
,
343
,
344
,
345
,
346
,
347
,
348
,
349
,
350
,
351
,
352
,
353
,
354
,
355
,
356
,
357
,
358
,
359
,
360
,
361
,
362
,
363
,
364
,
365
,
366
,
367
,
368
,
369
,
370
,
371
,
372
,
373
,
374
,
375
,
376
,
377
,
378
,
379
,
380
,
381
,
382
,
383
,
384
,
385
,
386
,
387
,
388
,
389
,
390
,
391
,
392
,
393
,
394
,
395
,
396
,
397
,
398
,
399
,
400
,
401
,
402
,
403
,
404
,
405
,
406
,
407
,
408
,
409
,
410
,
411
,
412
,
413
,
414
,
415
,
416
,
417
,
418
,
419
,
420
,
421
,
422
,
423
,
424
,
425
,
426
,
427
,
428
,
429
,
430
,
431
,
432
,
433
,
434
,
435
,
436
,
437
,
438
,
439
,
440
,
441
,
442
,
443
,
444
,
445
,
446
,
447
,
448
,
449
,
450
,
451
,
452
,
453
,
454
,
455
,
456
,
457
,
458
,
459
,
460
,
461
,
462
,
463
,
464
,
465
,
466
,
467
,
468
,
469
,
470
,
471
,
472
,
473
,
474
,
475
,
476
,
477
,
478
,
479
,
480
,
481
,
482
,
483
,
484
,
485
,
486
,
487
,
488
,
489
,
490
,
491
,
492
,
493
,
494
,
495
,
496
,
497
,
498
,
499
,
500
,
501
,
502
,
503
,
504
,
505
,
506
,
507
,
508
,
509
,
510
,
511
,
512
,
513
,
514
,
515
,
516
,
517
,
518
,
519
,
520
,
521
,
522
,
523
,
524
,
525
,
526
,
527
,
528
,
529
,
530
,
531
,
532
,
533
,
534
,
535
,
536
,
537
,
538
,
539
,
540
,
541
,
542
,
543
,
544
,
545
,
546
,
547
,
548
,
549
,
550
,
551
,
552
,
553
,
554
,
555
,
556
,
557
,
558
,
559
,
560
,
561
,
562
,
563
,
564
,
565
,
566
,
567
,
568
,
569
,
570
,
571
,
572
,
573
,
574
,
575
,
576
,
577
,
578
,
579
,
580
,
-
69
,
-
70
,
-
71
,
-
72
,
-
73
,
-
74
,
-
75
,
-
76
,
-
77
,
-
78
,
-
79
,
-
80
,
-
81
,
-
82
,
-
83
,
-
84
,
-
85
,
-
86
,
-
87
,
-
88
,
-
89
,
-
90
,
-
91
,
-
92
,
-
93
,
-
94
,
-
95
,
-
96
,
-
97
,
-
98
,
-
99
,
-
100
,
-
101
,
-
102
,
-
103
,
-
104
,
-
105
,
-
106
,
-
107
,
-
108
,
-
109
,
-
110
,
-
111
,
-
112
,
-
113
,
-
114
,
-
115
,
-
116
,
-
117
,
-
118
,
-
119
,
-
120
,
-
121
,
-
122
,
-
123
,
-
124
,
-
125
,
-
126
,
-
127
,
-
128
,
-
129
,
-
130
,
-
131
,
-
132
,
-
133
,
-
134
,
-
135
,
-
136
,
-
137
,
-
138
,
-
139
,
-
140
,
-
141
,
-
142
,
-
143
,
-
144
,
-
145
,
-
146
,
-
147
,
-
148
,
-
149
,
-
150
,
-
151
,
-
152
,
-
153
,
-
154
,
-
155
,
-
156
,
-
157
,
-
158
,
-
159
,
-
160
,
-
161
,
-
162
,
-
163
,
-
164
,
-
165
,
-
166
,
-
167
,
-
168
,
-
169
,
-
170
,
-
171
,
-
172
,
-
173
,
-
174
,
-
175
,
-
176
,
-
177
,
-
178
,
-
179
,
-
180
,
-
181
,
-
182
,
-
183
,
-
184
,
-
185
,
-
186
,
-
187
,
-
188
,
-
189
,
-
190
,
-
191
,
-
192
,
-
193
,
-
194
,
-
195
,
-
196
,
-
197
,
-
198
,
-
199
,
-
200
,
-
201
,
-
202
,
-
203
,
-
204
,
-
205
,
-
206
,
-
207
,
-
208
,
-
209
,
-
210
,
-
211
,
-
212
,
-
213
,
-
214
,
-
215
,
-
216
,
-
217
,
-
218
,
-
219
,
-
220
,
-
221
,
-
222
,
-
223
,
-
224
,
-
225
,
-
226
,
-
227
,
-
228
,
-
229
,
-
230
,
-
231
,
-
232
,
-
233
,
-
234
,
-
235
,
-
236
,
-
237
,
-
238
,
-
239
,
-
240
,
-
241
,
-
242
,
-
243
,
-
244
,
-
245
,
-
246
,
-
247
,
-
248
,
-
249
,
-
250
,
-
251
,
-
252
,
-
253
,
-
254
,
-
255
,
-
256
,
-
257
,
-
258
,
-
259
,
-
260
,
-
261
,
-
262
,
-
263
,
-
264
,
-
265
,
-
266
,
-
267
,
-
268
,
-
269
,
-
270
,
-
271
,
-
272
,
-
273
,
-
274
,
-
275
,
-
276
,
-
277
,
-
278
,
-
279
,
-
280
,
-
281
,
-
282
,
-
283
,
-
284
,
-
285
,
-
286
,
-
287
,
-
288
,
-
289
,
-
290
,
-
291
,
-
292
,
-
293
,
-
294
,
-
295
,
-
296
,
-
297
,
-
298
,
-
299
,
-
300
,
-
301
,
-
302
,
-
303
,
-
304
,
-
305
,
-
306
,
-
307
,
-
308
,
-
309
,
-
310
,
-
311
,
-
312
,
-
313
,
-
314
,
-
315
,
-
316
,
-
317
,
-
318
,
-
319
,
-
320
,
-
321
,
-
322
,
-
323
,
-
324
,
-
325
,
-
326
,
-
327
,
-
328
,
-
329
,
-
330
,
-
331
,
-
332
,
-
333
,
-
334
,
-
335
,
-
336
,
-
337
,
-
338
,
-
339
,
-
340
,
-
341
,
-
342
,
-
343
,
-
344
,
-
345
,
-
346
,
-
347
,
-
348
,
-
349
,
-
350
,
-
351
,
-
352
,
-
353
,
-
354
,
-
355
,
-
356
,
-
357
,
-
358
,
-
359
,
-
360
,
-
361
,
-
362
,
-
363
,
-
364
,
-
365
,
-
366
,
-
367
,
-
368
,
-
369
,
-
370
,
-
371
,
-
372
,
-
373
,
-
374
,
-
375
,
-
376
,
-
377
,
-
378
,
-
379
,
-
380
,
-
381
,
-
382
,
-
383
,
-
384
,
-
385
,
-
386
,
-
387
,
-
388
,
-
389
,
-
390
,
-
391
,
-
392
,
-
393
,
-
394
,
-
395
,
-
396
,
-
397
,
-
398
,
-
399
,
-
400
,
-
401
,
-
402
,
-
403
,
-
404
,
-
405
,
-
406
,
-
407
,
-
408
,
-
409
,
-
410
,
-
411
,
-
412
,
-
413
,
-
414
,
-
415
,
-
416
,
-
417
,
-
418
,
-
419
,
-
420
,
-
421
,
-
422
,
-
423
,
-
424
,
-
425
,
-
426
,
-
427
,
-
428
,
-
429
,
-
430
,
-
431
,
-
432
,
-
433
,
-
434
,
-
435
,
-
436
,
-
437
,
-
438
,
-
439
,
-
440
,
-
441
,
-
442
,
-
443
,
-
444
,
-
445
,
-
446
,
-
447
,
-
448
,
-
449
,
-
450
,
-
451
,
-
452
,
-
453
,
-
454
,
-
455
,
-
456
,
-
457
,
-
458
,
-
459
,
-
460
,
-
461
,
-
462
,
-
463
,
-
464
,
-
465
,
-
466
,
-
467
,
-
468
,
-
469
,
-
470
,
-
471
,
-
472
,
-
473
,
-
474
,
-
475
,
-
476
,
-
477
,
-
478
,
-
479
,
-
480
,
-
481
,
-
482
,
-
483
,
-
484
,
-
485
,
-
486
,
-
487
,
-
488
,
-
489
,
-
490
,
-
491
,
-
492
,
-
493
,
-
494
,
-
495
,
-
496
,
-
497
,
-
498
,
-
499
,
-
500
,
-
501
,
-
502
,
-
503
,
-
504
,
-
505
,
-
506
,
-
507
,
-
508
,
-
509
,
-
510
,
-
511
,
-
512
,
-
513
,
-
514
,
-
515
,
-
516
,
-
517
,
-
518
,
-
519
,
-
520
,
-
521
,
-
522
,
-
523
,
-
524
,
-
525
,
-
526
,
-
527
,
-
528
,
-
529
,
-
530
,
-
531
,
-
532
,
-
533
,
-
534
,
-
535
,
-
536
,
-
537
,
-
538
,
-
539
,
-
540
,
-
541
,
-
542
,
-
543
,
-
544
,
-
545
,
-
546
,
-
547
,
-
548
,
-
549
,
-
550
,
-
551
,
-
552
,
-
553
,
-
554
,
-
555
,
-
556
,
-
557
,
-
558
,
-
559
,
-
560
,
-
561
,
-
562
,
-
563
,
-
564
,
-
565
,
-
566
,
-
567
,
-
568
,
-
569
,
-
570
,
-
571
,
-
572
,
-
573
,
-
574
,
-
575
,
-
576
,
-
577
,
-
578
,
-
579
,
-
580
};
static
const
int16_t
*
coeff_tables
[
32
]
=
{
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
coeff_table_token_7_8
,
coeff_table_token_7_8
,
coeff_table_token_9
,
coeff_table_token_10
,
coeff_table_token_11
,
coeff_table_token_12
,
coeff_table_token_13
,
coeff_table_token_14
,
coeff_table_token_15
,
coeff_table_token_16
,
coeff_table_token_17
,
coeff_table_token_18
,
coeff_table_token_19
,
coeff_table_token_20
,
coeff_table_token_21
,
coeff_table_token_22
,
coeff_table_token_23_24_25_26_27_28_29
,
coeff_table_token_23_24_25_26_27_28_29
,
coeff_table_token_23_24_25_26_27_28_29
,
coeff_table_token_23_24_25_26_27_28_29
,
coeff_table_token_23_24_25_26_27_28_29
,
coeff_table_token_23_24_25_26_27_28_29
,
coeff_table_token_23_24_25_26_27_28_29
,
coeff_table_token_30
,
coeff_table_token_31
};
static
const
uint16_t
dc_bias
[
16
][
32
][
2
]
=
{
{
/* DC bias table 0 */
{
0x2D
,
6
},
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录