Coverage Report

Created: 2026-10-28 07:01

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
196M
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
65.6M
                                              uint16_t top_left) {
51
65.6M
  const int base = top + left - top_left;
52
65.6M
  const int p_left = abs_diff(base, left);
53
65.6M
  const int p_top = abs_diff(base, top);
54
65.6M
  const int p_top_left = abs_diff(base, top_left);
55
56
  // Return nearest to base of left, top and top_left.
57
65.6M
  return (p_left <= p_top && p_left <= p_top_left) ? left
58
65.6M
         : (p_top <= p_top_left)                   ? top
59
16.8M
                                                   : top_left;
60
65.6M
}
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
1.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
20.7k
                                      const uint16_t *left, int bd) {
241
20.7k
  int r;
242
20.7k
  (void)left;
243
20.7k
  (void)bd;
244
736k
  for (r = 0; r < bh; r++) {
245
716k
    memcpy(dst, above, bw * sizeof(uint16_t));
246
716k
    dst += stride;
247
716k
  }
248
20.7k
}
249
250
static INLINE void highbd_h_predictor(uint16_t *dst, ptrdiff_t stride, int bw,
251
                                      int bh, const uint16_t *above,
252
22.9k
                                      const uint16_t *left, int bd) {
253
22.9k
  int r;
254
22.9k
  (void)above;
255
22.9k
  (void)bd;
256
789k
  for (r = 0; r < bh; r++) {
257
766k
    avm_memset16(dst, left[r], bw);
258
766k
    dst += stride;
259
766k
  }
260
22.9k
}
261
262
static INLINE void highbd_paeth_predictor(uint16_t *dst, ptrdiff_t stride,
263
                                          int bw, int bh, const uint16_t *above,
264
139k
                                          const uint16_t *left, int bd) {
265
139k
  int r, c;
266
139k
  const uint16_t ytop_left = above[-1];
267
139k
  (void)bd;
268
269
2.77M
  for (r = 0; r < bh; r++) {
270
68.2M
    for (c = 0; c < bw; c++)
271
65.6M
      dst[c] = paeth_predictor_single(left[r], above[c], ytop_left);
272
2.63M
    dst += stride;
273
2.63M
  }
274
139k
}
275
276
608M
#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
399k
                                           const uint16_t *left, int bd) {
287
399k
  (void)bd;
288
399k
  const uint16_t bl = left[bh];   // estimated by bottom-left pixel
289
399k
  const uint16_t tr = above[bw];  // estimated by top-right pixel
290
291
399k
  uint16_t *pred = dst;
292
399k
  const int scale =
293
399k
      ROUND_POWER_OF_TWO((blk_size_log2[bh] - 2 + blk_size_log2[bw] - 2), 2);
294
399k
  assert(scale >= 0 && scale <= BLEND_WEIGHT_MAX - 1);
295
7.16M
  for (int r = 0; r < bh; r++) {
296
6.76M
    const int s_top =
297
6.76M
        BLEND_WEIGHT_MAX >>
298
6.76M
        AVMMIN(blk_size_log2[BLEND_WEIGHT_MAX << 1], ((r << 1) >> scale));
299
6.76M
    const uint16_t l = left[r];
300
200M
    for (int c = 0; c < bw; c++) {
301
193M
      const int s_left =
302
193M
          BLEND_WEIGHT_MAX >>
303
193M
          AVMMIN(blk_size_log2[BLEND_WEIGHT_MAX << 1], ((c << 1) >> scale));
304
193M
      const uint16_t top = above[c];
305
193M
      const int blend_max_log2 = blk_size_log2[BLEND_WEIGHT_MAX];
306
193M
      uint16_t predv =
307
193M
          bl + divide_round(((int16_t)above[c] - (int16_t)bl) * (bh - 1 - r),
308
193M
                            blk_size_log2[bh]);
309
193M
      uint16_t predh =
310
193M
          tr + divide_round(((int16_t)left[r] - (int16_t)tr) * (bw - 1 - c),
311
193M
                            blk_size_log2[bw]);
312
193M
      predv = predv + divide_round(((int16_t)top - (int16_t)predv) * s_top,
313
193M
                                   (blend_max_log2 + 1));
314
193M
      assert(predv < (1 << bd));
315
193M
      predh = predh + divide_round(((int16_t)l - (int16_t)predh) * s_left,
316
193M
                                   (blend_max_log2 + 1));
317
193M
      assert(predh < (1 << bd));
318
193M
      pred[c] = divide_round((predv + predh), 1);
319
193M
      assert(pred[c] < (1 << bd));
320
193M
    }
321
6.76M
    pred += stride;
322
6.76M
  }
323
399k
}
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
122k
                                             const uint16_t *left, int bd) {
329
122k
  (void)bd;
330
122k
  const uint16_t bl = left[bh];  // estimated by bottom-left pixel
331
332
122k
  uint16_t *pred = dst;
333
122k
  const int scale =
334
122k
      ROUND_POWER_OF_TWO((blk_size_log2[bh] - 2 + blk_size_log2[bw] - 2), 2);
335
122k
  assert(scale >= 0 && scale <= BLEND_WEIGHT_MAX - 1);
336
2.25M
  for (int r = 0; r < bh; ++r) {
337
2.13M
    const int s_top =
338
2.13M
        BLEND_WEIGHT_MAX >>
339
2.13M
        AVMMIN(blk_size_log2[BLEND_WEIGHT_MAX << 1], ((r << 1) >> scale));
340
69.6M
    for (int c = 0; c < bw; ++c) {
341
67.5M
      const uint16_t top = above[c];
342
67.5M
      const int blend_max_log2 = blk_size_log2[BLEND_WEIGHT_MAX];
343
67.5M
      uint16_t predv =
344
67.5M
          bl + divide_round(((int16_t)above[c] - (int16_t)bl) * (bh - 1 - r),
345
67.5M
                            blk_size_log2[bh]);
346
67.5M
      pred[c] = predv + divide_round(((int16_t)top - (int16_t)predv) * s_top,
347
67.5M
                                     (blend_max_log2 + 1));
348
67.5M
      assert(pred[c] < (1 << bd));
349
67.5M
    }
350
2.13M
    pred += stride;
351
2.13M
  }
352
122k
}
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
134k
                                             const uint16_t *left, int bd) {
358
134k
  (void)bd;
359
134k
  const uint16_t tr = above[bw];  // estimated by top-right pixel
360
361
134k
  uint16_t *pred = dst;
362
134k
  const int scale =
363
134k
      ROUND_POWER_OF_TWO((blk_size_log2[bh] - 2 + blk_size_log2[bw] - 2), 2);
364
134k
  assert(scale >= 0 && scale <= BLEND_WEIGHT_MAX - 1);
365
2.46M
  for (int r = 0; r < bh; r++) {
366
2.32M
    const uint16_t l = left[r];
367
75.3M
    for (int c = 0; c < bw; c++) {
368
73.0M
      const int s_left =
369
73.0M
          BLEND_WEIGHT_MAX >>
370
73.0M
          AVMMIN(blk_size_log2[BLEND_WEIGHT_MAX << 1], ((c << 1) >> scale));
371
73.0M
      const int blend_max_log2 = blk_size_log2[BLEND_WEIGHT_MAX];
372
73.0M
      uint16_t predh =
373
73.0M
          tr + divide_round(((int16_t)left[r] - (int16_t)tr) * (bw - 1 - c),
374
73.0M
                            blk_size_log2[bw]);
375
73.0M
      pred[c] = predh + divide_round(((int16_t)l - (int16_t)predh) * s_left,
376
73.0M
                                     (blend_max_log2 + 1));
377
73.0M
      assert(pred[c] < (1 << bd));
378
73.0M
    }
379
2.32M
    pred += stride;
380
2.32M
  }
381
134k
}
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
23.3k
                                           const uint16_t *left, int bd) {
387
23.3k
  int r;
388
23.3k
  (void)above;
389
23.3k
  (void)left;
390
391
1.38M
  for (r = 0; r < bh; r++) {
392
1.35M
    avm_memset16(dst, 128 << (bd - 8), bw);
393
1.35M
    dst += stride;
394
1.35M
  }
395
23.3k
}
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
22.9k
                                            const uint16_t *left, int bd) {
401
22.9k
  int i, r, expected_dc, sum = 0;
402
22.9k
  (void)above;
403
22.9k
  (void)bd;
404
405
1.20M
  for (i = 0; i < bh; i++) sum += left[i];
406
22.9k
  expected_dc = (sum + (bh >> 1)) / bh;
407
408
1.16M
  for (r = 0; r < bh; r++) {
409
1.14M
    avm_memset16(dst, expected_dc, bw);
410
1.14M
    dst += stride;
411
1.14M
  }
412
22.9k
}
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
68.2k
                                           const uint16_t *left, int bd) {
418
68.2k
  int i, r, expected_dc, sum = 0;
419
68.2k
  (void)left;
420
68.2k
  (void)bd;
421
422
3.13M
  for (i = 0; i < bw; i++) sum += above[i];
423
68.2k
  expected_dc = (sum + (bw >> 1)) / bw;
424
425
2.45M
  for (r = 0; r < bh; r++) {
426
2.38M
    avm_memset16(dst, expected_dc, bw);
427
2.38M
    dst += stride;
428
2.38M
  }
429
68.2k
}
430
431
static INLINE void highbd_dc_predictor(uint16_t *dst, ptrdiff_t stride, int bw,
432
                                       int bh, const uint16_t *above,
433
31.6k
                                       const uint16_t *left, int bd) {
434
31.6k
  int i, r, expected_dc, sum = 0;
435
31.6k
  const int count = bw + bh;
436
31.6k
  (void)bd;
437
438
2.05M
  for (i = 0; i < bw; i++) {
439
2.02M
    sum += above[i];
440
2.02M
  }
441
2.05M
  for (i = 0; i < bh; i++) {
442
2.02M
    sum += left[i];
443
2.02M
  }
444
445
31.6k
  expected_dc = (sum + (count >> 1)) / count;
446
447
2.04M
  for (r = 0; r < bh; r++) {
448
2.00M
    avm_memset16(dst, expected_dc, bw);
449
2.00M
    dst += stride;
450
2.00M
  }
451
31.6k
}
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
27.3k
                                                const uint16_t *left, int bd) {
466
27.3k
  int r, c;
467
27.3k
  (void)above;
468
27.3k
  (void)bd;
469
470
27.3k
  int len = bw >> 2;
471
27.3k
  const uint8_t weights_index = size_to_weights_index[bw >> 3];
472
27.3k
  const uint8_t *weights = ibp_weights[weights_index];
473
1.18M
  for (r = 0; r < bh; r++) {
474
14.0M
    for (c = 0; c < len; c++) {
475
12.8M
      int val = ROUND_POWER_OF_TWO(
476
12.8M
          left[r] * (IBP_WEIGHT_REF - weights[c]) + dst[c] * weights[c],
477
12.8M
          IBP_WEIGHT_SHIFT);
478
12.8M
      dst[c] = val;
479
12.8M
    }
480
1.15M
    dst += stride;
481
1.15M
  }
482
27.3k
}
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
83.5k
                                               const uint16_t *left, int bd) {
488
83.5k
  int r, c;
489
83.5k
  (void)left;
490
83.5k
  (void)bd;
491
492
83.5k
  int len = bh >> 2;
493
83.5k
  const uint8_t weights_index = size_to_weights_index[bh >> 3];
494
83.5k
  const uint8_t *weights = ibp_weights[weights_index];
495
794k
  for (r = 0; r < len; r++) {
496
33.7M
    for (c = 0; c < bw; c++) {
497
33.0M
      int val = ROUND_POWER_OF_TWO(
498
33.0M
          above[c] * (IBP_WEIGHT_REF - weights[r]) + dst[c] * weights[r],
499
33.0M
          IBP_WEIGHT_SHIFT);
500
33.0M
      dst[c] = val;
501
33.0M
    }
502
711k
    dst += stride;
503
711k
  }
504
83.5k
}
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
249k
                                           const uint16_t *left, int bd) {
510
249k
  int r, c;
511
249k
  (void)bd;
512
513
249k
  uint16_t *orig_dst = dst;
514
249k
  int len_h = bh >> 2;
515
249k
  int len_w = bw >> 2;
516
249k
  int row_start = 0;
517
249k
  int col_start = 0;
518
249k
  if (bw >= bh)
519
171k
    row_start = len_h;
520
77.9k
  else
521
77.9k
    col_start = len_w;
522
249k
  uint8_t weights_index = size_to_weights_index[bh >> 3];
523
249k
  const uint8_t *weights = ibp_weights[weights_index];
524
1.77M
  for (r = 0; r < len_h; r++) {
525
49.7M
    for (c = col_start; c < bw; c++) {
526
48.2M
      int val = ROUND_POWER_OF_TWO(
527
48.2M
          above[c] * (IBP_WEIGHT_REF - weights[r]) + dst[c] * weights[r],
528
48.2M
          IBP_WEIGHT_SHIFT);
529
48.2M
      dst[c] = val;
530
48.2M
    }
531
1.52M
    dst += stride;
532
1.52M
  }
533
249k
  dst = orig_dst + row_start * stride;
534
249k
  weights_index = size_to_weights_index[bw >> 3];
535
249k
  weights = ibp_weights[weights_index];
536
5.39M
  for (r = row_start; r < bh; r++) {
537
44.9M
    for (c = 0; c < len_w; c++) {
538
39.8M
      int val = ROUND_POWER_OF_TWO(
539
39.8M
          left[r] * (IBP_WEIGHT_REF - weights[c]) + dst[c] * weights[c],
540
39.8M
          IBP_WEIGHT_SHIFT);
541
39.8M
      dst[c] = val;
542
39.8M
    }
543
5.14M
    dst += stride;
544
5.14M
  }
545
249k
}
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
170k
                                            const uint16_t *left, int bd) {
656
170k
  int sum = 0;
657
658
3.58M
  for (int i = 0; i < bw; i++) {
659
3.41M
    sum += above[i];
660
3.41M
  }
661
3.80M
  for (int i = 0; i < bh; i++) {
662
3.63M
    sum += left[i];
663
3.63M
  }
664
665
170k
  int16_t shift = 0;
666
170k
  uint16_t scale = resolve_divisor_32(bw + bh, &shift);
667
170k
  uint16_t rounding = 1 << shift >> 1;
668
170k
  const int expected_dc =
669
170k
      clip_pixel_highbd((sum * scale + rounding) >> shift, bd);
670
671
3.79M
  for (int r = 0; r < bh; r++) {
672
3.62M
    avm_memset16(dst, expected_dc, bw);
673
3.62M
    dst += stride;
674
3.62M
  }
675
170k
}
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
28.9k
                                    int bd) {
694
28.9k
  highbd_dc_predictor_rect(dst, stride, 4, 16, above, left, bd);
695
28.9k
}
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
27.6k
                                    int bd) {
700
27.6k
  highbd_dc_predictor_rect(dst, stride, 16, 4, above, left, bd);
701
27.6k
}
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
25.8k
                                    int bd) {
718
25.8k
  highbd_dc_predictor_rect(dst, stride, 8, 32, above, left, bd);
719
25.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
32.8k
                                    int bd) {
724
32.8k
  highbd_dc_predictor_rect(dst, stride, 32, 8, above, left, bd);
725
32.8k
}
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
6.82k
                                     const uint16_t *left, int bd) {
742
6.82k
  highbd_dc_predictor_rect(dst, stride, 16, 64, above, left, bd);
743
6.82k
}
744
745
void avm_highbd_dc_predictor_64x16_c(uint16_t *dst, ptrdiff_t stride,
746
                                     const uint16_t *above,
747
6.03k
                                     const uint16_t *left, int bd) {
748
6.03k
  highbd_dc_predictor_rect(dst, stride, 64, 16, above, left, bd);
749
6.03k
}
750
751
void avm_highbd_dc_predictor_32x64_c(uint16_t *dst, ptrdiff_t stride,
752
                                     const uint16_t *above,
753
7.38k
                                     const uint16_t *left, int bd) {
754
7.38k
  highbd_dc_predictor_rect(dst, stride, 32, 64, above, left, bd);
755
7.38k
}
756
757
void avm_highbd_dc_predictor_64x32_c(uint16_t *dst, ptrdiff_t stride,
758
                                     const uint16_t *above,
759
6.30k
                                     const uint16_t *left, int bd) {
760
6.30k
  highbd_dc_predictor_rect(dst, stride, 64, 32, above, left, bd);
761
6.30k
}
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
14.3k
                                    int bd) {
766
14.3k
  highbd_dc_predictor_rect(dst, stride, 4, 32, above, left, bd);
767
14.3k
}
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
8.18k
                                    int bd) {
772
8.18k
  highbd_dc_predictor_rect(dst, stride, 32, 4, above, left, bd);
773
8.18k
}
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
2.77k
                                    int bd) {
778
2.77k
  highbd_dc_predictor_rect(dst, stride, 8, 64, above, left, bd);
779
2.77k
}
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
1.81k
                                    int bd) {
784
1.81k
  highbd_dc_predictor_rect(dst, stride, 64, 8, above, left, bd);
785
1.81k
}
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.37k
                                    int bd) {
790
1.37k
  highbd_dc_predictor_rect(dst, stride, 4, 64, above, left, bd);
791
1.37k
}
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
91
                                    int bd) {
796
91
  highbd_dc_predictor_rect(dst, stride, 64, 4, above, left, bd);
797
91
}
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
1.34M
      const uint16_t *left, int bd) {                                       \
813
1.34M
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.34M
  }
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
5.54k
      const uint16_t *left, int bd) {                                       \
813
5.54k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
5.54k
  }
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
1.17k
      const uint16_t *left, int bd) {                                       \
813
1.17k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.17k
  }
avm_highbd_v_predictor_64x32_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_4x16_c
Line
Count
Source
812
2.08k
      const uint16_t *left, int bd) {                                       \
813
2.08k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.08k
  }
avm_highbd_v_predictor_16x4_c
Line
Count
Source
812
2.49k
      const uint16_t *left, int bd) {                                       \
813
2.49k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.49k
  }
avm_highbd_v_predictor_8x32_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_v_predictor_32x8_c
Line
Count
Source
812
1.97k
      const uint16_t *left, int bd) {                                       \
813
1.97k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.97k
  }
avm_highbd_v_predictor_16x64_c
Line
Count
Source
812
781
      const uint16_t *left, int bd) {                                       \
813
781
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
781
  }
avm_highbd_v_predictor_64x16_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_v_predictor_4x32_c
Line
Count
Source
812
698
      const uint16_t *left, int bd) {                                       \
813
698
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
698
  }
avm_highbd_v_predictor_32x4_c
Line
Count
Source
812
625
      const uint16_t *left, int bd) {                                       \
813
625
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
625
  }
avm_highbd_v_predictor_8x64_c
Line
Count
Source
812
293
      const uint16_t *left, int bd) {                                       \
813
293
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
293
  }
avm_highbd_v_predictor_64x8_c
Line
Count
Source
812
238
      const uint16_t *left, int bd) {                                       \
813
238
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
238
  }
avm_highbd_v_predictor_4x64_c
Line
Count
Source
812
149
      const uint16_t *left, int bd) {                                       \
813
149
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
149
  }
avm_highbd_v_predictor_64x4_c
Line
Count
Source
812
68
      const uint16_t *left, int bd) {                                       \
813
68
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
68
  }
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
6.58k
      const uint16_t *left, int bd) {                                       \
813
6.58k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
6.58k
  }
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
973
      const uint16_t *left, int bd) {                                       \
813
973
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
973
  }
avm_highbd_h_predictor_64x32_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_h_predictor_4x16_c
Line
Count
Source
812
2.11k
      const uint16_t *left, int bd) {                                       \
813
2.11k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.11k
  }
avm_highbd_h_predictor_16x4_c
Line
Count
Source
812
2.33k
      const uint16_t *left, int bd) {                                       \
813
2.33k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.33k
  }
avm_highbd_h_predictor_8x32_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_h_predictor_32x8_c
Line
Count
Source
812
3.80k
      const uint16_t *left, int bd) {                                       \
813
3.80k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.80k
  }
avm_highbd_h_predictor_16x64_c
Line
Count
Source
812
556
      const uint16_t *left, int bd) {                                       \
813
556
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
556
  }
avm_highbd_h_predictor_64x16_c
Line
Count
Source
812
878
      const uint16_t *left, int bd) {                                       \
813
878
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
878
  }
avm_highbd_h_predictor_4x32_c
Line
Count
Source
812
681
      const uint16_t *left, int bd) {                                       \
813
681
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
681
  }
avm_highbd_h_predictor_32x4_c
Line
Count
Source
812
539
      const uint16_t *left, int bd) {                                       \
813
539
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
539
  }
avm_highbd_h_predictor_8x64_c
Line
Count
Source
812
423
      const uint16_t *left, int bd) {                                       \
813
423
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
423
  }
avm_highbd_h_predictor_64x8_c
Line
Count
Source
812
438
      const uint16_t *left, int bd) {                                       \
813
438
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
438
  }
avm_highbd_h_predictor_4x64_c
Line
Count
Source
812
234
      const uint16_t *left, int bd) {                                       \
813
234
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
234
  }
avm_highbd_h_predictor_64x4_c
Line
Count
Source
812
24
      const uint16_t *left, int bd) {                                       \
813
24
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
24
  }
avm_highbd_smooth_predictor_4x4_c
Line
Count
Source
812
118k
      const uint16_t *left, int bd) {                                       \
813
118k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
118k
  }
avm_highbd_smooth_predictor_8x8_c
Line
Count
Source
812
23.8k
      const uint16_t *left, int bd) {                                       \
813
23.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
23.8k
  }
avm_highbd_smooth_predictor_16x16_c
Line
Count
Source
812
27.0k
      const uint16_t *left, int bd) {                                       \
813
27.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
27.0k
  }
avm_highbd_smooth_predictor_32x32_c
Line
Count
Source
812
34.7k
      const uint16_t *left, int bd) {                                       \
813
34.7k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
34.7k
  }
avm_highbd_smooth_predictor_64x64_c
Line
Count
Source
812
24.7k
      const uint16_t *left, int bd) {                                       \
813
24.7k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
24.7k
  }
avm_highbd_smooth_predictor_4x8_c
Line
Count
Source
812
15.5k
      const uint16_t *left, int bd) {                                       \
813
15.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
15.5k
  }
avm_highbd_smooth_predictor_8x4_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_predictor_8x16_c
Line
Count
Source
812
15.5k
      const uint16_t *left, int bd) {                                       \
813
15.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
15.5k
  }
avm_highbd_smooth_predictor_16x8_c
Line
Count
Source
812
22.3k
      const uint16_t *left, int bd) {                                       \
813
22.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
22.3k
  }
avm_highbd_smooth_predictor_16x32_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_predictor_32x16_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_smooth_predictor_32x64_c
Line
Count
Source
812
5.09k
      const uint16_t *left, int bd) {                                       \
813
5.09k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
5.09k
  }
avm_highbd_smooth_predictor_64x32_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_smooth_predictor_4x16_c
Line
Count
Source
812
7.62k
      const uint16_t *left, int bd) {                                       \
813
7.62k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
7.62k
  }
avm_highbd_smooth_predictor_16x4_c
Line
Count
Source
812
10.2k
      const uint16_t *left, int bd) {                                       \
813
10.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
10.2k
  }
avm_highbd_smooth_predictor_8x32_c
Line
Count
Source
812
7.59k
      const uint16_t *left, int bd) {                                       \
813
7.59k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
7.59k
  }
avm_highbd_smooth_predictor_32x8_c
Line
Count
Source
812
9.22k
      const uint16_t *left, int bd) {                                       \
813
9.22k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
9.22k
  }
avm_highbd_smooth_predictor_16x64_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_smooth_predictor_64x16_c
Line
Count
Source
812
7.15k
      const uint16_t *left, int bd) {                                       \
813
7.15k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
7.15k
  }
avm_highbd_smooth_predictor_4x32_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_predictor_32x4_c
Line
Count
Source
812
3.37k
      const uint16_t *left, int bd) {                                       \
813
3.37k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.37k
  }
avm_highbd_smooth_predictor_8x64_c
Line
Count
Source
812
1.17k
      const uint16_t *left, int bd) {                                       \
813
1.17k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.17k
  }
avm_highbd_smooth_predictor_64x8_c
Line
Count
Source
812
1.19k
      const uint16_t *left, int bd) {                                       \
813
1.19k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.19k
  }
avm_highbd_smooth_predictor_4x64_c
Line
Count
Source
812
721
      const uint16_t *left, int bd) {                                       \
813
721
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
721
  }
avm_highbd_smooth_predictor_64x4_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_smooth_v_predictor_4x4_c
Line
Count
Source
812
36.8k
      const uint16_t *left, int bd) {                                       \
813
36.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
36.8k
  }
avm_highbd_smooth_v_predictor_8x8_c
Line
Count
Source
812
8.37k
      const uint16_t *left, int bd) {                                       \
813
8.37k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
8.37k
  }
avm_highbd_smooth_v_predictor_16x16_c
Line
Count
Source
812
7.88k
      const uint16_t *left, int bd) {                                       \
813
7.88k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
7.88k
  }
avm_highbd_smooth_v_predictor_32x32_c
Line
Count
Source
812
8.32k
      const uint16_t *left, int bd) {                                       \
813
8.32k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
8.32k
  }
avm_highbd_smooth_v_predictor_64x64_c
Line
Count
Source
812
9.05k
      const uint16_t *left, int bd) {                                       \
813
9.05k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
9.05k
  }
avm_highbd_smooth_v_predictor_4x8_c
Line
Count
Source
812
3.79k
      const uint16_t *left, int bd) {                                       \
813
3.79k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.79k
  }
avm_highbd_smooth_v_predictor_8x4_c
Line
Count
Source
812
3.71k
      const uint16_t *left, int bd) {                                       \
813
3.71k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.71k
  }
avm_highbd_smooth_v_predictor_8x16_c
Line
Count
Source
812
5.38k
      const uint16_t *left, int bd) {                                       \
813
5.38k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
5.38k
  }
avm_highbd_smooth_v_predictor_16x8_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_v_predictor_16x32_c
Line
Count
Source
812
3.91k
      const uint16_t *left, int bd) {                                       \
813
3.91k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.91k
  }
avm_highbd_smooth_v_predictor_32x16_c
Line
Count
Source
812
6.19k
      const uint16_t *left, int bd) {                                       \
813
6.19k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
6.19k
  }
avm_highbd_smooth_v_predictor_32x64_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_smooth_v_predictor_64x32_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_smooth_v_predictor_4x16_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_v_predictor_16x4_c
Line
Count
Source
812
3.22k
      const uint16_t *left, int bd) {                                       \
813
3.22k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.22k
  }
avm_highbd_smooth_v_predictor_8x32_c
Line
Count
Source
812
2.11k
      const uint16_t *left, int bd) {                                       \
813
2.11k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.11k
  }
avm_highbd_smooth_v_predictor_32x8_c
Line
Count
Source
812
3.46k
      const uint16_t *left, int bd) {                                       \
813
3.46k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.46k
  }
avm_highbd_smooth_v_predictor_16x64_c
Line
Count
Source
812
1.46k
      const uint16_t *left, int bd) {                                       \
813
1.46k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.46k
  }
avm_highbd_smooth_v_predictor_64x16_c
Line
Count
Source
812
2.21k
      const uint16_t *left, int bd) {                                       \
813
2.21k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.21k
  }
avm_highbd_smooth_v_predictor_4x32_c
Line
Count
Source
812
1.84k
      const uint16_t *left, int bd) {                                       \
813
1.84k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.84k
  }
avm_highbd_smooth_v_predictor_32x4_c
Line
Count
Source
812
578
      const uint16_t *left, int bd) {                                       \
813
578
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
578
  }
avm_highbd_smooth_v_predictor_8x64_c
Line
Count
Source
812
443
      const uint16_t *left, int bd) {                                       \
813
443
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
443
  }
avm_highbd_smooth_v_predictor_64x8_c
Line
Count
Source
812
414
      const uint16_t *left, int bd) {                                       \
813
414
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
414
  }
avm_highbd_smooth_v_predictor_4x64_c
Line
Count
Source
812
99
      const uint16_t *left, int bd) {                                       \
813
99
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
99
  }
avm_highbd_smooth_v_predictor_64x4_c
Line
Count
Source
812
208
      const uint16_t *left, int bd) {                                       \
813
208
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
208
  }
avm_highbd_smooth_h_predictor_4x4_c
Line
Count
Source
812
35.4k
      const uint16_t *left, int bd) {                                       \
813
35.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
35.4k
  }
avm_highbd_smooth_h_predictor_8x8_c
Line
Count
Source
812
9.75k
      const uint16_t *left, int bd) {                                       \
813
9.75k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
9.75k
  }
avm_highbd_smooth_h_predictor_16x16_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_smooth_h_predictor_32x32_c
Line
Count
Source
812
7.30k
      const uint16_t *left, int bd) {                                       \
813
7.30k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
7.30k
  }
avm_highbd_smooth_h_predictor_64x64_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_4x8_c
Line
Count
Source
812
4.94k
      const uint16_t *left, int bd) {                                       \
813
4.94k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4.94k
  }
avm_highbd_smooth_h_predictor_8x4_c
Line
Count
Source
812
5.55k
      const uint16_t *left, int bd) {                                       \
813
5.55k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
5.55k
  }
avm_highbd_smooth_h_predictor_8x16_c
Line
Count
Source
812
6.84k
      const uint16_t *left, int bd) {                                       \
813
6.84k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
6.84k
  }
avm_highbd_smooth_h_predictor_16x8_c
Line
Count
Source
812
8.32k
      const uint16_t *left, int bd) {                                       \
813
8.32k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
8.32k
  }
avm_highbd_smooth_h_predictor_16x32_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_h_predictor_32x16_c
Line
Count
Source
812
6.10k
      const uint16_t *left, int bd) {                                       \
813
6.10k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
6.10k
  }
avm_highbd_smooth_h_predictor_32x64_c
Line
Count
Source
812
1.56k
      const uint16_t *left, int bd) {                                       \
813
1.56k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.56k
  }
avm_highbd_smooth_h_predictor_64x32_c
Line
Count
Source
812
2.33k
      const uint16_t *left, int bd) {                                       \
813
2.33k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.33k
  }
avm_highbd_smooth_h_predictor_4x16_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_smooth_h_predictor_16x4_c
Line
Count
Source
812
2.67k
      const uint16_t *left, int bd) {                                       \
813
2.67k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.67k
  }
avm_highbd_smooth_h_predictor_8x32_c
Line
Count
Source
812
2.54k
      const uint16_t *left, int bd) {                                       \
813
2.54k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.54k
  }
avm_highbd_smooth_h_predictor_32x8_c
Line
Count
Source
812
3.52k
      const uint16_t *left, int bd) {                                       \
813
3.52k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.52k
  }
avm_highbd_smooth_h_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_smooth_h_predictor_64x16_c
Line
Count
Source
812
2.29k
      const uint16_t *left, int bd) {                                       \
813
2.29k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.29k
  }
avm_highbd_smooth_h_predictor_4x32_c
Line
Count
Source
812
947
      const uint16_t *left, int bd) {                                       \
813
947
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
947
  }
avm_highbd_smooth_h_predictor_32x4_c
Line
Count
Source
812
1.10k
      const uint16_t *left, int bd) {                                       \
813
1.10k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.10k
  }
avm_highbd_smooth_h_predictor_8x64_c
Line
Count
Source
812
506
      const uint16_t *left, int bd) {                                       \
813
506
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
506
  }
avm_highbd_smooth_h_predictor_64x8_c
Line
Count
Source
812
1.57k
      const uint16_t *left, int bd) {                                       \
813
1.57k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.57k
  }
avm_highbd_smooth_h_predictor_4x64_c
Line
Count
Source
812
38
      const uint16_t *left, int bd) {                                       \
813
38
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
38
  }
avm_highbd_smooth_h_predictor_64x4_c
Line
Count
Source
812
171
      const uint16_t *left, int bd) {                                       \
813
171
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
171
  }
avm_highbd_paeth_predictor_4x4_c
Line
Count
Source
812
29.3k
      const uint16_t *left, int bd) {                                       \
813
29.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
29.3k
  }
avm_highbd_paeth_predictor_8x8_c
Line
Count
Source
812
9.79k
      const uint16_t *left, int bd) {                                       \
813
9.79k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
9.79k
  }
avm_highbd_paeth_predictor_16x16_c
Line
Count
Source
812
9.63k
      const uint16_t *left, int bd) {                                       \
813
9.63k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
9.63k
  }
avm_highbd_paeth_predictor_32x32_c
Line
Count
Source
812
9.93k
      const uint16_t *left, int bd) {                                       \
813
9.93k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
9.93k
  }
avm_highbd_paeth_predictor_64x64_c
Line
Count
Source
812
8.45k
      const uint16_t *left, int bd) {                                       \
813
8.45k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
8.45k
  }
avm_highbd_paeth_predictor_4x8_c
Line
Count
Source
812
6.85k
      const uint16_t *left, int bd) {                                       \
813
6.85k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
6.85k
  }
avm_highbd_paeth_predictor_8x4_c
Line
Count
Source
812
5.06k
      const uint16_t *left, int bd) {                                       \
813
5.06k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
5.06k
  }
avm_highbd_paeth_predictor_8x16_c
Line
Count
Source
812
4.53k
      const uint16_t *left, int bd) {                                       \
813
4.53k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4.53k
  }
avm_highbd_paeth_predictor_16x8_c
Line
Count
Source
812
9.31k
      const uint16_t *left, int bd) {                                       \
813
9.31k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
9.31k
  }
avm_highbd_paeth_predictor_16x32_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_paeth_predictor_32x16_c
Line
Count
Source
812
5.97k
      const uint16_t *left, int bd) {                                       \
813
5.97k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
5.97k
  }
avm_highbd_paeth_predictor_32x64_c
Line
Count
Source
812
2.74k
      const uint16_t *left, int bd) {                                       \
813
2.74k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.74k
  }
avm_highbd_paeth_predictor_64x32_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_4x16_c
Line
Count
Source
812
3.16k
      const uint16_t *left, int bd) {                                       \
813
3.16k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.16k
  }
avm_highbd_paeth_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_paeth_predictor_8x32_c
Line
Count
Source
812
4.70k
      const uint16_t *left, int bd) {                                       \
813
4.70k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4.70k
  }
avm_highbd_paeth_predictor_32x8_c
Line
Count
Source
812
3.44k
      const uint16_t *left, int bd) {                                       \
813
3.44k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.44k
  }
avm_highbd_paeth_predictor_16x64_c
Line
Count
Source
812
3.18k
      const uint16_t *left, int bd) {                                       \
813
3.18k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.18k
  }
avm_highbd_paeth_predictor_64x16_c
Line
Count
Source
812
2.42k
      const uint16_t *left, int bd) {                                       \
813
2.42k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.42k
  }
avm_highbd_paeth_predictor_4x32_c
Line
Count
Source
812
1.13k
      const uint16_t *left, int bd) {                                       \
813
1.13k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.13k
  }
avm_highbd_paeth_predictor_32x4_c
Line
Count
Source
812
4.60k
      const uint16_t *left, int bd) {                                       \
813
4.60k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4.60k
  }
avm_highbd_paeth_predictor_8x64_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_paeth_predictor_64x8_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_paeth_predictor_4x64_c
Line
Count
Source
812
1.46k
      const uint16_t *left, int bd) {                                       \
813
1.46k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.46k
  }
avm_highbd_paeth_predictor_64x4_c
Line
Count
Source
812
186
      const uint16_t *left, int bd) {                                       \
813
186
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
186
  }
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
19.5k
      const uint16_t *left, int bd) {                                       \
813
19.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
19.5k
  }
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
968
      const uint16_t *left, int bd) {                                       \
813
968
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
968
  }
avm_highbd_dc_128_predictor_64x32_c
Line
Count
Source
812
352
      const uint16_t *left, int bd) {                                       \
813
352
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
352
  }
avm_highbd_dc_128_predictor_4x16_c
Line
Count
Source
812
4
      const uint16_t *left, int bd) {                                       \
813
4
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4
  }
avm_highbd_dc_128_predictor_16x4_c
Line
Count
Source
812
111
      const uint16_t *left, int bd) {                                       \
813
111
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
111
  }
avm_highbd_dc_128_predictor_8x32_c
Line
Count
Source
812
143
      const uint16_t *left, int bd) {                                       \
813
143
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
143
  }
avm_highbd_dc_128_predictor_32x8_c
Line
Count
Source
812
99
      const uint16_t *left, int bd) {                                       \
813
99
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
99
  }
avm_highbd_dc_128_predictor_16x64_c
Line
Count
Source
812
1.59k
      const uint16_t *left, int bd) {                                       \
813
1.59k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.59k
  }
avm_highbd_dc_128_predictor_64x16_c
Line
Count
Source
812
274
      const uint16_t *left, int bd) {                                       \
813
274
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
274
  }
avm_highbd_dc_128_predictor_4x32_c
Line
Count
Source
812
86
      const uint16_t *left, int bd) {                                       \
813
86
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
86
  }
avm_highbd_dc_128_predictor_32x4_c
Line
Count
Source
812
111
      const uint16_t *left, int bd) {                                       \
813
111
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
111
  }
avm_highbd_dc_128_predictor_8x64_c
Line
Count
Source
812
29
      const uint16_t *left, int bd) {                                       \
813
29
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
29
  }
avm_highbd_dc_128_predictor_64x8_c
Line
Count
Source
812
4
      const uint16_t *left, int bd) {                                       \
813
4
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4
  }
avm_highbd_dc_128_predictor_4x64_c
Line
Count
Source
812
35
      const uint16_t *left, int bd) {                                       \
813
35
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
35
  }
avm_highbd_dc_128_predictor_64x4_c
Line
Count
Source
812
8
      const uint16_t *left, int bd) {                                       \
813
8
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
8
  }
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
11.2k
      const uint16_t *left, int bd) {                                       \
813
11.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
11.2k
  }
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
514
      const uint16_t *left, int bd) {                                       \
813
514
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
514
  }
avm_highbd_dc_left_predictor_64x32_c
Line
Count
Source
812
827
      const uint16_t *left, int bd) {                                       \
813
827
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
827
  }
avm_highbd_dc_left_predictor_4x16_c
Line
Count
Source
812
271
      const uint16_t *left, int bd) {                                       \
813
271
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
271
  }
avm_highbd_dc_left_predictor_16x4_c
Line
Count
Source
812
1.80k
      const uint16_t *left, int bd) {                                       \
813
1.80k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.80k
  }
avm_highbd_dc_left_predictor_8x32_c
Line
Count
Source
812
780
      const uint16_t *left, int bd) {                                       \
813
780
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
780
  }
avm_highbd_dc_left_predictor_32x8_c
Line
Count
Source
812
930
      const uint16_t *left, int bd) {                                       \
813
930
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
930
  }
avm_highbd_dc_left_predictor_16x64_c
Line
Count
Source
812
4.95k
      const uint16_t *left, int bd) {                                       \
813
4.95k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4.95k
  }
avm_highbd_dc_left_predictor_64x16_c
Line
Count
Source
812
440
      const uint16_t *left, int bd) {                                       \
813
440
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
440
  }
avm_highbd_dc_left_predictor_4x32_c
Line
Count
Source
812
468
      const uint16_t *left, int bd) {                                       \
813
468
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
468
  }
avm_highbd_dc_left_predictor_32x4_c
Line
Count
Source
812
386
      const uint16_t *left, int bd) {                                       \
813
386
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
386
  }
avm_highbd_dc_left_predictor_8x64_c
Line
Count
Source
812
140
      const uint16_t *left, int bd) {                                       \
813
140
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
140
  }
avm_highbd_dc_left_predictor_64x8_c
Line
Count
Source
812
118
      const uint16_t *left, int bd) {                                       \
813
118
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
118
  }
avm_highbd_dc_left_predictor_4x64_c
Line
Count
Source
812
140
      const uint16_t *left, int bd) {                                       \
813
140
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
140
  }
avm_highbd_dc_left_predictor_64x4_c
Line
Count
Source
812
1
      const uint16_t *left, int bd) {                                       \
813
1
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1
  }
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
22.5k
      const uint16_t *left, int bd) {                                       \
813
22.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
22.5k
  }
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
3.49k
      const uint16_t *left, int bd) {                                       \
813
3.49k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.49k
  }
avm_highbd_dc_top_predictor_64x32_c
Line
Count
Source
812
6.28k
      const uint16_t *left, int bd) {                                       \
813
6.28k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
6.28k
  }
avm_highbd_dc_top_predictor_4x16_c
Line
Count
Source
812
784
      const uint16_t *left, int bd) {                                       \
813
784
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
784
  }
avm_highbd_dc_top_predictor_16x4_c
Line
Count
Source
812
2.86k
      const uint16_t *left, int bd) {                                       \
813
2.86k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.86k
  }
avm_highbd_dc_top_predictor_8x32_c
Line
Count
Source
812
4.06k
      const uint16_t *left, int bd) {                                       \
813
4.06k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4.06k
  }
avm_highbd_dc_top_predictor_32x8_c
Line
Count
Source
812
15.2k
      const uint16_t *left, int bd) {                                       \
813
15.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
15.2k
  }
avm_highbd_dc_top_predictor_16x64_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_dc_top_predictor_64x16_c
Line
Count
Source
812
6.05k
      const uint16_t *left, int bd) {                                       \
813
6.05k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
6.05k
  }
avm_highbd_dc_top_predictor_4x32_c
Line
Count
Source
812
1.73k
      const uint16_t *left, int bd) {                                       \
813
1.73k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.73k
  }
avm_highbd_dc_top_predictor_32x4_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_dc_top_predictor_8x64_c
Line
Count
Source
812
186
      const uint16_t *left, int bd) {                                       \
813
186
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
186
  }
avm_highbd_dc_top_predictor_64x8_c
Line
Count
Source
812
842
      const uint16_t *left, int bd) {                                       \
813
842
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
842
  }
avm_highbd_dc_top_predictor_4x64_c
Line
Count
Source
812
299
      const uint16_t *left, int bd) {                                       \
813
299
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
299
  }
avm_highbd_dc_top_predictor_64x4_c
Line
Count
Source
812
140
      const uint16_t *left, int bd) {                                       \
813
140
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
140
  }
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
31.6k
      const uint16_t *left, int bd) {                                       \
813
31.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
31.6k
  }
Unexecuted instantiation: avm_highbd_ibp_dc_left_predictor_4x4_c
avm_highbd_ibp_dc_left_predictor_8x8_c
Line
Count
Source
812
807
      const uint16_t *left, int bd) {                                       \
813
807
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
807
  }
avm_highbd_ibp_dc_left_predictor_16x16_c
Line
Count
Source
812
639
      const uint16_t *left, int bd) {                                       \
813
639
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
639
  }
avm_highbd_ibp_dc_left_predictor_32x32_c
Line
Count
Source
812
976
      const uint16_t *left, int bd) {                                       \
813
976
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
976
  }
avm_highbd_ibp_dc_left_predictor_64x64_c
Line
Count
Source
812
10.0k
      const uint16_t *left, int bd) {                                       \
813
10.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
10.0k
  }
avm_highbd_ibp_dc_left_predictor_4x8_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_ibp_dc_left_predictor_8x4_c
Line
Count
Source
812
2.57k
      const uint16_t *left, int bd) {                                       \
813
2.57k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.57k
  }
avm_highbd_ibp_dc_left_predictor_8x16_c
Line
Count
Source
812
277
      const uint16_t *left, int bd) {                                       \
813
277
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
277
  }
avm_highbd_ibp_dc_left_predictor_16x8_c
Line
Count
Source
812
729
      const uint16_t *left, int bd) {                                       \
813
729
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
729
  }
avm_highbd_ibp_dc_left_predictor_16x32_c
Line
Count
Source
812
763
      const uint16_t *left, int bd) {                                       \
813
763
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
763
  }
avm_highbd_ibp_dc_left_predictor_32x16_c
Line
Count
Source
812
1.10k
      const uint16_t *left, int bd) {                                       \
813
1.10k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.10k
  }
avm_highbd_ibp_dc_left_predictor_32x64_c
Line
Count
Source
812
490
      const uint16_t *left, int bd) {                                       \
813
490
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
490
  }
avm_highbd_ibp_dc_left_predictor_64x32_c
Line
Count
Source
812
811
      const uint16_t *left, int bd) {                                       \
813
811
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
811
  }
avm_highbd_ibp_dc_left_predictor_4x16_c
Line
Count
Source
812
126
      const uint16_t *left, int bd) {                                       \
813
126
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
126
  }
avm_highbd_ibp_dc_left_predictor_16x4_c
Line
Count
Source
812
1.18k
      const uint16_t *left, int bd) {                                       \
813
1.18k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.18k
  }
avm_highbd_ibp_dc_left_predictor_8x32_c
Line
Count
Source
812
310
      const uint16_t *left, int bd) {                                       \
813
310
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
310
  }
avm_highbd_ibp_dc_left_predictor_32x8_c
Line
Count
Source
812
353
      const uint16_t *left, int bd) {                                       \
813
353
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
353
  }
avm_highbd_ibp_dc_left_predictor_16x64_c
Line
Count
Source
812
4.94k
      const uint16_t *left, int bd) {                                       \
813
4.94k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4.94k
  }
avm_highbd_ibp_dc_left_predictor_64x16_c
Line
Count
Source
812
379
      const uint16_t *left, int bd) {                                       \
813
379
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
379
  }
avm_highbd_ibp_dc_left_predictor_4x32_c
Line
Count
Source
812
67
      const uint16_t *left, int bd) {                                       \
813
67
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
67
  }
avm_highbd_ibp_dc_left_predictor_32x4_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_ibp_dc_left_predictor_8x64_c
Line
Count
Source
812
133
      const uint16_t *left, int bd) {                                       \
813
133
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
133
  }
avm_highbd_ibp_dc_left_predictor_64x8_c
Line
Count
Source
812
73
      const uint16_t *left, int bd) {                                       \
813
73
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
73
  }
avm_highbd_ibp_dc_left_predictor_4x64_c
Line
Count
Source
812
127
      const uint16_t *left, int bd) {                                       \
813
127
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
127
  }
avm_highbd_ibp_dc_left_predictor_64x4_c
Line
Count
Source
812
1
      const uint16_t *left, int bd) {                                       \
813
1
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1
  }
Unexecuted instantiation: avm_highbd_ibp_dc_top_predictor_4x4_c
avm_highbd_ibp_dc_top_predictor_8x8_c
Line
Count
Source
812
1.87k
      const uint16_t *left, int bd) {                                       \
813
1.87k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.87k
  }
avm_highbd_ibp_dc_top_predictor_16x16_c
Line
Count
Source
812
3.91k
      const uint16_t *left, int bd) {                                       \
813
3.91k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.91k
  }
avm_highbd_ibp_dc_top_predictor_32x32_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_ibp_dc_top_predictor_64x64_c
Line
Count
Source
812
20.4k
      const uint16_t *left, int bd) {                                       \
813
20.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
20.4k
  }
avm_highbd_ibp_dc_top_predictor_4x8_c
Line
Count
Source
812
890
      const uint16_t *left, int bd) {                                       \
813
890
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
890
  }
avm_highbd_ibp_dc_top_predictor_8x4_c
Line
Count
Source
812
809
      const uint16_t *left, int bd) {                                       \
813
809
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
809
  }
avm_highbd_ibp_dc_top_predictor_8x16_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_top_predictor_16x8_c
Line
Count
Source
812
2.69k
      const uint16_t *left, int bd) {                                       \
813
2.69k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.69k
  }
avm_highbd_ibp_dc_top_predictor_16x32_c
Line
Count
Source
812
4.61k
      const uint16_t *left, int bd) {                                       \
813
4.61k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
4.61k
  }
avm_highbd_ibp_dc_top_predictor_32x16_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_ibp_dc_top_predictor_32x64_c
Line
Count
Source
812
3.31k
      const uint16_t *left, int bd) {                                       \
813
3.31k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
3.31k
  }
avm_highbd_ibp_dc_top_predictor_64x32_c
Line
Count
Source
812
5.97k
      const uint16_t *left, int bd) {                                       \
813
5.97k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
5.97k
  }
avm_highbd_ibp_dc_top_predictor_4x16_c
Line
Count
Source
812
290
      const uint16_t *left, int bd) {                                       \
813
290
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
290
  }
avm_highbd_ibp_dc_top_predictor_16x4_c
Line
Count
Source
812
825
      const uint16_t *left, int bd) {                                       \
813
825
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
825
  }
avm_highbd_ibp_dc_top_predictor_8x32_c
Line
Count
Source
812
810
      const uint16_t *left, int bd) {                                       \
813
810
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
810
  }
avm_highbd_ibp_dc_top_predictor_32x8_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_top_predictor_16x64_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_ibp_dc_top_predictor_64x16_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_ibp_dc_top_predictor_4x32_c
Line
Count
Source
812
264
      const uint16_t *left, int bd) {                                       \
813
264
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
264
  }
avm_highbd_ibp_dc_top_predictor_32x4_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_8x64_c
Line
Count
Source
812
178
      const uint16_t *left, int bd) {                                       \
813
178
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
178
  }
avm_highbd_ibp_dc_top_predictor_64x8_c
Line
Count
Source
812
819
      const uint16_t *left, int bd) {                                       \
813
819
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
819
  }
avm_highbd_ibp_dc_top_predictor_4x64_c
Line
Count
Source
812
298
      const uint16_t *left, int bd) {                                       \
813
298
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
298
  }
avm_highbd_ibp_dc_top_predictor_64x4_c
Line
Count
Source
812
128
      const uint16_t *left, int bd) {                                       \
813
128
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
128
  }
Unexecuted instantiation: avm_highbd_ibp_dc_predictor_4x4_c
avm_highbd_ibp_dc_predictor_8x8_c
Line
Count
Source
812
25.6k
      const uint16_t *left, int bd) {                                       \
813
25.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
25.6k
  }
avm_highbd_ibp_dc_predictor_16x16_c
Line
Count
Source
812
26.6k
      const uint16_t *left, int bd) {                                       \
813
26.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
26.6k
  }
avm_highbd_ibp_dc_predictor_32x32_c
Line
Count
Source
812
17.3k
      const uint16_t *left, int bd) {                                       \
813
17.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
17.3k
  }
avm_highbd_ibp_dc_predictor_64x64_c
Line
Count
Source
812
27.0k
      const uint16_t *left, int bd) {                                       \
813
27.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
27.0k
  }
avm_highbd_ibp_dc_predictor_4x8_c
Line
Count
Source
812
13.2k
      const uint16_t *left, int bd) {                                       \
813
13.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
13.2k
  }
avm_highbd_ibp_dc_predictor_8x4_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_8x16_c
Line
Count
Source
812
16.6k
      const uint16_t *left, int bd) {                                       \
813
16.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
16.6k
  }
avm_highbd_ibp_dc_predictor_16x8_c
Line
Count
Source
812
18.4k
      const uint16_t *left, int bd) {                                       \
813
18.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
18.4k
  }
avm_highbd_ibp_dc_predictor_16x32_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_ibp_dc_predictor_32x16_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_32x64_c
Line
Count
Source
812
6.56k
      const uint16_t *left, int bd) {                                       \
813
6.56k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
6.56k
  }
avm_highbd_ibp_dc_predictor_64x32_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_predictor_4x16_c
Line
Count
Source
812
5.41k
      const uint16_t *left, int bd) {                                       \
813
5.41k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
5.41k
  }
avm_highbd_ibp_dc_predictor_16x4_c
Line
Count
Source
812
6.33k
      const uint16_t *left, int bd) {                                       \
813
6.33k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
6.33k
  }
avm_highbd_ibp_dc_predictor_8x32_c
Line
Count
Source
812
7.57k
      const uint16_t *left, int bd) {                                       \
813
7.57k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
7.57k
  }
avm_highbd_ibp_dc_predictor_32x8_c
Line
Count
Source
812
10.0k
      const uint16_t *left, int bd) {                                       \
813
10.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
10.0k
  }
avm_highbd_ibp_dc_predictor_16x64_c
Line
Count
Source
812
6.00k
      const uint16_t *left, int bd) {                                       \
813
6.00k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
6.00k
  }
avm_highbd_ibp_dc_predictor_64x16_c
Line
Count
Source
812
5.30k
      const uint16_t *left, int bd) {                                       \
813
5.30k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
5.30k
  }
avm_highbd_ibp_dc_predictor_4x32_c
Line
Count
Source
812
5.25k
      const uint16_t *left, int bd) {                                       \
813
5.25k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
5.25k
  }
avm_highbd_ibp_dc_predictor_32x4_c
Line
Count
Source
812
2.58k
      const uint16_t *left, int bd) {                                       \
813
2.58k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
2.58k
  }
avm_highbd_ibp_dc_predictor_8x64_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_ibp_dc_predictor_64x8_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_ibp_dc_predictor_4x64_c
Line
Count
Source
812
1.35k
      const uint16_t *left, int bd) {                                       \
813
1.35k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
1.35k
  }
avm_highbd_ibp_dc_predictor_64x4_c
Line
Count
Source
812
87
      const uint16_t *left, int bd) {                                       \
813
87
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
814
87
  }
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