Skip to content
GitLab
Projects
Groups
Snippets
/
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
8cf352ab
Commit
8cf352ab
authored
Nov 19, 2013
by
Jim Bankoski
Browse files
entropy code speedup
Change-Id: Ic316d3374ff9a2b43897272260947d56765a0fdd
parent
ff4f1c4b
Changes
3
Hide whitespace changes
Inline
Side-by-side
vp9/common/vp9_entropy.c
View file @
8cf352ab
...
...
@@ -15,7 +15,6 @@
#include
"vpx_mem/vpx_mem.h"
#include
"vpx/vpx_integer.h"
#define MODEL_NODES (ENTROPY_NODES - UNCONSTRAINED_NODES)
DECLARE_ALIGNED
(
16
,
const
uint8_t
,
vp9_norm
[
256
])
=
{
0
,
7
,
6
,
6
,
5
,
5
,
5
,
5
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
...
...
@@ -158,6 +157,8 @@ const vp9_tree_index vp9_coefmodel_tree[6] = {
// the probabilities for the rest of the nodes.
// beta = 8
static
const
vp9_prob
pareto8_probs
[
COEFPROB_MODELS
][
MODEL_NODES
]
=
{
{
3
,
86
,
128
,
6
,
86
,
23
,
88
,
29
},
{
9
,
86
,
129
,
17
,
88
,
61
,
94
,
76
},
...
...
@@ -289,6 +290,268 @@ static const vp9_prob pareto8_probs[COEFPROB_MODELS][MODEL_NODES] = {
{
255
,
246
,
247
,
255
,
239
,
255
,
253
,
255
}
};
// This table is an expansion of the table : modelcoefprobs_pareto8
// to all 255 probabilities using the code as follows to do the expansion:
// tree_probs[i] = (model[l][i - UNCONSTRAINED_NODES] +
// model[l + 1][i - UNCONSTRAINED_NODES]) >> 1;
const
vp9_prob
vp9_pareto8_full
[
255
][
MODEL_NODES
]
=
{
{
3
,
86
,
128
,
6
,
86
,
23
,
88
,
29
},
{
6
,
86
,
128
,
11
,
87
,
42
,
91
,
52
},
{
9
,
86
,
129
,
17
,
88
,
61
,
94
,
76
},
{
12
,
86
,
129
,
22
,
88
,
77
,
97
,
93
},
{
15
,
87
,
129
,
28
,
89
,
93
,
100
,
110
},
{
17
,
87
,
129
,
33
,
90
,
105
,
103
,
123
},
{
20
,
88
,
130
,
38
,
91
,
118
,
106
,
136
},
{
23
,
88
,
130
,
43
,
91
,
128
,
108
,
146
},
{
26
,
89
,
131
,
48
,
92
,
139
,
111
,
156
},
{
28
,
89
,
131
,
53
,
93
,
147
,
114
,
163
},
{
31
,
90
,
131
,
58
,
94
,
156
,
117
,
171
},
{
34
,
90
,
131
,
62
,
94
,
163
,
119
,
177
},
{
37
,
90
,
132
,
66
,
95
,
171
,
122
,
184
},
{
39
,
90
,
132
,
70
,
96
,
177
,
124
,
189
},
{
42
,
91
,
132
,
75
,
97
,
183
,
127
,
194
},
{
44
,
91
,
132
,
79
,
97
,
188
,
129
,
198
},
{
47
,
92
,
133
,
83
,
98
,
193
,
132
,
202
},
{
49
,
92
,
133
,
86
,
99
,
197
,
134
,
205
},
{
52
,
93
,
133
,
90
,
100
,
201
,
137
,
208
},
{
54
,
93
,
133
,
94
,
100
,
204
,
139
,
211
},
{
57
,
94
,
134
,
98
,
101
,
208
,
142
,
214
},
{
59
,
94
,
134
,
101
,
102
,
211
,
144
,
216
},
{
62
,
94
,
135
,
105
,
103
,
214
,
146
,
218
},
{
64
,
94
,
135
,
108
,
103
,
216
,
148
,
220
},
{
66
,
95
,
135
,
111
,
104
,
219
,
151
,
222
},
{
68
,
95
,
135
,
114
,
105
,
221
,
153
,
223
},
{
71
,
96
,
136
,
117
,
106
,
224
,
155
,
225
},
{
73
,
96
,
136
,
120
,
106
,
225
,
157
,
226
},
{
76
,
97
,
136
,
123
,
107
,
227
,
159
,
228
},
{
78
,
97
,
136
,
126
,
108
,
229
,
160
,
229
},
{
80
,
98
,
137
,
129
,
109
,
231
,
162
,
231
},
{
82
,
98
,
137
,
131
,
109
,
232
,
164
,
232
},
{
84
,
98
,
138
,
134
,
110
,
234
,
166
,
233
},
{
86
,
98
,
138
,
137
,
111
,
235
,
168
,
234
},
{
89
,
99
,
138
,
140
,
112
,
236
,
170
,
235
},
{
91
,
99
,
138
,
142
,
112
,
237
,
171
,
235
},
{
93
,
100
,
139
,
145
,
113
,
238
,
173
,
236
},
{
95
,
100
,
139
,
147
,
114
,
239
,
174
,
237
},
{
97
,
101
,
140
,
149
,
115
,
240
,
176
,
238
},
{
99
,
101
,
140
,
151
,
115
,
241
,
177
,
238
},
{
101
,
102
,
140
,
154
,
116
,
242
,
179
,
239
},
{
103
,
102
,
140
,
156
,
117
,
242
,
180
,
239
},
{
105
,
103
,
141
,
158
,
118
,
243
,
182
,
240
},
{
107
,
103
,
141
,
160
,
118
,
243
,
183
,
240
},
{
109
,
104
,
141
,
162
,
119
,
244
,
185
,
241
},
{
111
,
104
,
141
,
164
,
119
,
244
,
186
,
241
},
{
113
,
104
,
142
,
166
,
120
,
245
,
187
,
242
},
{
114
,
104
,
142
,
168
,
121
,
245
,
188
,
242
},
{
116
,
105
,
143
,
170
,
122
,
246
,
190
,
243
},
{
118
,
105
,
143
,
171
,
122
,
246
,
191
,
243
},
{
120
,
106
,
143
,
173
,
123
,
247
,
192
,
244
},
{
121
,
106
,
143
,
175
,
124
,
247
,
193
,
244
},
{
123
,
107
,
144
,
177
,
125
,
248
,
195
,
244
},
{
125
,
107
,
144
,
178
,
125
,
248
,
196
,
244
},
{
127
,
108
,
145
,
180
,
126
,
249
,
197
,
245
},
{
128
,
108
,
145
,
181
,
127
,
249
,
198
,
245
},
{
130
,
109
,
145
,
183
,
128
,
249
,
199
,
245
},
{
132
,
109
,
145
,
184
,
128
,
249
,
200
,
245
},
{
134
,
110
,
146
,
186
,
129
,
250
,
201
,
246
},
{
135
,
110
,
146
,
187
,
130
,
250
,
202
,
246
},
{
137
,
111
,
147
,
189
,
131
,
251
,
203
,
246
},
{
138
,
111
,
147
,
190
,
131
,
251
,
204
,
246
},
{
140
,
112
,
147
,
192
,
132
,
251
,
205
,
247
},
{
141
,
112
,
147
,
193
,
132
,
251
,
206
,
247
},
{
143
,
113
,
148
,
194
,
133
,
251
,
207
,
247
},
{
144
,
113
,
148
,
195
,
134
,
251
,
207
,
247
},
{
146
,
114
,
149
,
197
,
135
,
252
,
208
,
248
},
{
147
,
114
,
149
,
198
,
135
,
252
,
209
,
248
},
{
149
,
115
,
149
,
199
,
136
,
252
,
210
,
248
},
{
150
,
115
,
149
,
200
,
137
,
252
,
210
,
248
},
{
152
,
115
,
150
,
201
,
138
,
252
,
211
,
248
},
{
153
,
115
,
150
,
202
,
138
,
252
,
212
,
248
},
{
155
,
116
,
151
,
204
,
139
,
253
,
213
,
249
},
{
156
,
116
,
151
,
205
,
139
,
253
,
213
,
249
},
{
158
,
117
,
151
,
206
,
140
,
253
,
214
,
249
},
{
159
,
117
,
151
,
207
,
141
,
253
,
215
,
249
},
{
161
,
118
,
152
,
208
,
142
,
253
,
216
,
249
},
{
162
,
118
,
152
,
209
,
142
,
253
,
216
,
249
},
{
163
,
119
,
153
,
210
,
143
,
253
,
217
,
249
},
{
164
,
119
,
153
,
211
,
143
,
253
,
217
,
249
},
{
166
,
120
,
153
,
212
,
144
,
254
,
218
,
250
},
{
167
,
120
,
153
,
212
,
145
,
254
,
219
,
250
},
{
168
,
121
,
154
,
213
,
146
,
254
,
220
,
250
},
{
169
,
121
,
154
,
214
,
146
,
254
,
220
,
250
},
{
171
,
122
,
155
,
215
,
147
,
254
,
221
,
250
},
{
172
,
122
,
155
,
216
,
147
,
254
,
221
,
250
},
{
173
,
123
,
155
,
217
,
148
,
254
,
222
,
250
},
{
174
,
123
,
155
,
217
,
149
,
254
,
222
,
250
},
{
176
,
124
,
156
,
218
,
150
,
254
,
223
,
250
},
{
177
,
124
,
156
,
219
,
150
,
254
,
223
,
250
},
{
178
,
125
,
157
,
220
,
151
,
254
,
224
,
251
},
{
179
,
125
,
157
,
220
,
151
,
254
,
224
,
251
},
{
180
,
126
,
157
,
221
,
152
,
254
,
225
,
251
},
{
181
,
126
,
157
,
221
,
152
,
254
,
225
,
251
},
{
183
,
127
,
158
,
222
,
153
,
254
,
226
,
251
},
{
184
,
127
,
158
,
223
,
154
,
254
,
226
,
251
},
{
185
,
128
,
159
,
224
,
155
,
255
,
227
,
251
},
{
186
,
128
,
159
,
224
,
155
,
255
,
227
,
251
},
{
187
,
129
,
160
,
225
,
156
,
255
,
228
,
251
},
{
188
,
130
,
160
,
225
,
156
,
255
,
228
,
251
},
{
189
,
131
,
160
,
226
,
157
,
255
,
228
,
251
},
{
190
,
131
,
160
,
226
,
158
,
255
,
228
,
251
},
{
191
,
132
,
161
,
227
,
159
,
255
,
229
,
251
},
{
192
,
132
,
161
,
227
,
159
,
255
,
229
,
251
},
{
193
,
133
,
162
,
228
,
160
,
255
,
230
,
252
},
{
194
,
133
,
162
,
229
,
160
,
255
,
230
,
252
},
{
195
,
134
,
163
,
230
,
161
,
255
,
231
,
252
},
{
196
,
134
,
163
,
230
,
161
,
255
,
231
,
252
},
{
197
,
135
,
163
,
231
,
162
,
255
,
231
,
252
},
{
198
,
135
,
163
,
231
,
162
,
255
,
231
,
252
},
{
199
,
136
,
164
,
232
,
163
,
255
,
232
,
252
},
{
200
,
136
,
164
,
232
,
164
,
255
,
232
,
252
},
{
201
,
137
,
165
,
233
,
165
,
255
,
233
,
252
},
{
201
,
137
,
165
,
233
,
165
,
255
,
233
,
252
},
{
202
,
138
,
166
,
233
,
166
,
255
,
233
,
252
},
{
203
,
138
,
166
,
233
,
166
,
255
,
233
,
252
},
{
204
,
139
,
166
,
234
,
167
,
255
,
234
,
252
},
{
205
,
139
,
166
,
234
,
167
,
255
,
234
,
252
},
{
206
,
140
,
167
,
235
,
168
,
255
,
235
,
252
},
{
206
,
140
,
167
,
235
,
168
,
255
,
235
,
252
},
{
207
,
141
,
168
,
236
,
169
,
255
,
235
,
252
},
{
208
,
141
,
168
,
236
,
170
,
255
,
235
,
252
},
{
209
,
142
,
169
,
237
,
171
,
255
,
236
,
252
},
{
209
,
143
,
169
,
237
,
171
,
255
,
236
,
252
},
{
210
,
144
,
169
,
237
,
172
,
255
,
236
,
252
},
{
211
,
144
,
169
,
237
,
172
,
255
,
236
,
252
},
{
212
,
145
,
170
,
238
,
173
,
255
,
237
,
252
},
{
213
,
145
,
170
,
238
,
173
,
255
,
237
,
252
},
{
214
,
146
,
171
,
239
,
174
,
255
,
237
,
253
},
{
214
,
146
,
171
,
239
,
174
,
255
,
237
,
253
},
{
215
,
147
,
172
,
240
,
175
,
255
,
238
,
253
},
{
215
,
147
,
172
,
240
,
175
,
255
,
238
,
253
},
{
216
,
148
,
173
,
240
,
176
,
255
,
238
,
253
},
{
217
,
148
,
173
,
240
,
176
,
255
,
238
,
253
},
{
218
,
149
,
173
,
241
,
177
,
255
,
239
,
253
},
{
218
,
149
,
173
,
241
,
178
,
255
,
239
,
253
},
{
219
,
150
,
174
,
241
,
179
,
255
,
239
,
253
},
{
219
,
151
,
174
,
241
,
179
,
255
,
239
,
253
},
{
220
,
152
,
175
,
242
,
180
,
255
,
240
,
253
},
{
221
,
152
,
175
,
242
,
180
,
255
,
240
,
253
},
{
222
,
153
,
176
,
242
,
181
,
255
,
240
,
253
},
{
222
,
153
,
176
,
242
,
181
,
255
,
240
,
253
},
{
223
,
154
,
177
,
243
,
182
,
255
,
240
,
253
},
{
223
,
154
,
177
,
243
,
182
,
255
,
240
,
253
},
{
224
,
155
,
178
,
244
,
183
,
255
,
241
,
253
},
{
224
,
155
,
178
,
244
,
183
,
255
,
241
,
253
},
{
225
,
156
,
178
,
244
,
184
,
255
,
241
,
253
},
{
225
,
157
,
178
,
244
,
184
,
255
,
241
,
253
},
{
226
,
158
,
179
,
244
,
185
,
255
,
242
,
253
},
{
227
,
158
,
179
,
244
,
185
,
255
,
242
,
253
},
{
228
,
159
,
180
,
245
,
186
,
255
,
242
,
253
},
{
228
,
159
,
180
,
245
,
186
,
255
,
242
,
253
},
{
229
,
160
,
181
,
245
,
187
,
255
,
242
,
253
},
{
229
,
160
,
181
,
245
,
187
,
255
,
242
,
253
},
{
230
,
161
,
182
,
246
,
188
,
255
,
243
,
253
},
{
230
,
162
,
182
,
246
,
188
,
255
,
243
,
253
},
{
231
,
163
,
183
,
246
,
189
,
255
,
243
,
253
},
{
231
,
163
,
183
,
246
,
189
,
255
,
243
,
253
},
{
232
,
164
,
184
,
247
,
190
,
255
,
243
,
253
},
{
232
,
164
,
184
,
247
,
190
,
255
,
243
,
253
},
{
233
,
165
,
185
,
247
,
191
,
255
,
244
,
253
},
{
233
,
165
,
185
,
247
,
191
,
255
,
244
,
253
},
{
234
,
166
,
185
,
247
,
192
,
255
,
244
,
253
},
{
234
,
167
,
185
,
247
,
192
,
255
,
244
,
253
},
{
235
,
168
,
186
,
248
,
193
,
255
,
244
,
253
},
{
235
,
168
,
186
,
248
,
193
,
255
,
244
,
253
},
{
236
,
169
,
187
,
248
,
194
,
255
,
244
,
253
},
{
236
,
169
,
187
,
248
,
194
,
255
,
244
,
253
},
{
236
,
170
,
188
,
248
,
195
,
255
,
245
,
253
},
{
236
,
170
,
188
,
248
,
195
,
255
,
245
,
253
},
{
237
,
171
,
189
,
249
,
196
,
255
,
245
,
254
},
{
237
,
172
,
189
,
249
,
196
,
255
,
245
,
254
},
{
238
,
173
,
190
,
249
,
197
,
255
,
245
,
254
},
{
238
,
173
,
190
,
249
,
197
,
255
,
245
,
254
},
{
239
,
174
,
191
,
249
,
198
,
255
,
245
,
254
},
{
239
,
174
,
191
,
249
,
198
,
255
,
245
,
254
},
{
240
,
175
,
192
,
249
,
199
,
255
,
246
,
254
},
{
240
,
176
,
192
,
249
,
199
,
255
,
246
,
254
},
{
240
,
177
,
193
,
250
,
200
,
255
,
246
,
254
},
{
240
,
177
,
193
,
250
,
200
,
255
,
246
,
254
},
{
241
,
178
,
194
,
250
,
201
,
255
,
246
,
254
},
{
241
,
178
,
194
,
250
,
201
,
255
,
246
,
254
},
{
242
,
179
,
195
,
250
,
202
,
255
,
246
,
254
},
{
242
,
180
,
195
,
250
,
202
,
255
,
246
,
254
},
{
242
,
181
,
196
,
250
,
203
,
255
,
247
,
254
},
{
242
,
181
,
196
,
250
,
203
,
255
,
247
,
254
},
{
243
,
182
,
197
,
251
,
204
,
255
,
247
,
254
},
{
243
,
183
,
197
,
251
,
204
,
255
,
247
,
254
},
{
244
,
184
,
198
,
251
,
205
,
255
,
247
,
254
},
{
244
,
184
,
198
,
251
,
205
,
255
,
247
,
254
},
{
244
,
185
,
199
,
251
,
206
,
255
,
247
,
254
},
{
244
,
185
,
199
,
251
,
206
,
255
,
247
,
254
},
{
245
,
186
,
200
,
251
,
207
,
255
,
247
,
254
},
{
245
,
187
,
200
,
251
,
207
,
255
,
247
,
254
},
{
246
,
188
,
201
,
252
,
207
,
255
,
248
,
254
},
{
246
,
188
,
201
,
252
,
207
,
255
,
248
,
254
},
{
246
,
189
,
202
,
252
,
208
,
255
,
248
,
254
},
{
246
,
190
,
202
,
252
,
208
,
255
,
248
,
254
},
{
247
,
191
,
203
,
252
,
209
,
255
,
248
,
254
},
{
247
,
191
,
203
,
252
,
209
,
255
,
248
,
254
},
{
247
,
192
,
204
,
252
,
210
,
255
,
248
,
254
},
{
247
,
193
,
204
,
252
,
210
,
255
,
248
,
254
},
{
248
,
194
,
205
,
252
,
211
,
255
,
248
,
254
},
{
248
,
194
,
205
,
252
,
211
,
255
,
248
,
254
},
{
248
,
195
,
206
,
252
,
212
,
255
,
249
,
254
},
{
248
,
196
,
206
,
252
,
212
,
255
,
249
,
254
},
{
249
,
197
,
207
,
253
,
213
,
255
,
249
,
254
},
{
249
,
197
,
207
,
253
,
213
,
255
,
249
,
254
},
{
249
,
198
,
208
,
253
,
214
,
255
,
249
,
254
},
{
249
,
199
,
209
,
253
,
214
,
255
,
249
,
254
},
{
250
,
200
,
210
,
253
,
215
,
255
,
249
,
254
},
{
250
,
200
,
210
,
253
,
215
,
255
,
249
,
254
},
{
250
,
201
,
211
,
253
,
215
,
255
,
249
,
254
},
{
250
,
202
,
211
,
253
,
215
,
255
,
249
,
254
},
{
250
,
203
,
212
,
253
,
216
,
255
,
249
,
254
},
{
250
,
203
,
212
,
253
,
216
,
255
,
249
,
254
},
{
251
,
204
,
213
,
253
,
217
,
255
,
250
,
254
},
{
251
,
205
,
213
,
253
,
217
,
255
,
250
,
254
},
{
251
,
206
,
214
,
254
,
218
,
255
,
250
,
254
},
{
251
,
206
,
215
,
254
,
218
,
255
,
250
,
254
},
{
252
,
207
,
216
,
254
,
219
,
255
,
250
,
254
},
{
252
,
208
,
216
,
254
,
219
,
255
,
250
,
254
},
{
252
,
209
,
217
,
254
,
220
,
255
,
250
,
254
},
{
252
,
210
,
217
,
254
,
220
,
255
,
250
,
254
},
{
252
,
211
,
218
,
254
,
221
,
255
,
250
,
254
},
{
252
,
212
,
218
,
254
,
221
,
255
,
250
,
254
},
{
253
,
213
,
219
,
254
,
222
,
255
,
250
,
254
},
{
253
,
213
,
220
,
254
,
222
,
255
,
250
,
254
},
{
253
,
214
,
221
,
254
,
223
,
255
,
250
,
254
},
{
253
,
215
,
221
,
254
,
223
,
255
,
250
,
254
},
{
253
,
216
,
222
,
254
,
224
,
255
,
251
,
254
},
{
253
,
217
,
223
,
254
,
224
,
255
,
251
,
254
},
{
253
,
218
,
224
,
254
,
225
,
255
,
251
,
254
},
{
253
,
219
,
224
,
254
,
225
,
255
,
251
,
254
},
{
254
,
220
,
225
,
254
,
225
,
255
,
251
,
254
},
{
254
,
221
,
226
,
254
,
225
,
255
,
251
,
254
},
{
254
,
222
,
227
,
255
,
226
,
255
,
251
,
254
},
{
254
,
223
,
227
,
255
,
226
,
255
,
251
,
254
},
{
254
,
224
,
228
,
255
,
227
,
255
,
251
,
254
},
{
254
,
225
,
229
,
255
,
227
,
255
,
251
,
254
},
{
254
,
226
,
230
,
255
,
228
,
255
,
251
,
254
},
{
254
,
227
,
230
,
255
,
229
,
255
,
251
,
254
},
{
255
,
228
,
231
,
255
,
230
,
255
,
251
,
254
},
{
255
,
229
,
232
,
255
,
230
,
255
,
251
,
254
},
{
255
,
230
,
233
,
255
,
231
,
255
,
252
,
254
},
{
255
,
231
,
234
,
255
,
231
,
255
,
252
,
254
},
{
255
,
232
,
235
,
255
,
232
,
255
,
252
,
254
},
{
255
,
233
,
236
,
255
,
232
,
255
,
252
,
254
},
{
255
,
235
,
237
,
255
,
233
,
255
,
252
,
254
},
{
255
,
236
,
238
,
255
,
234
,
255
,
252
,
254
},
{
255
,
238
,
240
,
255
,
235
,
255
,
252
,
255
},
{
255
,
239
,
241
,
255
,
235
,
255
,
252
,
254
},
{
255
,
241
,
243
,
255
,
236
,
255
,
252
,
254
},
{
255
,
243
,
245
,
255
,
237
,
255
,
252
,
254
},
{
255
,
246
,
247
,
255
,
239
,
255
,
253
,
255
},
};
static
void
extend_to_full_distribution
(
vp9_prob
*
probs
,
vp9_prob
p
)
{
const
int
l
=
(
p
-
1
)
/
2
;
if
(
p
&
1
)
{
...
...
vp9/common/vp9_entropy.h
View file @
8cf352ab
...
...
@@ -17,6 +17,7 @@
#include
"vp9/common/vp9_common.h"
#include
"vp9/common/vp9_scan.h"
#include
"vp9/common/vp9_treecoder.h"
#include
"vp9/common/vp9_entropymode.h"
#define DIFF_UPDATE_PROB 252
...
...
@@ -141,6 +142,9 @@ static const uint8_t *get_band_translate(TX_SIZE tx_size) {
#define PIVOT_NODE 2 // which node is pivot
#define MODEL_NODES (ENTROPY_NODES - UNCONSTRAINED_NODES)
extern
const
vp9_prob
vp9_pareto8_full
[
255
][
MODEL_NODES
];
typedef
vp9_prob
vp9_coeff_probs_model
[
REF_TYPES
][
COEF_BANDS
]
[
PREV_COEF_CONTEXTS
]
[
UNCONSTRAINED_NODES
];
...
...
vp9/decoder/vp9_detokenize.c
View file @
8cf352ab
...
...
@@ -23,14 +23,14 @@
#define EOB_CONTEXT_NODE 0
#define ZERO_CONTEXT_NODE 1
#define ONE_CONTEXT_NODE 2
#define LOW_VAL_CONTEXT_NODE
3
#define TWO_CONTEXT_NODE
4
#define THREE_CONTEXT_NODE
5
#define HIGH_LOW_CONTEXT_NODE
6
#define CAT_ONE_CONTEXT_NODE
7
#define CAT_THREEFOUR_CONTEXT_NODE
8
#define CAT_THREE_CONTEXT_NODE
9
#define CAT_FIVE_CONTEXT_NODE
10
#define LOW_VAL_CONTEXT_NODE
0
#define TWO_CONTEXT_NODE
1
#define THREE_CONTEXT_NODE
2
#define HIGH_LOW_CONTEXT_NODE
3
#define CAT_ONE_CONTEXT_NODE
4
#define CAT_THREEFOUR_CONTEXT_NODE
5
#define CAT_THREE_CONTEXT_NODE
6
#define CAT_FIVE_CONTEXT_NODE
7
#define CAT1_MIN_VAL 5
#define CAT2_MIN_VAL 7
...
...
@@ -76,14 +76,16 @@ static const int token_to_counttoken[MAX_ENTROPY_TOKENS] = {
#define WRITE_COEF_CONTINUE(val, token) \
{ \
dqcoeff_ptr[scan[c]] = (vp9_read_bit(r) ? -val : val) *
\
dq[c > 0] / (1 + (tx_size == TX_32X32)
); \
v = (val * dqv) >> dq_shift;
\
dqcoeff_ptr[scan[c]] = (vp9_read_bit(r) ? -v : v
); \
INCREMENT_COUNT(token); \
token_cache[scan[c]] = vp9_pt_energy_class[token]; \
++c; \
dqv = dq[1]; \
continue; \
}
#define ADJUST_COEF(prob, bits_count) \
do { \
val += (vp9_read(r, prob) << bits_count); \
...
...
@@ -100,8 +102,6 @@ static int decode_coefs(VP9_COMMON *cm, const MACROBLOCKD *xd,
int
band
,
c
=
0
;
const
vp9_prob
(
*
coef_probs
)[
PREV_COEF_CONTEXTS
][
UNCONSTRAINED_NODES
]
=
fc
->
coef_probs
[
tx_size
][
type
][
ref
];
vp9_prob
coef_probs_full
[
COEF_BANDS
][
PREV_COEF_CONTEXTS
][
ENTROPY_NODES
];
uint8_t
load_map
[
COEF_BANDS
][
PREV_COEF_CONTEXTS
]
=
{
{
0
}
};
const
vp9_prob
*
prob
;
unsigned
int
(
*
coef_counts
)[
PREV_COEF_CONTEXTS
][
UNCONSTRAINED_NODES
+
1
]
=
counts
->
coef
[
tx_size
][
type
][
ref
];
...
...
@@ -110,9 +110,12 @@ static int decode_coefs(VP9_COMMON *cm, const MACROBLOCKD *xd,
const
int16_t
*
scan
,
*
nb
;
const
uint8_t
*
cat6
;
const
uint8_t
*
band_translate
=
get_band_translate
(
tx_size
);
const
int
dq_shift
=
(
tx_size
==
TX_32X32
);
const
MODE_INFO
*
const
mi
=
xd
->
mi_8x8
[
0
];
const
MB_MODE_INFO
*
const
mbmi
=
&
mi
->
mbmi
;
scan_order
const
*
so
;
int
v
;
int16_t
dqv
=
dq
[
0
];
if
(
mbmi
->
ref_frame
[
0
]
>
0
||
type
!=
PLANE_TYPE_Y_WITH_DC
||
xd
->
lossless
)
{
so
=
&
inter_scan_orders
[
tx_size
];
...
...
@@ -148,6 +151,7 @@ static int decode_coefs(VP9_COMMON *cm, const MACROBLOCKD *xd,
if
(
!
vp9_read
(
r
,
prob
[
ZERO_CONTEXT_NODE
]))
{
INCREMENT_COUNT
(
ZERO_TOKEN
);
token_cache
[
scan
[
c
]]
=
vp9_pt_energy_class
[
ZERO_TOKEN
];
dqv
=
dq
[
1
];
\
++
c
;
goto
SKIP_START
;
}
...
...
@@ -156,13 +160,9 @@ static int decode_coefs(VP9_COMMON *cm, const MACROBLOCKD *xd,
if
(
!
vp9_read
(
r
,
prob
[
ONE_CONTEXT_NODE
]))
{
WRITE_COEF_CONTINUE
(
1
,
ONE_TOKEN
);
}
// Load full probabilities if not already loaded
if
(
!
load_map
[
band
][
pt
])
{
vp9_model_to_full_probs
(
coef_probs
[
band
][
pt
],
coef_probs_full
[
band
][
pt
]);
load_map
[
band
][
pt
]
=
1
;
}
prob
=
coef_probs_full
[
band
][
pt
];
prob
=
vp9_pareto8_full
[
coef_probs
[
band
][
pt
][
PIVOT_NODE
]
-
1
];
// LOW_VAL_CONTEXT_NODE_0_
if
(
!
vp9_read
(
r
,
prob
[
LOW_VAL_CONTEXT_NODE
]))
{
if
(
!
vp9_read
(
r
,
prob
[
TWO_CONTEXT_NODE
]))
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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