Coverage Report

Created: 2022-08-24 06:17

/src/aom/aom_dsp/prob.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright (c) 2016, Alliance for Open Media. All rights reserved
3
 *
4
 * This source code is subject to the terms of the BSD 2 Clause License and
5
 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6
 * was not distributed with this source code in the LICENSE file, you can
7
 * obtain it at www.aomedia.org/license/software. If the Alliance for Open
8
 * Media Patent License 1.0 was not distributed with this source code in the
9
 * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
10
 */
11
12
#ifndef AOM_AOM_DSP_PROB_H_
13
#define AOM_AOM_DSP_PROB_H_
14
15
#include <assert.h>
16
#include <stdio.h>
17
18
#include "config/aom_config.h"
19
20
#include "aom_dsp/aom_dsp_common.h"
21
#include "aom_dsp/entcode.h"
22
#include "aom_ports/bitops.h"
23
#include "aom_ports/mem.h"
24
25
#ifdef __cplusplus
26
extern "C" {
27
#endif
28
29
typedef uint16_t aom_cdf_prob;
30
31
#define CDF_SIZE(x) ((x) + 1)
32
233M
#define CDF_PROB_BITS 15
33
47.6M
#define CDF_PROB_TOP (1 << CDF_PROB_BITS)
34
#define CDF_INIT_TOP 32768
35
185M
#define CDF_SHIFT (15 - CDF_PROB_BITS)
36
/*The value stored in an iCDF is CDF_PROB_TOP minus the actual cumulative
37
  probability (an "inverse" CDF).
38
  This function converts from one representation to the other (and is its own
39
  inverse).*/
40
47.6M
#define AOM_ICDF(x) (CDF_PROB_TOP - (x))
41
42
#if CDF_SHIFT == 0
43
44
#define AOM_CDF2(a0) AOM_ICDF(a0), AOM_ICDF(CDF_PROB_TOP), 0
45
#define AOM_CDF3(a0, a1) AOM_ICDF(a0), AOM_ICDF(a1), AOM_ICDF(CDF_PROB_TOP), 0
46
#define AOM_CDF4(a0, a1, a2) \
47
  AOM_ICDF(a0), AOM_ICDF(a1), AOM_ICDF(a2), AOM_ICDF(CDF_PROB_TOP), 0
48
#define AOM_CDF5(a0, a1, a2, a3) \
49
  AOM_ICDF(a0)                   \
50
  , AOM_ICDF(a1), AOM_ICDF(a2), AOM_ICDF(a3), AOM_ICDF(CDF_PROB_TOP), 0
51
#define AOM_CDF6(a0, a1, a2, a3, a4)                        \
52
  AOM_ICDF(a0)                                              \
53
  , AOM_ICDF(a1), AOM_ICDF(a2), AOM_ICDF(a3), AOM_ICDF(a4), \
54
      AOM_ICDF(CDF_PROB_TOP), 0
55
#define AOM_CDF7(a0, a1, a2, a3, a4, a5)                                  \
56
  AOM_ICDF(a0)                                                            \
57
  , AOM_ICDF(a1), AOM_ICDF(a2), AOM_ICDF(a3), AOM_ICDF(a4), AOM_ICDF(a5), \
58
      AOM_ICDF(CDF_PROB_TOP), 0
59
#define AOM_CDF8(a0, a1, a2, a3, a4, a5, a6)                              \
60
  AOM_ICDF(a0)                                                            \
61
  , AOM_ICDF(a1), AOM_ICDF(a2), AOM_ICDF(a3), AOM_ICDF(a4), AOM_ICDF(a5), \
62
      AOM_ICDF(a6), AOM_ICDF(CDF_PROB_TOP), 0
63
#define AOM_CDF9(a0, a1, a2, a3, a4, a5, a6, a7)                          \
64
  AOM_ICDF(a0)                                                            \
65
  , AOM_ICDF(a1), AOM_ICDF(a2), AOM_ICDF(a3), AOM_ICDF(a4), AOM_ICDF(a5), \
66
      AOM_ICDF(a6), AOM_ICDF(a7), AOM_ICDF(CDF_PROB_TOP), 0
67
#define AOM_CDF10(a0, a1, a2, a3, a4, a5, a6, a7, a8)                     \
68
  AOM_ICDF(a0)                                                            \
69
  , AOM_ICDF(a1), AOM_ICDF(a2), AOM_ICDF(a3), AOM_ICDF(a4), AOM_ICDF(a5), \
70
      AOM_ICDF(a6), AOM_ICDF(a7), AOM_ICDF(a8), AOM_ICDF(CDF_PROB_TOP), 0
71
#define AOM_CDF11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)                 \
72
  AOM_ICDF(a0)                                                            \
73
  , AOM_ICDF(a1), AOM_ICDF(a2), AOM_ICDF(a3), AOM_ICDF(a4), AOM_ICDF(a5), \
74
      AOM_ICDF(a6), AOM_ICDF(a7), AOM_ICDF(a8), AOM_ICDF(a9),             \
75
      AOM_ICDF(CDF_PROB_TOP), 0
76
#define AOM_CDF12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)               \
77
  AOM_ICDF(a0)                                                               \
78
  , AOM_ICDF(a1), AOM_ICDF(a2), AOM_ICDF(a3), AOM_ICDF(a4), AOM_ICDF(a5),    \
79
      AOM_ICDF(a6), AOM_ICDF(a7), AOM_ICDF(a8), AOM_ICDF(a9), AOM_ICDF(a10), \
80
      AOM_ICDF(CDF_PROB_TOP), 0
81
#define AOM_CDF13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)          \
82
  AOM_ICDF(a0)                                                               \
83
  , AOM_ICDF(a1), AOM_ICDF(a2), AOM_ICDF(a3), AOM_ICDF(a4), AOM_ICDF(a5),    \
84
      AOM_ICDF(a6), AOM_ICDF(a7), AOM_ICDF(a8), AOM_ICDF(a9), AOM_ICDF(a10), \
85
      AOM_ICDF(a11), AOM_ICDF(CDF_PROB_TOP), 0
86
#define AOM_CDF14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12)     \
87
  AOM_ICDF(a0)                                                               \
88
  , AOM_ICDF(a1), AOM_ICDF(a2), AOM_ICDF(a3), AOM_ICDF(a4), AOM_ICDF(a5),    \
89
      AOM_ICDF(a6), AOM_ICDF(a7), AOM_ICDF(a8), AOM_ICDF(a9), AOM_ICDF(a10), \
90
      AOM_ICDF(a11), AOM_ICDF(a12), AOM_ICDF(CDF_PROB_TOP), 0
91
#define AOM_CDF15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) \
92
  AOM_ICDF(a0)                                                                \
93
  , AOM_ICDF(a1), AOM_ICDF(a2), AOM_ICDF(a3), AOM_ICDF(a4), AOM_ICDF(a5),     \
94
      AOM_ICDF(a6), AOM_ICDF(a7), AOM_ICDF(a8), AOM_ICDF(a9), AOM_ICDF(a10),  \
95
      AOM_ICDF(a11), AOM_ICDF(a12), AOM_ICDF(a13), AOM_ICDF(CDF_PROB_TOP), 0
96
#define AOM_CDF16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, \
97
                  a14)                                                        \
98
  AOM_ICDF(a0)                                                                \
99
  , AOM_ICDF(a1), AOM_ICDF(a2), AOM_ICDF(a3), AOM_ICDF(a4), AOM_ICDF(a5),     \
100
      AOM_ICDF(a6), AOM_ICDF(a7), AOM_ICDF(a8), AOM_ICDF(a9), AOM_ICDF(a10),  \
101
      AOM_ICDF(a11), AOM_ICDF(a12), AOM_ICDF(a13), AOM_ICDF(a14),             \
102
      AOM_ICDF(CDF_PROB_TOP), 0
103
104
#else
105
#define AOM_CDF2(a0)                                       \
106
  AOM_ICDF((((a0)-1) * ((CDF_INIT_TOP >> CDF_SHIFT) - 2) + \
107
            ((CDF_INIT_TOP - 2) >> 1)) /                   \
108
               ((CDF_INIT_TOP - 2)) +                      \
109
           1)                                              \
110
  , AOM_ICDF(CDF_PROB_TOP), 0
111
#define AOM_CDF3(a0, a1)                                       \
112
  AOM_ICDF((((a0)-1) * ((CDF_INIT_TOP >> CDF_SHIFT) - 3) +     \
113
            ((CDF_INIT_TOP - 3) >> 1)) /                       \
114
               ((CDF_INIT_TOP - 3)) +                          \
115
           1)                                                  \
116
  ,                                                            \
117
      AOM_ICDF((((a1)-2) * ((CDF_INIT_TOP >> CDF_SHIFT) - 3) + \
118
                ((CDF_INIT_TOP - 3) >> 1)) /                   \
119
                   ((CDF_INIT_TOP - 3)) +                      \
120
               2),                                             \
121
      AOM_ICDF(CDF_PROB_TOP), 0
122
#define AOM_CDF4(a0, a1, a2)                                   \
123
  AOM_ICDF((((a0)-1) * ((CDF_INIT_TOP >> CDF_SHIFT) - 4) +     \
124
            ((CDF_INIT_TOP - 4) >> 1)) /                       \
125
               ((CDF_INIT_TOP - 4)) +                          \
126
           1)                                                  \
127
  ,                                                            \
128
      AOM_ICDF((((a1)-2) * ((CDF_INIT_TOP >> CDF_SHIFT) - 4) + \
129
                ((CDF_INIT_TOP - 4) >> 1)) /                   \
130
                   ((CDF_INIT_TOP - 4)) +                      \
131
               2),                                             \
132
      AOM_ICDF((((a2)-3) * ((CDF_INIT_TOP >> CDF_SHIFT) - 4) + \
133
                ((CDF_INIT_TOP - 4) >> 1)) /                   \
134
                   ((CDF_INIT_TOP - 4)) +                      \
135
               3),                                             \
136
      AOM_ICDF(CDF_PROB_TOP), 0
137
#define AOM_CDF5(a0, a1, a2, a3)                               \
138
  AOM_ICDF((((a0)-1) * ((CDF_INIT_TOP >> CDF_SHIFT) - 5) +     \
139
            ((CDF_INIT_TOP - 5) >> 1)) /                       \
140
               ((CDF_INIT_TOP - 5)) +                          \
141
           1)                                                  \
142
  ,                                                            \
143
      AOM_ICDF((((a1)-2) * ((CDF_INIT_TOP >> CDF_SHIFT) - 5) + \
144
                ((CDF_INIT_TOP - 5) >> 1)) /                   \
145
                   ((CDF_INIT_TOP - 5)) +                      \
146
               2),                                             \
147
      AOM_ICDF((((a2)-3) * ((CDF_INIT_TOP >> CDF_SHIFT) - 5) + \
148
                ((CDF_INIT_TOP - 5) >> 1)) /                   \
149
                   ((CDF_INIT_TOP - 5)) +                      \
150
               3),                                             \
151
      AOM_ICDF((((a3)-4) * ((CDF_INIT_TOP >> CDF_SHIFT) - 5) + \
152
                ((CDF_INIT_TOP - 5) >> 1)) /                   \
153
                   ((CDF_INIT_TOP - 5)) +                      \
154
               4),                                             \
155
      AOM_ICDF(CDF_PROB_TOP), 0
156
#define AOM_CDF6(a0, a1, a2, a3, a4)                           \
157
  AOM_ICDF((((a0)-1) * ((CDF_INIT_TOP >> CDF_SHIFT) - 6) +     \
158
            ((CDF_INIT_TOP - 6) >> 1)) /                       \
159
               ((CDF_INIT_TOP - 6)) +                          \
160
           1)                                                  \
161
  ,                                                            \
162
      AOM_ICDF((((a1)-2) * ((CDF_INIT_TOP >> CDF_SHIFT) - 6) + \
163
                ((CDF_INIT_TOP - 6) >> 1)) /                   \
164
                   ((CDF_INIT_TOP - 6)) +                      \
165
               2),                                             \
166
      AOM_ICDF((((a2)-3) * ((CDF_INIT_TOP >> CDF_SHIFT) - 6) + \
167
                ((CDF_INIT_TOP - 6) >> 1)) /                   \
168
                   ((CDF_INIT_TOP - 6)) +                      \
169
               3),                                             \
170
      AOM_ICDF((((a3)-4) * ((CDF_INIT_TOP >> CDF_SHIFT) - 6) + \
171
                ((CDF_INIT_TOP - 6) >> 1)) /                   \
172
                   ((CDF_INIT_TOP - 6)) +                      \
173
               4),                                             \
174
      AOM_ICDF((((a4)-5) * ((CDF_INIT_TOP >> CDF_SHIFT) - 6) + \
175
                ((CDF_INIT_TOP - 6) >> 1)) /                   \
176
                   ((CDF_INIT_TOP - 6)) +                      \
177
               5),                                             \
178
      AOM_ICDF(CDF_PROB_TOP), 0
179
#define AOM_CDF7(a0, a1, a2, a3, a4, a5)                       \
180
  AOM_ICDF((((a0)-1) * ((CDF_INIT_TOP >> CDF_SHIFT) - 7) +     \
181
            ((CDF_INIT_TOP - 7) >> 1)) /                       \
182
               ((CDF_INIT_TOP - 7)) +                          \
183
           1)                                                  \
184
  ,                                                            \
185
      AOM_ICDF((((a1)-2) * ((CDF_INIT_TOP >> CDF_SHIFT) - 7) + \
186
                ((CDF_INIT_TOP - 7) >> 1)) /                   \
187
                   ((CDF_INIT_TOP - 7)) +                      \
188
               2),                                             \
189
      AOM_ICDF((((a2)-3) * ((CDF_INIT_TOP >> CDF_SHIFT) - 7) + \
190
                ((CDF_INIT_TOP - 7) >> 1)) /                   \
191
                   ((CDF_INIT_TOP - 7)) +                      \
192
               3),                                             \
193
      AOM_ICDF((((a3)-4) * ((CDF_INIT_TOP >> CDF_SHIFT) - 7) + \
194
                ((CDF_INIT_TOP - 7) >> 1)) /                   \
195
                   ((CDF_INIT_TOP - 7)) +                      \
196
               4),                                             \
197
      AOM_ICDF((((a4)-5) * ((CDF_INIT_TOP >> CDF_SHIFT) - 7) + \
198
                ((CDF_INIT_TOP - 7) >> 1)) /                   \
199
                   ((CDF_INIT_TOP - 7)) +                      \
200
               5),                                             \
201
      AOM_ICDF((((a5)-6) * ((CDF_INIT_TOP >> CDF_SHIFT) - 7) + \
202
                ((CDF_INIT_TOP - 7) >> 1)) /                   \
203
                   ((CDF_INIT_TOP - 7)) +                      \
204
               6),                                             \
205
      AOM_ICDF(CDF_PROB_TOP), 0
206
#define AOM_CDF8(a0, a1, a2, a3, a4, a5, a6)                   \
207
  AOM_ICDF((((a0)-1) * ((CDF_INIT_TOP >> CDF_SHIFT) - 8) +     \
208
            ((CDF_INIT_TOP - 8) >> 1)) /                       \
209
               ((CDF_INIT_TOP - 8)) +                          \
210
           1)                                                  \
211
  ,                                                            \
212
      AOM_ICDF((((a1)-2) * ((CDF_INIT_TOP >> CDF_SHIFT) - 8) + \
213
                ((CDF_INIT_TOP - 8) >> 1)) /                   \
214
                   ((CDF_INIT_TOP - 8)) +                      \
215
               2),                                             \
216
      AOM_ICDF((((a2)-3) * ((CDF_INIT_TOP >> CDF_SHIFT) - 8) + \
217
                ((CDF_INIT_TOP - 8) >> 1)) /                   \
218
                   ((CDF_INIT_TOP - 8)) +                      \
219
               3),                                             \
220
      AOM_ICDF((((a3)-4) * ((CDF_INIT_TOP >> CDF_SHIFT) - 8) + \
221
                ((CDF_INIT_TOP - 8) >> 1)) /                   \
222
                   ((CDF_INIT_TOP - 8)) +                      \
223
               4),                                             \
224
      AOM_ICDF((((a4)-5) * ((CDF_INIT_TOP >> CDF_SHIFT) - 8) + \
225
                ((CDF_INIT_TOP - 8) >> 1)) /                   \
226
                   ((CDF_INIT_TOP - 8)) +                      \
227
               5),                                             \
228
      AOM_ICDF((((a5)-6) * ((CDF_INIT_TOP >> CDF_SHIFT) - 8) + \
229
                ((CDF_INIT_TOP - 8) >> 1)) /                   \
230
                   ((CDF_INIT_TOP - 8)) +                      \
231
               6),                                             \
232
      AOM_ICDF((((a6)-7) * ((CDF_INIT_TOP >> CDF_SHIFT) - 8) + \
233
                ((CDF_INIT_TOP - 8) >> 1)) /                   \
234
                   ((CDF_INIT_TOP - 8)) +                      \
235
               7),                                             \
236
      AOM_ICDF(CDF_PROB_TOP), 0
237
#define AOM_CDF9(a0, a1, a2, a3, a4, a5, a6, a7)               \
238
  AOM_ICDF((((a0)-1) * ((CDF_INIT_TOP >> CDF_SHIFT) - 9) +     \
239
            ((CDF_INIT_TOP - 9) >> 1)) /                       \
240
               ((CDF_INIT_TOP - 9)) +                          \
241
           1)                                                  \
242
  ,                                                            \
243
      AOM_ICDF((((a1)-2) * ((CDF_INIT_TOP >> CDF_SHIFT) - 9) + \
244
                ((CDF_INIT_TOP - 9) >> 1)) /                   \
245
                   ((CDF_INIT_TOP - 9)) +                      \
246
               2),                                             \
247
      AOM_ICDF((((a2)-3) * ((CDF_INIT_TOP >> CDF_SHIFT) - 9) + \
248
                ((CDF_INIT_TOP - 9) >> 1)) /                   \
249
                   ((CDF_INIT_TOP - 9)) +                      \
250
               3),                                             \
251
      AOM_ICDF((((a3)-4) * ((CDF_INIT_TOP >> CDF_SHIFT) - 9) + \
252
                ((CDF_INIT_TOP - 9) >> 1)) /                   \
253
                   ((CDF_INIT_TOP - 9)) +                      \
254
               4),                                             \
255
      AOM_ICDF((((a4)-5) * ((CDF_INIT_TOP >> CDF_SHIFT) - 9) + \
256
                ((CDF_INIT_TOP - 9) >> 1)) /                   \
257
                   ((CDF_INIT_TOP - 9)) +                      \
258
               5),                                             \
259
      AOM_ICDF((((a5)-6) * ((CDF_INIT_TOP >> CDF_SHIFT) - 9) + \
260
                ((CDF_INIT_TOP - 9) >> 1)) /                   \
261
                   ((CDF_INIT_TOP - 9)) +                      \
262
               6),                                             \
263
      AOM_ICDF((((a6)-7) * ((CDF_INIT_TOP >> CDF_SHIFT) - 9) + \
264
                ((CDF_INIT_TOP - 9) >> 1)) /                   \
265
                   ((CDF_INIT_TOP - 9)) +                      \
266
               7),                                             \
267
      AOM_ICDF((((a7)-8) * ((CDF_INIT_TOP >> CDF_SHIFT) - 9) + \
268
                ((CDF_INIT_TOP - 9) >> 1)) /                   \
269
                   ((CDF_INIT_TOP - 9)) +                      \
270
               8),                                             \
271
      AOM_ICDF(CDF_PROB_TOP), 0
272
#define AOM_CDF10(a0, a1, a2, a3, a4, a5, a6, a7, a8)           \
273
  AOM_ICDF((((a0)-1) * ((CDF_INIT_TOP >> CDF_SHIFT) - 10) +     \
274
            ((CDF_INIT_TOP - 10) >> 1)) /                       \
275
               ((CDF_INIT_TOP - 10)) +                          \
276
           1)                                                   \
277
  ,                                                             \
278
      AOM_ICDF((((a1)-2) * ((CDF_INIT_TOP >> CDF_SHIFT) - 10) + \
279
                ((CDF_INIT_TOP - 10) >> 1)) /                   \
280
                   ((CDF_INIT_TOP - 10)) +                      \
281
               2),                                              \
282
      AOM_ICDF((((a2)-3) * ((CDF_INIT_TOP >> CDF_SHIFT) - 10) + \
283
                ((CDF_INIT_TOP - 10) >> 1)) /                   \
284
                   ((CDF_INIT_TOP - 10)) +                      \
285
               3),                                              \
286
      AOM_ICDF((((a3)-4) * ((CDF_INIT_TOP >> CDF_SHIFT) - 10) + \
287
                ((CDF_INIT_TOP - 10) >> 1)) /                   \
288
                   ((CDF_INIT_TOP - 10)) +                      \
289
               4),                                              \
290
      AOM_ICDF((((a4)-5) * ((CDF_INIT_TOP >> CDF_SHIFT) - 10) + \
291
                ((CDF_INIT_TOP - 10) >> 1)) /                   \
292
                   ((CDF_INIT_TOP - 10)) +                      \
293
               5),                                              \
294
      AOM_ICDF((((a5)-6) * ((CDF_INIT_TOP >> CDF_SHIFT) - 10) + \
295
                ((CDF_INIT_TOP - 10) >> 1)) /                   \
296
                   ((CDF_INIT_TOP - 10)) +                      \
297
               6),                                              \
298
      AOM_ICDF((((a6)-7) * ((CDF_INIT_TOP >> CDF_SHIFT) - 10) + \
299
                ((CDF_INIT_TOP - 10) >> 1)) /                   \
300
                   ((CDF_INIT_TOP - 10)) +                      \
301
               7),                                              \
302
      AOM_ICDF((((a7)-8) * ((CDF_INIT_TOP >> CDF_SHIFT) - 10) + \
303
                ((CDF_INIT_TOP - 10) >> 1)) /                   \
304
                   ((CDF_INIT_TOP - 10)) +                      \
305
               8),                                              \
306
      AOM_ICDF((((a8)-9) * ((CDF_INIT_TOP >> CDF_SHIFT) - 10) + \
307
                ((CDF_INIT_TOP - 10) >> 1)) /                   \
308
                   ((CDF_INIT_TOP - 10)) +                      \
309
               9),                                              \
310
      AOM_ICDF(CDF_PROB_TOP), 0
311
#define AOM_CDF11(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)        \
312
  AOM_ICDF((((a0)-1) * ((CDF_INIT_TOP >> CDF_SHIFT) - 11) +      \
313
            ((CDF_INIT_TOP - 11) >> 1)) /                        \
314
               ((CDF_INIT_TOP - 11)) +                           \
315
           1)                                                    \
316
  ,                                                              \
317
      AOM_ICDF((((a1)-2) * ((CDF_INIT_TOP >> CDF_SHIFT) - 11) +  \
318
                ((CDF_INIT_TOP - 11) >> 1)) /                    \
319
                   ((CDF_INIT_TOP - 11)) +                       \
320
               2),                                               \
321
      AOM_ICDF((((a2)-3) * ((CDF_INIT_TOP >> CDF_SHIFT) - 11) +  \
322
                ((CDF_INIT_TOP - 11) >> 1)) /                    \
323
                   ((CDF_INIT_TOP - 11)) +                       \
324
               3),                                               \
325
      AOM_ICDF((((a3)-4) * ((CDF_INIT_TOP >> CDF_SHIFT) - 11) +  \
326
                ((CDF_INIT_TOP - 11) >> 1)) /                    \
327
                   ((CDF_INIT_TOP - 11)) +                       \
328
               4),                                               \
329
      AOM_ICDF((((a4)-5) * ((CDF_INIT_TOP >> CDF_SHIFT) - 11) +  \
330
                ((CDF_INIT_TOP - 11) >> 1)) /                    \
331
                   ((CDF_INIT_TOP - 11)) +                       \
332
               5),                                               \
333
      AOM_ICDF((((a5)-6) * ((CDF_INIT_TOP >> CDF_SHIFT) - 11) +  \
334
                ((CDF_INIT_TOP - 11) >> 1)) /                    \
335
                   ((CDF_INIT_TOP - 11)) +                       \
336
               6),                                               \
337
      AOM_ICDF((((a6)-7) * ((CDF_INIT_TOP >> CDF_SHIFT) - 11) +  \
338
                ((CDF_INIT_TOP - 11) >> 1)) /                    \
339
                   ((CDF_INIT_TOP - 11)) +                       \
340
               7),                                               \
341
      AOM_ICDF((((a7)-8) * ((CDF_INIT_TOP >> CDF_SHIFT) - 11) +  \
342
                ((CDF_INIT_TOP - 11) >> 1)) /                    \
343
                   ((CDF_INIT_TOP - 11)) +                       \
344
               8),                                               \
345
      AOM_ICDF((((a8)-9) * ((CDF_INIT_TOP >> CDF_SHIFT) - 11) +  \
346
                ((CDF_INIT_TOP - 11) >> 1)) /                    \
347
                   ((CDF_INIT_TOP - 11)) +                       \
348
               9),                                               \
349
      AOM_ICDF((((a9)-10) * ((CDF_INIT_TOP >> CDF_SHIFT) - 11) + \
350
                ((CDF_INIT_TOP - 11) >> 1)) /                    \
351
                   ((CDF_INIT_TOP - 11)) +                       \
352
               10),                                              \
353
      AOM_ICDF(CDF_PROB_TOP), 0
354
#define AOM_CDF12(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)    \
355
  AOM_ICDF((((a0)-1) * ((CDF_INIT_TOP >> CDF_SHIFT) - 12) +       \
356
            ((CDF_INIT_TOP - 12) >> 1)) /                         \
357
               ((CDF_INIT_TOP - 12)) +                            \
358
           1)                                                     \
359
  ,                                                               \
360
      AOM_ICDF((((a1)-2) * ((CDF_INIT_TOP >> CDF_SHIFT) - 12) +   \
361
                ((CDF_INIT_TOP - 12) >> 1)) /                     \
362
                   ((CDF_INIT_TOP - 12)) +                        \
363
               2),                                                \
364
      AOM_ICDF((((a2)-3) * ((CDF_INIT_TOP >> CDF_SHIFT) - 12) +   \
365
                ((CDF_INIT_TOP - 12) >> 1)) /                     \
366
                   ((CDF_INIT_TOP - 12)) +                        \
367
               3),                                                \
368
      AOM_ICDF((((a3)-4) * ((CDF_INIT_TOP >> CDF_SHIFT) - 12) +   \
369
                ((CDF_INIT_TOP - 12) >> 1)) /                     \
370
                   ((CDF_INIT_TOP - 12)) +                        \
371
               4),                                                \
372
      AOM_ICDF((((a4)-5) * ((CDF_INIT_TOP >> CDF_SHIFT) - 12) +   \
373
                ((CDF_INIT_TOP - 12) >> 1)) /                     \
374
                   ((CDF_INIT_TOP - 12)) +                        \
375
               5),                                                \
376
      AOM_ICDF((((a5)-6) * ((CDF_INIT_TOP >> CDF_SHIFT) - 12) +   \
377
                ((CDF_INIT_TOP - 12) >> 1)) /                     \
378
                   ((CDF_INIT_TOP - 12)) +                        \
379
               6),                                                \
380
      AOM_ICDF((((a6)-7) * ((CDF_INIT_TOP >> CDF_SHIFT) - 12) +   \
381
                ((CDF_INIT_TOP - 12) >> 1)) /                     \
382
                   ((CDF_INIT_TOP - 12)) +                        \
383
               7),                                                \
384
      AOM_ICDF((((a7)-8) * ((CDF_INIT_TOP >> CDF_SHIFT) - 12) +   \
385
                ((CDF_INIT_TOP - 12) >> 1)) /                     \
386
                   ((CDF_INIT_TOP - 12)) +                        \
387
               8),                                                \
388
      AOM_ICDF((((a8)-9) * ((CDF_INIT_TOP >> CDF_SHIFT) - 12) +   \
389
                ((CDF_INIT_TOP - 12) >> 1)) /                     \
390
                   ((CDF_INIT_TOP - 12)) +                        \
391
               9),                                                \
392
      AOM_ICDF((((a9)-10) * ((CDF_INIT_TOP >> CDF_SHIFT) - 12) +  \
393
                ((CDF_INIT_TOP - 12) >> 1)) /                     \
394
                   ((CDF_INIT_TOP - 12)) +                        \
395
               10),                                               \
396
      AOM_ICDF((((a10)-11) * ((CDF_INIT_TOP >> CDF_SHIFT) - 12) + \
397
                ((CDF_INIT_TOP - 12) >> 1)) /                     \
398
                   ((CDF_INIT_TOP - 12)) +                        \
399
               11),                                               \
400
      AOM_ICDF(CDF_PROB_TOP), 0
401
#define AOM_CDF13(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) \
402
  AOM_ICDF((((a0)-1) * ((CDF_INIT_TOP >> CDF_SHIFT) - 13) +         \
403
            ((CDF_INIT_TOP - 13) >> 1)) /                           \
404
               ((CDF_INIT_TOP - 13)) +                              \
405
           1)                                                       \
406
  ,                                                                 \
407
      AOM_ICDF((((a1)-2) * ((CDF_INIT_TOP >> CDF_SHIFT) - 13) +     \
408
                ((CDF_INIT_TOP - 13) >> 1)) /                       \
409
                   ((CDF_INIT_TOP - 13)) +                          \
410
               2),                                                  \
411
      AOM_ICDF((((a2)-3) * ((CDF_INIT_TOP >> CDF_SHIFT) - 13) +     \
412
                ((CDF_INIT_TOP - 13) >> 1)) /                       \
413
                   ((CDF_INIT_TOP - 13)) +                          \
414
               3),                                                  \
415
      AOM_ICDF((((a3)-4) * ((CDF_INIT_TOP >> CDF_SHIFT) - 13) +     \
416
                ((CDF_INIT_TOP - 13) >> 1)) /                       \
417
                   ((CDF_INIT_TOP - 13)) +                          \
418
               4),                                                  \
419
      AOM_ICDF((((a4)-5) * ((CDF_INIT_TOP >> CDF_SHIFT) - 13) +     \
420
                ((CDF_INIT_TOP - 13) >> 1)) /                       \
421
                   ((CDF_INIT_TOP - 13)) +                          \
422
               5),                                                  \
423
      AOM_ICDF((((a5)-6) * ((CDF_INIT_TOP >> CDF_SHIFT) - 13) +     \
424
                ((CDF_INIT_TOP - 13) >> 1)) /                       \
425
                   ((CDF_INIT_TOP - 13)) +                          \
426
               6),                                                  \
427
      AOM_ICDF((((a6)-7) * ((CDF_INIT_TOP >> CDF_SHIFT) - 13) +     \
428
                ((CDF_INIT_TOP - 13) >> 1)) /                       \
429
                   ((CDF_INIT_TOP - 13)) +                          \
430
               7),                                                  \
431
      AOM_ICDF((((a7)-8) * ((CDF_INIT_TOP >> CDF_SHIFT) - 13) +     \
432
                ((CDF_INIT_TOP - 13) >> 1)) /                       \
433
                   ((CDF_INIT_TOP - 13)) +                          \
434
               8),                                                  \
435
      AOM_ICDF((((a8)-9) * ((CDF_INIT_TOP >> CDF_SHIFT) - 13) +     \
436
                ((CDF_INIT_TOP - 13) >> 1)) /                       \
437
                   ((CDF_INIT_TOP - 13)) +                          \
438
               9),                                                  \
439
      AOM_ICDF((((a9)-10) * ((CDF_INIT_TOP >> CDF_SHIFT) - 13) +    \
440
                ((CDF_INIT_TOP - 13) >> 1)) /                       \
441
                   ((CDF_INIT_TOP - 13)) +                          \
442
               10),                                                 \
443
      AOM_ICDF((((a10)-11) * ((CDF_INIT_TOP >> CDF_SHIFT) - 13) +   \
444
                ((CDF_INIT_TOP - 13) >> 1)) /                       \
445
                   ((CDF_INIT_TOP - 13)) +                          \
446
               11),                                                 \
447
      AOM_ICDF((((a11)-12) * ((CDF_INIT_TOP >> CDF_SHIFT) - 13) +   \
448
                ((CDF_INIT_TOP - 13) >> 1)) /                       \
449
                   ((CDF_INIT_TOP - 13)) +                          \
450
               12),                                                 \
451
      AOM_ICDF(CDF_PROB_TOP), 0
452
#define AOM_CDF14(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) \
453
  AOM_ICDF((((a0)-1) * ((CDF_INIT_TOP >> CDF_SHIFT) - 14) +              \
454
            ((CDF_INIT_TOP - 14) >> 1)) /                                \
455
               ((CDF_INIT_TOP - 14)) +                                   \
456
           1)                                                            \
457
  ,                                                                      \
458
      AOM_ICDF((((a1)-2) * ((CDF_INIT_TOP >> CDF_SHIFT) - 14) +          \
459
                ((CDF_INIT_TOP - 14) >> 1)) /                            \
460
                   ((CDF_INIT_TOP - 14)) +                               \
461
               2),                                                       \
462
      AOM_ICDF((((a2)-3) * ((CDF_INIT_TOP >> CDF_SHIFT) - 14) +          \
463
                ((CDF_INIT_TOP - 14) >> 1)) /                            \
464
                   ((CDF_INIT_TOP - 14)) +                               \
465
               3),                                                       \
466
      AOM_ICDF((((a3)-4) * ((CDF_INIT_TOP >> CDF_SHIFT) - 14) +          \
467
                ((CDF_INIT_TOP - 14) >> 1)) /                            \
468
                   ((CDF_INIT_TOP - 14)) +                               \
469
               4),                                                       \
470
      AOM_ICDF((((a4)-5) * ((CDF_INIT_TOP >> CDF_SHIFT) - 14) +          \
471
                ((CDF_INIT_TOP - 14) >> 1)) /                            \
472
                   ((CDF_INIT_TOP - 14)) +                               \
473
               5),                                                       \
474
      AOM_ICDF((((a5)-6) * ((CDF_INIT_TOP >> CDF_SHIFT) - 14) +          \
475
                ((CDF_INIT_TOP - 14) >> 1)) /                            \
476
                   ((CDF_INIT_TOP - 14)) +                               \
477
               6),                                                       \
478
      AOM_ICDF((((a6)-7) * ((CDF_INIT_TOP >> CDF_SHIFT) - 14) +          \
479
                ((CDF_INIT_TOP - 14) >> 1)) /                            \
480
                   ((CDF_INIT_TOP - 14)) +                               \
481
               7),                                                       \
482
      AOM_ICDF((((a7)-8) * ((CDF_INIT_TOP >> CDF_SHIFT) - 14) +          \
483
                ((CDF_INIT_TOP - 14) >> 1)) /                            \
484
                   ((CDF_INIT_TOP - 14)) +                               \
485
               8),                                                       \
486
      AOM_ICDF((((a8)-9) * ((CDF_INIT_TOP >> CDF_SHIFT) - 14) +          \
487
                ((CDF_INIT_TOP - 14) >> 1)) /                            \
488
                   ((CDF_INIT_TOP - 14)) +                               \
489
               9),                                                       \
490
      AOM_ICDF((((a9)-10) * ((CDF_INIT_TOP >> CDF_SHIFT) - 14) +         \
491
                ((CDF_INIT_TOP - 14) >> 1)) /                            \
492
                   ((CDF_INIT_TOP - 14)) +                               \
493
               10),                                                      \
494
      AOM_ICDF((((a10)-11) * ((CDF_INIT_TOP >> CDF_SHIFT) - 14) +        \
495
                ((CDF_INIT_TOP - 14) >> 1)) /                            \
496
                   ((CDF_INIT_TOP - 14)) +                               \
497
               11),                                                      \
498
      AOM_ICDF((((a11)-12) * ((CDF_INIT_TOP >> CDF_SHIFT) - 14) +        \
499
                ((CDF_INIT_TOP - 14) >> 1)) /                            \
500
                   ((CDF_INIT_TOP - 14)) +                               \
501
               12),                                                      \
502
      AOM_ICDF((((a12)-13) * ((CDF_INIT_TOP >> CDF_SHIFT) - 14) +        \
503
                ((CDF_INIT_TOP - 14) >> 1)) /                            \
504
                   ((CDF_INIT_TOP - 14)) +                               \
505
               13),                                                      \
506
      AOM_ICDF(CDF_PROB_TOP), 0
507
#define AOM_CDF15(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) \
508
  AOM_ICDF((((a0)-1) * ((CDF_INIT_TOP >> CDF_SHIFT) - 15) +                   \
509
            ((CDF_INIT_TOP - 15) >> 1)) /                                     \
510
               ((CDF_INIT_TOP - 15)) +                                        \
511
           1)                                                                 \
512
  ,                                                                           \
513
      AOM_ICDF((((a1)-2) * ((CDF_INIT_TOP >> CDF_SHIFT) - 15) +               \
514
                ((CDF_INIT_TOP - 15) >> 1)) /                                 \
515
                   ((CDF_INIT_TOP - 15)) +                                    \
516
               2),                                                            \
517
      AOM_ICDF((((a2)-3) * ((CDF_INIT_TOP >> CDF_SHIFT) - 15) +               \
518
                ((CDF_INIT_TOP - 15) >> 1)) /                                 \
519
                   ((CDF_INIT_TOP - 15)) +                                    \
520
               3),                                                            \
521
      AOM_ICDF((((a3)-4) * ((CDF_INIT_TOP >> CDF_SHIFT) - 15) +               \
522
                ((CDF_INIT_TOP - 15) >> 1)) /                                 \
523
                   ((CDF_INIT_TOP - 15)) +                                    \
524
               4),                                                            \
525
      AOM_ICDF((((a4)-5) * ((CDF_INIT_TOP >> CDF_SHIFT) - 15) +               \
526
                ((CDF_INIT_TOP - 15) >> 1)) /                                 \
527
                   ((CDF_INIT_TOP - 15)) +                                    \
528
               5),                                                            \
529
      AOM_ICDF((((a5)-6) * ((CDF_INIT_TOP >> CDF_SHIFT) - 15) +               \
530
                ((CDF_INIT_TOP - 15) >> 1)) /                                 \
531
                   ((CDF_INIT_TOP - 15)) +                                    \
532
               6),                                                            \
533
      AOM_ICDF((((a6)-7) * ((CDF_INIT_TOP >> CDF_SHIFT) - 15) +               \
534
                ((CDF_INIT_TOP - 15) >> 1)) /                                 \
535
                   ((CDF_INIT_TOP - 15)) +                                    \
536
               7),                                                            \
537
      AOM_ICDF((((a7)-8) * ((CDF_INIT_TOP >> CDF_SHIFT) - 15) +               \
538
                ((CDF_INIT_TOP - 15) >> 1)) /                                 \
539
                   ((CDF_INIT_TOP - 15)) +                                    \
540
               8),                                                            \
541
      AOM_ICDF((((a8)-9) * ((CDF_INIT_TOP >> CDF_SHIFT) - 15) +               \
542
                ((CDF_INIT_TOP - 15) >> 1)) /                                 \
543
                   ((CDF_INIT_TOP - 15)) +                                    \
544
               9),                                                            \
545
      AOM_ICDF((((a9)-10) * ((CDF_INIT_TOP >> CDF_SHIFT) - 15) +              \
546
                ((CDF_INIT_TOP - 15) >> 1)) /                                 \
547
                   ((CDF_INIT_TOP - 15)) +                                    \
548
               10),                                                           \
549
      AOM_ICDF((((a10)-11) * ((CDF_INIT_TOP >> CDF_SHIFT) - 15) +             \
550
                ((CDF_INIT_TOP - 15) >> 1)) /                                 \
551
                   ((CDF_INIT_TOP - 15)) +                                    \
552
               11),                                                           \
553
      AOM_ICDF((((a11)-12) * ((CDF_INIT_TOP >> CDF_SHIFT) - 15) +             \
554
                ((CDF_INIT_TOP - 15) >> 1)) /                                 \
555
                   ((CDF_INIT_TOP - 15)) +                                    \
556
               12),                                                           \
557
      AOM_ICDF((((a12)-13) * ((CDF_INIT_TOP >> CDF_SHIFT) - 15) +             \
558
                ((CDF_INIT_TOP - 15) >> 1)) /                                 \
559
                   ((CDF_INIT_TOP - 15)) +                                    \
560
               13),                                                           \
561
      AOM_ICDF((((a13)-14) * ((CDF_INIT_TOP >> CDF_SHIFT) - 15) +             \
562
                ((CDF_INIT_TOP - 15) >> 1)) /                                 \
563
                   ((CDF_INIT_TOP - 15)) +                                    \
564
               14),                                                           \
565
      AOM_ICDF(CDF_PROB_TOP), 0
566
#define AOM_CDF16(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, \
567
                  a14)                                                        \
568
  AOM_ICDF((((a0)-1) * ((CDF_INIT_TOP >> CDF_SHIFT) - 16) +                   \
569
            ((CDF_INIT_TOP - 16) >> 1)) /                                     \
570
               ((CDF_INIT_TOP - 16)) +                                        \
571
           1)                                                                 \
572
  ,                                                                           \
573
      AOM_ICDF((((a1)-2) * ((CDF_INIT_TOP >> CDF_SHIFT) - 16) +               \
574
                ((CDF_INIT_TOP - 16) >> 1)) /                                 \
575
                   ((CDF_INIT_TOP - 16)) +                                    \
576
               2),                                                            \
577
      AOM_ICDF((((a2)-3) * ((CDF_INIT_TOP >> CDF_SHIFT) - 16) +               \
578
                ((CDF_INIT_TOP - 16) >> 1)) /                                 \
579
                   ((CDF_INIT_TOP - 16)) +                                    \
580
               3),                                                            \
581
      AOM_ICDF((((a3)-4) * ((CDF_INIT_TOP >> CDF_SHIFT) - 16) +               \
582
                ((CDF_INIT_TOP - 16) >> 1)) /                                 \
583
                   ((CDF_INIT_TOP - 16)) +                                    \
584
               4),                                                            \
585
      AOM_ICDF((((a4)-5) * ((CDF_INIT_TOP >> CDF_SHIFT) - 16) +               \
586
                ((CDF_INIT_TOP - 16) >> 1)) /                                 \
587
                   ((CDF_INIT_TOP - 16)) +                                    \
588
               5),                                                            \
589
      AOM_ICDF((((a5)-6) * ((CDF_INIT_TOP >> CDF_SHIFT) - 16) +               \
590
                ((CDF_INIT_TOP - 16) >> 1)) /                                 \
591
                   ((CDF_INIT_TOP - 16)) +                                    \
592
               6),                                                            \
593
      AOM_ICDF((((a6)-7) * ((CDF_INIT_TOP >> CDF_SHIFT) - 16) +               \
594
                ((CDF_INIT_TOP - 16) >> 1)) /                                 \
595
                   ((CDF_INIT_TOP - 16)) +                                    \
596
               7),                                                            \
597
      AOM_ICDF((((a7)-8) * ((CDF_INIT_TOP >> CDF_SHIFT) - 16) +               \
598
                ((CDF_INIT_TOP - 16) >> 1)) /                                 \
599
                   ((CDF_INIT_TOP - 16)) +                                    \
600
               8),                                                            \
601
      AOM_ICDF((((a8)-9) * ((CDF_INIT_TOP >> CDF_SHIFT) - 16) +               \
602
                ((CDF_INIT_TOP - 16) >> 1)) /                                 \
603
                   ((CDF_INIT_TOP - 16)) +                                    \
604
               9),                                                            \
605
      AOM_ICDF((((a9)-10) * ((CDF_INIT_TOP >> CDF_SHIFT) - 16) +              \
606
                ((CDF_INIT_TOP - 16) >> 1)) /                                 \
607
                   ((CDF_INIT_TOP - 16)) +                                    \
608
               10),                                                           \
609
      AOM_ICDF((((a10)-11) * ((CDF_INIT_TOP >> CDF_SHIFT) - 16) +             \
610
                ((CDF_INIT_TOP - 16) >> 1)) /                                 \
611
                   ((CDF_INIT_TOP - 16)) +                                    \
612
               11),                                                           \
613
      AOM_ICDF((((a11)-12) * ((CDF_INIT_TOP >> CDF_SHIFT) - 16) +             \
614
                ((CDF_INIT_TOP - 16) >> 1)) /                                 \
615
                   ((CDF_INIT_TOP - 16)) +                                    \
616
               12),                                                           \
617
      AOM_ICDF((((a12)-13) * ((CDF_INIT_TOP >> CDF_SHIFT) - 16) +             \
618
                ((CDF_INIT_TOP - 16) >> 1)) /                                 \
619
                   ((CDF_INIT_TOP - 16)) +                                    \
620
               13),                                                           \
621
      AOM_ICDF((((a13)-14) * ((CDF_INIT_TOP >> CDF_SHIFT) - 16) +             \
622
                ((CDF_INIT_TOP - 16) >> 1)) /                                 \
623
                   ((CDF_INIT_TOP - 16)) +                                    \
624
               14),                                                           \
625
      AOM_ICDF((((a14)-15) * ((CDF_INIT_TOP >> CDF_SHIFT) - 16) +             \
626
                ((CDF_INIT_TOP - 16) >> 1)) /                                 \
627
                   ((CDF_INIT_TOP - 16)) +                                    \
628
               15),                                                           \
629
      AOM_ICDF(CDF_PROB_TOP), 0
630
631
#endif
632
633
0
static INLINE uint8_t get_prob(unsigned int num, unsigned int den) {
634
0
  assert(den != 0);
635
0
  {
636
0
    const int p = (int)(((uint64_t)num * 256 + (den >> 1)) / den);
637
    // (p > 255) ? 255 : (p < 1) ? 1 : p;
638
0
    const int clipped_prob = p | ((255 - p) >> 23) | (p == 0);
639
0
    return (uint8_t)clipped_prob;
640
0
  }
641
0
}
Unexecuted instantiation: av1_dx_iface.c:get_prob
Unexecuted instantiation: decodeframe.c:get_prob
Unexecuted instantiation: decodemv.c:get_prob
Unexecuted instantiation: decoder.c:get_prob
Unexecuted instantiation: decodetxb.c:get_prob
Unexecuted instantiation: detokenize.c:get_prob
Unexecuted instantiation: obu.c:get_prob
Unexecuted instantiation: av1_cx_iface.c:get_prob
Unexecuted instantiation: av1_quantize.c:get_prob
Unexecuted instantiation: bitstream.c:get_prob
Unexecuted instantiation: encodemv.c:get_prob
Unexecuted instantiation: encoder.c:get_prob
Unexecuted instantiation: encoder_utils.c:get_prob
Unexecuted instantiation: encodetxb.c:get_prob
Unexecuted instantiation: ethread.c:get_prob
Unexecuted instantiation: firstpass.c:get_prob
Unexecuted instantiation: global_motion_facade.c:get_prob
Unexecuted instantiation: hash_motion.c:get_prob
Unexecuted instantiation: level.c:get_prob
Unexecuted instantiation: lookahead.c:get_prob
Unexecuted instantiation: mcomp.c:get_prob
Unexecuted instantiation: mv_prec.c:get_prob
Unexecuted instantiation: palette.c:get_prob
Unexecuted instantiation: pass2_strategy.c:get_prob
Unexecuted instantiation: pickcdef.c:get_prob
Unexecuted instantiation: picklpf.c:get_prob
Unexecuted instantiation: pickrst.c:get_prob
Unexecuted instantiation: ratectrl.c:get_prob
Unexecuted instantiation: rd.c:get_prob
Unexecuted instantiation: rdopt.c:get_prob
Unexecuted instantiation: reconinter_enc.c:get_prob
Unexecuted instantiation: segmentation.c:get_prob
Unexecuted instantiation: speed_features.c:get_prob
Unexecuted instantiation: superres_scale.c:get_prob
Unexecuted instantiation: svc_layercontext.c:get_prob
Unexecuted instantiation: temporal_filter.c:get_prob
Unexecuted instantiation: thirdpass.c:get_prob
Unexecuted instantiation: tokenize.c:get_prob
Unexecuted instantiation: tpl_model.c:get_prob
Unexecuted instantiation: tx_search.c:get_prob
Unexecuted instantiation: txb_rdopt.c:get_prob
Unexecuted instantiation: intra_mode_search.c:get_prob
Unexecuted instantiation: var_based_part.c:get_prob
Unexecuted instantiation: av1_noise_estimate.c:get_prob
Unexecuted instantiation: dwt.c:get_prob
Unexecuted instantiation: aom_dsp_rtcd.c:get_prob
Unexecuted instantiation: av1_rtcd.c:get_prob
Unexecuted instantiation: aom_convolve.c:get_prob
Unexecuted instantiation: blend_a64_mask.c:get_prob
Unexecuted instantiation: avg.c:get_prob
Unexecuted instantiation: binary_codes_reader.c:get_prob
Unexecuted instantiation: bitreader.c:get_prob
Unexecuted instantiation: entdec.c:get_prob
Unexecuted instantiation: binary_codes_writer.c:get_prob
Unexecuted instantiation: bitwriter.c:get_prob
Unexecuted instantiation: blk_sse_sum.c:get_prob
Unexecuted instantiation: entenc.c:get_prob
Unexecuted instantiation: noise_util.c:get_prob
Unexecuted instantiation: psnr.c:get_prob
Unexecuted instantiation: sad.c:get_prob
Unexecuted instantiation: sad_av1.c:get_prob
Unexecuted instantiation: sse.c:get_prob
Unexecuted instantiation: sum_squares.c:get_prob
Unexecuted instantiation: variance.c:get_prob
Unexecuted instantiation: alloccommon.c:get_prob
Unexecuted instantiation: av1_loopfilter.c:get_prob
Unexecuted instantiation: blockd.c:get_prob
Unexecuted instantiation: cdef.c:get_prob
Unexecuted instantiation: cdef_block.c:get_prob
Unexecuted instantiation: cfl.c:get_prob
Unexecuted instantiation: debugmodes.c:get_prob
Unexecuted instantiation: entropy.c:get_prob
Unexecuted instantiation: entropymode.c:get_prob
Unexecuted instantiation: entropymv.c:get_prob
Unexecuted instantiation: idct.c:get_prob
Unexecuted instantiation: mvref_common.c:get_prob
Unexecuted instantiation: pred_common.c:get_prob
Unexecuted instantiation: quant_common.c:get_prob
Unexecuted instantiation: reconinter.c:get_prob
Unexecuted instantiation: reconintra.c:get_prob
Unexecuted instantiation: resize.c:get_prob
Unexecuted instantiation: restoration.c:get_prob
Unexecuted instantiation: scale.c:get_prob
Unexecuted instantiation: scan.c:get_prob
Unexecuted instantiation: seg_common.c:get_prob
Unexecuted instantiation: thread_common.c:get_prob
Unexecuted instantiation: tile_common.c:get_prob
Unexecuted instantiation: txb_common.c:get_prob
Unexecuted instantiation: warped_motion.c:get_prob
Unexecuted instantiation: aq_complexity.c:get_prob
Unexecuted instantiation: aq_cyclicrefresh.c:get_prob
Unexecuted instantiation: aq_variance.c:get_prob
Unexecuted instantiation: allintra_vis.c:get_prob
Unexecuted instantiation: av1_fwd_txfm2d.c:get_prob
Unexecuted instantiation: compound_type.c:get_prob
Unexecuted instantiation: context_tree.c:get_prob
Unexecuted instantiation: cost.c:get_prob
Unexecuted instantiation: encodeframe.c:get_prob
Unexecuted instantiation: encodeframe_utils.c:get_prob
Unexecuted instantiation: encodemb.c:get_prob
Unexecuted instantiation: encode_strategy.c:get_prob
Unexecuted instantiation: global_motion.c:get_prob
Unexecuted instantiation: gop_structure.c:get_prob
Unexecuted instantiation: hybrid_fwd_txfm.c:get_prob
Unexecuted instantiation: interp_search.c:get_prob
Unexecuted instantiation: ml.c:get_prob
Unexecuted instantiation: motion_search_facade.c:get_prob
Unexecuted instantiation: partition_search.c:get_prob
Unexecuted instantiation: partition_strategy.c:get_prob
Unexecuted instantiation: nonrd_pickmode.c:get_prob
Unexecuted instantiation: wedge_utils.c:get_prob
Unexecuted instantiation: blend_a64_hmask.c:get_prob
Unexecuted instantiation: blend_a64_vmask.c:get_prob
Unexecuted instantiation: entcode.c:get_prob
Unexecuted instantiation: intrapred.c:get_prob
Unexecuted instantiation: loopfilter.c:get_prob
Unexecuted instantiation: subtract.c:get_prob
Unexecuted instantiation: fwd_txfm.c:get_prob
Unexecuted instantiation: av1_inv_txfm2d.c:get_prob
Unexecuted instantiation: av1_txfm.c:get_prob
Unexecuted instantiation: convolve.c:get_prob
Unexecuted instantiation: av1_fwd_txfm1d.c:get_prob
Unexecuted instantiation: cnn.c:get_prob
Unexecuted instantiation: corner_match.c:get_prob
Unexecuted instantiation: av1_inv_txfm1d.c:get_prob
642
643
47.4M
static INLINE void update_cdf(aom_cdf_prob *cdf, int8_t val, int nsymbs) {
644
47.4M
  int rate;
645
47.4M
  int i, tmp;
646
647
47.4M
  static const int nsymbs2speed[17] = { 0, 0, 1, 1, 2, 2, 2, 2, 2,
648
47.4M
                                        2, 2, 2, 2, 2, 2, 2, 2 };
649
47.4M
  assert(nsymbs < 17);
650
47.4M
  rate = 3 + (cdf[nsymbs] > 15) + (cdf[nsymbs] > 31) +
651
47.4M
         nsymbs2speed[nsymbs];  // + get_msb(nsymbs);
652
47.4M
  tmp = AOM_ICDF(0);
653
654
  // Single loop (faster)
655
292M
  for (i = 0; i < nsymbs - 1; ++i) {
656
244M
    tmp = (i == val) ? 0 : tmp;
657
244M
    if (tmp < cdf[i]) {
658
115M
      cdf[i] -= ((cdf[i] - tmp) >> rate);
659
129M
    } else {
660
129M
      cdf[i] += ((tmp - cdf[i]) >> rate);
661
129M
    }
662
244M
  }
663
47.4M
  cdf[nsymbs] += (cdf[nsymbs] < 32);
664
47.4M
}
Unexecuted instantiation: av1_dx_iface.c:update_cdf
decodeframe.c:update_cdf
Line
Count
Source
643
2.51M
static INLINE void update_cdf(aom_cdf_prob *cdf, int8_t val, int nsymbs) {
644
2.51M
  int rate;
645
2.51M
  int i, tmp;
646
647
2.51M
  static const int nsymbs2speed[17] = { 0, 0, 1, 1, 2, 2, 2, 2, 2,
648
2.51M
                                        2, 2, 2, 2, 2, 2, 2, 2 };
649
2.51M
  assert(nsymbs < 17);
650
2.51M
  rate = 3 + (cdf[nsymbs] > 15) + (cdf[nsymbs] > 31) +
651
2.51M
         nsymbs2speed[nsymbs];  // + get_msb(nsymbs);
652
2.51M
  tmp = AOM_ICDF(0);
653
654
  // Single loop (faster)
655
20.5M
  for (i = 0; i < nsymbs - 1; ++i) {
656
18.0M
    tmp = (i == val) ? 0 : tmp;
657
18.0M
    if (tmp < cdf[i]) {
658
10.9M
      cdf[i] -= ((cdf[i] - tmp) >> rate);
659
10.9M
    } else {
660
7.08M
      cdf[i] += ((tmp - cdf[i]) >> rate);
661
7.08M
    }
662
18.0M
  }
663
2.51M
  cdf[nsymbs] += (cdf[nsymbs] < 32);
664
2.51M
}
decodemv.c:update_cdf
Line
Count
Source
643
17.1M
static INLINE void update_cdf(aom_cdf_prob *cdf, int8_t val, int nsymbs) {
644
17.1M
  int rate;
645
17.1M
  int i, tmp;
646
647
17.1M
  static const int nsymbs2speed[17] = { 0, 0, 1, 1, 2, 2, 2, 2, 2,
648
17.1M
                                        2, 2, 2, 2, 2, 2, 2, 2 };
649
17.1M
  assert(nsymbs < 17);
650
17.1M
  rate = 3 + (cdf[nsymbs] > 15) + (cdf[nsymbs] > 31) +
651
17.1M
         nsymbs2speed[nsymbs];  // + get_msb(nsymbs);
652
17.1M
  tmp = AOM_ICDF(0);
653
654
  // Single loop (faster)
655
161M
  for (i = 0; i < nsymbs - 1; ++i) {
656
144M
    tmp = (i == val) ? 0 : tmp;
657
144M
    if (tmp < cdf[i]) {
658
56.7M
      cdf[i] -= ((cdf[i] - tmp) >> rate);
659
87.9M
    } else {
660
87.9M
      cdf[i] += ((tmp - cdf[i]) >> rate);
661
87.9M
    }
662
144M
  }
663
17.1M
  cdf[nsymbs] += (cdf[nsymbs] < 32);
664
17.1M
}
Unexecuted instantiation: decoder.c:update_cdf
decodetxb.c:update_cdf
Line
Count
Source
643
25.0M
static INLINE void update_cdf(aom_cdf_prob *cdf, int8_t val, int nsymbs) {
644
25.0M
  int rate;
645
25.0M
  int i, tmp;
646
647
25.0M
  static const int nsymbs2speed[17] = { 0, 0, 1, 1, 2, 2, 2, 2, 2,
648
25.0M
                                        2, 2, 2, 2, 2, 2, 2, 2 };
649
25.0M
  assert(nsymbs < 17);
650
25.0M
  rate = 3 + (cdf[nsymbs] > 15) + (cdf[nsymbs] > 31) +
651
25.0M
         nsymbs2speed[nsymbs];  // + get_msb(nsymbs);
652
25.0M
  tmp = AOM_ICDF(0);
653
654
  // Single loop (faster)
655
97.7M
  for (i = 0; i < nsymbs - 1; ++i) {
656
72.6M
    tmp = (i == val) ? 0 : tmp;
657
72.6M
    if (tmp < cdf[i]) {
658
40.3M
      cdf[i] -= ((cdf[i] - tmp) >> rate);
659
40.3M
    } else {
660
32.2M
      cdf[i] += ((tmp - cdf[i]) >> rate);
661
32.2M
    }
662
72.6M
  }
663
25.0M
  cdf[nsymbs] += (cdf[nsymbs] < 32);
664
25.0M
}
detokenize.c:update_cdf
Line
Count
Source
643
2.72M
static INLINE void update_cdf(aom_cdf_prob *cdf, int8_t val, int nsymbs) {
644
2.72M
  int rate;
645
2.72M
  int i, tmp;
646
647
2.72M
  static const int nsymbs2speed[17] = { 0, 0, 1, 1, 2, 2, 2, 2, 2,
648
2.72M
                                        2, 2, 2, 2, 2, 2, 2, 2 };
649
2.72M
  assert(nsymbs < 17);
650
2.72M
  rate = 3 + (cdf[nsymbs] > 15) + (cdf[nsymbs] > 31) +
651
2.72M
         nsymbs2speed[nsymbs];  // + get_msb(nsymbs);
652
2.72M
  tmp = AOM_ICDF(0);
653
654
  // Single loop (faster)
655
12.1M
  for (i = 0; i < nsymbs - 1; ++i) {
656
9.39M
    tmp = (i == val) ? 0 : tmp;
657
9.39M
    if (tmp < cdf[i]) {
658
7.69M
      cdf[i] -= ((cdf[i] - tmp) >> rate);
659
7.69M
    } else {
660
1.70M
      cdf[i] += ((tmp - cdf[i]) >> rate);
661
1.70M
    }
662
9.39M
  }
663
2.72M
  cdf[nsymbs] += (cdf[nsymbs] < 32);
664
2.72M
}
Unexecuted instantiation: obu.c:update_cdf
Unexecuted instantiation: av1_cx_iface.c:update_cdf
Unexecuted instantiation: av1_quantize.c:update_cdf
Unexecuted instantiation: bitstream.c:update_cdf
Unexecuted instantiation: encodemv.c:update_cdf
Unexecuted instantiation: encoder.c:update_cdf
Unexecuted instantiation: encoder_utils.c:update_cdf
Unexecuted instantiation: encodetxb.c:update_cdf
Unexecuted instantiation: ethread.c:update_cdf
Unexecuted instantiation: firstpass.c:update_cdf
Unexecuted instantiation: global_motion_facade.c:update_cdf
Unexecuted instantiation: hash_motion.c:update_cdf
Unexecuted instantiation: level.c:update_cdf
Unexecuted instantiation: lookahead.c:update_cdf
Unexecuted instantiation: mcomp.c:update_cdf
Unexecuted instantiation: mv_prec.c:update_cdf
Unexecuted instantiation: palette.c:update_cdf
Unexecuted instantiation: pass2_strategy.c:update_cdf
Unexecuted instantiation: pickcdef.c:update_cdf
Unexecuted instantiation: picklpf.c:update_cdf
Unexecuted instantiation: pickrst.c:update_cdf
Unexecuted instantiation: ratectrl.c:update_cdf
Unexecuted instantiation: rd.c:update_cdf
Unexecuted instantiation: rdopt.c:update_cdf
Unexecuted instantiation: reconinter_enc.c:update_cdf
Unexecuted instantiation: segmentation.c:update_cdf
Unexecuted instantiation: speed_features.c:update_cdf
Unexecuted instantiation: superres_scale.c:update_cdf
Unexecuted instantiation: svc_layercontext.c:update_cdf
Unexecuted instantiation: temporal_filter.c:update_cdf
Unexecuted instantiation: thirdpass.c:update_cdf
Unexecuted instantiation: tokenize.c:update_cdf
Unexecuted instantiation: tpl_model.c:update_cdf
Unexecuted instantiation: tx_search.c:update_cdf
Unexecuted instantiation: txb_rdopt.c:update_cdf
Unexecuted instantiation: intra_mode_search.c:update_cdf
Unexecuted instantiation: var_based_part.c:update_cdf
Unexecuted instantiation: av1_noise_estimate.c:update_cdf
Unexecuted instantiation: dwt.c:update_cdf
Unexecuted instantiation: aom_dsp_rtcd.c:update_cdf
Unexecuted instantiation: av1_rtcd.c:update_cdf
Unexecuted instantiation: aom_convolve.c:update_cdf
Unexecuted instantiation: blend_a64_mask.c:update_cdf
Unexecuted instantiation: avg.c:update_cdf
Unexecuted instantiation: binary_codes_reader.c:update_cdf
Unexecuted instantiation: bitreader.c:update_cdf
Unexecuted instantiation: entdec.c:update_cdf
Unexecuted instantiation: binary_codes_writer.c:update_cdf
Unexecuted instantiation: bitwriter.c:update_cdf
Unexecuted instantiation: blk_sse_sum.c:update_cdf
Unexecuted instantiation: entenc.c:update_cdf
Unexecuted instantiation: noise_util.c:update_cdf
Unexecuted instantiation: psnr.c:update_cdf
Unexecuted instantiation: sad.c:update_cdf
Unexecuted instantiation: sad_av1.c:update_cdf
Unexecuted instantiation: sse.c:update_cdf
Unexecuted instantiation: sum_squares.c:update_cdf
Unexecuted instantiation: variance.c:update_cdf
Unexecuted instantiation: alloccommon.c:update_cdf
Unexecuted instantiation: av1_loopfilter.c:update_cdf
Unexecuted instantiation: blockd.c:update_cdf
Unexecuted instantiation: cdef.c:update_cdf
Unexecuted instantiation: cdef_block.c:update_cdf
Unexecuted instantiation: cfl.c:update_cdf
Unexecuted instantiation: debugmodes.c:update_cdf
Unexecuted instantiation: entropy.c:update_cdf
Unexecuted instantiation: entropymode.c:update_cdf
Unexecuted instantiation: entropymv.c:update_cdf
Unexecuted instantiation: idct.c:update_cdf
Unexecuted instantiation: mvref_common.c:update_cdf
Unexecuted instantiation: pred_common.c:update_cdf
Unexecuted instantiation: quant_common.c:update_cdf
Unexecuted instantiation: reconinter.c:update_cdf
Unexecuted instantiation: reconintra.c:update_cdf
Unexecuted instantiation: resize.c:update_cdf
Unexecuted instantiation: restoration.c:update_cdf
Unexecuted instantiation: scale.c:update_cdf
Unexecuted instantiation: scan.c:update_cdf
Unexecuted instantiation: seg_common.c:update_cdf
Unexecuted instantiation: thread_common.c:update_cdf
Unexecuted instantiation: tile_common.c:update_cdf
Unexecuted instantiation: txb_common.c:update_cdf
Unexecuted instantiation: warped_motion.c:update_cdf
Unexecuted instantiation: aq_complexity.c:update_cdf
Unexecuted instantiation: aq_cyclicrefresh.c:update_cdf
Unexecuted instantiation: aq_variance.c:update_cdf
Unexecuted instantiation: allintra_vis.c:update_cdf
Unexecuted instantiation: av1_fwd_txfm2d.c:update_cdf
Unexecuted instantiation: compound_type.c:update_cdf
Unexecuted instantiation: context_tree.c:update_cdf
Unexecuted instantiation: cost.c:update_cdf
Unexecuted instantiation: encodeframe.c:update_cdf
Unexecuted instantiation: encodeframe_utils.c:update_cdf
Unexecuted instantiation: encodemb.c:update_cdf
Unexecuted instantiation: encode_strategy.c:update_cdf
Unexecuted instantiation: global_motion.c:update_cdf
Unexecuted instantiation: gop_structure.c:update_cdf
Unexecuted instantiation: hybrid_fwd_txfm.c:update_cdf
Unexecuted instantiation: interp_search.c:update_cdf
Unexecuted instantiation: ml.c:update_cdf
Unexecuted instantiation: motion_search_facade.c:update_cdf
Unexecuted instantiation: partition_search.c:update_cdf
Unexecuted instantiation: partition_strategy.c:update_cdf
Unexecuted instantiation: nonrd_pickmode.c:update_cdf
Unexecuted instantiation: wedge_utils.c:update_cdf
Unexecuted instantiation: blend_a64_hmask.c:update_cdf
Unexecuted instantiation: blend_a64_vmask.c:update_cdf
Unexecuted instantiation: entcode.c:update_cdf
Unexecuted instantiation: intrapred.c:update_cdf
Unexecuted instantiation: loopfilter.c:update_cdf
Unexecuted instantiation: subtract.c:update_cdf
Unexecuted instantiation: fwd_txfm.c:update_cdf
Unexecuted instantiation: av1_inv_txfm2d.c:update_cdf
Unexecuted instantiation: av1_txfm.c:update_cdf
Unexecuted instantiation: convolve.c:update_cdf
Unexecuted instantiation: av1_fwd_txfm1d.c:update_cdf
Unexecuted instantiation: cnn.c:update_cdf
Unexecuted instantiation: corner_match.c:update_cdf
Unexecuted instantiation: av1_inv_txfm1d.c:update_cdf
665
666
#ifdef __cplusplus
667
}  // extern "C"
668
#endif
669
670
#endif  // AOM_AOM_DSP_PROB_H_