Coverage Report

Created: 2026-10-17 06:52

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/avm/avm_dsp/intrapred.c
Line
Count
Source
1
/*
2
 * Copyright (c) 2021, Alliance for Open Media. All rights reserved
3
 *
4
 * This source code is subject to the terms of the BSD 3-Clause Clear License
5
 * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
6
 * License was not distributed with this source code in the LICENSE file, you
7
 * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
8
 * Alliance for Open Media Patent License 1.0 was not distributed with this
9
 * source code in the PATENTS file, you can obtain it at
10
 * aomedia.org/license/patent-license/.
11
 */
12
13
#include <assert.h>
14
#include <math.h>
15
16
#include "config/avm_config.h"
17
#include "config/avm_dsp_rtcd.h"
18
19
#include "avm_dsp/avm_dsp_common.h"
20
#include "avm_dsp/intrapred_common.h"
21
#include "avm_mem/avm_mem.h"
22
#include "avm_ports/bitops.h"
23
#include "av2/common/warped_motion.h"
24
25
static INLINE void v_predictor(uint8_t *dst, ptrdiff_t stride, int bw, int bh,
26
0
                               const uint8_t *above, const uint8_t *left) {
27
0
  int r;
28
0
  (void)left;
29
30
0
  for (r = 0; r < bh; r++) {
31
0
    memcpy(dst, above, bw);
32
0
    dst += stride;
33
0
  }
34
0
}
35
36
static INLINE void h_predictor(uint8_t *dst, ptrdiff_t stride, int bw, int bh,
37
0
                               const uint8_t *above, const uint8_t *left) {
38
0
  int r;
39
0
  (void)above;
40
41
0
  for (r = 0; r < bh; r++) {
42
0
    memset(dst, left[r], bw);
43
0
    dst += stride;
44
0
  }
45
0
}
46
47
308M
static INLINE int abs_diff(int a, int b) { return (a > b) ? a - b : b - a; }
48
49
static INLINE uint16_t paeth_predictor_single(uint16_t left, uint16_t top,
50
102M
                                              uint16_t top_left) {
51
102M
  const int base = top + left - top_left;
52
102M
  const int p_left = abs_diff(base, left);
53
102M
  const int p_top = abs_diff(base, top);
54
102M
  const int p_top_left = abs_diff(base, top_left);
55
56
  // Return nearest to base of left, top and top_left.
57
102M
  return (p_left <= p_top && p_left <= p_top_left) ? left
58
102M
         : (p_top <= p_top_left)                   ? top
59
24.4M
                                                   : top_left;
60
102M
}
61
62
static INLINE void paeth_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
63
                                   int bh, const uint8_t *above,
64
0
                                   const uint8_t *left) {
65
0
  int r, c;
66
0
  const uint8_t ytop_left = above[-1];
67
68
0
  for (r = 0; r < bh; r++) {
69
0
    for (c = 0; c < bw; c++)
70
0
      dst[c] = (uint8_t)paeth_predictor_single(left[r], above[c], ytop_left);
71
0
    dst += stride;
72
0
  }
73
0
}
74
75
// Some basic checks on weights for smooth predictor.
76
#define sm_weights_sanity_checks(weights_w, weights_h, weights_scale, \
77
                                 pred_scale)                          \
78
0
  assert(weights_w[0] < weights_scale);                               \
79
0
  assert(weights_h[0] < weights_scale);                               \
80
0
  assert(weights_scale - weights_w[bw - 1] < weights_scale);          \
81
0
  assert(weights_scale - weights_h[bh - 1] < weights_scale);          \
82
0
  assert(pred_scale < 31)  // ensures no overflow when calculating predictor.
83
84
2.24G
#define divide_round(value, bits) (((value) + (1 << ((bits) - 1))) >> (bits))
85
86
static INLINE void smooth_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
87
                                    int bh, const uint8_t *above,
88
0
                                    const uint8_t *left) {
89
0
  const uint8_t below_pred = left[bh - 1];   // estimated by bottom-left pixel
90
0
  const uint8_t right_pred = above[bw - 1];  // estimated by top-right pixel
91
0
  const uint8_t *const sm_weights_w = sm_weight_arrays + bw;
92
0
  const uint8_t *const sm_weights_h = sm_weight_arrays + bh;
93
  // scale = 2 * 2^sm_weight_log2_scale
94
0
  const int log2_scale = 1 + sm_weight_log2_scale;
95
0
  const uint16_t scale = (1 << sm_weight_log2_scale);
96
0
  sm_weights_sanity_checks(sm_weights_w, sm_weights_h, scale,
97
0
                           log2_scale + sizeof(*dst));
98
0
  int r;
99
0
  for (r = 0; r < bh; ++r) {
100
0
    int c;
101
0
    for (c = 0; c < bw; ++c) {
102
0
      const uint8_t pixels[] = { above[c], below_pred, left[r], right_pred };
103
0
      const uint8_t weights[] = { sm_weights_h[r], scale - sm_weights_h[r],
104
0
                                  sm_weights_w[c], scale - sm_weights_w[c] };
105
0
      uint32_t this_pred = 0;
106
0
      int i;
107
0
      assert(scale >= sm_weights_h[r] && scale >= sm_weights_w[c]);
108
0
      for (i = 0; i < 4; ++i) {
109
0
        this_pred += weights[i] * pixels[i];
110
0
      }
111
0
      dst[c] = divide_round(this_pred, log2_scale);
112
0
    }
113
0
    dst += stride;
114
0
  }
115
0
}
116
117
static INLINE void smooth_v_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
118
                                      int bh, const uint8_t *above,
119
0
                                      const uint8_t *left) {
120
0
  const uint8_t below_pred = left[bh - 1];  // estimated by bottom-left pixel
121
0
  const uint8_t *const sm_weights = sm_weight_arrays + bh;
122
  // scale = 2^sm_weight_log2_scale
123
0
  const int log2_scale = sm_weight_log2_scale;
124
0
  const uint16_t scale = (1 << sm_weight_log2_scale);
125
0
  sm_weights_sanity_checks(sm_weights, sm_weights, scale,
126
0
                           log2_scale + sizeof(*dst));
127
128
0
  int r;
129
0
  for (r = 0; r < bh; r++) {
130
0
    int c;
131
0
    for (c = 0; c < bw; ++c) {
132
0
      const uint8_t pixels[] = { above[c], below_pred };
133
0
      const uint8_t weights[] = { sm_weights[r], scale - sm_weights[r] };
134
0
      uint32_t this_pred = 0;
135
0
      assert(scale >= sm_weights[r]);
136
0
      int i;
137
0
      for (i = 0; i < 2; ++i) {
138
0
        this_pred += weights[i] * pixels[i];
139
0
      }
140
0
      dst[c] = divide_round(this_pred, log2_scale);
141
0
    }
142
0
    dst += stride;
143
0
  }
144
0
}
145
146
static INLINE void smooth_h_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
147
                                      int bh, const uint8_t *above,
148
0
                                      const uint8_t *left) {
149
0
  const uint8_t right_pred = above[bw - 1];  // estimated by top-right pixel
150
0
  const uint8_t *const sm_weights = sm_weight_arrays + bw;
151
  // scale = 2^sm_weight_log2_scale
152
0
  const int log2_scale = sm_weight_log2_scale;
153
0
  const uint16_t scale = (1 << sm_weight_log2_scale);
154
0
  sm_weights_sanity_checks(sm_weights, sm_weights, scale,
155
0
                           log2_scale + sizeof(*dst));
156
157
0
  int r;
158
0
  for (r = 0; r < bh; r++) {
159
0
    int c;
160
0
    for (c = 0; c < bw; ++c) {
161
0
      const uint8_t pixels[] = { left[r], right_pred };
162
0
      const uint8_t weights[] = { sm_weights[c], scale - sm_weights[c] };
163
0
      uint32_t this_pred = 0;
164
0
      assert(scale >= sm_weights[c]);
165
0
      int i;
166
0
      for (i = 0; i < 2; ++i) {
167
0
        this_pred += weights[i] * pixels[i];
168
0
      }
169
0
      dst[c] = divide_round(this_pred, log2_scale);
170
0
    }
171
0
    dst += stride;
172
0
  }
173
0
}
174
175
static INLINE void dc_128_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
176
                                    int bh, const uint8_t *above,
177
0
                                    const uint8_t *left) {
178
0
  int r;
179
0
  (void)above;
180
0
  (void)left;
181
182
0
  for (r = 0; r < bh; r++) {
183
0
    memset(dst, 128, bw);
184
0
    dst += stride;
185
0
  }
186
0
}
187
188
static INLINE void dc_left_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
189
                                     int bh, const uint8_t *above,
190
0
                                     const uint8_t *left) {
191
0
  int i, r, expected_dc, sum = 0;
192
0
  (void)above;
193
194
0
  for (i = 0; i < bh; i++) sum += left[i];
195
0
  expected_dc = (sum + (bh >> 1)) / bh;
196
197
0
  for (r = 0; r < bh; r++) {
198
0
    memset(dst, expected_dc, bw);
199
0
    dst += stride;
200
0
  }
201
0
}
202
203
static INLINE void dc_top_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
204
                                    int bh, const uint8_t *above,
205
0
                                    const uint8_t *left) {
206
0
  int i, r, expected_dc, sum = 0;
207
0
  (void)left;
208
209
0
  for (i = 0; i < bw; i++) sum += above[i];
210
0
  expected_dc = (sum + (bw >> 1)) / bw;
211
212
0
  for (r = 0; r < bh; r++) {
213
0
    memset(dst, expected_dc, bw);
214
0
    dst += stride;
215
0
  }
216
0
}
217
218
static INLINE void dc_predictor(uint8_t *dst, ptrdiff_t stride, int bw, int bh,
219
0
                                const uint8_t *above, const uint8_t *left) {
220
0
  int i, r, expected_dc, sum = 0;
221
0
  const int count = bw + bh;
222
223
0
  for (i = 0; i < bw; i++) {
224
0
    sum += above[i];
225
0
  }
226
0
  for (i = 0; i < bh; i++) {
227
0
    sum += left[i];
228
0
  }
229
230
0
  expected_dc = (sum + (count >> 1)) / count;
231
232
0
  for (r = 0; r < bh; r++) {
233
0
    memset(dst, expected_dc, bw);
234
0
    dst += stride;
235
0
  }
236
0
}
237
238
static INLINE void highbd_v_predictor(uint16_t *dst, ptrdiff_t stride, int bw,
239
                                      int bh, const uint16_t *above,
240
34.1k
                                      const uint16_t *left, int bd) {
241
34.1k
  int r;
242
34.1k
  (void)left;
243
34.1k
  (void)bd;
244
1.28M
  for (r = 0; r < bh; r++) {
245
1.24M
    memcpy(dst, above, bw * sizeof(uint16_t));
246
1.24M
    dst += stride;
247
1.24M
  }
248
34.1k
}
249
250
static INLINE void highbd_h_predictor(uint16_t *dst, ptrdiff_t stride, int bw,
251
                                      int bh, const uint16_t *above,
252
37.3k
                                      const uint16_t *left, int bd) {
253
37.3k
  int r;
254
37.3k
  (void)above;
255
37.3k
  (void)bd;
256
1.36M
  for (r = 0; r < bh; r++) {
257
1.33M
    avm_memset16(dst, left[r], bw);
258
1.33M
    dst += stride;
259
1.33M
  }
260
37.3k
}
261
262
static INLINE void highbd_paeth_predictor(uint16_t *dst, ptrdiff_t stride,
263
                                          int bw, int bh, const uint16_t *above,
264
212k
                                          const uint16_t *left, int bd) {
265
212k
  int r, c;
266
212k
  const uint16_t ytop_left = above[-1];
267
212k
  (void)bd;
268
269
3.82M
  for (r = 0; r < bh; r++) {
270
106M
    for (c = 0; c < bw; c++)
271
102M
      dst[c] = paeth_predictor_single(left[r], above[c], ytop_left);
272
3.60M
    dst += stride;
273
3.60M
  }
274
212k
}
275
276
1.08G
#define BLEND_WEIGHT_MAX 32
277
static const uint8_t blk_size_log2[65] = {
278
  0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4,
279
  4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
280
  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6
281
};
282
283
static INLINE void highbd_smooth_predictor(uint16_t *dst, ptrdiff_t stride,
284
                                           int bw, int bh,
285
                                           const uint16_t *above,
286
728k
                                           const uint16_t *left, int bd) {
287
728k
  (void)bd;
288
728k
  const uint16_t bl = left[bh];   // estimated by bottom-left pixel
289
728k
  const uint16_t tr = above[bw];  // estimated by top-right pixel
290
291
728k
  uint16_t *pred = dst;
292
728k
  const int scale =
293
728k
      ROUND_POWER_OF_TWO((blk_size_log2[bh] - 2 + blk_size_log2[bw] - 2), 2);
294
728k
  assert(scale >= 0 && scale <= BLEND_WEIGHT_MAX - 1);
295
12.9M
  for (int r = 0; r < bh; r++) {
296
12.1M
    const int s_top =
297
12.1M
        BLEND_WEIGHT_MAX >>
298
12.1M
        AVMMIN(blk_size_log2[BLEND_WEIGHT_MAX << 1], ((r << 1) >> scale));
299
12.1M
    const uint16_t l = left[r];
300
369M
    for (int c = 0; c < bw; c++) {
301
357M
      const int s_left =
302
357M
          BLEND_WEIGHT_MAX >>
303
357M
          AVMMIN(blk_size_log2[BLEND_WEIGHT_MAX << 1], ((c << 1) >> scale));
304
357M
      const uint16_t top = above[c];
305
357M
      const int blend_max_log2 = blk_size_log2[BLEND_WEIGHT_MAX];
306
357M
      uint16_t predv =
307
357M
          bl + divide_round(((int16_t)above[c] - (int16_t)bl) * (bh - 1 - r),
308
357M
                            blk_size_log2[bh]);
309
357M
      uint16_t predh =
310
357M
          tr + divide_round(((int16_t)left[r] - (int16_t)tr) * (bw - 1 - c),
311
357M
                            blk_size_log2[bw]);
312
357M
      predv = predv + divide_round(((int16_t)top - (int16_t)predv) * s_top,
313
357M
                                   (blend_max_log2 + 1));
314
357M
      assert(predv < (1 << bd));
315
357M
      predh = predh + divide_round(((int16_t)l - (int16_t)predh) * s_left,
316
357M
                                   (blend_max_log2 + 1));
317
357M
      assert(predh < (1 << bd));
318
357M
      pred[c] = divide_round((predv + predh), 1);
319
357M
      assert(pred[c] < (1 << bd));
320
357M
    }
321
12.1M
    pred += stride;
322
12.1M
  }
323
728k
}
324
325
static INLINE void highbd_smooth_v_predictor(uint16_t *dst, ptrdiff_t stride,
326
                                             int bw, int bh,
327
                                             const uint16_t *above,
328
200k
                                             const uint16_t *left, int bd) {
329
200k
  (void)bd;
330
200k
  const uint16_t bl = left[bh];  // estimated by bottom-left pixel
331
332
200k
  uint16_t *pred = dst;
333
200k
  const int scale =
334
200k
      ROUND_POWER_OF_TWO((blk_size_log2[bh] - 2 + blk_size_log2[bw] - 2), 2);
335
200k
  assert(scale >= 0 && scale <= BLEND_WEIGHT_MAX - 1);
336
3.67M
  for (int r = 0; r < bh; ++r) {
337
3.47M
    const int s_top =
338
3.47M
        BLEND_WEIGHT_MAX >>
339
3.47M
        AVMMIN(blk_size_log2[BLEND_WEIGHT_MAX << 1], ((r << 1) >> scale));
340
113M
    for (int c = 0; c < bw; ++c) {
341
109M
      const uint16_t top = above[c];
342
109M
      const int blend_max_log2 = blk_size_log2[BLEND_WEIGHT_MAX];
343
109M
      uint16_t predv =
344
109M
          bl + divide_round(((int16_t)above[c] - (int16_t)bl) * (bh - 1 - r),
345
109M
                            blk_size_log2[bh]);
346
109M
      pred[c] = predv + divide_round(((int16_t)top - (int16_t)predv) * s_top,
347
109M
                                     (blend_max_log2 + 1));
348
109M
      assert(pred[c] < (1 << bd));
349
109M
    }
350
3.47M
    pred += stride;
351
3.47M
  }
352
200k
}
353
354
static INLINE void highbd_smooth_h_predictor(uint16_t *dst, ptrdiff_t stride,
355
                                             int bw, int bh,
356
                                             const uint16_t *above,
357
217k
                                             const uint16_t *left, int bd) {
358
217k
  (void)bd;
359
217k
  const uint16_t tr = above[bw];  // estimated by top-right pixel
360
361
217k
  uint16_t *pred = dst;
362
217k
  const int scale =
363
217k
      ROUND_POWER_OF_TWO((blk_size_log2[bh] - 2 + blk_size_log2[bw] - 2), 2);
364
217k
  assert(scale >= 0 && scale <= BLEND_WEIGHT_MAX - 1);
365
4.07M
  for (int r = 0; r < bh; r++) {
366
3.85M
    const uint16_t l = left[r];
367
123M
    for (int c = 0; c < bw; c++) {
368
120M
      const int s_left =
369
120M
          BLEND_WEIGHT_MAX >>
370
120M
          AVMMIN(blk_size_log2[BLEND_WEIGHT_MAX << 1], ((c << 1) >> scale));
371
120M
      const int blend_max_log2 = blk_size_log2[BLEND_WEIGHT_MAX];
372
120M
      uint16_t predh =
373
120M
          tr + divide_round(((int16_t)left[r] - (int16_t)tr) * (bw - 1 - c),
374
120M
                            blk_size_log2[bw]);
375
120M
      pred[c] = predh + divide_round(((int16_t)l - (int16_t)predh) * s_left,
376
120M
                                     (blend_max_log2 + 1));
377
120M
      assert(pred[c] < (1 << bd));
378
120M
    }
379
3.85M
    pred += stride;
380
3.85M
  }
381
217k
}
382
383
static INLINE void highbd_dc_128_predictor(uint16_t *dst, ptrdiff_t stride,
384
                                           int bw, int bh,
385
                                           const uint16_t *above,
386
55.5k
                                           const uint16_t *left, int bd) {
387
55.5k
  int r;
388
55.5k
  (void)above;
389
55.5k
  (void)left;
390
391
2.58M
  for (r = 0; r < bh; r++) {
392
2.53M
    avm_memset16(dst, 128 << (bd - 8), bw);
393
2.53M
    dst += stride;
394
2.53M
  }
395
55.5k
}
396
397
static INLINE void highbd_dc_left_predictor(uint16_t *dst, ptrdiff_t stride,
398
                                            int bw, int bh,
399
                                            const uint16_t *above,
400
63.6k
                                            const uint16_t *left, int bd) {
401
63.6k
  int i, r, expected_dc, sum = 0;
402
63.6k
  (void)above;
403
63.6k
  (void)bd;
404
405
2.92M
  for (i = 0; i < bh; i++) sum += left[i];
406
63.6k
  expected_dc = (sum + (bh >> 1)) / bh;
407
408
2.70M
  for (r = 0; r < bh; r++) {
409
2.64M
    avm_memset16(dst, expected_dc, bw);
410
2.64M
    dst += stride;
411
2.64M
  }
412
63.6k
}
413
414
static INLINE void highbd_dc_top_predictor(uint16_t *dst, ptrdiff_t stride,
415
                                           int bw, int bh,
416
                                           const uint16_t *above,
417
129k
                                           const uint16_t *left, int bd) {
418
129k
  int i, r, expected_dc, sum = 0;
419
129k
  (void)left;
420
129k
  (void)bd;
421
422
5.47M
  for (i = 0; i < bw; i++) sum += above[i];
423
129k
  expected_dc = (sum + (bw >> 1)) / bw;
424
425
5.10M
  for (r = 0; r < bh; r++) {
426
4.98M
    avm_memset16(dst, expected_dc, bw);
427
4.98M
    dst += stride;
428
4.98M
  }
429
129k
}
430
431
static INLINE void highbd_dc_predictor(uint16_t *dst, ptrdiff_t stride, int bw,
432
                                       int bh, const uint16_t *above,
433
98.5k
                                       const uint16_t *left, int bd) {
434
98.5k
  int i, r, expected_dc, sum = 0;
435
98.5k
  const int count = bw + bh;
436
98.5k
  (void)bd;
437
438
6.40M
  for (i = 0; i < bw; i++) {
439
6.30M
    sum += above[i];
440
6.30M
  }
441
6.40M
  for (i = 0; i < bh; i++) {
442
6.30M
    sum += left[i];
443
6.30M
  }
444
445
98.5k
  expected_dc = (sum + (count >> 1)) / count;
446
447
6.17M
  for (r = 0; r < bh; r++) {
448
6.07M
    avm_memset16(dst, expected_dc, bw);
449
6.07M
    dst += stride;
450
6.07M
  }
451
98.5k
}
452
453
const uint8_t ibp_weights[5][16] = {
454
  { 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
455
  { 86, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
456
  { 77, 90, 102, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
457
  { 71, 78, 86, 92, 100, 107, 114, 121, 0, 0, 0, 0, 0, 0, 0, 0 },
458
  { 68, 72, 76, 79, 83, 87, 90, 94, 98, 102, 106, 109, 113, 117, 121, 124 }
459
};
460
461
const uint8_t size_to_weights_index[9] = { 0, 1, 2, 0, 3, 0, 0, 0, 4 };
462
static INLINE void highbd_ibp_dc_left_predictor(uint16_t *dst, ptrdiff_t stride,
463
                                                int bw, int bh,
464
                                                const uint16_t *above,
465
67.5k
                                                const uint16_t *left, int bd) {
466
67.5k
  int r, c;
467
67.5k
  (void)above;
468
67.5k
  (void)bd;
469
470
67.5k
  int len = bw >> 2;
471
67.5k
  const uint8_t weights_index = size_to_weights_index[bw >> 3];
472
67.5k
  const uint8_t *weights = ibp_weights[weights_index];
473
2.59M
  for (r = 0; r < bh; r++) {
474
35.7M
    for (c = 0; c < len; c++) {
475
33.2M
      int val = ROUND_POWER_OF_TWO(
476
33.2M
          left[r] * (IBP_WEIGHT_REF - weights[c]) + dst[c] * weights[c],
477
33.2M
          IBP_WEIGHT_SHIFT);
478
33.2M
      dst[c] = val;
479
33.2M
    }
480
2.53M
    dst += stride;
481
2.53M
  }
482
67.5k
}
483
484
static INLINE void highbd_ibp_dc_top_predictor(uint16_t *dst, ptrdiff_t stride,
485
                                               int bw, int bh,
486
                                               const uint16_t *above,
487
175k
                                               const uint16_t *left, int bd) {
488
175k
  int r, c;
489
175k
  (void)left;
490
175k
  (void)bd;
491
492
175k
  int len = bh >> 2;
493
175k
  const uint8_t weights_index = size_to_weights_index[bh >> 3];
494
175k
  const uint8_t *weights = ibp_weights[weights_index];
495
1.69M
  for (r = 0; r < len; r++) {
496
65.7M
    for (c = 0; c < bw; c++) {
497
64.2M
      int val = ROUND_POWER_OF_TWO(
498
64.2M
          above[c] * (IBP_WEIGHT_REF - weights[r]) + dst[c] * weights[r],
499
64.2M
          IBP_WEIGHT_SHIFT);
500
64.2M
      dst[c] = val;
501
64.2M
    }
502
1.51M
    dst += stride;
503
1.51M
  }
504
175k
}
505
506
static INLINE void highbd_ibp_dc_predictor(uint16_t *dst, ptrdiff_t stride,
507
                                           int bw, int bh,
508
                                           const uint16_t *above,
509
411k
                                           const uint16_t *left, int bd) {
510
411k
  int r, c;
511
411k
  (void)bd;
512
513
411k
  uint16_t *orig_dst = dst;
514
411k
  int len_h = bh >> 2;
515
411k
  int len_w = bw >> 2;
516
411k
  int row_start = 0;
517
411k
  int col_start = 0;
518
411k
  if (bw >= bh)
519
294k
    row_start = len_h;
520
117k
  else
521
117k
    col_start = len_w;
522
411k
  uint8_t weights_index = size_to_weights_index[bh >> 3];
523
411k
  const uint8_t *weights = ibp_weights[weights_index];
524
3.25M
  for (r = 0; r < len_h; r++) {
525
112M
    for (c = col_start; c < bw; c++) {
526
109M
      int val = ROUND_POWER_OF_TWO(
527
109M
          above[c] * (IBP_WEIGHT_REF - weights[r]) + dst[c] * weights[r],
528
109M
          IBP_WEIGHT_SHIFT);
529
109M
      dst[c] = val;
530
109M
    }
531
2.84M
    dst += stride;
532
2.84M
  }
533
411k
  dst = orig_dst + row_start * stride;
534
411k
  weights_index = size_to_weights_index[bw >> 3];
535
411k
  weights = ibp_weights[weights_index];
536
9.77M
  for (r = row_start; r < bh; r++) {
537
97.1M
    for (c = 0; c < len_w; c++) {
538
87.7M
      int val = ROUND_POWER_OF_TWO(
539
87.7M
          left[r] * (IBP_WEIGHT_REF - weights[c]) + dst[c] * weights[c],
540
87.7M
          IBP_WEIGHT_SHIFT);
541
87.7M
      dst[c] = val;
542
87.7M
    }
543
9.36M
    dst += stride;
544
9.36M
  }
545
411k
}
546
547
static INLINE void ibp_dc_left_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
548
                                         int bh, const uint8_t *above,
549
0
                                         const uint8_t *left) {
550
0
  int r, c;
551
0
  (void)above;
552
553
0
  const uint8_t weights_index = size_to_weights_index[bw >> 3];
554
0
  const uint8_t *weights = ibp_weights[weights_index];
555
0
  int len = bw >> 2;
556
0
  for (r = 0; r < bh; r++) {
557
0
    for (c = 0; c < len; c++) {
558
0
      int val = ROUND_POWER_OF_TWO(
559
0
          left[r] * (IBP_WEIGHT_REF - weights[c]) + dst[c] * weights[c],
560
0
          IBP_WEIGHT_SHIFT);
561
0
      dst[c] = val;
562
0
    }
563
0
    dst += stride;
564
0
  }
565
0
}
566
567
static INLINE void ibp_dc_top_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
568
                                        int bh, const uint8_t *above,
569
0
                                        const uint8_t *left) {
570
0
  int r, c;
571
0
  (void)left;
572
573
0
  const uint8_t weights_index = size_to_weights_index[bh >> 3];
574
0
  const uint8_t *weights = ibp_weights[weights_index];
575
0
  int len = bh >> 2;
576
0
  for (r = 0; r < len; r++) {
577
0
    for (c = 0; c < bw; c++) {
578
0
      int val = ROUND_POWER_OF_TWO(
579
0
          above[c] * (IBP_WEIGHT_REF - weights[r]) + dst[c] * weights[r],
580
0
          IBP_WEIGHT_SHIFT);
581
0
      dst[c] = val;
582
0
    }
583
0
    dst += stride;
584
0
  }
585
0
}
586
587
static INLINE void ibp_dc_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
588
                                    int bh, const uint8_t *above,
589
0
                                    const uint8_t *left) {
590
0
  int r, c;
591
0
  uint8_t *orig_dst = dst;
592
0
  uint8_t weights_index = size_to_weights_index[bh >> 3];
593
0
  const uint8_t *weights = ibp_weights[weights_index];
594
0
  int len_w = bw >> 2;
595
0
  int len_h = bh >> 2;
596
0
  int row_start = 0;
597
0
  int col_start = 0;
598
0
  if (bw >= bh)
599
0
    row_start = len_h;
600
0
  else
601
0
    col_start = len_w;
602
0
  for (r = 0; r < len_h; r++) {
603
0
    for (c = col_start; c < bw; c++) {
604
0
      int val = ROUND_POWER_OF_TWO(
605
0
          above[c] * (IBP_WEIGHT_REF - weights[r]) + dst[c] * weights[r],
606
0
          IBP_WEIGHT_SHIFT);
607
0
      dst[c] = val;
608
0
    }
609
0
    dst += stride;
610
0
  }
611
0
  dst = orig_dst + row_start * stride;
612
0
  weights_index = size_to_weights_index[bw >> 3];
613
0
  weights = ibp_weights[weights_index];
614
0
  for (r = row_start; r < bh; r++) {
615
0
    for (c = 0; c < len_w; c++) {
616
0
      int val = ROUND_POWER_OF_TWO(
617
0
          left[r] * (IBP_WEIGHT_REF - weights[c]) + dst[c] * weights[c],
618
0
          IBP_WEIGHT_SHIFT);
619
0
      dst[c] = val;
620
0
    }
621
0
    dst += stride;
622
0
  }
623
0
}
624
625
// The constants (multiplier and shifts) for a given block size are obtained
626
// as follows:
627
// - Let sum_w_h =  block width + block height.
628
// - Shift 'sum_w_h' right until we reach an odd number. Let the number of
629
// shifts for that block size be called 'shift1' (see the parameter in
630
// dc_predictor_rect() function), and let the odd number be 'd'.
631
// d has only 4 possible values:
632
// * d = 3 for a 1:2 rect block,
633
// * d = 5 for a 1:4 rect block,
634
// * d = 9 for a 1:8 rect block,
635
// * d = 17 for a 1:16 rect block,
636
// - Find multipliers for dividing by 3, 5, 9 and 17 using the "Algorithm 1" in:
637
// http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1467632
638
// by ensuring that m + n = 21 (in that algorithm). This ensures that our 2nd
639
// shift will be 21, regardless of the block size.
640
// Note: Strictly speaking, 2nd shift needs to be 21 only for bit depth = 12
641
// and rectangular blocks with ratio 1:16/16:1.
642
// Other cases can use scaled-down multipliers with a smaller shifts instead.
643
// This special optimization can be used when writing assembly code.
644
#define HIGHBD_DC_SHIFT2 21
645
#define HIGHBD_DC_MULTIPLIER_1X2 0xAAAAB
646
// Note: This constant is odd, but a smaller even constant (0x199a) with the
647
// appropriate shift should work for neon in 8/10-bit.
648
#define HIGHBD_DC_MULTIPLIER_1X4 0x66667
649
#define HIGHBD_DC_MULTIPLIER_1X8 0x38E39
650
#define HIGHBD_DC_MULTIPLIER_1X16 0x1E1E2
651
652
static INLINE void highbd_dc_predictor_rect(uint16_t *dst, ptrdiff_t stride,
653
                                            int bw, int bh,
654
                                            const uint16_t *above,
655
253k
                                            const uint16_t *left, int bd) {
656
253k
  int sum = 0;
657
658
5.43M
  for (int i = 0; i < bw; i++) {
659
5.18M
    sum += above[i];
660
5.18M
  }
661
5.65M
  for (int i = 0; i < bh; i++) {
662
5.40M
    sum += left[i];
663
5.40M
  }
664
665
253k
  int16_t shift = 0;
666
253k
  uint16_t scale = resolve_divisor_32(bw + bh, &shift);
667
253k
  uint16_t rounding = 1 << shift >> 1;
668
253k
  const int expected_dc =
669
253k
      clip_pixel_highbd((sum * scale + rounding) >> shift, bd);
670
671
5.56M
  for (int r = 0; r < bh; r++) {
672
5.30M
    avm_memset16(dst, expected_dc, bw);
673
5.30M
    dst += stride;
674
5.30M
  }
675
253k
}
676
677
#undef HIGHBD_DC_SHIFT2
678
679
void avm_highbd_dc_predictor_4x8_c(uint16_t *dst, ptrdiff_t stride,
680
                                   const uint16_t *above, const uint16_t *left,
681
0
                                   int bd) {
682
0
  highbd_dc_predictor_rect(dst, stride, 4, 8, above, left, bd);
683
0
}
684
685
void avm_highbd_dc_predictor_8x4_c(uint16_t *dst, ptrdiff_t stride,
686
                                   const uint16_t *above, const uint16_t *left,
687
0
                                   int bd) {
688
0
  highbd_dc_predictor_rect(dst, stride, 8, 4, above, left, bd);
689
0
}
690
691
void avm_highbd_dc_predictor_4x16_c(uint16_t *dst, ptrdiff_t stride,
692
                                    const uint16_t *above, const uint16_t *left,
693
45.5k
                                    int bd) {
694
45.5k
  highbd_dc_predictor_rect(dst, stride, 4, 16, above, left, bd);
695
45.5k
}
696
697
void avm_highbd_dc_predictor_16x4_c(uint16_t *dst, ptrdiff_t stride,
698
                                    const uint16_t *above, const uint16_t *left,
699
38.7k
                                    int bd) {
700
38.7k
  highbd_dc_predictor_rect(dst, stride, 16, 4, above, left, bd);
701
38.7k
}
702
703
void avm_highbd_dc_predictor_8x16_c(uint16_t *dst, ptrdiff_t stride,
704
                                    const uint16_t *above, const uint16_t *left,
705
0
                                    int bd) {
706
0
  highbd_dc_predictor_rect(dst, stride, 8, 16, above, left, bd);
707
0
}
708
709
void avm_highbd_dc_predictor_16x8_c(uint16_t *dst, ptrdiff_t stride,
710
                                    const uint16_t *above, const uint16_t *left,
711
0
                                    int bd) {
712
0
  highbd_dc_predictor_rect(dst, stride, 16, 8, above, left, bd);
713
0
}
714
715
void avm_highbd_dc_predictor_8x32_c(uint16_t *dst, ptrdiff_t stride,
716
                                    const uint16_t *above, const uint16_t *left,
717
38.8k
                                    int bd) {
718
38.8k
  highbd_dc_predictor_rect(dst, stride, 8, 32, above, left, bd);
719
38.8k
}
720
721
void avm_highbd_dc_predictor_32x8_c(uint16_t *dst, ptrdiff_t stride,
722
                                    const uint16_t *above, const uint16_t *left,
723
47.2k
                                    int bd) {
724
47.2k
  highbd_dc_predictor_rect(dst, stride, 32, 8, above, left, bd);
725
47.2k
}
726
727
void avm_highbd_dc_predictor_16x32_c(uint16_t *dst, ptrdiff_t stride,
728
                                     const uint16_t *above,
729
0
                                     const uint16_t *left, int bd) {
730
0
  highbd_dc_predictor_rect(dst, stride, 16, 32, above, left, bd);
731
0
}
732
733
void avm_highbd_dc_predictor_32x16_c(uint16_t *dst, ptrdiff_t stride,
734
                                     const uint16_t *above,
735
0
                                     const uint16_t *left, int bd) {
736
0
  highbd_dc_predictor_rect(dst, stride, 32, 16, above, left, bd);
737
0
}
738
739
void avm_highbd_dc_predictor_16x64_c(uint16_t *dst, ptrdiff_t stride,
740
                                     const uint16_t *above,
741
10.9k
                                     const uint16_t *left, int bd) {
742
10.9k
  highbd_dc_predictor_rect(dst, stride, 16, 64, above, left, bd);
743
10.9k
}
744
745
void avm_highbd_dc_predictor_64x16_c(uint16_t *dst, ptrdiff_t stride,
746
                                     const uint16_t *above,
747
8.98k
                                     const uint16_t *left, int bd) {
748
8.98k
  highbd_dc_predictor_rect(dst, stride, 64, 16, above, left, bd);
749
8.98k
}
750
751
void avm_highbd_dc_predictor_32x64_c(uint16_t *dst, ptrdiff_t stride,
752
                                     const uint16_t *above,
753
10.2k
                                     const uint16_t *left, int bd) {
754
10.2k
  highbd_dc_predictor_rect(dst, stride, 32, 64, above, left, bd);
755
10.2k
}
756
757
void avm_highbd_dc_predictor_64x32_c(uint16_t *dst, ptrdiff_t stride,
758
                                     const uint16_t *above,
759
11.2k
                                     const uint16_t *left, int bd) {
760
11.2k
  highbd_dc_predictor_rect(dst, stride, 64, 32, above, left, bd);
761
11.2k
}
762
763
void avm_highbd_dc_predictor_4x32_c(uint16_t *dst, ptrdiff_t stride,
764
                                    const uint16_t *above, const uint16_t *left,
765
18.7k
                                    int bd) {
766
18.7k
  highbd_dc_predictor_rect(dst, stride, 4, 32, above, left, bd);
767
18.7k
}
768
769
void avm_highbd_dc_predictor_32x4_c(uint16_t *dst, ptrdiff_t stride,
770
                                    const uint16_t *above, const uint16_t *left,
771
13.5k
                                    int bd) {
772
13.5k
  highbd_dc_predictor_rect(dst, stride, 32, 4, above, left, bd);
773
13.5k
}
774
775
void avm_highbd_dc_predictor_8x64_c(uint16_t *dst, ptrdiff_t stride,
776
                                    const uint16_t *above, const uint16_t *left,
777
4.57k
                                    int bd) {
778
4.57k
  highbd_dc_predictor_rect(dst, stride, 8, 64, above, left, bd);
779
4.57k
}
780
781
void avm_highbd_dc_predictor_64x8_c(uint16_t *dst, ptrdiff_t stride,
782
                                    const uint16_t *above, const uint16_t *left,
783
3.04k
                                    int bd) {
784
3.04k
  highbd_dc_predictor_rect(dst, stride, 64, 8, above, left, bd);
785
3.04k
}
786
787
void avm_highbd_dc_predictor_4x64_c(uint16_t *dst, ptrdiff_t stride,
788
                                    const uint16_t *above, const uint16_t *left,
789
1.06k
                                    int bd) {
790
1.06k
  highbd_dc_predictor_rect(dst, stride, 4, 64, above, left, bd);
791
1.06k
}
792
793
void avm_highbd_dc_predictor_64x4_c(uint16_t *dst, ptrdiff_t stride,
794
                                    const uint16_t *above, const uint16_t *left,
795
235
                                    int bd) {
796
235
  highbd_dc_predictor_rect(dst, stride, 64, 4, above, left, bd);
797
235
}
798
799
// This serves as a wrapper function, so that all the prediction functions
800
// can be unified and accessed as a pointer array. Note that the boundary
801
// above and left are not necessarily used all the time.
802
#define intra_pred_sized(type, width, height)                  \
803
  void avm_##type##_predictor_##width##x##height##_c(          \
804
      uint8_t *dst, ptrdiff_t stride, const uint8_t *above,    \
805
0
      const uint8_t *left) {                                   \
806
0
    type##_predictor(dst, stride, width, height, above, left); \
807
0
  }
Unexecuted instantiation: avm_v_predictor_4x4_c
Unexecuted instantiation: avm_v_predictor_8x8_c
Unexecuted instantiation: avm_v_predictor_16x16_c
Unexecuted instantiation: avm_v_predictor_32x32_c
Unexecuted instantiation: avm_v_predictor_64x64_c
Unexecuted instantiation: avm_v_predictor_4x8_c
Unexecuted instantiation: avm_v_predictor_8x4_c
Unexecuted instantiation: avm_v_predictor_8x16_c
Unexecuted instantiation: avm_v_predictor_16x8_c
Unexecuted instantiation: avm_v_predictor_16x32_c
Unexecuted instantiation: avm_v_predictor_32x16_c
Unexecuted instantiation: avm_v_predictor_32x64_c
Unexecuted instantiation: avm_v_predictor_64x32_c
Unexecuted instantiation: avm_v_predictor_4x16_c
Unexecuted instantiation: avm_v_predictor_16x4_c
Unexecuted instantiation: avm_v_predictor_8x32_c
Unexecuted instantiation: avm_v_predictor_32x8_c
Unexecuted instantiation: avm_v_predictor_16x64_c
Unexecuted instantiation: avm_v_predictor_64x16_c
Unexecuted instantiation: avm_v_predictor_4x32_c
Unexecuted instantiation: avm_v_predictor_32x4_c
Unexecuted instantiation: avm_v_predictor_8x64_c
Unexecuted instantiation: avm_v_predictor_64x8_c
Unexecuted instantiation: avm_v_predictor_4x64_c
Unexecuted instantiation: avm_v_predictor_64x4_c
Unexecuted instantiation: avm_h_predictor_4x4_c
Unexecuted instantiation: avm_h_predictor_8x8_c
Unexecuted instantiation: avm_h_predictor_16x16_c
Unexecuted instantiation: avm_h_predictor_32x32_c
Unexecuted instantiation: avm_h_predictor_64x64_c
Unexecuted instantiation: avm_h_predictor_4x8_c
Unexecuted instantiation: avm_h_predictor_8x4_c
Unexecuted instantiation: avm_h_predictor_8x16_c
Unexecuted instantiation: avm_h_predictor_16x8_c
Unexecuted instantiation: avm_h_predictor_16x32_c
Unexecuted instantiation: avm_h_predictor_32x16_c
Unexecuted instantiation: avm_h_predictor_32x64_c
Unexecuted instantiation: avm_h_predictor_64x32_c
Unexecuted instantiation: avm_h_predictor_4x16_c
Unexecuted instantiation: avm_h_predictor_16x4_c
Unexecuted instantiation: avm_h_predictor_8x32_c
Unexecuted instantiation: avm_h_predictor_32x8_c
Unexecuted instantiation: avm_h_predictor_16x64_c
Unexecuted instantiation: avm_h_predictor_64x16_c
Unexecuted instantiation: avm_h_predictor_4x32_c
Unexecuted instantiation: avm_h_predictor_32x4_c
Unexecuted instantiation: avm_h_predictor_8x64_c
Unexecuted instantiation: avm_h_predictor_64x8_c
Unexecuted instantiation: avm_h_predictor_4x64_c
Unexecuted instantiation: avm_h_predictor_64x4_c
Unexecuted instantiation: avm_smooth_predictor_4x4_c
Unexecuted instantiation: avm_smooth_predictor_8x8_c
Unexecuted instantiation: avm_smooth_predictor_16x16_c
Unexecuted instantiation: avm_smooth_predictor_32x32_c
Unexecuted instantiation: avm_smooth_predictor_64x64_c
Unexecuted instantiation: avm_smooth_predictor_4x8_c
Unexecuted instantiation: avm_smooth_predictor_8x4_c
Unexecuted instantiation: avm_smooth_predictor_8x16_c
Unexecuted instantiation: avm_smooth_predictor_16x8_c
Unexecuted instantiation: avm_smooth_predictor_16x32_c
Unexecuted instantiation: avm_smooth_predictor_32x16_c
Unexecuted instantiation: avm_smooth_predictor_32x64_c
Unexecuted instantiation: avm_smooth_predictor_64x32_c
Unexecuted instantiation: avm_smooth_predictor_4x16_c
Unexecuted instantiation: avm_smooth_predictor_16x4_c
Unexecuted instantiation: avm_smooth_predictor_8x32_c
Unexecuted instantiation: avm_smooth_predictor_32x8_c
Unexecuted instantiation: avm_smooth_predictor_16x64_c
Unexecuted instantiation: avm_smooth_predictor_64x16_c
Unexecuted instantiation: avm_smooth_predictor_4x32_c
Unexecuted instantiation: avm_smooth_predictor_32x4_c
Unexecuted instantiation: avm_smooth_predictor_8x64_c
Unexecuted instantiation: avm_smooth_predictor_64x8_c
Unexecuted instantiation: avm_smooth_predictor_4x64_c
Unexecuted instantiation: avm_smooth_predictor_64x4_c
Unexecuted instantiation: avm_smooth_v_predictor_4x4_c
Unexecuted instantiation: avm_smooth_v_predictor_8x8_c
Unexecuted instantiation: avm_smooth_v_predictor_16x16_c
Unexecuted instantiation: avm_smooth_v_predictor_32x32_c
Unexecuted instantiation: avm_smooth_v_predictor_64x64_c
Unexecuted instantiation: avm_smooth_v_predictor_4x8_c
Unexecuted instantiation: avm_smooth_v_predictor_8x4_c
Unexecuted instantiation: avm_smooth_v_predictor_8x16_c
Unexecuted instantiation: avm_smooth_v_predictor_16x8_c
Unexecuted instantiation: avm_smooth_v_predictor_16x32_c
Unexecuted instantiation: avm_smooth_v_predictor_32x16_c
Unexecuted instantiation: avm_smooth_v_predictor_32x64_c
Unexecuted instantiation: avm_smooth_v_predictor_64x32_c
Unexecuted instantiation: avm_smooth_v_predictor_4x16_c
Unexecuted instantiation: avm_smooth_v_predictor_16x4_c
Unexecuted instantiation: avm_smooth_v_predictor_8x32_c
Unexecuted instantiation: avm_smooth_v_predictor_32x8_c
Unexecuted instantiation: avm_smooth_v_predictor_16x64_c
Unexecuted instantiation: avm_smooth_v_predictor_64x16_c
Unexecuted instantiation: avm_smooth_v_predictor_4x32_c
Unexecuted instantiation: avm_smooth_v_predictor_32x4_c
Unexecuted instantiation: avm_smooth_v_predictor_8x64_c
Unexecuted instantiation: avm_smooth_v_predictor_64x8_c
Unexecuted instantiation: avm_smooth_v_predictor_4x64_c
Unexecuted instantiation: avm_smooth_v_predictor_64x4_c
Unexecuted instantiation: avm_smooth_h_predictor_4x4_c
Unexecuted instantiation: avm_smooth_h_predictor_8x8_c
Unexecuted instantiation: avm_smooth_h_predictor_16x16_c
Unexecuted instantiation: avm_smooth_h_predictor_32x32_c
Unexecuted instantiation: avm_smooth_h_predictor_64x64_c
Unexecuted instantiation: avm_smooth_h_predictor_4x8_c
Unexecuted instantiation: avm_smooth_h_predictor_8x4_c
Unexecuted instantiation: avm_smooth_h_predictor_8x16_c
Unexecuted instantiation: avm_smooth_h_predictor_16x8_c
Unexecuted instantiation: avm_smooth_h_predictor_16x32_c
Unexecuted instantiation: avm_smooth_h_predictor_32x16_c
Unexecuted instantiation: avm_smooth_h_predictor_32x64_c
Unexecuted instantiation: avm_smooth_h_predictor_64x32_c
Unexecuted instantiation: avm_smooth_h_predictor_4x16_c
Unexecuted instantiation: avm_smooth_h_predictor_16x4_c
Unexecuted instantiation: avm_smooth_h_predictor_8x32_c
Unexecuted instantiation: avm_smooth_h_predictor_32x8_c
Unexecuted instantiation: avm_smooth_h_predictor_16x64_c
Unexecuted instantiation: avm_smooth_h_predictor_64x16_c
Unexecuted instantiation: avm_smooth_h_predictor_4x32_c
Unexecuted instantiation: avm_smooth_h_predictor_32x4_c
Unexecuted instantiation: avm_smooth_h_predictor_8x64_c
Unexecuted instantiation: avm_smooth_h_predictor_64x8_c
Unexecuted instantiation: avm_smooth_h_predictor_4x64_c
Unexecuted instantiation: avm_smooth_h_predictor_64x4_c
Unexecuted instantiation: avm_paeth_predictor_4x4_c
Unexecuted instantiation: avm_paeth_predictor_8x8_c
Unexecuted instantiation: avm_paeth_predictor_16x16_c
Unexecuted instantiation: avm_paeth_predictor_32x32_c
Unexecuted instantiation: avm_paeth_predictor_64x64_c
Unexecuted instantiation: avm_paeth_predictor_4x8_c
Unexecuted instantiation: avm_paeth_predictor_8x4_c
Unexecuted instantiation: avm_paeth_predictor_8x16_c
Unexecuted instantiation: avm_paeth_predictor_16x8_c
Unexecuted instantiation: avm_paeth_predictor_16x32_c
Unexecuted instantiation: avm_paeth_predictor_32x16_c
Unexecuted instantiation: avm_paeth_predictor_32x64_c
Unexecuted instantiation: avm_paeth_predictor_64x32_c
Unexecuted instantiation: avm_paeth_predictor_4x16_c
Unexecuted instantiation: avm_paeth_predictor_16x4_c
Unexecuted instantiation: avm_paeth_predictor_8x32_c
Unexecuted instantiation: avm_paeth_predictor_32x8_c
Unexecuted instantiation: avm_paeth_predictor_16x64_c
Unexecuted instantiation: avm_paeth_predictor_64x16_c
Unexecuted instantiation: avm_paeth_predictor_4x32_c
Unexecuted instantiation: avm_paeth_predictor_32x4_c
Unexecuted instantiation: avm_paeth_predictor_8x64_c
Unexecuted instantiation: avm_paeth_predictor_64x8_c
Unexecuted instantiation: avm_paeth_predictor_4x64_c
Unexecuted instantiation: avm_paeth_predictor_64x4_c
Unexecuted instantiation: avm_dc_128_predictor_4x4_c
Unexecuted instantiation: avm_dc_128_predictor_8x8_c
Unexecuted instantiation: avm_dc_128_predictor_16x16_c
Unexecuted instantiation: avm_dc_128_predictor_32x32_c
Unexecuted instantiation: avm_dc_128_predictor_64x64_c
Unexecuted instantiation: avm_dc_128_predictor_4x8_c
Unexecuted instantiation: avm_dc_128_predictor_8x4_c
Unexecuted instantiation: avm_dc_128_predictor_8x16_c
Unexecuted instantiation: avm_dc_128_predictor_16x8_c
Unexecuted instantiation: avm_dc_128_predictor_16x32_c
Unexecuted instantiation: avm_dc_128_predictor_32x16_c
Unexecuted instantiation: avm_dc_128_predictor_32x64_c
Unexecuted instantiation: avm_dc_128_predictor_64x32_c
Unexecuted instantiation: avm_dc_128_predictor_4x16_c
Unexecuted instantiation: avm_dc_128_predictor_16x4_c
Unexecuted instantiation: avm_dc_128_predictor_8x32_c
Unexecuted instantiation: avm_dc_128_predictor_32x8_c
Unexecuted instantiation: avm_dc_128_predictor_16x64_c
Unexecuted instantiation: avm_dc_128_predictor_64x16_c
Unexecuted instantiation: avm_dc_128_predictor_4x32_c
Unexecuted instantiation: avm_dc_128_predictor_32x4_c
Unexecuted instantiation: avm_dc_128_predictor_8x64_c
Unexecuted instantiation: avm_dc_128_predictor_64x8_c
Unexecuted instantiation: avm_dc_128_predictor_4x64_c
Unexecuted instantiation: avm_dc_128_predictor_64x4_c
Unexecuted instantiation: avm_dc_left_predictor_4x4_c
Unexecuted instantiation: avm_dc_left_predictor_8x8_c
Unexecuted instantiation: avm_dc_left_predictor_16x16_c
Unexecuted instantiation: avm_dc_left_predictor_32x32_c
Unexecuted instantiation: avm_dc_left_predictor_64x64_c
Unexecuted instantiation: avm_dc_left_predictor_4x8_c
Unexecuted instantiation: avm_dc_left_predictor_8x4_c
Unexecuted instantiation: avm_dc_left_predictor_8x16_c
Unexecuted instantiation: avm_dc_left_predictor_16x8_c
Unexecuted instantiation: avm_dc_left_predictor_16x32_c
Unexecuted instantiation: avm_dc_left_predictor_32x16_c
Unexecuted instantiation: avm_dc_left_predictor_32x64_c
Unexecuted instantiation: avm_dc_left_predictor_64x32_c
Unexecuted instantiation: avm_dc_left_predictor_4x16_c
Unexecuted instantiation: avm_dc_left_predictor_16x4_c
Unexecuted instantiation: avm_dc_left_predictor_8x32_c
Unexecuted instantiation: avm_dc_left_predictor_32x8_c
Unexecuted instantiation: avm_dc_left_predictor_16x64_c
Unexecuted instantiation: avm_dc_left_predictor_64x16_c
Unexecuted instantiation: avm_dc_left_predictor_4x32_c
Unexecuted instantiation: avm_dc_left_predictor_32x4_c
Unexecuted instantiation: avm_dc_left_predictor_8x64_c
Unexecuted instantiation: avm_dc_left_predictor_64x8_c
Unexecuted instantiation: avm_dc_left_predictor_4x64_c
Unexecuted instantiation: avm_dc_left_predictor_64x4_c
Unexecuted instantiation: avm_dc_top_predictor_4x4_c
Unexecuted instantiation: avm_dc_top_predictor_8x8_c
Unexecuted instantiation: avm_dc_top_predictor_16x16_c
Unexecuted instantiation: avm_dc_top_predictor_32x32_c
Unexecuted instantiation: avm_dc_top_predictor_64x64_c
Unexecuted instantiation: avm_dc_top_predictor_4x8_c
Unexecuted instantiation: avm_dc_top_predictor_8x4_c
Unexecuted instantiation: avm_dc_top_predictor_8x16_c
Unexecuted instantiation: avm_dc_top_predictor_16x8_c
Unexecuted instantiation: avm_dc_top_predictor_16x32_c
Unexecuted instantiation: avm_dc_top_predictor_32x16_c
Unexecuted instantiation: avm_dc_top_predictor_32x64_c
Unexecuted instantiation: avm_dc_top_predictor_64x32_c
Unexecuted instantiation: avm_dc_top_predictor_4x16_c
Unexecuted instantiation: avm_dc_top_predictor_16x4_c
Unexecuted instantiation: avm_dc_top_predictor_8x32_c
Unexecuted instantiation: avm_dc_top_predictor_32x8_c
Unexecuted instantiation: avm_dc_top_predictor_16x64_c
Unexecuted instantiation: avm_dc_top_predictor_64x16_c
Unexecuted instantiation: avm_dc_top_predictor_4x32_c
Unexecuted instantiation: avm_dc_top_predictor_32x4_c
Unexecuted instantiation: avm_dc_top_predictor_8x64_c
Unexecuted instantiation: avm_dc_top_predictor_64x8_c
Unexecuted instantiation: avm_dc_top_predictor_4x64_c
Unexecuted instantiation: avm_dc_top_predictor_64x4_c
Unexecuted instantiation: avm_dc_predictor_4x4_c
Unexecuted instantiation: avm_dc_predictor_8x8_c
Unexecuted instantiation: avm_dc_predictor_16x16_c
Unexecuted instantiation: avm_dc_predictor_32x32_c
Unexecuted instantiation: avm_dc_predictor_64x64_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_4x4_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_8x8_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_16x16_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_32x32_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_64x64_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_4x8_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_8x4_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_8x16_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_16x8_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_16x32_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_32x16_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_32x64_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_64x32_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_4x16_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_16x4_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_8x32_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_32x8_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_16x64_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_64x16_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_4x32_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_32x4_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_8x64_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_64x8_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_4x64_c
Unexecuted instantiation: avm_ibp_dc_left_predictor_64x4_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_4x4_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_8x8_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_16x16_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_32x32_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_64x64_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_4x8_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_8x4_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_8x16_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_16x8_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_16x32_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_32x16_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_32x64_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_64x32_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_4x16_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_16x4_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_8x32_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_32x8_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_16x64_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_64x16_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_4x32_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_32x4_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_8x64_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_64x8_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_4x64_c
Unexecuted instantiation: avm_ibp_dc_top_predictor_64x4_c
Unexecuted instantiation: avm_ibp_dc_predictor_4x4_c
Unexecuted instantiation: avm_ibp_dc_predictor_8x8_c
Unexecuted instantiation: avm_ibp_dc_predictor_16x16_c
Unexecuted instantiation: avm_ibp_dc_predictor_32x32_c
Unexecuted instantiation: avm_ibp_dc_predictor_64x64_c
Unexecuted instantiation: avm_ibp_dc_predictor_4x8_c
Unexecuted instantiation: avm_ibp_dc_predictor_8x4_c
Unexecuted instantiation: avm_ibp_dc_predictor_8x16_c
Unexecuted instantiation: avm_ibp_dc_predictor_16x8_c
Unexecuted instantiation: avm_ibp_dc_predictor_16x32_c
Unexecuted instantiation: avm_ibp_dc_predictor_32x16_c
Unexecuted instantiation: avm_ibp_dc_predictor_32x64_c
Unexecuted instantiation: avm_ibp_dc_predictor_64x32_c
Unexecuted instantiation: avm_ibp_dc_predictor_4x16_c
Unexecuted instantiation: avm_ibp_dc_predictor_16x4_c
Unexecuted instantiation: avm_ibp_dc_predictor_8x32_c
Unexecuted instantiation: avm_ibp_dc_predictor_32x8_c
Unexecuted instantiation: avm_ibp_dc_predictor_16x64_c
Unexecuted instantiation: avm_ibp_dc_predictor_64x16_c
Unexecuted instantiation: avm_ibp_dc_predictor_4x32_c
Unexecuted instantiation: avm_ibp_dc_predictor_32x4_c
Unexecuted instantiation: avm_ibp_dc_predictor_8x64_c
Unexecuted instantiation: avm_ibp_dc_predictor_64x8_c
Unexecuted instantiation: avm_ibp_dc_predictor_4x64_c
Unexecuted instantiation: avm_ibp_dc_predictor_64x4_c
808
809
#define intra_pred_highbd_sized(type, width, height)                        \
810
  void avm_highbd_##type##_predictor_##width##x##height##_c(                \
811
      uint16_t *dst, ptrdiff_t stride, const uint16_t *above,               \
812
2.43M
      const uint16_t *left, int bd) {                                       \
813
2.43M
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.43M
  }
Unexecuted instantiation: avm_highbd_v_predictor_4x4_c
Unexecuted instantiation: avm_highbd_v_predictor_8x8_c
Unexecuted instantiation: avm_highbd_v_predictor_16x16_c
Unexecuted instantiation: avm_highbd_v_predictor_32x32_c
avm_highbd_v_predictor_64x64_c
Line
Count
Source
812
9.60k
      const uint16_t *left, int bd) {                                       \
813
9.60k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
9.60k
  }
Unexecuted instantiation: avm_highbd_v_predictor_4x8_c
Unexecuted instantiation: avm_highbd_v_predictor_8x4_c
Unexecuted instantiation: avm_highbd_v_predictor_8x16_c
Unexecuted instantiation: avm_highbd_v_predictor_16x8_c
Unexecuted instantiation: avm_highbd_v_predictor_16x32_c
Unexecuted instantiation: avm_highbd_v_predictor_32x16_c
avm_highbd_v_predictor_32x64_c
Line
Count
Source
812
2.34k
      const uint16_t *left, int bd) {                                       \
813
2.34k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.34k
  }
avm_highbd_v_predictor_64x32_c
Line
Count
Source
812
1.76k
      const uint16_t *left, int bd) {                                       \
813
1.76k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.76k
  }
avm_highbd_v_predictor_4x16_c
Line
Count
Source
812
3.45k
      const uint16_t *left, int bd) {                                       \
813
3.45k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.45k
  }
avm_highbd_v_predictor_16x4_c
Line
Count
Source
812
3.39k
      const uint16_t *left, int bd) {                                       \
813
3.39k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.39k
  }
avm_highbd_v_predictor_8x32_c
Line
Count
Source
812
3.90k
      const uint16_t *left, int bd) {                                       \
813
3.90k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.90k
  }
avm_highbd_v_predictor_32x8_c
Line
Count
Source
812
2.71k
      const uint16_t *left, int bd) {                                       \
813
2.71k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.71k
  }
avm_highbd_v_predictor_16x64_c
Line
Count
Source
812
1.49k
      const uint16_t *left, int bd) {                                       \
813
1.49k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.49k
  }
avm_highbd_v_predictor_64x16_c
Line
Count
Source
812
1.85k
      const uint16_t *left, int bd) {                                       \
813
1.85k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.85k
  }
avm_highbd_v_predictor_4x32_c
Line
Count
Source
812
1.33k
      const uint16_t *left, int bd) {                                       \
813
1.33k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.33k
  }
avm_highbd_v_predictor_32x4_c
Line
Count
Source
812
916
      const uint16_t *left, int bd) {                                       \
813
916
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
916
  }
avm_highbd_v_predictor_8x64_c
Line
Count
Source
812
595
      const uint16_t *left, int bd) {                                       \
813
595
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
595
  }
avm_highbd_v_predictor_64x8_c
Line
Count
Source
812
559
      const uint16_t *left, int bd) {                                       \
813
559
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
559
  }
avm_highbd_v_predictor_4x64_c
Line
Count
Source
812
151
      const uint16_t *left, int bd) {                                       \
813
151
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
151
  }
avm_highbd_v_predictor_64x4_c
Line
Count
Source
812
77
      const uint16_t *left, int bd) {                                       \
813
77
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
77
  }
Unexecuted instantiation: avm_highbd_h_predictor_4x4_c
Unexecuted instantiation: avm_highbd_h_predictor_8x8_c
Unexecuted instantiation: avm_highbd_h_predictor_16x16_c
Unexecuted instantiation: avm_highbd_h_predictor_32x32_c
avm_highbd_h_predictor_64x64_c
Line
Count
Source
812
11.5k
      const uint16_t *left, int bd) {                                       \
813
11.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
11.5k
  }
Unexecuted instantiation: avm_highbd_h_predictor_4x8_c
Unexecuted instantiation: avm_highbd_h_predictor_8x4_c
Unexecuted instantiation: avm_highbd_h_predictor_8x16_c
Unexecuted instantiation: avm_highbd_h_predictor_16x8_c
Unexecuted instantiation: avm_highbd_h_predictor_16x32_c
Unexecuted instantiation: avm_highbd_h_predictor_32x16_c
avm_highbd_h_predictor_32x64_c
Line
Count
Source
812
2.52k
      const uint16_t *left, int bd) {                                       \
813
2.52k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.52k
  }
avm_highbd_h_predictor_64x32_c
Line
Count
Source
812
2.15k
      const uint16_t *left, int bd) {                                       \
813
2.15k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.15k
  }
avm_highbd_h_predictor_4x16_c
Line
Count
Source
812
3.39k
      const uint16_t *left, int bd) {                                       \
813
3.39k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.39k
  }
avm_highbd_h_predictor_16x4_c
Line
Count
Source
812
3.28k
      const uint16_t *left, int bd) {                                       \
813
3.28k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.28k
  }
avm_highbd_h_predictor_8x32_c
Line
Count
Source
812
3.09k
      const uint16_t *left, int bd) {                                       \
813
3.09k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.09k
  }
avm_highbd_h_predictor_32x8_c
Line
Count
Source
812
4.27k
      const uint16_t *left, int bd) {                                       \
813
4.27k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4.27k
  }
avm_highbd_h_predictor_16x64_c
Line
Count
Source
812
1.44k
      const uint16_t *left, int bd) {                                       \
813
1.44k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.44k
  }
avm_highbd_h_predictor_64x16_c
Line
Count
Source
812
1.48k
      const uint16_t *left, int bd) {                                       \
813
1.48k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.48k
  }
avm_highbd_h_predictor_4x32_c
Line
Count
Source
812
1.07k
      const uint16_t *left, int bd) {                                       \
813
1.07k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.07k
  }
avm_highbd_h_predictor_32x4_c
Line
Count
Source
812
948
      const uint16_t *left, int bd) {                                       \
813
948
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
948
  }
avm_highbd_h_predictor_8x64_c
Line
Count
Source
812
1.58k
      const uint16_t *left, int bd) {                                       \
813
1.58k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.58k
  }
avm_highbd_h_predictor_64x8_c
Line
Count
Source
812
378
      const uint16_t *left, int bd) {                                       \
813
378
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
378
  }
avm_highbd_h_predictor_4x64_c
Line
Count
Source
812
66
      const uint16_t *left, int bd) {                                       \
813
66
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
66
  }
avm_highbd_h_predictor_64x4_c
Line
Count
Source
812
34
      const uint16_t *left, int bd) {                                       \
813
34
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
34
  }
avm_highbd_smooth_predictor_4x4_c
Line
Count
Source
812
268k
      const uint16_t *left, int bd) {                                       \
813
268k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
268k
  }
avm_highbd_smooth_predictor_8x8_c
Line
Count
Source
812
40.1k
      const uint16_t *left, int bd) {                                       \
813
40.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
40.1k
  }
avm_highbd_smooth_predictor_16x16_c
Line
Count
Source
812
39.6k
      const uint16_t *left, int bd) {                                       \
813
39.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
39.6k
  }
avm_highbd_smooth_predictor_32x32_c
Line
Count
Source
812
46.3k
      const uint16_t *left, int bd) {                                       \
813
46.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
46.3k
  }
avm_highbd_smooth_predictor_64x64_c
Line
Count
Source
812
49.7k
      const uint16_t *left, int bd) {                                       \
813
49.7k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
49.7k
  }
avm_highbd_smooth_predictor_4x8_c
Line
Count
Source
812
29.4k
      const uint16_t *left, int bd) {                                       \
813
29.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
29.4k
  }
avm_highbd_smooth_predictor_8x4_c
Line
Count
Source
812
25.2k
      const uint16_t *left, int bd) {                                       \
813
25.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
25.2k
  }
avm_highbd_smooth_predictor_8x16_c
Line
Count
Source
812
27.1k
      const uint16_t *left, int bd) {                                       \
813
27.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
27.1k
  }
avm_highbd_smooth_predictor_16x8_c
Line
Count
Source
812
31.7k
      const uint16_t *left, int bd) {                                       \
813
31.7k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
31.7k
  }
avm_highbd_smooth_predictor_16x32_c
Line
Count
Source
812
29.8k
      const uint16_t *left, int bd) {                                       \
813
29.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
29.8k
  }
avm_highbd_smooth_predictor_32x16_c
Line
Count
Source
812
26.3k
      const uint16_t *left, int bd) {                                       \
813
26.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
26.3k
  }
avm_highbd_smooth_predictor_32x64_c
Line
Count
Source
812
11.8k
      const uint16_t *left, int bd) {                                       \
813
11.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
11.8k
  }
avm_highbd_smooth_predictor_64x32_c
Line
Count
Source
812
12.8k
      const uint16_t *left, int bd) {                                       \
813
12.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
12.8k
  }
avm_highbd_smooth_predictor_4x16_c
Line
Count
Source
812
12.5k
      const uint16_t *left, int bd) {                                       \
813
12.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
12.5k
  }
avm_highbd_smooth_predictor_16x4_c
Line
Count
Source
812
14.4k
      const uint16_t *left, int bd) {                                       \
813
14.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
14.4k
  }
avm_highbd_smooth_predictor_8x32_c
Line
Count
Source
812
13.5k
      const uint16_t *left, int bd) {                                       \
813
13.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
13.5k
  }
avm_highbd_smooth_predictor_32x8_c
Line
Count
Source
812
13.3k
      const uint16_t *left, int bd) {                                       \
813
13.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
13.3k
  }
avm_highbd_smooth_predictor_16x64_c
Line
Count
Source
812
11.7k
      const uint16_t *left, int bd) {                                       \
813
11.7k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
11.7k
  }
avm_highbd_smooth_predictor_64x16_c
Line
Count
Source
812
6.70k
      const uint16_t *left, int bd) {                                       \
813
6.70k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
6.70k
  }
avm_highbd_smooth_predictor_4x32_c
Line
Count
Source
812
4.84k
      const uint16_t *left, int bd) {                                       \
813
4.84k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4.84k
  }
avm_highbd_smooth_predictor_32x4_c
Line
Count
Source
812
6.57k
      const uint16_t *left, int bd) {                                       \
813
6.57k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
6.57k
  }
avm_highbd_smooth_predictor_8x64_c
Line
Count
Source
812
2.56k
      const uint16_t *left, int bd) {                                       \
813
2.56k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.56k
  }
avm_highbd_smooth_predictor_64x8_c
Line
Count
Source
812
2.01k
      const uint16_t *left, int bd) {                                       \
813
2.01k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.01k
  }
avm_highbd_smooth_predictor_4x64_c
Line
Count
Source
812
1.47k
      const uint16_t *left, int bd) {                                       \
813
1.47k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.47k
  }
avm_highbd_smooth_predictor_64x4_c
Line
Count
Source
812
314
      const uint16_t *left, int bd) {                                       \
813
314
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
314
  }
avm_highbd_smooth_v_predictor_4x4_c
Line
Count
Source
812
64.0k
      const uint16_t *left, int bd) {                                       \
813
64.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
64.0k
  }
avm_highbd_smooth_v_predictor_8x8_c
Line
Count
Source
812
12.0k
      const uint16_t *left, int bd) {                                       \
813
12.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
12.0k
  }
avm_highbd_smooth_v_predictor_16x16_c
Line
Count
Source
812
11.8k
      const uint16_t *left, int bd) {                                       \
813
11.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
11.8k
  }
avm_highbd_smooth_v_predictor_32x32_c
Line
Count
Source
812
11.1k
      const uint16_t *left, int bd) {                                       \
813
11.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
11.1k
  }
avm_highbd_smooth_v_predictor_64x64_c
Line
Count
Source
812
15.1k
      const uint16_t *left, int bd) {                                       \
813
15.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
15.1k
  }
avm_highbd_smooth_v_predictor_4x8_c
Line
Count
Source
812
7.40k
      const uint16_t *left, int bd) {                                       \
813
7.40k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
7.40k
  }
avm_highbd_smooth_v_predictor_8x4_c
Line
Count
Source
812
5.91k
      const uint16_t *left, int bd) {                                       \
813
5.91k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
5.91k
  }
avm_highbd_smooth_v_predictor_8x16_c
Line
Count
Source
812
8.28k
      const uint16_t *left, int bd) {                                       \
813
8.28k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
8.28k
  }
avm_highbd_smooth_v_predictor_16x8_c
Line
Count
Source
812
9.45k
      const uint16_t *left, int bd) {                                       \
813
9.45k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
9.45k
  }
avm_highbd_smooth_v_predictor_16x32_c
Line
Count
Source
812
7.43k
      const uint16_t *left, int bd) {                                       \
813
7.43k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
7.43k
  }
avm_highbd_smooth_v_predictor_32x16_c
Line
Count
Source
812
7.33k
      const uint16_t *left, int bd) {                                       \
813
7.33k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
7.33k
  }
avm_highbd_smooth_v_predictor_32x64_c
Line
Count
Source
812
3.02k
      const uint16_t *left, int bd) {                                       \
813
3.02k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.02k
  }
avm_highbd_smooth_v_predictor_64x32_c
Line
Count
Source
812
3.68k
      const uint16_t *left, int bd) {                                       \
813
3.68k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.68k
  }
avm_highbd_smooth_v_predictor_4x16_c
Line
Count
Source
812
3.58k
      const uint16_t *left, int bd) {                                       \
813
3.58k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.58k
  }
avm_highbd_smooth_v_predictor_16x4_c
Line
Count
Source
812
4.38k
      const uint16_t *left, int bd) {                                       \
813
4.38k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4.38k
  }
avm_highbd_smooth_v_predictor_8x32_c
Line
Count
Source
812
3.92k
      const uint16_t *left, int bd) {                                       \
813
3.92k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.92k
  }
avm_highbd_smooth_v_predictor_32x8_c
Line
Count
Source
812
9.39k
      const uint16_t *left, int bd) {                                       \
813
9.39k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
9.39k
  }
avm_highbd_smooth_v_predictor_16x64_c
Line
Count
Source
812
2.65k
      const uint16_t *left, int bd) {                                       \
813
2.65k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.65k
  }
avm_highbd_smooth_v_predictor_64x16_c
Line
Count
Source
812
3.96k
      const uint16_t *left, int bd) {                                       \
813
3.96k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.96k
  }
avm_highbd_smooth_v_predictor_4x32_c
Line
Count
Source
812
2.24k
      const uint16_t *left, int bd) {                                       \
813
2.24k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.24k
  }
avm_highbd_smooth_v_predictor_32x4_c
Line
Count
Source
812
1.15k
      const uint16_t *left, int bd) {                                       \
813
1.15k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.15k
  }
avm_highbd_smooth_v_predictor_8x64_c
Line
Count
Source
812
1.07k
      const uint16_t *left, int bd) {                                       \
813
1.07k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.07k
  }
avm_highbd_smooth_v_predictor_64x8_c
Line
Count
Source
812
760
      const uint16_t *left, int bd) {                                       \
813
760
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
760
  }
avm_highbd_smooth_v_predictor_4x64_c
Line
Count
Source
812
400
      const uint16_t *left, int bd) {                                       \
813
400
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
400
  }
avm_highbd_smooth_v_predictor_64x4_c
Line
Count
Source
812
259
      const uint16_t *left, int bd) {                                       \
813
259
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
259
  }
avm_highbd_smooth_h_predictor_4x4_c
Line
Count
Source
812
65.1k
      const uint16_t *left, int bd) {                                       \
813
65.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
65.1k
  }
avm_highbd_smooth_h_predictor_8x8_c
Line
Count
Source
812
14.6k
      const uint16_t *left, int bd) {                                       \
813
14.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
14.6k
  }
avm_highbd_smooth_h_predictor_16x16_c
Line
Count
Source
812
15.8k
      const uint16_t *left, int bd) {                                       \
813
15.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
15.8k
  }
avm_highbd_smooth_h_predictor_32x32_c
Line
Count
Source
812
10.3k
      const uint16_t *left, int bd) {                                       \
813
10.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
10.3k
  }
avm_highbd_smooth_h_predictor_64x64_c
Line
Count
Source
812
17.0k
      const uint16_t *left, int bd) {                                       \
813
17.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
17.0k
  }
avm_highbd_smooth_h_predictor_4x8_c
Line
Count
Source
812
9.04k
      const uint16_t *left, int bd) {                                       \
813
9.04k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
9.04k
  }
avm_highbd_smooth_h_predictor_8x4_c
Line
Count
Source
812
7.90k
      const uint16_t *left, int bd) {                                       \
813
7.90k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
7.90k
  }
avm_highbd_smooth_h_predictor_8x16_c
Line
Count
Source
812
10.6k
      const uint16_t *left, int bd) {                                       \
813
10.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
10.6k
  }
avm_highbd_smooth_h_predictor_16x8_c
Line
Count
Source
812
12.5k
      const uint16_t *left, int bd) {                                       \
813
12.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
12.5k
  }
avm_highbd_smooth_h_predictor_16x32_c
Line
Count
Source
812
9.19k
      const uint16_t *left, int bd) {                                       \
813
9.19k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
9.19k
  }
avm_highbd_smooth_h_predictor_32x16_c
Line
Count
Source
812
7.71k
      const uint16_t *left, int bd) {                                       \
813
7.71k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
7.71k
  }
avm_highbd_smooth_h_predictor_32x64_c
Line
Count
Source
812
4.14k
      const uint16_t *left, int bd) {                                       \
813
4.14k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4.14k
  }
avm_highbd_smooth_h_predictor_64x32_c
Line
Count
Source
812
3.77k
      const uint16_t *left, int bd) {                                       \
813
3.77k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.77k
  }
avm_highbd_smooth_h_predictor_4x16_c
Line
Count
Source
812
4.31k
      const uint16_t *left, int bd) {                                       \
813
4.31k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4.31k
  }
avm_highbd_smooth_h_predictor_16x4_c
Line
Count
Source
812
4.16k
      const uint16_t *left, int bd) {                                       \
813
4.16k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4.16k
  }
avm_highbd_smooth_h_predictor_8x32_c
Line
Count
Source
812
4.46k
      const uint16_t *left, int bd) {                                       \
813
4.46k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4.46k
  }
avm_highbd_smooth_h_predictor_32x8_c
Line
Count
Source
812
3.66k
      const uint16_t *left, int bd) {                                       \
813
3.66k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.66k
  }
avm_highbd_smooth_h_predictor_16x64_c
Line
Count
Source
812
2.89k
      const uint16_t *left, int bd) {                                       \
813
2.89k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.89k
  }
avm_highbd_smooth_h_predictor_64x16_c
Line
Count
Source
812
3.27k
      const uint16_t *left, int bd) {                                       \
813
3.27k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.27k
  }
avm_highbd_smooth_h_predictor_4x32_c
Line
Count
Source
812
1.91k
      const uint16_t *left, int bd) {                                       \
813
1.91k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.91k
  }
avm_highbd_smooth_h_predictor_32x4_c
Line
Count
Source
812
1.51k
      const uint16_t *left, int bd) {                                       \
813
1.51k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.51k
  }
avm_highbd_smooth_h_predictor_8x64_c
Line
Count
Source
812
944
      const uint16_t *left, int bd) {                                       \
813
944
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
944
  }
avm_highbd_smooth_h_predictor_64x8_c
Line
Count
Source
812
1.43k
      const uint16_t *left, int bd) {                                       \
813
1.43k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.43k
  }
avm_highbd_smooth_h_predictor_4x64_c
Line
Count
Source
812
258
      const uint16_t *left, int bd) {                                       \
813
258
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
258
  }
avm_highbd_smooth_h_predictor_64x4_c
Line
Count
Source
812
240
      const uint16_t *left, int bd) {                                       \
813
240
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
240
  }
avm_highbd_paeth_predictor_4x4_c
Line
Count
Source
812
63.9k
      const uint16_t *left, int bd) {                                       \
813
63.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
63.9k
  }
avm_highbd_paeth_predictor_8x8_c
Line
Count
Source
812
13.4k
      const uint16_t *left, int bd) {                                       \
813
13.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
13.4k
  }
avm_highbd_paeth_predictor_16x16_c
Line
Count
Source
812
12.5k
      const uint16_t *left, int bd) {                                       \
813
12.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
12.5k
  }
avm_highbd_paeth_predictor_32x32_c
Line
Count
Source
812
11.1k
      const uint16_t *left, int bd) {                                       \
813
11.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
11.1k
  }
avm_highbd_paeth_predictor_64x64_c
Line
Count
Source
812
16.5k
      const uint16_t *left, int bd) {                                       \
813
16.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
16.5k
  }
avm_highbd_paeth_predictor_4x8_c
Line
Count
Source
812
8.68k
      const uint16_t *left, int bd) {                                       \
813
8.68k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
8.68k
  }
avm_highbd_paeth_predictor_8x4_c
Line
Count
Source
812
7.11k
      const uint16_t *left, int bd) {                                       \
813
7.11k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
7.11k
  }
avm_highbd_paeth_predictor_8x16_c
Line
Count
Source
812
7.75k
      const uint16_t *left, int bd) {                                       \
813
7.75k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
7.75k
  }
avm_highbd_paeth_predictor_16x8_c
Line
Count
Source
812
15.8k
      const uint16_t *left, int bd) {                                       \
813
15.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
15.8k
  }
avm_highbd_paeth_predictor_16x32_c
Line
Count
Source
812
7.93k
      const uint16_t *left, int bd) {                                       \
813
7.93k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
7.93k
  }
avm_highbd_paeth_predictor_32x16_c
Line
Count
Source
812
7.76k
      const uint16_t *left, int bd) {                                       \
813
7.76k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
7.76k
  }
avm_highbd_paeth_predictor_32x64_c
Line
Count
Source
812
4.96k
      const uint16_t *left, int bd) {                                       \
813
4.96k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4.96k
  }
avm_highbd_paeth_predictor_64x32_c
Line
Count
Source
812
3.41k
      const uint16_t *left, int bd) {                                       \
813
3.41k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.41k
  }
avm_highbd_paeth_predictor_4x16_c
Line
Count
Source
812
3.77k
      const uint16_t *left, int bd) {                                       \
813
3.77k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.77k
  }
avm_highbd_paeth_predictor_16x4_c
Line
Count
Source
812
4.05k
      const uint16_t *left, int bd) {                                       \
813
4.05k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4.05k
  }
avm_highbd_paeth_predictor_8x32_c
Line
Count
Source
812
5.16k
      const uint16_t *left, int bd) {                                       \
813
5.16k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
5.16k
  }
avm_highbd_paeth_predictor_32x8_c
Line
Count
Source
812
4.23k
      const uint16_t *left, int bd) {                                       \
813
4.23k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4.23k
  }
avm_highbd_paeth_predictor_16x64_c
Line
Count
Source
812
3.59k
      const uint16_t *left, int bd) {                                       \
813
3.59k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.59k
  }
avm_highbd_paeth_predictor_64x16_c
Line
Count
Source
812
2.40k
      const uint16_t *left, int bd) {                                       \
813
2.40k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.40k
  }
avm_highbd_paeth_predictor_4x32_c
Line
Count
Source
812
1.53k
      const uint16_t *left, int bd) {                                       \
813
1.53k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.53k
  }
avm_highbd_paeth_predictor_32x4_c
Line
Count
Source
812
1.43k
      const uint16_t *left, int bd) {                                       \
813
1.43k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.43k
  }
avm_highbd_paeth_predictor_8x64_c
Line
Count
Source
812
1.83k
      const uint16_t *left, int bd) {                                       \
813
1.83k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.83k
  }
avm_highbd_paeth_predictor_64x8_c
Line
Count
Source
812
1.39k
      const uint16_t *left, int bd) {                                       \
813
1.39k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.39k
  }
avm_highbd_paeth_predictor_4x64_c
Line
Count
Source
812
1.49k
      const uint16_t *left, int bd) {                                       \
813
1.49k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.49k
  }
avm_highbd_paeth_predictor_64x4_c
Line
Count
Source
812
197
      const uint16_t *left, int bd) {                                       \
813
197
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
197
  }
Unexecuted instantiation: avm_highbd_dc_128_predictor_4x4_c
Unexecuted instantiation: avm_highbd_dc_128_predictor_8x8_c
Unexecuted instantiation: avm_highbd_dc_128_predictor_16x16_c
Unexecuted instantiation: avm_highbd_dc_128_predictor_32x32_c
avm_highbd_dc_128_predictor_64x64_c
Line
Count
Source
812
41.1k
      const uint16_t *left, int bd) {                                       \
813
41.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
41.1k
  }
Unexecuted instantiation: avm_highbd_dc_128_predictor_4x8_c
Unexecuted instantiation: avm_highbd_dc_128_predictor_8x4_c
Unexecuted instantiation: avm_highbd_dc_128_predictor_8x16_c
Unexecuted instantiation: avm_highbd_dc_128_predictor_16x8_c
Unexecuted instantiation: avm_highbd_dc_128_predictor_16x32_c
Unexecuted instantiation: avm_highbd_dc_128_predictor_32x16_c
avm_highbd_dc_128_predictor_32x64_c
Line
Count
Source
812
7.31k
      const uint16_t *left, int bd) {                                       \
813
7.31k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
7.31k
  }
avm_highbd_dc_128_predictor_64x32_c
Line
Count
Source
812
830
      const uint16_t *left, int bd) {                                       \
813
830
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
830
  }
avm_highbd_dc_128_predictor_4x16_c
Line
Count
Source
812
797
      const uint16_t *left, int bd) {                                       \
813
797
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
797
  }
avm_highbd_dc_128_predictor_16x4_c
Line
Count
Source
812
596
      const uint16_t *left, int bd) {                                       \
813
596
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
596
  }
avm_highbd_dc_128_predictor_8x32_c
Line
Count
Source
812
744
      const uint16_t *left, int bd) {                                       \
813
744
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
744
  }
avm_highbd_dc_128_predictor_32x8_c
Line
Count
Source
812
1.22k
      const uint16_t *left, int bd) {                                       \
813
1.22k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.22k
  }
avm_highbd_dc_128_predictor_16x64_c
Line
Count
Source
812
1.23k
      const uint16_t *left, int bd) {                                       \
813
1.23k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.23k
  }
avm_highbd_dc_128_predictor_64x16_c
Line
Count
Source
812
881
      const uint16_t *left, int bd) {                                       \
813
881
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
881
  }
avm_highbd_dc_128_predictor_4x32_c
Line
Count
Source
812
387
      const uint16_t *left, int bd) {                                       \
813
387
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
387
  }
avm_highbd_dc_128_predictor_32x4_c
Line
Count
Source
812
60
      const uint16_t *left, int bd) {                                       \
813
60
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
60
  }
avm_highbd_dc_128_predictor_8x64_c
Line
Count
Source
812
229
      const uint16_t *left, int bd) {                                       \
813
229
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
229
  }
avm_highbd_dc_128_predictor_64x8_c
Line
Count
Source
812
33
      const uint16_t *left, int bd) {                                       \
813
33
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
33
  }
avm_highbd_dc_128_predictor_4x64_c
Line
Count
Source
812
62
      const uint16_t *left, int bd) {                                       \
813
62
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
62
  }
avm_highbd_dc_128_predictor_64x4_c
Line
Count
Source
812
14
      const uint16_t *left, int bd) {                                       \
813
14
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
14
  }
Unexecuted instantiation: avm_highbd_dc_left_predictor_4x4_c
Unexecuted instantiation: avm_highbd_dc_left_predictor_8x8_c
Unexecuted instantiation: avm_highbd_dc_left_predictor_16x16_c
Unexecuted instantiation: avm_highbd_dc_left_predictor_32x32_c
avm_highbd_dc_left_predictor_64x64_c
Line
Count
Source
812
34.0k
      const uint16_t *left, int bd) {                                       \
813
34.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
34.0k
  }
Unexecuted instantiation: avm_highbd_dc_left_predictor_4x8_c
Unexecuted instantiation: avm_highbd_dc_left_predictor_8x4_c
Unexecuted instantiation: avm_highbd_dc_left_predictor_8x16_c
Unexecuted instantiation: avm_highbd_dc_left_predictor_16x8_c
Unexecuted instantiation: avm_highbd_dc_left_predictor_16x32_c
Unexecuted instantiation: avm_highbd_dc_left_predictor_32x16_c
avm_highbd_dc_left_predictor_32x64_c
Line
Count
Source
812
1.32k
      const uint16_t *left, int bd) {                                       \
813
1.32k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.32k
  }
avm_highbd_dc_left_predictor_64x32_c
Line
Count
Source
812
3.66k
      const uint16_t *left, int bd) {                                       \
813
3.66k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.66k
  }
avm_highbd_dc_left_predictor_4x16_c
Line
Count
Source
812
1.05k
      const uint16_t *left, int bd) {                                       \
813
1.05k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.05k
  }
avm_highbd_dc_left_predictor_16x4_c
Line
Count
Source
812
6.02k
      const uint16_t *left, int bd) {                                       \
813
6.02k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
6.02k
  }
avm_highbd_dc_left_predictor_8x32_c
Line
Count
Source
812
1.72k
      const uint16_t *left, int bd) {                                       \
813
1.72k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.72k
  }
avm_highbd_dc_left_predictor_32x8_c
Line
Count
Source
812
7.45k
      const uint16_t *left, int bd) {                                       \
813
7.45k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
7.45k
  }
avm_highbd_dc_left_predictor_16x64_c
Line
Count
Source
812
3.04k
      const uint16_t *left, int bd) {                                       \
813
3.04k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.04k
  }
avm_highbd_dc_left_predictor_64x16_c
Line
Count
Source
812
2.80k
      const uint16_t *left, int bd) {                                       \
813
2.80k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.80k
  }
avm_highbd_dc_left_predictor_4x32_c
Line
Count
Source
812
786
      const uint16_t *left, int bd) {                                       \
813
786
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
786
  }
avm_highbd_dc_left_predictor_32x4_c
Line
Count
Source
812
655
      const uint16_t *left, int bd) {                                       \
813
655
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
655
  }
avm_highbd_dc_left_predictor_8x64_c
Line
Count
Source
812
558
      const uint16_t *left, int bd) {                                       \
813
558
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
558
  }
avm_highbd_dc_left_predictor_64x8_c
Line
Count
Source
812
272
      const uint16_t *left, int bd) {                                       \
813
272
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
272
  }
avm_highbd_dc_left_predictor_4x64_c
Line
Count
Source
812
246
      const uint16_t *left, int bd) {                                       \
813
246
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
246
  }
avm_highbd_dc_left_predictor_64x4_c
Line
Count
Source
812
31
      const uint16_t *left, int bd) {                                       \
813
31
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
31
  }
Unexecuted instantiation: avm_highbd_dc_top_predictor_4x4_c
Unexecuted instantiation: avm_highbd_dc_top_predictor_8x8_c
Unexecuted instantiation: avm_highbd_dc_top_predictor_16x16_c
Unexecuted instantiation: avm_highbd_dc_top_predictor_32x32_c
avm_highbd_dc_top_predictor_64x64_c
Line
Count
Source
812
46.9k
      const uint16_t *left, int bd) {                                       \
813
46.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
46.9k
  }
Unexecuted instantiation: avm_highbd_dc_top_predictor_4x8_c
Unexecuted instantiation: avm_highbd_dc_top_predictor_8x4_c
Unexecuted instantiation: avm_highbd_dc_top_predictor_8x16_c
Unexecuted instantiation: avm_highbd_dc_top_predictor_16x8_c
Unexecuted instantiation: avm_highbd_dc_top_predictor_16x32_c
Unexecuted instantiation: avm_highbd_dc_top_predictor_32x16_c
avm_highbd_dc_top_predictor_32x64_c
Line
Count
Source
812
16.2k
      const uint16_t *left, int bd) {                                       \
813
16.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
16.2k
  }
avm_highbd_dc_top_predictor_64x32_c
Line
Count
Source
812
8.16k
      const uint16_t *left, int bd) {                                       \
813
8.16k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
8.16k
  }
avm_highbd_dc_top_predictor_4x16_c
Line
Count
Source
812
7.47k
      const uint16_t *left, int bd) {                                       \
813
7.47k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
7.47k
  }
avm_highbd_dc_top_predictor_16x4_c
Line
Count
Source
812
5.51k
      const uint16_t *left, int bd) {                                       \
813
5.51k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
5.51k
  }
avm_highbd_dc_top_predictor_8x32_c
Line
Count
Source
812
11.5k
      const uint16_t *left, int bd) {                                       \
813
11.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
11.5k
  }
avm_highbd_dc_top_predictor_32x8_c
Line
Count
Source
812
13.1k
      const uint16_t *left, int bd) {                                       \
813
13.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
13.1k
  }
avm_highbd_dc_top_predictor_16x64_c
Line
Count
Source
812
3.93k
      const uint16_t *left, int bd) {                                       \
813
3.93k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.93k
  }
avm_highbd_dc_top_predictor_64x16_c
Line
Count
Source
812
5.76k
      const uint16_t *left, int bd) {                                       \
813
5.76k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
5.76k
  }
avm_highbd_dc_top_predictor_4x32_c
Line
Count
Source
812
4.86k
      const uint16_t *left, int bd) {                                       \
813
4.86k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4.86k
  }
avm_highbd_dc_top_predictor_32x4_c
Line
Count
Source
812
2.60k
      const uint16_t *left, int bd) {                                       \
813
2.60k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.60k
  }
avm_highbd_dc_top_predictor_8x64_c
Line
Count
Source
812
657
      const uint16_t *left, int bd) {                                       \
813
657
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
657
  }
avm_highbd_dc_top_predictor_64x8_c
Line
Count
Source
812
1.67k
      const uint16_t *left, int bd) {                                       \
813
1.67k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.67k
  }
avm_highbd_dc_top_predictor_4x64_c
Line
Count
Source
812
225
      const uint16_t *left, int bd) {                                       \
813
225
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
225
  }
avm_highbd_dc_top_predictor_64x4_c
Line
Count
Source
812
457
      const uint16_t *left, int bd) {                                       \
813
457
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
457
  }
Unexecuted instantiation: avm_highbd_dc_predictor_4x4_c
Unexecuted instantiation: avm_highbd_dc_predictor_8x8_c
Unexecuted instantiation: avm_highbd_dc_predictor_16x16_c
Unexecuted instantiation: avm_highbd_dc_predictor_32x32_c
avm_highbd_dc_predictor_64x64_c
Line
Count
Source
812
98.5k
      const uint16_t *left, int bd) {                                       \
813
98.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
98.5k
  }
Unexecuted instantiation: avm_highbd_ibp_dc_left_predictor_4x4_c
avm_highbd_ibp_dc_left_predictor_8x8_c
Line
Count
Source
812
1.58k
      const uint16_t *left, int bd) {                                       \
813
1.58k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.58k
  }
avm_highbd_ibp_dc_left_predictor_16x16_c
Line
Count
Source
812
1.47k
      const uint16_t *left, int bd) {                                       \
813
1.47k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.47k
  }
avm_highbd_ibp_dc_left_predictor_32x32_c
Line
Count
Source
812
2.03k
      const uint16_t *left, int bd) {                                       \
813
2.03k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.03k
  }
avm_highbd_ibp_dc_left_predictor_64x64_c
Line
Count
Source
812
27.2k
      const uint16_t *left, int bd) {                                       \
813
27.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
27.2k
  }
avm_highbd_ibp_dc_left_predictor_4x8_c
Line
Count
Source
812
736
      const uint16_t *left, int bd) {                                       \
813
736
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
736
  }
avm_highbd_ibp_dc_left_predictor_8x4_c
Line
Count
Source
812
5.43k
      const uint16_t *left, int bd) {                                       \
813
5.43k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
5.43k
  }
avm_highbd_ibp_dc_left_predictor_8x16_c
Line
Count
Source
812
659
      const uint16_t *left, int bd) {                                       \
813
659
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
659
  }
avm_highbd_ibp_dc_left_predictor_16x8_c
Line
Count
Source
812
3.38k
      const uint16_t *left, int bd) {                                       \
813
3.38k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.38k
  }
avm_highbd_ibp_dc_left_predictor_16x32_c
Line
Count
Source
812
1.14k
      const uint16_t *left, int bd) {                                       \
813
1.14k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.14k
  }
avm_highbd_ibp_dc_left_predictor_32x16_c
Line
Count
Source
812
2.77k
      const uint16_t *left, int bd) {                                       \
813
2.77k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.77k
  }
avm_highbd_ibp_dc_left_predictor_32x64_c
Line
Count
Source
812
1.14k
      const uint16_t *left, int bd) {                                       \
813
1.14k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.14k
  }
avm_highbd_ibp_dc_left_predictor_64x32_c
Line
Count
Source
812
3.45k
      const uint16_t *left, int bd) {                                       \
813
3.45k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.45k
  }
avm_highbd_ibp_dc_left_predictor_4x16_c
Line
Count
Source
812
381
      const uint16_t *left, int bd) {                                       \
813
381
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
381
  }
avm_highbd_ibp_dc_left_predictor_16x4_c
Line
Count
Source
812
4.07k
      const uint16_t *left, int bd) {                                       \
813
4.07k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4.07k
  }
avm_highbd_ibp_dc_left_predictor_8x32_c
Line
Count
Source
812
802
      const uint16_t *left, int bd) {                                       \
813
802
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
802
  }
avm_highbd_ibp_dc_left_predictor_32x8_c
Line
Count
Source
812
4.05k
      const uint16_t *left, int bd) {                                       \
813
4.05k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4.05k
  }
avm_highbd_ibp_dc_left_predictor_16x64_c
Line
Count
Source
812
2.97k
      const uint16_t *left, int bd) {                                       \
813
2.97k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.97k
  }
avm_highbd_ibp_dc_left_predictor_64x16_c
Line
Count
Source
812
2.47k
      const uint16_t *left, int bd) {                                       \
813
2.47k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.47k
  }
avm_highbd_ibp_dc_left_predictor_4x32_c
Line
Count
Source
812
330
      const uint16_t *left, int bd) {                                       \
813
330
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
330
  }
avm_highbd_ibp_dc_left_predictor_32x4_c
Line
Count
Source
812
425
      const uint16_t *left, int bd) {                                       \
813
425
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
425
  }
avm_highbd_ibp_dc_left_predictor_8x64_c
Line
Count
Source
812
510
      const uint16_t *left, int bd) {                                       \
813
510
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
510
  }
avm_highbd_ibp_dc_left_predictor_64x8_c
Line
Count
Source
812
261
      const uint16_t *left, int bd) {                                       \
813
261
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
261
  }
avm_highbd_ibp_dc_left_predictor_4x64_c
Line
Count
Source
812
221
      const uint16_t *left, int bd) {                                       \
813
221
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
221
  }
avm_highbd_ibp_dc_left_predictor_64x4_c
Line
Count
Source
812
31
      const uint16_t *left, int bd) {                                       \
813
31
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
31
  }
Unexecuted instantiation: avm_highbd_ibp_dc_top_predictor_4x4_c
avm_highbd_ibp_dc_top_predictor_8x8_c
Line
Count
Source
812
5.26k
      const uint16_t *left, int bd) {                                       \
813
5.26k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
5.26k
  }
avm_highbd_ibp_dc_top_predictor_16x16_c
Line
Count
Source
812
8.58k
      const uint16_t *left, int bd) {                                       \
813
8.58k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
8.58k
  }
avm_highbd_ibp_dc_top_predictor_32x32_c
Line
Count
Source
812
16.8k
      const uint16_t *left, int bd) {                                       \
813
16.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
16.8k
  }
avm_highbd_ibp_dc_top_predictor_64x64_c
Line
Count
Source
812
41.0k
      const uint16_t *left, int bd) {                                       \
813
41.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
41.0k
  }
avm_highbd_ibp_dc_top_predictor_4x8_c
Line
Count
Source
812
9.98k
      const uint16_t *left, int bd) {                                       \
813
9.98k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
9.98k
  }
avm_highbd_ibp_dc_top_predictor_8x4_c
Line
Count
Source
812
2.62k
      const uint16_t *left, int bd) {                                       \
813
2.62k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.62k
  }
avm_highbd_ibp_dc_top_predictor_8x16_c
Line
Count
Source
812
12.2k
      const uint16_t *left, int bd) {                                       \
813
12.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
12.2k
  }
avm_highbd_ibp_dc_top_predictor_16x8_c
Line
Count
Source
812
5.67k
      const uint16_t *left, int bd) {                                       \
813
5.67k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
5.67k
  }
avm_highbd_ibp_dc_top_predictor_16x32_c
Line
Count
Source
812
18.5k
      const uint16_t *left, int bd) {                                       \
813
18.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
18.5k
  }
avm_highbd_ibp_dc_top_predictor_32x16_c
Line
Count
Source
812
8.75k
      const uint16_t *left, int bd) {                                       \
813
8.75k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
8.75k
  }
avm_highbd_ibp_dc_top_predictor_32x64_c
Line
Count
Source
812
13.7k
      const uint16_t *left, int bd) {                                       \
813
13.7k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
13.7k
  }
avm_highbd_ibp_dc_top_predictor_64x32_c
Line
Count
Source
812
7.55k
      const uint16_t *left, int bd) {                                       \
813
7.55k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
7.55k
  }
avm_highbd_ibp_dc_top_predictor_4x16_c
Line
Count
Source
812
2.07k
      const uint16_t *left, int bd) {                                       \
813
2.07k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.07k
  }
avm_highbd_ibp_dc_top_predictor_16x4_c
Line
Count
Source
812
1.08k
      const uint16_t *left, int bd) {                                       \
813
1.08k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.08k
  }
avm_highbd_ibp_dc_top_predictor_8x32_c
Line
Count
Source
812
3.45k
      const uint16_t *left, int bd) {                                       \
813
3.45k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.45k
  }
avm_highbd_ibp_dc_top_predictor_32x8_c
Line
Count
Source
812
4.56k
      const uint16_t *left, int bd) {                                       \
813
4.56k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4.56k
  }
avm_highbd_ibp_dc_top_predictor_16x64_c
Line
Count
Source
812
3.29k
      const uint16_t *left, int bd) {                                       \
813
3.29k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.29k
  }
avm_highbd_ibp_dc_top_predictor_64x16_c
Line
Count
Source
812
5.53k
      const uint16_t *left, int bd) {                                       \
813
5.53k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
5.53k
  }
avm_highbd_ibp_dc_top_predictor_4x32_c
Line
Count
Source
812
953
      const uint16_t *left, int bd) {                                       \
813
953
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
953
  }
avm_highbd_ibp_dc_top_predictor_32x4_c
Line
Count
Source
812
1.30k
      const uint16_t *left, int bd) {                                       \
813
1.30k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.30k
  }
avm_highbd_ibp_dc_top_predictor_8x64_c
Line
Count
Source
812
562
      const uint16_t *left, int bd) {                                       \
813
562
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
562
  }
avm_highbd_ibp_dc_top_predictor_64x8_c
Line
Count
Source
812
1.63k
      const uint16_t *left, int bd) {                                       \
813
1.63k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.63k
  }
avm_highbd_ibp_dc_top_predictor_4x64_c
Line
Count
Source
812
202
      const uint16_t *left, int bd) {                                       \
813
202
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
202
  }
avm_highbd_ibp_dc_top_predictor_64x4_c
Line
Count
Source
812
433
      const uint16_t *left, int bd) {                                       \
813
433
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
433
  }
Unexecuted instantiation: avm_highbd_ibp_dc_predictor_4x4_c
avm_highbd_ibp_dc_predictor_8x8_c
Line
Count
Source
812
39.2k
      const uint16_t *left, int bd) {                                       \
813
39.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
39.2k
  }
avm_highbd_ibp_dc_predictor_16x16_c
Line
Count
Source
812
39.1k
      const uint16_t *left, int bd) {                                       \
813
39.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
39.1k
  }
avm_highbd_ibp_dc_predictor_32x32_c
Line
Count
Source
812
26.0k
      const uint16_t *left, int bd) {                                       \
813
26.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
26.0k
  }
avm_highbd_ibp_dc_predictor_64x64_c
Line
Count
Source
812
77.4k
      const uint16_t *left, int bd) {                                       \
813
77.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
77.4k
  }
avm_highbd_ibp_dc_predictor_4x8_c
Line
Count
Source
812
22.7k
      const uint16_t *left, int bd) {                                       \
813
22.7k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
22.7k
  }
avm_highbd_ibp_dc_predictor_8x4_c
Line
Count
Source
812
16.0k
      const uint16_t *left, int bd) {                                       \
813
16.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
16.0k
  }
avm_highbd_ibp_dc_predictor_8x16_c
Line
Count
Source
812
26.1k
      const uint16_t *left, int bd) {                                       \
813
26.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
26.1k
  }
avm_highbd_ibp_dc_predictor_16x8_c
Line
Count
Source
812
28.1k
      const uint16_t *left, int bd) {                                       \
813
28.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
28.1k
  }
avm_highbd_ibp_dc_predictor_16x32_c
Line
Count
Source
812
19.1k
      const uint16_t *left, int bd) {                                       \
813
19.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
19.1k
  }
avm_highbd_ibp_dc_predictor_32x16_c
Line
Count
Source
812
21.9k
      const uint16_t *left, int bd) {                                       \
813
21.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
21.9k
  }
avm_highbd_ibp_dc_predictor_32x64_c
Line
Count
Source
812
8.69k
      const uint16_t *left, int bd) {                                       \
813
8.69k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
8.69k
  }
avm_highbd_ibp_dc_predictor_64x32_c
Line
Count
Source
812
9.66k
      const uint16_t *left, int bd) {                                       \
813
9.66k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
9.66k
  }
avm_highbd_ibp_dc_predictor_4x16_c
Line
Count
Source
812
9.29k
      const uint16_t *left, int bd) {                                       \
813
9.29k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
9.29k
  }
avm_highbd_ibp_dc_predictor_16x4_c
Line
Count
Source
812
8.65k
      const uint16_t *left, int bd) {                                       \
813
8.65k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
8.65k
  }
avm_highbd_ibp_dc_predictor_8x32_c
Line
Count
Source
812
11.2k
      const uint16_t *left, int bd) {                                       \
813
11.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
11.2k
  }
avm_highbd_ibp_dc_predictor_32x8_c
Line
Count
Source
812
12.8k
      const uint16_t *left, int bd) {                                       \
813
12.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
12.8k
  }
avm_highbd_ibp_dc_predictor_16x64_c
Line
Count
Source
812
9.61k
      const uint16_t *left, int bd) {                                       \
813
9.61k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
9.61k
  }
avm_highbd_ibp_dc_predictor_64x16_c
Line
Count
Source
812
7.92k
      const uint16_t *left, int bd) {                                       \
813
7.92k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
7.92k
  }
avm_highbd_ibp_dc_predictor_4x32_c
Line
Count
Source
812
5.45k
      const uint16_t *left, int bd) {                                       \
813
5.45k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
5.45k
  }
avm_highbd_ibp_dc_predictor_32x4_c
Line
Count
Source
812
4.27k
      const uint16_t *left, int bd) {                                       \
813
4.27k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4.27k
  }
avm_highbd_ibp_dc_predictor_8x64_c
Line
Count
Source
812
4.18k
      const uint16_t *left, int bd) {                                       \
813
4.18k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4.18k
  }
avm_highbd_ibp_dc_predictor_64x8_c
Line
Count
Source
812
2.61k
      const uint16_t *left, int bd) {                                       \
813
2.61k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.61k
  }
avm_highbd_ibp_dc_predictor_4x64_c
Line
Count
Source
812
953
      const uint16_t *left, int bd) {                                       \
813
953
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
953
  }
avm_highbd_ibp_dc_predictor_64x4_c
Line
Count
Source
812
223
      const uint16_t *left, int bd) {                                       \
813
223
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
223
  }
815
816
/* clang-format off */
817
#define intra_pred_rectangular(type) \
818
  intra_pred_sized(type, 4, 8) \
819
  intra_pred_sized(type, 8, 4) \
820
  intra_pred_sized(type, 8, 16) \
821
  intra_pred_sized(type, 16, 8) \
822
  intra_pred_sized(type, 16, 32) \
823
  intra_pred_sized(type, 32, 16) \
824
  intra_pred_sized(type, 32, 64) \
825
  intra_pred_sized(type, 64, 32) \
826
  intra_pred_sized(type, 4, 16) \
827
  intra_pred_sized(type, 16, 4) \
828
  intra_pred_sized(type, 8, 32) \
829
  intra_pred_sized(type, 32, 8) \
830
  intra_pred_sized(type, 16, 64) \
831
  intra_pred_sized(type, 64, 16) \
832
  intra_pred_sized(type, 4, 32) \
833
  intra_pred_sized(type, 32, 4) \
834
  intra_pred_sized(type, 8, 64) \
835
  intra_pred_sized(type, 64, 8) \
836
  intra_pred_sized(type, 4, 64) \
837
  intra_pred_sized(type, 64, 4) \
838
  intra_pred_highbd_sized(type, 4, 8) \
839
  intra_pred_highbd_sized(type, 8, 4) \
840
  intra_pred_highbd_sized(type, 8, 16) \
841
  intra_pred_highbd_sized(type, 16, 8) \
842
  intra_pred_highbd_sized(type, 16, 32) \
843
  intra_pred_highbd_sized(type, 32, 16) \
844
  intra_pred_highbd_sized(type, 32, 64) \
845
  intra_pred_highbd_sized(type, 64, 32) \
846
  intra_pred_highbd_sized(type, 4, 16) \
847
  intra_pred_highbd_sized(type, 16, 4) \
848
  intra_pred_highbd_sized(type, 8, 32) \
849
  intra_pred_highbd_sized(type, 32, 8) \
850
  intra_pred_highbd_sized(type, 16, 64) \
851
  intra_pred_highbd_sized(type, 64, 16) \
852
  intra_pred_highbd_sized(type, 4, 32) \
853
  intra_pred_highbd_sized(type, 32, 4) \
854
  intra_pred_highbd_sized(type, 8, 64) \
855
  intra_pred_highbd_sized(type, 64, 8) \
856
  intra_pred_highbd_sized(type, 4, 64) \
857
  intra_pred_highbd_sized(type, 64, 4)
858
859
#define intra_pred_above_4x4(type) \
860
  intra_pred_sized(type, 8, 8) \
861
  intra_pred_sized(type, 16, 16) \
862
  intra_pred_sized(type, 32, 32) \
863
  intra_pred_sized(type, 64, 64) \
864
  intra_pred_highbd_sized(type, 4, 4) \
865
  intra_pred_highbd_sized(type, 8, 8) \
866
  intra_pred_highbd_sized(type, 16, 16) \
867
  intra_pred_highbd_sized(type, 32, 32) \
868
  intra_pred_highbd_sized(type, 64, 64) \
869
  intra_pred_rectangular(type)
870
#define intra_pred_allsizes(type) \
871
  intra_pred_sized(type, 4, 4) \
872
  intra_pred_above_4x4(type)
873
#define intra_pred_square(type) \
874
  intra_pred_sized(type, 4, 4) \
875
  intra_pred_sized(type, 8, 8) \
876
  intra_pred_sized(type, 16, 16) \
877
  intra_pred_sized(type, 32, 32) \
878
  intra_pred_sized(type, 64, 64) \
879
  intra_pred_highbd_sized(type, 4, 4) \
880
  intra_pred_highbd_sized(type, 8, 8) \
881
  intra_pred_highbd_sized(type, 16, 16) \
882
  intra_pred_highbd_sized(type, 32, 32) \
883
  intra_pred_highbd_sized(type, 64, 64)
884
885
intra_pred_allsizes(v)
886
intra_pred_allsizes(h)
887
intra_pred_allsizes(smooth)
888
intra_pred_allsizes(smooth_v)
889
intra_pred_allsizes(smooth_h)
890
intra_pred_allsizes(paeth)
891
intra_pred_allsizes(dc_128)
892
intra_pred_allsizes(dc_left)
893
intra_pred_allsizes(dc_top)
894
intra_pred_square(dc)
895
intra_pred_allsizes(ibp_dc_left)
896
intra_pred_allsizes(ibp_dc_top)
897
intra_pred_allsizes(ibp_dc)
898
899
/* clang-format on */
900
#undef intra_pred_allsizes