Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Xiph.Org
aom-rav1e
Commits
c1cd5194
Commit
c1cd5194
authored
Jan 24, 2018
by
Hui Su
Browse files
Reduce the size of av1_prob_cost[]
Only half of it was necessary. Change-Id: I0b5fc9ae6a17f5d812e10ee903a12f23f1377d8e
parent
67adf42f
Changes
2
Hide whitespace changes
Inline
Side-by-side
av1/encoder/cost.c
View file @
c1cd5194
...
...
@@ -13,29 +13,17 @@
#include "av1/encoder/cost.h"
#include "av1/common/entropy.h"
/* round(-log2(i/256.) * (1 << AV1_PROB_COST_SHIFT))
Begins with a bogus entry for simpler addressing. */
const
uint16_t
av1_prob_cost
[
256
]
=
{
4096
,
4096
,
3584
,
3284
,
3072
,
2907
,
2772
,
2659
,
2560
,
2473
,
2395
,
2325
,
2260
,
2201
,
2147
,
2096
,
2048
,
2003
,
1961
,
1921
,
1883
,
1847
,
1813
,
1780
,
1748
,
1718
,
1689
,
1661
,
1635
,
1609
,
1584
,
1559
,
1536
,
1513
,
1491
,
1470
,
1449
,
1429
,
1409
,
1390
,
1371
,
1353
,
1335
,
1318
,
1301
,
1284
,
1268
,
1252
,
1236
,
1221
,
1206
,
1192
,
1177
,
1163
,
1149
,
1136
,
1123
,
1110
,
1097
,
1084
,
1072
,
1059
,
1047
,
1036
,
1024
,
1013
,
1001
,
990
,
979
,
968
,
958
,
947
,
937
,
927
,
917
,
907
,
897
,
887
,
878
,
868
,
859
,
850
,
841
,
832
,
823
,
814
,
806
,
797
,
789
,
780
,
772
,
764
,
756
,
748
,
740
,
732
,
724
,
717
,
709
,
702
,
694
,
687
,
680
,
673
,
665
,
658
,
651
,
644
,
637
,
631
,
624
,
617
,
611
,
604
,
598
,
591
,
585
,
578
,
572
,
566
,
560
,
554
,
547
,
541
,
535
,
530
,
524
,
518
,
512
,
506
,
501
,
495
,
489
,
484
,
478
,
473
,
467
,
462
,
456
,
451
,
446
,
441
,
435
,
430
,
425
,
420
,
415
,
410
,
405
,
400
,
395
,
390
,
385
,
380
,
375
,
371
,
366
,
361
,
356
,
352
,
347
,
343
,
338
,
333
,
329
,
324
,
320
,
316
,
311
,
307
,
302
,
298
,
294
,
289
,
285
,
281
,
277
,
273
,
268
,
264
,
260
,
256
,
252
,
248
,
244
,
240
,
236
,
232
,
228
,
224
,
220
,
216
,
212
,
209
,
205
,
201
,
197
,
194
,
190
,
186
,
182
,
179
,
175
,
171
,
168
,
164
,
161
,
157
,
153
,
150
,
146
,
143
,
139
,
136
,
132
,
129
,
125
,
122
,
119
,
115
,
112
,
109
,
105
,
102
,
99
,
95
,
92
,
89
,
86
,
82
,
79
,
76
,
73
,
70
,
66
,
63
,
60
,
57
,
54
,
51
,
48
,
45
,
42
,
38
,
35
,
32
,
29
,
26
,
23
,
20
,
18
,
15
,
12
,
9
,
6
,
3
// round(-log2(i/256.) * (1 << AV1_PROB_COST_SHIFT)); i = 128~255.
const
uint16_t
av1_prob_cost
[
128
]
=
{
512
,
506
,
501
,
495
,
489
,
484
,
478
,
473
,
467
,
462
,
456
,
451
,
446
,
441
,
435
,
430
,
425
,
420
,
415
,
410
,
405
,
400
,
395
,
390
,
385
,
380
,
375
,
371
,
366
,
361
,
356
,
352
,
347
,
343
,
338
,
333
,
329
,
324
,
320
,
316
,
311
,
307
,
302
,
298
,
294
,
289
,
285
,
281
,
277
,
273
,
268
,
264
,
260
,
256
,
252
,
248
,
244
,
240
,
236
,
232
,
228
,
224
,
220
,
216
,
212
,
209
,
205
,
201
,
197
,
194
,
190
,
186
,
182
,
179
,
175
,
171
,
168
,
164
,
161
,
157
,
153
,
150
,
146
,
143
,
139
,
136
,
132
,
129
,
125
,
122
,
119
,
115
,
112
,
109
,
105
,
102
,
99
,
95
,
92
,
89
,
86
,
82
,
79
,
76
,
73
,
70
,
66
,
63
,
60
,
57
,
54
,
51
,
48
,
45
,
42
,
38
,
35
,
32
,
29
,
26
,
23
,
20
,
18
,
15
,
12
,
9
,
6
,
3
,
};
void
av1_cost_tokens_from_cdf
(
int
*
costs
,
const
aom_cdf_prob
*
cdf
,
...
...
av1/encoder/cost.h
View file @
c1cd5194
...
...
@@ -19,7 +19,7 @@
extern
"C"
{
#endif
extern
const
uint16_t
av1_prob_cost
[
256
];
extern
const
uint16_t
av1_prob_cost
[
128
];
// The factor to scale from cost in bits to cost in av1_prob_cost units.
#define AV1_PROB_COST_SHIFT 9
...
...
@@ -32,8 +32,9 @@ extern const uint16_t av1_prob_cost[256];
static
INLINE
int
av1_cost_symbol
(
aom_cdf_prob
p15
)
{
assert
(
0
<
p15
&&
p15
<
CDF_PROB_TOP
);
const
int
shift
=
CDF_PROB_BITS
-
1
-
get_msb
(
p15
);
return
av1_prob_cost
[
get_prob
(
p15
<<
shift
,
CDF_PROB_TOP
)]
+
av1_cost_literal
(
shift
);
const
int
prob
=
get_prob
(
p15
<<
shift
,
CDF_PROB_TOP
);
assert
(
prob
>=
128
);
return
av1_prob_cost
[
prob
-
128
]
+
av1_cost_literal
(
shift
);
}
void
av1_cost_tokens_from_cdf
(
int
*
costs
,
const
aom_cdf_prob
*
cdf
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment