Coverage Report

Created: 2026-07-25 07:03

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/aom/aom_dsp/intrapred.c
Line
Count
Source
1
/*
2
 * Copyright (c) 2016, Alliance for Open Media. All rights reserved.
3
 *
4
 * This source code is subject to the terms of the BSD 2 Clause License and
5
 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6
 * was not distributed with this source code in the LICENSE file, you can
7
 * obtain it at www.aomedia.org/license/software. If the Alliance for Open
8
 * Media Patent License 1.0 was not distributed with this source code in the
9
 * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
10
 */
11
12
#include <assert.h>
13
#include <math.h>
14
15
#include "config/aom_config.h"
16
#include "config/aom_dsp_rtcd.h"
17
18
#include "aom_dsp/aom_dsp_common.h"
19
#include "aom_dsp/intrapred_common.h"
20
#include "aom_mem/aom_mem.h"
21
#include "aom_ports/bitops.h"
22
23
static inline void v_predictor(uint8_t *dst, ptrdiff_t stride, int bw, int bh,
24
362k
                               const uint8_t *above, const uint8_t *left) {
25
362k
  int r;
26
362k
  (void)left;
27
28
2.63M
  for (r = 0; r < bh; r++) {
29
2.27M
    memcpy(dst, above, bw);
30
2.27M
    dst += stride;
31
2.27M
  }
32
362k
}
33
34
static inline void h_predictor(uint8_t *dst, ptrdiff_t stride, int bw, int bh,
35
332k
                               const uint8_t *above, const uint8_t *left) {
36
332k
  int r;
37
332k
  (void)above;
38
39
2.84M
  for (r = 0; r < bh; r++) {
40
2.50M
    memset(dst, left[r], bw);
41
2.50M
    dst += stride;
42
2.50M
  }
43
332k
}
44
45
941M
static inline int abs_diff(int a, int b) { return (a > b) ? a - b : b - a; }
46
47
static inline uint16_t paeth_predictor_single(uint16_t left, uint16_t top,
48
313M
                                              uint16_t top_left) {
49
313M
  const int base = top + left - top_left;
50
313M
  const int p_left = abs_diff(base, left);
51
313M
  const int p_top = abs_diff(base, top);
52
313M
  const int p_top_left = abs_diff(base, top_left);
53
54
  // Return nearest to base of left, top and top_left.
55
313M
  return (p_left <= p_top && p_left <= p_top_left) ? left
56
313M
         : (p_top <= p_top_left)                   ? top
57
59.1M
                                                   : top_left;
58
313M
}
59
60
static inline void paeth_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
61
                                   int bh, const uint8_t *above,
62
3.69M
                                   const uint8_t *left) {
63
3.69M
  int r, c;
64
3.69M
  const uint8_t ytop_left = above[-1];
65
66
25.1M
  for (r = 0; r < bh; r++) {
67
251M
    for (c = 0; c < bw; c++)
68
230M
      dst[c] = (uint8_t)paeth_predictor_single(left[r], above[c], ytop_left);
69
21.4M
    dst += stride;
70
21.4M
  }
71
3.69M
}
72
73
// Some basic checks on weights for smooth predictor.
74
#define sm_weights_sanity_checks(weights_w, weights_h, weights_scale, \
75
                                 pred_scale)                          \
76
1.45M
  assert(weights_w[0] < weights_scale);                               \
77
1.45M
  assert(weights_h[0] < weights_scale);                               \
78
1.45M
  assert(weights_scale - weights_w[bw - 1] < weights_scale);          \
79
1.45M
  assert(weights_scale - weights_h[bh - 1] < weights_scale);          \
80
1.45M
  assert(pred_scale < 31)  // ensures no overflow when calculating predictor.
81
82
292M
#define divide_round(value, bits) (((value) + (1 << ((bits) - 1))) >> (bits))
83
84
static inline void smooth_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
85
                                    int bh, const uint8_t *above,
86
466k
                                    const uint8_t *left) {
87
466k
  const uint8_t below_pred = left[bh - 1];   // estimated by bottom-left pixel
88
466k
  const uint8_t right_pred = above[bw - 1];  // estimated by top-right pixel
89
466k
  const uint8_t *const sm_weights_w = smooth_weights + bw - 4;
90
466k
  const uint8_t *const sm_weights_h = smooth_weights + bh - 4;
91
  // scale = 2 * 2^SMOOTH_WEIGHT_LOG2_SCALE
92
466k
  const int log2_scale = 1 + SMOOTH_WEIGHT_LOG2_SCALE;
93
466k
  const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE);
94
466k
  sm_weights_sanity_checks(sm_weights_w, sm_weights_h, scale,
95
466k
                           log2_scale + sizeof(*dst));
96
466k
  int r;
97
5.29M
  for (r = 0; r < bh; ++r) {
98
4.82M
    int c;
99
87.1M
    for (c = 0; c < bw; ++c) {
100
82.2M
      const uint8_t pixels[] = { above[c], below_pred, left[r], right_pred };
101
82.2M
      const uint8_t weights[] = { sm_weights_h[r], scale - sm_weights_h[r],
102
82.2M
                                  sm_weights_w[c], scale - sm_weights_w[c] };
103
82.2M
      uint32_t this_pred = 0;
104
82.2M
      int i;
105
82.2M
      assert(scale >= sm_weights_h[r] && scale >= sm_weights_w[c]);
106
411M
      for (i = 0; i < 4; ++i) {
107
329M
        this_pred += weights[i] * pixels[i];
108
329M
      }
109
82.2M
      dst[c] = divide_round(this_pred, log2_scale);
110
82.2M
    }
111
4.82M
    dst += stride;
112
4.82M
  }
113
466k
}
114
115
static inline void smooth_v_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
116
                                      int bh, const uint8_t *above,
117
148k
                                      const uint8_t *left) {
118
148k
  const uint8_t below_pred = left[bh - 1];  // estimated by bottom-left pixel
119
148k
  const uint8_t *const sm_weights = smooth_weights + bh - 4;
120
  // scale = 2^SMOOTH_WEIGHT_LOG2_SCALE
121
148k
  const int log2_scale = SMOOTH_WEIGHT_LOG2_SCALE;
122
148k
  const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE);
123
148k
  sm_weights_sanity_checks(sm_weights, sm_weights, scale,
124
148k
                           log2_scale + sizeof(*dst));
125
126
148k
  int r;
127
1.77M
  for (r = 0; r < bh; r++) {
128
1.62M
    int c;
129
30.3M
    for (c = 0; c < bw; ++c) {
130
28.7M
      const uint8_t pixels[] = { above[c], below_pred };
131
28.7M
      const uint8_t weights[] = { sm_weights[r], scale - sm_weights[r] };
132
28.7M
      uint32_t this_pred = 0;
133
28.7M
      assert(scale >= sm_weights[r]);
134
28.7M
      int i;
135
86.2M
      for (i = 0; i < 2; ++i) {
136
57.4M
        this_pred += weights[i] * pixels[i];
137
57.4M
      }
138
28.7M
      dst[c] = divide_round(this_pred, log2_scale);
139
28.7M
    }
140
1.62M
    dst += stride;
141
1.62M
  }
142
148k
}
143
144
static inline void smooth_h_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
145
                                      int bh, const uint8_t *above,
146
201k
                                      const uint8_t *left) {
147
201k
  const uint8_t right_pred = above[bw - 1];  // estimated by top-right pixel
148
201k
  const uint8_t *const sm_weights = smooth_weights + bw - 4;
149
  // scale = 2^SMOOTH_WEIGHT_LOG2_SCALE
150
201k
  const int log2_scale = SMOOTH_WEIGHT_LOG2_SCALE;
151
201k
  const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE);
152
201k
  sm_weights_sanity_checks(sm_weights, sm_weights, scale,
153
201k
                           log2_scale + sizeof(*dst));
154
155
201k
  int r;
156
2.52M
  for (r = 0; r < bh; r++) {
157
2.32M
    int c;
158
43.0M
    for (c = 0; c < bw; ++c) {
159
40.7M
      const uint8_t pixels[] = { left[r], right_pred };
160
40.7M
      const uint8_t weights[] = { sm_weights[c], scale - sm_weights[c] };
161
40.7M
      uint32_t this_pred = 0;
162
40.7M
      assert(scale >= sm_weights[c]);
163
40.7M
      int i;
164
122M
      for (i = 0; i < 2; ++i) {
165
81.4M
        this_pred += weights[i] * pixels[i];
166
81.4M
      }
167
40.7M
      dst[c] = divide_round(this_pred, log2_scale);
168
40.7M
    }
169
2.32M
    dst += stride;
170
2.32M
  }
171
201k
}
172
173
static inline void dc_128_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
174
                                    int bh, const uint8_t *above,
175
12.4k
                                    const uint8_t *left) {
176
12.4k
  int r;
177
12.4k
  (void)above;
178
12.4k
  (void)left;
179
180
278k
  for (r = 0; r < bh; r++) {
181
265k
    memset(dst, 128, bw);
182
265k
    dst += stride;
183
265k
  }
184
12.4k
}
185
186
static inline void dc_left_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
187
                                     int bh, const uint8_t *above,
188
111k
                                     const uint8_t *left) {
189
111k
  int i, r, expected_dc, sum = 0;
190
111k
  (void)above;
191
192
1.35M
  for (i = 0; i < bh; i++) sum += left[i];
193
111k
  expected_dc = (sum + (bh >> 1)) / bh;
194
195
1.35M
  for (r = 0; r < bh; r++) {
196
1.23M
    memset(dst, expected_dc, bw);
197
1.23M
    dst += stride;
198
1.23M
  }
199
111k
}
200
201
static inline void dc_top_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
202
                                    int bh, const uint8_t *above,
203
194k
                                    const uint8_t *left) {
204
194k
  int i, r, expected_dc, sum = 0;
205
194k
  (void)left;
206
207
2.77M
  for (i = 0; i < bw; i++) sum += above[i];
208
194k
  expected_dc = (sum + (bw >> 1)) / bw;
209
210
2.95M
  for (r = 0; r < bh; r++) {
211
2.75M
    memset(dst, expected_dc, bw);
212
2.75M
    dst += stride;
213
2.75M
  }
214
194k
}
215
216
static inline void dc_predictor(uint8_t *dst, ptrdiff_t stride, int bw, int bh,
217
2.53M
                                const uint8_t *above, const uint8_t *left) {
218
2.53M
  int i, r, expected_dc, sum = 0;
219
2.53M
  const int count = bw + bh;
220
221
19.9M
  for (i = 0; i < bw; i++) {
222
17.4M
    sum += above[i];
223
17.4M
  }
224
19.9M
  for (i = 0; i < bh; i++) {
225
17.4M
    sum += left[i];
226
17.4M
  }
227
228
2.53M
  expected_dc = (sum + (count >> 1)) / count;
229
230
19.9M
  for (r = 0; r < bh; r++) {
231
17.4M
    memset(dst, expected_dc, bw);
232
17.4M
    dst += stride;
233
17.4M
  }
234
2.53M
}
235
236
static inline int divide_using_multiply_shift(int num, int shift1,
237
1.47M
                                              int multiplier, int shift2) {
238
1.47M
  const int interm = num >> shift1;
239
1.47M
  return interm * multiplier >> shift2;
240
1.47M
}
241
242
// The constants (multiplier and shifts) for a given block size are obtained
243
// as follows:
244
// - Let sum_w_h =  block width + block height.
245
// - Shift 'sum_w_h' right until we reach an odd number. Let the number of
246
// shifts for that block size be called 'shift1' (see the parameter in
247
// dc_predictor_rect() function), and let the odd number be 'd'. [d has only 2
248
// possible values: d = 3 for a 1:2 rect block and d = 5 for a 1:4 rect
249
// block].
250
// - Find multipliers for (i) dividing by 3, and (ii) dividing by 5,
251
// using the "Algorithm 1" in:
252
// http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1467632
253
// by ensuring that m + n = 16 (in that algorithm). This ensures that our 2nd
254
// shift will be 16, regardless of the block size.
255
256
// Note: For low bitdepth, assembly code may be optimized by using smaller
257
// constants for smaller block sizes, where the range of the 'sum' is
258
// restricted to fewer bits.
259
260
483k
#define DC_MULTIPLIER_1X2 0x5556
261
257k
#define DC_MULTIPLIER_1X4 0x3334
262
263
740k
#define DC_SHIFT2 16
264
265
static inline void dc_predictor_rect(uint8_t *dst, ptrdiff_t stride, int bw,
266
                                     int bh, const uint8_t *above,
267
                                     const uint8_t *left, int shift1,
268
740k
                                     int multiplier) {
269
740k
  int sum = 0;
270
271
9.86M
  for (int i = 0; i < bw; i++) {
272
9.12M
    sum += above[i];
273
9.12M
  }
274
8.93M
  for (int i = 0; i < bh; i++) {
275
8.19M
    sum += left[i];
276
8.19M
  }
277
278
740k
  const int expected_dc = divide_using_multiply_shift(
279
740k
      sum + ((bw + bh) >> 1), shift1, multiplier, DC_SHIFT2);
280
740k
  assert(expected_dc < (1 << 8));
281
282
8.93M
  for (int r = 0; r < bh; r++) {
283
8.19M
    memset(dst, expected_dc, bw);
284
8.19M
    dst += stride;
285
8.19M
  }
286
740k
}
287
288
#undef DC_SHIFT2
289
290
void aom_dc_predictor_4x8_c(uint8_t *dst, ptrdiff_t stride,
291
100k
                            const uint8_t *above, const uint8_t *left) {
292
100k
  dc_predictor_rect(dst, stride, 4, 8, above, left, 2, DC_MULTIPLIER_1X2);
293
100k
}
294
295
void aom_dc_predictor_8x4_c(uint8_t *dst, ptrdiff_t stride,
296
136k
                            const uint8_t *above, const uint8_t *left) {
297
136k
  dc_predictor_rect(dst, stride, 8, 4, above, left, 2, DC_MULTIPLIER_1X2);
298
136k
}
299
300
#if !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
301
void aom_dc_predictor_4x16_c(uint8_t *dst, ptrdiff_t stride,
302
71.1k
                             const uint8_t *above, const uint8_t *left) {
303
71.1k
  dc_predictor_rect(dst, stride, 4, 16, above, left, 2, DC_MULTIPLIER_1X4);
304
71.1k
}
305
306
void aom_dc_predictor_16x4_c(uint8_t *dst, ptrdiff_t stride,
307
105k
                             const uint8_t *above, const uint8_t *left) {
308
105k
  dc_predictor_rect(dst, stride, 16, 4, above, left, 2, DC_MULTIPLIER_1X4);
309
105k
}
310
#endif  // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
311
312
void aom_dc_predictor_8x16_c(uint8_t *dst, ptrdiff_t stride,
313
76.3k
                             const uint8_t *above, const uint8_t *left) {
314
76.3k
  dc_predictor_rect(dst, stride, 8, 16, above, left, 3, DC_MULTIPLIER_1X2);
315
76.3k
}
316
317
void aom_dc_predictor_16x8_c(uint8_t *dst, ptrdiff_t stride,
318
107k
                             const uint8_t *above, const uint8_t *left) {
319
107k
  dc_predictor_rect(dst, stride, 16, 8, above, left, 3, DC_MULTIPLIER_1X2);
320
107k
}
321
322
#if !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
323
void aom_dc_predictor_8x32_c(uint8_t *dst, ptrdiff_t stride,
324
36.4k
                             const uint8_t *above, const uint8_t *left) {
325
36.4k
  dc_predictor_rect(dst, stride, 8, 32, above, left, 3, DC_MULTIPLIER_1X4);
326
36.4k
}
327
328
void aom_dc_predictor_32x8_c(uint8_t *dst, ptrdiff_t stride,
329
39.6k
                             const uint8_t *above, const uint8_t *left) {
330
39.6k
  dc_predictor_rect(dst, stride, 32, 8, above, left, 3, DC_MULTIPLIER_1X4);
331
39.6k
}
332
#endif  // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
333
334
void aom_dc_predictor_16x32_c(uint8_t *dst, ptrdiff_t stride,
335
27.7k
                              const uint8_t *above, const uint8_t *left) {
336
27.7k
  dc_predictor_rect(dst, stride, 16, 32, above, left, 4, DC_MULTIPLIER_1X2);
337
27.7k
}
338
339
void aom_dc_predictor_32x16_c(uint8_t *dst, ptrdiff_t stride,
340
32.0k
                              const uint8_t *above, const uint8_t *left) {
341
32.0k
  dc_predictor_rect(dst, stride, 32, 16, above, left, 4, DC_MULTIPLIER_1X2);
342
32.0k
}
343
344
#if !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
345
void aom_dc_predictor_16x64_c(uint8_t *dst, ptrdiff_t stride,
346
2.83k
                              const uint8_t *above, const uint8_t *left) {
347
2.83k
  dc_predictor_rect(dst, stride, 16, 64, above, left, 4, DC_MULTIPLIER_1X4);
348
2.83k
}
349
350
void aom_dc_predictor_64x16_c(uint8_t *dst, ptrdiff_t stride,
351
2.07k
                              const uint8_t *above, const uint8_t *left) {
352
2.07k
  dc_predictor_rect(dst, stride, 64, 16, above, left, 4, DC_MULTIPLIER_1X4);
353
2.07k
}
354
#endif  // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
355
356
void aom_dc_predictor_32x64_c(uint8_t *dst, ptrdiff_t stride,
357
972
                              const uint8_t *above, const uint8_t *left) {
358
972
  dc_predictor_rect(dst, stride, 32, 64, above, left, 5, DC_MULTIPLIER_1X2);
359
972
}
360
361
void aom_dc_predictor_64x32_c(uint8_t *dst, ptrdiff_t stride,
362
1.27k
                              const uint8_t *above, const uint8_t *left) {
363
1.27k
  dc_predictor_rect(dst, stride, 64, 32, above, left, 5, DC_MULTIPLIER_1X2);
364
1.27k
}
365
366
#undef DC_MULTIPLIER_1X2
367
#undef DC_MULTIPLIER_1X4
368
369
#if CONFIG_AV1_HIGHBITDEPTH
370
371
static inline void highbd_v_predictor(uint16_t *dst, ptrdiff_t stride, int bw,
372
                                      int bh, const uint16_t *above,
373
97.2k
                                      const uint16_t *left, int bd) {
374
97.2k
  int r;
375
97.2k
  (void)left;
376
97.2k
  (void)bd;
377
1.21M
  for (r = 0; r < bh; r++) {
378
1.11M
    memcpy(dst, above, bw * sizeof(uint16_t));
379
1.11M
    dst += stride;
380
1.11M
  }
381
97.2k
}
382
383
static inline void highbd_h_predictor(uint16_t *dst, ptrdiff_t stride, int bw,
384
                                      int bh, const uint16_t *above,
385
163k
                                      const uint16_t *left, int bd) {
386
163k
  int r;
387
163k
  (void)above;
388
163k
  (void)bd;
389
1.87M
  for (r = 0; r < bh; r++) {
390
1.71M
    aom_memset16(dst, left[r], bw);
391
1.71M
    dst += stride;
392
1.71M
  }
393
163k
}
394
395
static inline void highbd_paeth_predictor(uint16_t *dst, ptrdiff_t stride,
396
                                          int bw, int bh, const uint16_t *above,
397
329k
                                          const uint16_t *left, int bd) {
398
329k
  int r, c;
399
329k
  const uint16_t ytop_left = above[-1];
400
329k
  (void)bd;
401
402
4.96M
  for (r = 0; r < bh; r++) {
403
88.4M
    for (c = 0; c < bw; c++)
404
83.8M
      dst[c] = paeth_predictor_single(left[r], above[c], ytop_left);
405
4.63M
    dst += stride;
406
4.63M
  }
407
329k
}
408
409
static inline void highbd_smooth_predictor(uint16_t *dst, ptrdiff_t stride,
410
                                           int bw, int bh,
411
                                           const uint16_t *above,
412
322k
                                           const uint16_t *left, int bd) {
413
322k
  (void)bd;
414
322k
  const uint16_t below_pred = left[bh - 1];   // estimated by bottom-left pixel
415
322k
  const uint16_t right_pred = above[bw - 1];  // estimated by top-right pixel
416
322k
  const uint8_t *const sm_weights_w = smooth_weights + bw - 4;
417
322k
  const uint8_t *const sm_weights_h = smooth_weights + bh - 4;
418
  // scale = 2 * 2^SMOOTH_WEIGHT_LOG2_SCALE
419
322k
  const int log2_scale = 1 + SMOOTH_WEIGHT_LOG2_SCALE;
420
322k
  const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE);
421
322k
  sm_weights_sanity_checks(sm_weights_w, sm_weights_h, scale,
422
322k
                           log2_scale + sizeof(*dst));
423
322k
  int r;
424
4.14M
  for (r = 0; r < bh; ++r) {
425
3.82M
    int c;
426
76.0M
    for (c = 0; c < bw; ++c) {
427
72.2M
      const uint16_t pixels[] = { above[c], below_pred, left[r], right_pred };
428
72.2M
      const uint8_t weights[] = { sm_weights_h[r], scale - sm_weights_h[r],
429
72.2M
                                  sm_weights_w[c], scale - sm_weights_w[c] };
430
72.2M
      uint32_t this_pred = 0;
431
72.2M
      int i;
432
72.2M
      assert(scale >= sm_weights_h[r] && scale >= sm_weights_w[c]);
433
361M
      for (i = 0; i < 4; ++i) {
434
288M
        this_pred += weights[i] * pixels[i];
435
288M
      }
436
72.2M
      dst[c] = divide_round(this_pred, log2_scale);
437
72.2M
    }
438
3.82M
    dst += stride;
439
3.82M
  }
440
322k
}
441
442
static inline void highbd_smooth_v_predictor(uint16_t *dst, ptrdiff_t stride,
443
                                             int bw, int bh,
444
                                             const uint16_t *above,
445
154k
                                             const uint16_t *left, int bd) {
446
154k
  (void)bd;
447
154k
  const uint16_t below_pred = left[bh - 1];  // estimated by bottom-left pixel
448
154k
  const uint8_t *const sm_weights = smooth_weights + bh - 4;
449
  // scale = 2^SMOOTH_WEIGHT_LOG2_SCALE
450
154k
  const int log2_scale = SMOOTH_WEIGHT_LOG2_SCALE;
451
154k
  const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE);
452
154k
  sm_weights_sanity_checks(sm_weights, sm_weights, scale,
453
154k
                           log2_scale + sizeof(*dst));
454
455
154k
  int r;
456
2.04M
  for (r = 0; r < bh; r++) {
457
1.89M
    int c;
458
35.5M
    for (c = 0; c < bw; ++c) {
459
33.6M
      const uint16_t pixels[] = { above[c], below_pred };
460
33.6M
      const uint8_t weights[] = { sm_weights[r], scale - sm_weights[r] };
461
33.6M
      uint32_t this_pred = 0;
462
33.6M
      assert(scale >= sm_weights[r]);
463
33.6M
      int i;
464
100M
      for (i = 0; i < 2; ++i) {
465
67.2M
        this_pred += weights[i] * pixels[i];
466
67.2M
      }
467
33.6M
      dst[c] = divide_round(this_pred, log2_scale);
468
33.6M
    }
469
1.89M
    dst += stride;
470
1.89M
  }
471
154k
}
472
473
static inline void highbd_smooth_h_predictor(uint16_t *dst, ptrdiff_t stride,
474
                                             int bw, int bh,
475
                                             const uint16_t *above,
476
158k
                                             const uint16_t *left, int bd) {
477
158k
  (void)bd;
478
158k
  const uint16_t right_pred = above[bw - 1];  // estimated by top-right pixel
479
158k
  const uint8_t *const sm_weights = smooth_weights + bw - 4;
480
  // scale = 2^SMOOTH_WEIGHT_LOG2_SCALE
481
158k
  const int log2_scale = SMOOTH_WEIGHT_LOG2_SCALE;
482
158k
  const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE);
483
158k
  sm_weights_sanity_checks(sm_weights, sm_weights, scale,
484
158k
                           log2_scale + sizeof(*dst));
485
486
158k
  int r;
487
2.08M
  for (r = 0; r < bh; r++) {
488
1.92M
    int c;
489
36.8M
    for (c = 0; c < bw; ++c) {
490
34.8M
      const uint16_t pixels[] = { left[r], right_pred };
491
34.8M
      const uint8_t weights[] = { sm_weights[c], scale - sm_weights[c] };
492
34.8M
      uint32_t this_pred = 0;
493
34.8M
      assert(scale >= sm_weights[c]);
494
34.8M
      int i;
495
104M
      for (i = 0; i < 2; ++i) {
496
69.7M
        this_pred += weights[i] * pixels[i];
497
69.7M
      }
498
34.8M
      dst[c] = divide_round(this_pred, log2_scale);
499
34.8M
    }
500
1.92M
    dst += stride;
501
1.92M
  }
502
158k
}
503
504
static inline void highbd_dc_128_predictor(uint16_t *dst, ptrdiff_t stride,
505
                                           int bw, int bh,
506
                                           const uint16_t *above,
507
21.3k
                                           const uint16_t *left, int bd) {
508
21.3k
  int r;
509
21.3k
  (void)above;
510
21.3k
  (void)left;
511
512
559k
  for (r = 0; r < bh; r++) {
513
537k
    aom_memset16(dst, 128 << (bd - 8), bw);
514
537k
    dst += stride;
515
537k
  }
516
21.3k
}
517
518
static inline void highbd_dc_left_predictor(uint16_t *dst, ptrdiff_t stride,
519
                                            int bw, int bh,
520
                                            const uint16_t *above,
521
54.5k
                                            const uint16_t *left, int bd) {
522
54.5k
  int i, r, expected_dc, sum = 0;
523
54.5k
  (void)above;
524
54.5k
  (void)bd;
525
526
1.40M
  for (i = 0; i < bh; i++) sum += left[i];
527
54.5k
  expected_dc = (sum + (bh >> 1)) / bh;
528
529
1.40M
  for (r = 0; r < bh; r++) {
530
1.34M
    aom_memset16(dst, expected_dc, bw);
531
1.34M
    dst += stride;
532
1.34M
  }
533
54.5k
}
534
535
static inline void highbd_dc_top_predictor(uint16_t *dst, ptrdiff_t stride,
536
                                           int bw, int bh,
537
                                           const uint16_t *above,
538
146k
                                           const uint16_t *left, int bd) {
539
146k
  int i, r, expected_dc, sum = 0;
540
146k
  (void)left;
541
146k
  (void)bd;
542
543
2.83M
  for (i = 0; i < bw; i++) sum += above[i];
544
146k
  expected_dc = (sum + (bw >> 1)) / bw;
545
546
2.96M
  for (r = 0; r < bh; r++) {
547
2.81M
    aom_memset16(dst, expected_dc, bw);
548
2.81M
    dst += stride;
549
2.81M
  }
550
146k
}
551
552
static inline void highbd_dc_predictor(uint16_t *dst, ptrdiff_t stride, int bw,
553
                                       int bh, const uint16_t *above,
554
1.32M
                                       const uint16_t *left, int bd) {
555
1.32M
  int i, r, expected_dc, sum = 0;
556
1.32M
  const int count = bw + bh;
557
1.32M
  (void)bd;
558
559
13.9M
  for (i = 0; i < bw; i++) {
560
12.6M
    sum += above[i];
561
12.6M
  }
562
13.9M
  for (i = 0; i < bh; i++) {
563
12.6M
    sum += left[i];
564
12.6M
  }
565
566
1.32M
  expected_dc = (sum + (count >> 1)) / count;
567
568
13.9M
  for (r = 0; r < bh; r++) {
569
12.6M
    aom_memset16(dst, expected_dc, bw);
570
12.6M
    dst += stride;
571
12.6M
  }
572
1.32M
}
573
574
// Obtained similarly as DC_MULTIPLIER_1X2 and DC_MULTIPLIER_1X4 above, but
575
// assume 2nd shift of 17 bits instead of 16.
576
// Note: Strictly speaking, 2nd shift needs to be 17 only when:
577
// - bit depth == 12, and
578
// - bw + bh is divisible by 5 (as opposed to divisible by 3).
579
// All other cases can use half the multipliers with a shift of 16 instead.
580
// This special optimization can be used when writing assembly code.
581
496k
#define HIGHBD_DC_MULTIPLIER_1X2 0xAAAB
582
// Note: This constant is odd, but a smaller even constant (0x199a) with the
583
// appropriate shift should work for neon in 8/10-bit.
584
240k
#define HIGHBD_DC_MULTIPLIER_1X4 0x6667
585
586
737k
#define HIGHBD_DC_SHIFT2 17
587
588
static inline void highbd_dc_predictor_rect(uint16_t *dst, ptrdiff_t stride,
589
                                            int bw, int bh,
590
                                            const uint16_t *above,
591
                                            const uint16_t *left, int bd,
592
737k
                                            int shift1, uint32_t multiplier) {
593
737k
  int sum = 0;
594
737k
  (void)bd;
595
596
10.0M
  for (int i = 0; i < bw; i++) {
597
9.27M
    sum += above[i];
598
9.27M
  }
599
8.98M
  for (int i = 0; i < bh; i++) {
600
8.24M
    sum += left[i];
601
8.24M
  }
602
603
737k
  const int expected_dc = divide_using_multiply_shift(
604
737k
      sum + ((bw + bh) >> 1), shift1, multiplier, HIGHBD_DC_SHIFT2);
605
737k
  assert(expected_dc < (1 << bd));
606
607
8.98M
  for (int r = 0; r < bh; r++) {
608
8.24M
    aom_memset16(dst, expected_dc, bw);
609
8.24M
    dst += stride;
610
8.24M
  }
611
737k
}
612
613
#undef HIGHBD_DC_SHIFT2
614
615
void aom_highbd_dc_predictor_4x8_c(uint16_t *dst, ptrdiff_t stride,
616
                                   const uint16_t *above, const uint16_t *left,
617
102k
                                   int bd) {
618
102k
  highbd_dc_predictor_rect(dst, stride, 4, 8, above, left, bd, 2,
619
102k
                           HIGHBD_DC_MULTIPLIER_1X2);
620
102k
}
621
622
void aom_highbd_dc_predictor_8x4_c(uint16_t *dst, ptrdiff_t stride,
623
                                   const uint16_t *above, const uint16_t *left,
624
135k
                                   int bd) {
625
135k
  highbd_dc_predictor_rect(dst, stride, 8, 4, above, left, bd, 2,
626
135k
                           HIGHBD_DC_MULTIPLIER_1X2);
627
135k
}
628
629
#if !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
630
void aom_highbd_dc_predictor_4x16_c(uint16_t *dst, ptrdiff_t stride,
631
                                    const uint16_t *above, const uint16_t *left,
632
54.8k
                                    int bd) {
633
54.8k
  highbd_dc_predictor_rect(dst, stride, 4, 16, above, left, bd, 2,
634
54.8k
                           HIGHBD_DC_MULTIPLIER_1X4);
635
54.8k
}
636
637
void aom_highbd_dc_predictor_16x4_c(uint16_t *dst, ptrdiff_t stride,
638
                                    const uint16_t *above, const uint16_t *left,
639
100k
                                    int bd) {
640
100k
  highbd_dc_predictor_rect(dst, stride, 16, 4, above, left, bd, 2,
641
100k
                           HIGHBD_DC_MULTIPLIER_1X4);
642
100k
}
643
#endif  // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
644
645
void aom_highbd_dc_predictor_8x16_c(uint16_t *dst, ptrdiff_t stride,
646
                                    const uint16_t *above, const uint16_t *left,
647
76.7k
                                    int bd) {
648
76.7k
  highbd_dc_predictor_rect(dst, stride, 8, 16, above, left, bd, 3,
649
76.7k
                           HIGHBD_DC_MULTIPLIER_1X2);
650
76.7k
}
651
652
void aom_highbd_dc_predictor_16x8_c(uint16_t *dst, ptrdiff_t stride,
653
                                    const uint16_t *above, const uint16_t *left,
654
113k
                                    int bd) {
655
113k
  highbd_dc_predictor_rect(dst, stride, 16, 8, above, left, bd, 3,
656
113k
                           HIGHBD_DC_MULTIPLIER_1X2);
657
113k
}
658
659
#if !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
660
void aom_highbd_dc_predictor_8x32_c(uint16_t *dst, ptrdiff_t stride,
661
                                    const uint16_t *above, const uint16_t *left,
662
37.0k
                                    int bd) {
663
37.0k
  highbd_dc_predictor_rect(dst, stride, 8, 32, above, left, bd, 3,
664
37.0k
                           HIGHBD_DC_MULTIPLIER_1X4);
665
37.0k
}
666
667
void aom_highbd_dc_predictor_32x8_c(uint16_t *dst, ptrdiff_t stride,
668
                                    const uint16_t *above, const uint16_t *left,
669
44.1k
                                    int bd) {
670
44.1k
  highbd_dc_predictor_rect(dst, stride, 32, 8, above, left, bd, 3,
671
44.1k
                           HIGHBD_DC_MULTIPLIER_1X4);
672
44.1k
}
673
#endif  // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
674
675
void aom_highbd_dc_predictor_16x32_c(uint16_t *dst, ptrdiff_t stride,
676
                                     const uint16_t *above,
677
35.5k
                                     const uint16_t *left, int bd) {
678
35.5k
  highbd_dc_predictor_rect(dst, stride, 16, 32, above, left, bd, 4,
679
35.5k
                           HIGHBD_DC_MULTIPLIER_1X2);
680
35.5k
}
681
682
void aom_highbd_dc_predictor_32x16_c(uint16_t *dst, ptrdiff_t stride,
683
                                     const uint16_t *above,
684
31.2k
                                     const uint16_t *left, int bd) {
685
31.2k
  highbd_dc_predictor_rect(dst, stride, 32, 16, above, left, bd, 4,
686
31.2k
                           HIGHBD_DC_MULTIPLIER_1X2);
687
31.2k
}
688
689
#if !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
690
void aom_highbd_dc_predictor_16x64_c(uint16_t *dst, ptrdiff_t stride,
691
                                     const uint16_t *above,
692
2.63k
                                     const uint16_t *left, int bd) {
693
2.63k
  highbd_dc_predictor_rect(dst, stride, 16, 64, above, left, bd, 4,
694
2.63k
                           HIGHBD_DC_MULTIPLIER_1X4);
695
2.63k
}
696
697
void aom_highbd_dc_predictor_64x16_c(uint16_t *dst, ptrdiff_t stride,
698
                                     const uint16_t *above,
699
1.69k
                                     const uint16_t *left, int bd) {
700
1.69k
  highbd_dc_predictor_rect(dst, stride, 64, 16, above, left, bd, 4,
701
1.69k
                           HIGHBD_DC_MULTIPLIER_1X4);
702
1.69k
}
703
#endif  // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
704
705
void aom_highbd_dc_predictor_32x64_c(uint16_t *dst, ptrdiff_t stride,
706
                                     const uint16_t *above,
707
957
                                     const uint16_t *left, int bd) {
708
957
  highbd_dc_predictor_rect(dst, stride, 32, 64, above, left, bd, 5,
709
957
                           HIGHBD_DC_MULTIPLIER_1X2);
710
957
}
711
712
void aom_highbd_dc_predictor_64x32_c(uint16_t *dst, ptrdiff_t stride,
713
                                     const uint16_t *above,
714
1.10k
                                     const uint16_t *left, int bd) {
715
1.10k
  highbd_dc_predictor_rect(dst, stride, 64, 32, above, left, bd, 5,
716
1.10k
                           HIGHBD_DC_MULTIPLIER_1X2);
717
1.10k
}
718
719
#undef HIGHBD_DC_MULTIPLIER_1X2
720
#undef HIGHBD_DC_MULTIPLIER_1X4
721
#endif  // CONFIG_AV1_HIGHBITDEPTH
722
723
// This serves as a wrapper function, so that all the prediction functions
724
// can be unified and accessed as a pointer array. Note that the boundary
725
// above and left are not necessarily used all the time.
726
#define intra_pred_sized(type, width, height)                  \
727
  void aom_##type##_predictor_##width##x##height##_c(          \
728
      uint8_t *dst, ptrdiff_t stride, const uint8_t *above,    \
729
8.06M
      const uint8_t *left) {                                   \
730
8.06M
    type##_predictor(dst, stride, width, height, above, left); \
731
8.06M
  }
aom_v_predictor_4x4_c
Line
Count
Source
729
271k
      const uint8_t *left) {                                   \
730
271k
    type##_predictor(dst, stride, width, height, above, left); \
731
271k
  }
aom_v_predictor_8x8_c
Line
Count
Source
729
16.2k
      const uint8_t *left) {                                   \
730
16.2k
    type##_predictor(dst, stride, width, height, above, left); \
731
16.2k
  }
aom_v_predictor_16x16_c
Line
Count
Source
729
11.0k
      const uint8_t *left) {                                   \
730
11.0k
    type##_predictor(dst, stride, width, height, above, left); \
731
11.0k
  }
aom_v_predictor_32x32_c
Line
Count
Source
729
8.85k
      const uint8_t *left) {                                   \
730
8.85k
    type##_predictor(dst, stride, width, height, above, left); \
731
8.85k
  }
aom_v_predictor_64x64_c
Line
Count
Source
729
502
      const uint8_t *left) {                                   \
730
502
    type##_predictor(dst, stride, width, height, above, left); \
731
502
  }
aom_v_predictor_4x8_c
Line
Count
Source
729
8.89k
      const uint8_t *left) {                                   \
730
8.89k
    type##_predictor(dst, stride, width, height, above, left); \
731
8.89k
  }
aom_v_predictor_8x4_c
Line
Count
Source
729
13.4k
      const uint8_t *left) {                                   \
730
13.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
13.4k
  }
aom_v_predictor_8x16_c
Line
Count
Source
729
5.10k
      const uint8_t *left) {                                   \
730
5.10k
    type##_predictor(dst, stride, width, height, above, left); \
731
5.10k
  }
aom_v_predictor_16x8_c
Line
Count
Source
729
7.55k
      const uint8_t *left) {                                   \
730
7.55k
    type##_predictor(dst, stride, width, height, above, left); \
731
7.55k
  }
aom_v_predictor_16x32_c
Line
Count
Source
729
2.27k
      const uint8_t *left) {                                   \
730
2.27k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.27k
  }
aom_v_predictor_32x16_c
Line
Count
Source
729
2.10k
      const uint8_t *left) {                                   \
730
2.10k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.10k
  }
aom_v_predictor_32x64_c
Line
Count
Source
729
133
      const uint8_t *left) {                                   \
730
133
    type##_predictor(dst, stride, width, height, above, left); \
731
133
  }
aom_v_predictor_64x32_c
Line
Count
Source
729
131
      const uint8_t *left) {                                   \
730
131
    type##_predictor(dst, stride, width, height, above, left); \
731
131
  }
aom_v_predictor_4x16_c
Line
Count
Source
729
3.28k
      const uint8_t *left) {                                   \
730
3.28k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.28k
  }
aom_v_predictor_16x4_c
Line
Count
Source
729
6.66k
      const uint8_t *left) {                                   \
730
6.66k
    type##_predictor(dst, stride, width, height, above, left); \
731
6.66k
  }
aom_v_predictor_8x32_c
Line
Count
Source
729
1.81k
      const uint8_t *left) {                                   \
730
1.81k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.81k
  }
aom_v_predictor_32x8_c
Line
Count
Source
729
2.74k
      const uint8_t *left) {                                   \
730
2.74k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.74k
  }
aom_v_predictor_16x64_c
Line
Count
Source
729
266
      const uint8_t *left) {                                   \
730
266
    type##_predictor(dst, stride, width, height, above, left); \
731
266
  }
aom_v_predictor_64x16_c
Line
Count
Source
729
197
      const uint8_t *left) {                                   \
730
197
    type##_predictor(dst, stride, width, height, above, left); \
731
197
  }
aom_h_predictor_4x4_c
Line
Count
Source
729
196k
      const uint8_t *left) {                                   \
730
196k
    type##_predictor(dst, stride, width, height, above, left); \
731
196k
  }
aom_h_predictor_8x8_c
Line
Count
Source
729
24.3k
      const uint8_t *left) {                                   \
730
24.3k
    type##_predictor(dst, stride, width, height, above, left); \
731
24.3k
  }
aom_h_predictor_16x16_c
Line
Count
Source
729
18.0k
      const uint8_t *left) {                                   \
730
18.0k
    type##_predictor(dst, stride, width, height, above, left); \
731
18.0k
  }
aom_h_predictor_32x32_c
Line
Count
Source
729
10.5k
      const uint8_t *left) {                                   \
730
10.5k
    type##_predictor(dst, stride, width, height, above, left); \
731
10.5k
  }
aom_h_predictor_64x64_c
Line
Count
Source
729
986
      const uint8_t *left) {                                   \
730
986
    type##_predictor(dst, stride, width, height, above, left); \
731
986
  }
aom_h_predictor_4x8_c
Line
Count
Source
729
14.4k
      const uint8_t *left) {                                   \
730
14.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
14.4k
  }
aom_h_predictor_8x4_c
Line
Count
Source
729
21.1k
      const uint8_t *left) {                                   \
730
21.1k
    type##_predictor(dst, stride, width, height, above, left); \
731
21.1k
  }
aom_h_predictor_8x16_c
Line
Count
Source
729
7.48k
      const uint8_t *left) {                                   \
730
7.48k
    type##_predictor(dst, stride, width, height, above, left); \
731
7.48k
  }
aom_h_predictor_16x8_c
Line
Count
Source
729
10.0k
      const uint8_t *left) {                                   \
730
10.0k
    type##_predictor(dst, stride, width, height, above, left); \
731
10.0k
  }
aom_h_predictor_16x32_c
Line
Count
Source
729
2.69k
      const uint8_t *left) {                                   \
730
2.69k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.69k
  }
aom_h_predictor_32x16_c
Line
Count
Source
729
3.24k
      const uint8_t *left) {                                   \
730
3.24k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.24k
  }
aom_h_predictor_32x64_c
Line
Count
Source
729
146
      const uint8_t *left) {                                   \
730
146
    type##_predictor(dst, stride, width, height, above, left); \
731
146
  }
aom_h_predictor_64x32_c
Line
Count
Source
729
146
      const uint8_t *left) {                                   \
730
146
    type##_predictor(dst, stride, width, height, above, left); \
731
146
  }
aom_h_predictor_4x16_c
Line
Count
Source
729
5.81k
      const uint8_t *left) {                                   \
730
5.81k
    type##_predictor(dst, stride, width, height, above, left); \
731
5.81k
  }
aom_h_predictor_16x4_c
Line
Count
Source
729
9.28k
      const uint8_t *left) {                                   \
730
9.28k
    type##_predictor(dst, stride, width, height, above, left); \
731
9.28k
  }
aom_h_predictor_8x32_c
Line
Count
Source
729
2.96k
      const uint8_t *left) {                                   \
730
2.96k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.96k
  }
aom_h_predictor_32x8_c
Line
Count
Source
729
3.62k
      const uint8_t *left) {                                   \
730
3.62k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.62k
  }
aom_h_predictor_16x64_c
Line
Count
Source
729
388
      const uint8_t *left) {                                   \
730
388
    type##_predictor(dst, stride, width, height, above, left); \
731
388
  }
aom_h_predictor_64x16_c
Line
Count
Source
729
371
      const uint8_t *left) {                                   \
730
371
    type##_predictor(dst, stride, width, height, above, left); \
731
371
  }
aom_smooth_predictor_4x4_c
Line
Count
Source
729
139k
      const uint8_t *left) {                                   \
730
139k
    type##_predictor(dst, stride, width, height, above, left); \
731
139k
  }
aom_smooth_predictor_8x8_c
Line
Count
Source
729
66.4k
      const uint8_t *left) {                                   \
730
66.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
66.4k
  }
aom_smooth_predictor_16x16_c
Line
Count
Source
729
43.6k
      const uint8_t *left) {                                   \
730
43.6k
    type##_predictor(dst, stride, width, height, above, left); \
731
43.6k
  }
aom_smooth_predictor_32x32_c
Line
Count
Source
729
25.4k
      const uint8_t *left) {                                   \
730
25.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
25.4k
  }
aom_smooth_predictor_64x64_c
Line
Count
Source
729
2.91k
      const uint8_t *left) {                                   \
730
2.91k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.91k
  }
aom_smooth_predictor_4x8_c
Line
Count
Source
729
23.7k
      const uint8_t *left) {                                   \
730
23.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
23.7k
  }
aom_smooth_predictor_8x4_c
Line
Count
Source
729
35.8k
      const uint8_t *left) {                                   \
730
35.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
35.8k
  }
aom_smooth_predictor_8x16_c
Line
Count
Source
729
20.1k
      const uint8_t *left) {                                   \
730
20.1k
    type##_predictor(dst, stride, width, height, above, left); \
731
20.1k
  }
aom_smooth_predictor_16x8_c
Line
Count
Source
729
30.7k
      const uint8_t *left) {                                   \
730
30.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
30.7k
  }
aom_smooth_predictor_16x32_c
Line
Count
Source
729
6.36k
      const uint8_t *left) {                                   \
730
6.36k
    type##_predictor(dst, stride, width, height, above, left); \
731
6.36k
  }
aom_smooth_predictor_32x16_c
Line
Count
Source
729
7.44k
      const uint8_t *left) {                                   \
730
7.44k
    type##_predictor(dst, stride, width, height, above, left); \
731
7.44k
  }
aom_smooth_predictor_32x64_c
Line
Count
Source
729
500
      const uint8_t *left) {                                   \
730
500
    type##_predictor(dst, stride, width, height, above, left); \
731
500
  }
aom_smooth_predictor_64x32_c
Line
Count
Source
729
532
      const uint8_t *left) {                                   \
730
532
    type##_predictor(dst, stride, width, height, above, left); \
731
532
  }
aom_smooth_predictor_4x16_c
Line
Count
Source
729
17.3k
      const uint8_t *left) {                                   \
730
17.3k
    type##_predictor(dst, stride, width, height, above, left); \
731
17.3k
  }
aom_smooth_predictor_16x4_c
Line
Count
Source
729
27.3k
      const uint8_t *left) {                                   \
730
27.3k
    type##_predictor(dst, stride, width, height, above, left); \
731
27.3k
  }
aom_smooth_predictor_8x32_c
Line
Count
Source
729
6.98k
      const uint8_t *left) {                                   \
730
6.98k
    type##_predictor(dst, stride, width, height, above, left); \
731
6.98k
  }
aom_smooth_predictor_32x8_c
Line
Count
Source
729
9.76k
      const uint8_t *left) {                                   \
730
9.76k
    type##_predictor(dst, stride, width, height, above, left); \
731
9.76k
  }
aom_smooth_predictor_16x64_c
Line
Count
Source
729
1.03k
      const uint8_t *left) {                                   \
730
1.03k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.03k
  }
aom_smooth_predictor_64x16_c
Line
Count
Source
729
870
      const uint8_t *left) {                                   \
730
870
    type##_predictor(dst, stride, width, height, above, left); \
731
870
  }
aom_smooth_v_predictor_4x4_c
Line
Count
Source
729
31.5k
      const uint8_t *left) {                                   \
730
31.5k
    type##_predictor(dst, stride, width, height, above, left); \
731
31.5k
  }
aom_smooth_v_predictor_8x8_c
Line
Count
Source
729
23.7k
      const uint8_t *left) {                                   \
730
23.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
23.7k
  }
aom_smooth_v_predictor_16x16_c
Line
Count
Source
729
11.3k
      const uint8_t *left) {                                   \
730
11.3k
    type##_predictor(dst, stride, width, height, above, left); \
731
11.3k
  }
aom_smooth_v_predictor_32x32_c
Line
Count
Source
729
9.65k
      const uint8_t *left) {                                   \
730
9.65k
    type##_predictor(dst, stride, width, height, above, left); \
731
9.65k
  }
aom_smooth_v_predictor_64x64_c
Line
Count
Source
729
878
      const uint8_t *left) {                                   \
730
878
    type##_predictor(dst, stride, width, height, above, left); \
731
878
  }
aom_smooth_v_predictor_4x8_c
Line
Count
Source
729
8.94k
      const uint8_t *left) {                                   \
730
8.94k
    type##_predictor(dst, stride, width, height, above, left); \
731
8.94k
  }
aom_smooth_v_predictor_8x4_c
Line
Count
Source
729
13.2k
      const uint8_t *left) {                                   \
730
13.2k
    type##_predictor(dst, stride, width, height, above, left); \
731
13.2k
  }
aom_smooth_v_predictor_8x16_c
Line
Count
Source
729
7.38k
      const uint8_t *left) {                                   \
730
7.38k
    type##_predictor(dst, stride, width, height, above, left); \
731
7.38k
  }
aom_smooth_v_predictor_16x8_c
Line
Count
Source
729
10.6k
      const uint8_t *left) {                                   \
730
10.6k
    type##_predictor(dst, stride, width, height, above, left); \
731
10.6k
  }
aom_smooth_v_predictor_16x32_c
Line
Count
Source
729
2.50k
      const uint8_t *left) {                                   \
730
2.50k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.50k
  }
aom_smooth_v_predictor_32x16_c
Line
Count
Source
729
3.96k
      const uint8_t *left) {                                   \
730
3.96k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.96k
  }
aom_smooth_v_predictor_32x64_c
Line
Count
Source
729
153
      const uint8_t *left) {                                   \
730
153
    type##_predictor(dst, stride, width, height, above, left); \
731
153
  }
aom_smooth_v_predictor_64x32_c
Line
Count
Source
729
146
      const uint8_t *left) {                                   \
730
146
    type##_predictor(dst, stride, width, height, above, left); \
731
146
  }
aom_smooth_v_predictor_4x16_c
Line
Count
Source
729
6.06k
      const uint8_t *left) {                                   \
730
6.06k
    type##_predictor(dst, stride, width, height, above, left); \
731
6.06k
  }
aom_smooth_v_predictor_16x4_c
Line
Count
Source
729
10.4k
      const uint8_t *left) {                                   \
730
10.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
10.4k
  }
aom_smooth_v_predictor_8x32_c
Line
Count
Source
729
2.59k
      const uint8_t *left) {                                   \
730
2.59k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.59k
  }
aom_smooth_v_predictor_32x8_c
Line
Count
Source
729
4.75k
      const uint8_t *left) {                                   \
730
4.75k
    type##_predictor(dst, stride, width, height, above, left); \
731
4.75k
  }
aom_smooth_v_predictor_16x64_c
Line
Count
Source
729
221
      const uint8_t *left) {                                   \
730
221
    type##_predictor(dst, stride, width, height, above, left); \
731
221
  }
aom_smooth_v_predictor_64x16_c
Line
Count
Source
729
237
      const uint8_t *left) {                                   \
730
237
    type##_predictor(dst, stride, width, height, above, left); \
731
237
  }
aom_smooth_h_predictor_4x4_c
Line
Count
Source
729
40.4k
      const uint8_t *left) {                                   \
730
40.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
40.4k
  }
aom_smooth_h_predictor_8x8_c
Line
Count
Source
729
32.8k
      const uint8_t *left) {                                   \
730
32.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
32.8k
  }
aom_smooth_h_predictor_16x16_c
Line
Count
Source
729
25.9k
      const uint8_t *left) {                                   \
730
25.9k
    type##_predictor(dst, stride, width, height, above, left); \
731
25.9k
  }
aom_smooth_h_predictor_32x32_c
Line
Count
Source
729
13.3k
      const uint8_t *left) {                                   \
730
13.3k
    type##_predictor(dst, stride, width, height, above, left); \
731
13.3k
  }
aom_smooth_h_predictor_64x64_c
Line
Count
Source
729
1.25k
      const uint8_t *left) {                                   \
730
1.25k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.25k
  }
aom_smooth_h_predictor_4x8_c
Line
Count
Source
729
9.78k
      const uint8_t *left) {                                   \
730
9.78k
    type##_predictor(dst, stride, width, height, above, left); \
731
9.78k
  }
aom_smooth_h_predictor_8x4_c
Line
Count
Source
729
15.8k
      const uint8_t *left) {                                   \
730
15.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
15.8k
  }
aom_smooth_h_predictor_8x16_c
Line
Count
Source
729
10.2k
      const uint8_t *left) {                                   \
730
10.2k
    type##_predictor(dst, stride, width, height, above, left); \
731
10.2k
  }
aom_smooth_h_predictor_16x8_c
Line
Count
Source
729
14.3k
      const uint8_t *left) {                                   \
730
14.3k
    type##_predictor(dst, stride, width, height, above, left); \
731
14.3k
  }
aom_smooth_h_predictor_16x32_c
Line
Count
Source
729
3.58k
      const uint8_t *left) {                                   \
730
3.58k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.58k
  }
aom_smooth_h_predictor_32x16_c
Line
Count
Source
729
3.81k
      const uint8_t *left) {                                   \
730
3.81k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.81k
  }
aom_smooth_h_predictor_32x64_c
Line
Count
Source
729
165
      const uint8_t *left) {                                   \
730
165
    type##_predictor(dst, stride, width, height, above, left); \
731
165
  }
aom_smooth_h_predictor_64x32_c
Line
Count
Source
729
138
      const uint8_t *left) {                                   \
730
138
    type##_predictor(dst, stride, width, height, above, left); \
731
138
  }
aom_smooth_h_predictor_4x16_c
Line
Count
Source
729
7.67k
      const uint8_t *left) {                                   \
730
7.67k
    type##_predictor(dst, stride, width, height, above, left); \
731
7.67k
  }
aom_smooth_h_predictor_16x4_c
Line
Count
Source
729
13.2k
      const uint8_t *left) {                                   \
730
13.2k
    type##_predictor(dst, stride, width, height, above, left); \
731
13.2k
  }
aom_smooth_h_predictor_8x32_c
Line
Count
Source
729
3.86k
      const uint8_t *left) {                                   \
730
3.86k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.86k
  }
aom_smooth_h_predictor_32x8_c
Line
Count
Source
729
4.74k
      const uint8_t *left) {                                   \
730
4.74k
    type##_predictor(dst, stride, width, height, above, left); \
731
4.74k
  }
aom_smooth_h_predictor_16x64_c
Line
Count
Source
729
297
      const uint8_t *left) {                                   \
730
297
    type##_predictor(dst, stride, width, height, above, left); \
731
297
  }
aom_smooth_h_predictor_64x16_c
Line
Count
Source
729
260
      const uint8_t *left) {                                   \
730
260
    type##_predictor(dst, stride, width, height, above, left); \
731
260
  }
aom_paeth_predictor_4x4_c
Line
Count
Source
729
3.22M
      const uint8_t *left) {                                   \
730
3.22M
    type##_predictor(dst, stride, width, height, above, left); \
731
3.22M
  }
aom_paeth_predictor_8x8_c
Line
Count
Source
729
72.4k
      const uint8_t *left) {                                   \
730
72.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
72.4k
  }
aom_paeth_predictor_16x16_c
Line
Count
Source
729
46.3k
      const uint8_t *left) {                                   \
730
46.3k
    type##_predictor(dst, stride, width, height, above, left); \
731
46.3k
  }
aom_paeth_predictor_32x32_c
Line
Count
Source
729
68.7k
      const uint8_t *left) {                                   \
730
68.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
68.7k
  }
aom_paeth_predictor_64x64_c
Line
Count
Source
729
7.31k
      const uint8_t *left) {                                   \
730
7.31k
    type##_predictor(dst, stride, width, height, above, left); \
731
7.31k
  }
aom_paeth_predictor_4x8_c
Line
Count
Source
729
27.6k
      const uint8_t *left) {                                   \
730
27.6k
    type##_predictor(dst, stride, width, height, above, left); \
731
27.6k
  }
aom_paeth_predictor_8x4_c
Line
Count
Source
729
38.3k
      const uint8_t *left) {                                   \
730
38.3k
    type##_predictor(dst, stride, width, height, above, left); \
731
38.3k
  }
aom_paeth_predictor_8x16_c
Line
Count
Source
729
25.5k
      const uint8_t *left) {                                   \
730
25.5k
    type##_predictor(dst, stride, width, height, above, left); \
731
25.5k
  }
aom_paeth_predictor_16x8_c
Line
Count
Source
729
36.8k
      const uint8_t *left) {                                   \
730
36.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
36.8k
  }
aom_paeth_predictor_16x32_c
Line
Count
Source
729
37.9k
      const uint8_t *left) {                                   \
730
37.9k
    type##_predictor(dst, stride, width, height, above, left); \
731
37.9k
  }
aom_paeth_predictor_32x16_c
Line
Count
Source
729
9.23k
      const uint8_t *left) {                                   \
730
9.23k
    type##_predictor(dst, stride, width, height, above, left); \
731
9.23k
  }
aom_paeth_predictor_32x64_c
Line
Count
Source
729
2.02k
      const uint8_t *left) {                                   \
730
2.02k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.02k
  }
aom_paeth_predictor_64x32_c
Line
Count
Source
729
575
      const uint8_t *left) {                                   \
730
575
    type##_predictor(dst, stride, width, height, above, left); \
731
575
  }
aom_paeth_predictor_4x16_c
Line
Count
Source
729
32.4k
      const uint8_t *left) {                                   \
730
32.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
32.4k
  }
aom_paeth_predictor_16x4_c
Line
Count
Source
729
32.7k
      const uint8_t *left) {                                   \
730
32.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
32.7k
  }
aom_paeth_predictor_8x32_c
Line
Count
Source
729
13.9k
      const uint8_t *left) {                                   \
730
13.9k
    type##_predictor(dst, stride, width, height, above, left); \
731
13.9k
  }
aom_paeth_predictor_32x8_c
Line
Count
Source
729
10.2k
      const uint8_t *left) {                                   \
730
10.2k
    type##_predictor(dst, stride, width, height, above, left); \
731
10.2k
  }
aom_paeth_predictor_16x64_c
Line
Count
Source
729
12.8k
      const uint8_t *left) {                                   \
730
12.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
12.8k
  }
aom_paeth_predictor_64x16_c
Line
Count
Source
729
764
      const uint8_t *left) {                                   \
730
764
    type##_predictor(dst, stride, width, height, above, left); \
731
764
  }
aom_dc_128_predictor_4x4_c
Line
Count
Source
729
2.89k
      const uint8_t *left) {                                   \
730
2.89k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.89k
  }
aom_dc_128_predictor_8x8_c
Line
Count
Source
729
860
      const uint8_t *left) {                                   \
730
860
    type##_predictor(dst, stride, width, height, above, left); \
731
860
  }
aom_dc_128_predictor_16x16_c
Line
Count
Source
729
138
      const uint8_t *left) {                                   \
730
138
    type##_predictor(dst, stride, width, height, above, left); \
731
138
  }
aom_dc_128_predictor_32x32_c
Line
Count
Source
729
2.63k
      const uint8_t *left) {                                   \
730
2.63k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.63k
  }
aom_dc_128_predictor_64x64_c
Line
Count
Source
729
1.04k
      const uint8_t *left) {                                   \
730
1.04k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.04k
  }
aom_dc_128_predictor_4x8_c
Line
Count
Source
729
176
      const uint8_t *left) {                                   \
730
176
    type##_predictor(dst, stride, width, height, above, left); \
731
176
  }
aom_dc_128_predictor_8x4_c
Line
Count
Source
729
36
      const uint8_t *left) {                                   \
730
36
    type##_predictor(dst, stride, width, height, above, left); \
731
36
  }
aom_dc_128_predictor_8x16_c
Line
Count
Source
729
104
      const uint8_t *left) {                                   \
730
104
    type##_predictor(dst, stride, width, height, above, left); \
731
104
  }
aom_dc_128_predictor_16x8_c
Line
Count
Source
729
1.12k
      const uint8_t *left) {                                   \
730
1.12k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.12k
  }
aom_dc_128_predictor_16x32_c
Line
Count
Source
729
1.38k
      const uint8_t *left) {                                   \
730
1.38k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.38k
  }
aom_dc_128_predictor_32x16_c
Line
Count
Source
729
1.04k
      const uint8_t *left) {                                   \
730
1.04k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.04k
  }
aom_dc_128_predictor_32x64_c
Line
Count
Source
729
159
      const uint8_t *left) {                                   \
730
159
    type##_predictor(dst, stride, width, height, above, left); \
731
159
  }
aom_dc_128_predictor_64x32_c
Line
Count
Source
729
8
      const uint8_t *left) {                                   \
730
8
    type##_predictor(dst, stride, width, height, above, left); \
731
8
  }
aom_dc_128_predictor_4x16_c
Line
Count
Source
729
108
      const uint8_t *left) {                                   \
730
108
    type##_predictor(dst, stride, width, height, above, left); \
731
108
  }
aom_dc_128_predictor_16x4_c
Line
Count
Source
729
8
      const uint8_t *left) {                                   \
730
8
    type##_predictor(dst, stride, width, height, above, left); \
731
8
  }
aom_dc_128_predictor_8x32_c
Line
Count
Source
729
67
      const uint8_t *left) {                                   \
730
67
    type##_predictor(dst, stride, width, height, above, left); \
731
67
  }
aom_dc_128_predictor_32x8_c
Line
Count
Source
729
634
      const uint8_t *left) {                                   \
730
634
    type##_predictor(dst, stride, width, height, above, left); \
731
634
  }
aom_dc_128_predictor_16x64_c
Line
Count
Source
729
21
      const uint8_t *left) {                                   \
730
21
    type##_predictor(dst, stride, width, height, above, left); \
731
21
  }
aom_dc_128_predictor_64x16_c
Line
Count
Source
729
6
      const uint8_t *left) {                                   \
730
6
    type##_predictor(dst, stride, width, height, above, left); \
731
6
  }
aom_dc_left_predictor_4x4_c
Line
Count
Source
729
79.6k
      const uint8_t *left) {                                   \
730
79.6k
    type##_predictor(dst, stride, width, height, above, left); \
731
79.6k
  }
aom_dc_left_predictor_8x8_c
Line
Count
Source
729
1.65k
      const uint8_t *left) {                                   \
730
1.65k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.65k
  }
aom_dc_left_predictor_16x16_c
Line
Count
Source
729
2.88k
      const uint8_t *left) {                                   \
730
2.88k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.88k
  }
aom_dc_left_predictor_32x32_c
Line
Count
Source
729
13.7k
      const uint8_t *left) {                                   \
730
13.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
13.7k
  }
aom_dc_left_predictor_64x64_c
Line
Count
Source
729
3.23k
      const uint8_t *left) {                                   \
730
3.23k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.23k
  }
aom_dc_left_predictor_4x8_c
Line
Count
Source
729
752
      const uint8_t *left) {                                   \
730
752
    type##_predictor(dst, stride, width, height, above, left); \
731
752
  }
aom_dc_left_predictor_8x4_c
Line
Count
Source
729
624
      const uint8_t *left) {                                   \
730
624
    type##_predictor(dst, stride, width, height, above, left); \
731
624
  }
aom_dc_left_predictor_8x16_c
Line
Count
Source
729
1.05k
      const uint8_t *left) {                                   \
730
1.05k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.05k
  }
aom_dc_left_predictor_16x8_c
Line
Count
Source
729
775
      const uint8_t *left) {                                   \
730
775
    type##_predictor(dst, stride, width, height, above, left); \
731
775
  }
aom_dc_left_predictor_16x32_c
Line
Count
Source
729
1.48k
      const uint8_t *left) {                                   \
730
1.48k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.48k
  }
aom_dc_left_predictor_32x16_c
Line
Count
Source
729
1.07k
      const uint8_t *left) {                                   \
730
1.07k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.07k
  }
aom_dc_left_predictor_32x64_c
Line
Count
Source
729
256
      const uint8_t *left) {                                   \
730
256
    type##_predictor(dst, stride, width, height, above, left); \
731
256
  }
aom_dc_left_predictor_64x32_c
Line
Count
Source
729
196
      const uint8_t *left) {                                   \
730
196
    type##_predictor(dst, stride, width, height, above, left); \
731
196
  }
aom_dc_left_predictor_4x16_c
Line
Count
Source
729
1.18k
      const uint8_t *left) {                                   \
730
1.18k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.18k
  }
aom_dc_left_predictor_16x4_c
Line
Count
Source
729
596
      const uint8_t *left) {                                   \
730
596
    type##_predictor(dst, stride, width, height, above, left); \
731
596
  }
aom_dc_left_predictor_8x32_c
Line
Count
Source
729
1.28k
      const uint8_t *left) {                                   \
730
1.28k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.28k
  }
aom_dc_left_predictor_32x8_c
Line
Count
Source
729
443
      const uint8_t *left) {                                   \
730
443
    type##_predictor(dst, stride, width, height, above, left); \
731
443
  }
aom_dc_left_predictor_16x64_c
Line
Count
Source
729
413
      const uint8_t *left) {                                   \
730
413
    type##_predictor(dst, stride, width, height, above, left); \
731
413
  }
aom_dc_left_predictor_64x16_c
Line
Count
Source
729
134
      const uint8_t *left) {                                   \
730
134
    type##_predictor(dst, stride, width, height, above, left); \
731
134
  }
aom_dc_top_predictor_4x4_c
Line
Count
Source
729
94.3k
      const uint8_t *left) {                                   \
730
94.3k
    type##_predictor(dst, stride, width, height, above, left); \
731
94.3k
  }
aom_dc_top_predictor_8x8_c
Line
Count
Source
729
8.16k
      const uint8_t *left) {                                   \
730
8.16k
    type##_predictor(dst, stride, width, height, above, left); \
731
8.16k
  }
aom_dc_top_predictor_16x16_c
Line
Count
Source
729
9.86k
      const uint8_t *left) {                                   \
730
9.86k
    type##_predictor(dst, stride, width, height, above, left); \
731
9.86k
  }
aom_dc_top_predictor_32x32_c
Line
Count
Source
729
29.6k
      const uint8_t *left) {                                   \
730
29.6k
    type##_predictor(dst, stride, width, height, above, left); \
731
29.6k
  }
aom_dc_top_predictor_64x64_c
Line
Count
Source
729
4.59k
      const uint8_t *left) {                                   \
730
4.59k
    type##_predictor(dst, stride, width, height, above, left); \
731
4.59k
  }
aom_dc_top_predictor_4x8_c
Line
Count
Source
729
7.17k
      const uint8_t *left) {                                   \
730
7.17k
    type##_predictor(dst, stride, width, height, above, left); \
731
7.17k
  }
aom_dc_top_predictor_8x4_c
Line
Count
Source
729
4.71k
      const uint8_t *left) {                                   \
730
4.71k
    type##_predictor(dst, stride, width, height, above, left); \
731
4.71k
  }
aom_dc_top_predictor_8x16_c
Line
Count
Source
729
9.01k
      const uint8_t *left) {                                   \
730
9.01k
    type##_predictor(dst, stride, width, height, above, left); \
731
9.01k
  }
aom_dc_top_predictor_16x8_c
Line
Count
Source
729
3.09k
      const uint8_t *left) {                                   \
730
3.09k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.09k
  }
aom_dc_top_predictor_16x32_c
Line
Count
Source
729
10.7k
      const uint8_t *left) {                                   \
730
10.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
10.7k
  }
aom_dc_top_predictor_32x16_c
Line
Count
Source
729
3.72k
      const uint8_t *left) {                                   \
730
3.72k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.72k
  }
aom_dc_top_predictor_32x64_c
Line
Count
Source
729
2.00k
      const uint8_t *left) {                                   \
730
2.00k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.00k
  }
aom_dc_top_predictor_64x32_c
Line
Count
Source
729
798
      const uint8_t *left) {                                   \
730
798
    type##_predictor(dst, stride, width, height, above, left); \
731
798
  }
aom_dc_top_predictor_4x16_c
Line
Count
Source
729
1.02k
      const uint8_t *left) {                                   \
730
1.02k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.02k
  }
aom_dc_top_predictor_16x4_c
Line
Count
Source
729
1.33k
      const uint8_t *left) {                                   \
730
1.33k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.33k
  }
aom_dc_top_predictor_8x32_c
Line
Count
Source
729
1.52k
      const uint8_t *left) {                                   \
730
1.52k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.52k
  }
aom_dc_top_predictor_32x8_c
Line
Count
Source
729
2.02k
      const uint8_t *left) {                                   \
730
2.02k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.02k
  }
aom_dc_top_predictor_16x64_c
Line
Count
Source
729
266
      const uint8_t *left) {                                   \
730
266
    type##_predictor(dst, stride, width, height, above, left); \
731
266
  }
aom_dc_top_predictor_64x16_c
Line
Count
Source
729
580
      const uint8_t *left) {                                   \
730
580
    type##_predictor(dst, stride, width, height, above, left); \
731
580
  }
aom_dc_predictor_4x4_c
Line
Count
Source
729
2.01M
      const uint8_t *left) {                                   \
730
2.01M
    type##_predictor(dst, stride, width, height, above, left); \
731
2.01M
  }
aom_dc_predictor_8x8_c
Line
Count
Source
729
227k
      const uint8_t *left) {                                   \
730
227k
    type##_predictor(dst, stride, width, height, above, left); \
731
227k
  }
aom_dc_predictor_16x16_c
Line
Count
Source
729
144k
      const uint8_t *left) {                                   \
730
144k
    type##_predictor(dst, stride, width, height, above, left); \
731
144k
  }
aom_dc_predictor_32x32_c
Line
Count
Source
729
143k
      const uint8_t *left) {                                   \
730
143k
    type##_predictor(dst, stride, width, height, above, left); \
731
143k
  }
aom_dc_predictor_64x64_c
Line
Count
Source
729
9.60k
      const uint8_t *left) {                                   \
730
9.60k
    type##_predictor(dst, stride, width, height, above, left); \
731
9.60k
  }
732
733
#if CONFIG_AV1_HIGHBITDEPTH
734
#define intra_pred_highbd_sized(type, width, height)                        \
735
  void aom_highbd_##type##_predictor_##width##x##height##_c(                \
736
      uint16_t *dst, ptrdiff_t stride, const uint16_t *above,               \
737
2.77M
      const uint16_t *left, int bd) {                                       \
738
2.77M
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.77M
  }
aom_highbd_v_predictor_4x4_c
Line
Count
Source
737
17.4k
      const uint16_t *left, int bd) {                                       \
738
17.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
17.4k
  }
aom_highbd_v_predictor_8x8_c
Line
Count
Source
737
17.6k
      const uint16_t *left, int bd) {                                       \
738
17.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
17.6k
  }
aom_highbd_v_predictor_16x16_c
Line
Count
Source
737
6.79k
      const uint16_t *left, int bd) {                                       \
738
6.79k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
6.79k
  }
aom_highbd_v_predictor_32x32_c
Line
Count
Source
737
7.93k
      const uint16_t *left, int bd) {                                       \
738
7.93k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
7.93k
  }
aom_highbd_v_predictor_64x64_c
Line
Count
Source
737
593
      const uint16_t *left, int bd) {                                       \
738
593
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
593
  }
aom_highbd_v_predictor_4x8_c
Line
Count
Source
737
7.64k
      const uint16_t *left, int bd) {                                       \
738
7.64k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
7.64k
  }
aom_highbd_v_predictor_8x4_c
Line
Count
Source
737
10.6k
      const uint16_t *left, int bd) {                                       \
738
10.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
10.6k
  }
aom_highbd_v_predictor_8x16_c
Line
Count
Source
737
4.25k
      const uint16_t *left, int bd) {                                       \
738
4.25k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.25k
  }
aom_highbd_v_predictor_16x8_c
Line
Count
Source
737
6.81k
      const uint16_t *left, int bd) {                                       \
738
6.81k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
6.81k
  }
aom_highbd_v_predictor_16x32_c
Line
Count
Source
737
2.20k
      const uint16_t *left, int bd) {                                       \
738
2.20k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.20k
  }
aom_highbd_v_predictor_32x16_c
Line
Count
Source
737
1.88k
      const uint16_t *left, int bd) {                                       \
738
1.88k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.88k
  }
aom_highbd_v_predictor_32x64_c
Line
Count
Source
737
91
      const uint16_t *left, int bd) {                                       \
738
91
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
91
  }
aom_highbd_v_predictor_64x32_c
Line
Count
Source
737
95
      const uint16_t *left, int bd) {                                       \
738
95
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
95
  }
aom_highbd_v_predictor_4x16_c
Line
Count
Source
737
2.62k
      const uint16_t *left, int bd) {                                       \
738
2.62k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.62k
  }
aom_highbd_v_predictor_16x4_c
Line
Count
Source
737
5.30k
      const uint16_t *left, int bd) {                                       \
738
5.30k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
5.30k
  }
aom_highbd_v_predictor_8x32_c
Line
Count
Source
737
1.98k
      const uint16_t *left, int bd) {                                       \
738
1.98k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.98k
  }
aom_highbd_v_predictor_32x8_c
Line
Count
Source
737
2.79k
      const uint16_t *left, int bd) {                                       \
738
2.79k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.79k
  }
aom_highbd_v_predictor_16x64_c
Line
Count
Source
737
308
      const uint16_t *left, int bd) {                                       \
738
308
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
308
  }
aom_highbd_v_predictor_64x16_c
Line
Count
Source
737
206
      const uint16_t *left, int bd) {                                       \
738
206
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
206
  }
aom_highbd_h_predictor_4x4_c
Line
Count
Source
737
29.8k
      const uint16_t *left, int bd) {                                       \
738
29.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
29.8k
  }
aom_highbd_h_predictor_8x8_c
Line
Count
Source
737
30.9k
      const uint16_t *left, int bd) {                                       \
738
30.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
30.9k
  }
aom_highbd_h_predictor_16x16_c
Line
Count
Source
737
14.9k
      const uint16_t *left, int bd) {                                       \
738
14.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
14.9k
  }
aom_highbd_h_predictor_32x32_c
Line
Count
Source
737
9.31k
      const uint16_t *left, int bd) {                                       \
738
9.31k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
9.31k
  }
aom_highbd_h_predictor_64x64_c
Line
Count
Source
737
728
      const uint16_t *left, int bd) {                                       \
738
728
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
728
  }
aom_highbd_h_predictor_4x8_c
Line
Count
Source
737
14.5k
      const uint16_t *left, int bd) {                                       \
738
14.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
14.5k
  }
aom_highbd_h_predictor_8x4_c
Line
Count
Source
737
20.0k
      const uint16_t *left, int bd) {                                       \
738
20.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
20.0k
  }
aom_highbd_h_predictor_8x16_c
Line
Count
Source
737
7.02k
      const uint16_t *left, int bd) {                                       \
738
7.02k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
7.02k
  }
aom_highbd_h_predictor_16x8_c
Line
Count
Source
737
10.1k
      const uint16_t *left, int bd) {                                       \
738
10.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
10.1k
  }
aom_highbd_h_predictor_16x32_c
Line
Count
Source
737
2.46k
      const uint16_t *left, int bd) {                                       \
738
2.46k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.46k
  }
aom_highbd_h_predictor_32x16_c
Line
Count
Source
737
2.91k
      const uint16_t *left, int bd) {                                       \
738
2.91k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.91k
  }
aom_highbd_h_predictor_32x64_c
Line
Count
Source
737
129
      const uint16_t *left, int bd) {                                       \
738
129
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
129
  }
aom_highbd_h_predictor_64x32_c
Line
Count
Source
737
115
      const uint16_t *left, int bd) {                                       \
738
115
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
115
  }
aom_highbd_h_predictor_4x16_c
Line
Count
Source
737
4.20k
      const uint16_t *left, int bd) {                                       \
738
4.20k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.20k
  }
aom_highbd_h_predictor_16x4_c
Line
Count
Source
737
9.56k
      const uint16_t *left, int bd) {                                       \
738
9.56k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
9.56k
  }
aom_highbd_h_predictor_8x32_c
Line
Count
Source
737
2.36k
      const uint16_t *left, int bd) {                                       \
738
2.36k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.36k
  }
aom_highbd_h_predictor_32x8_c
Line
Count
Source
737
4.00k
      const uint16_t *left, int bd) {                                       \
738
4.00k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.00k
  }
aom_highbd_h_predictor_16x64_c
Line
Count
Source
737
303
      const uint16_t *left, int bd) {                                       \
738
303
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
303
  }
aom_highbd_h_predictor_64x16_c
Line
Count
Source
737
325
      const uint16_t *left, int bd) {                                       \
738
325
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
325
  }
aom_highbd_smooth_predictor_4x4_c
Line
Count
Source
737
50.4k
      const uint16_t *left, int bd) {                                       \
738
50.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
50.4k
  }
aom_highbd_smooth_predictor_8x8_c
Line
Count
Source
737
63.8k
      const uint16_t *left, int bd) {                                       \
738
63.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
63.8k
  }
aom_highbd_smooth_predictor_16x16_c
Line
Count
Source
737
26.3k
      const uint16_t *left, int bd) {                                       \
738
26.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
26.3k
  }
aom_highbd_smooth_predictor_32x32_c
Line
Count
Source
737
21.8k
      const uint16_t *left, int bd) {                                       \
738
21.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
21.8k
  }
aom_highbd_smooth_predictor_64x64_c
Line
Count
Source
737
3.55k
      const uint16_t *left, int bd) {                                       \
738
3.55k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.55k
  }
aom_highbd_smooth_predictor_4x8_c
Line
Count
Source
737
19.9k
      const uint16_t *left, int bd) {                                       \
738
19.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
19.9k
  }
aom_highbd_smooth_predictor_8x4_c
Line
Count
Source
737
27.9k
      const uint16_t *left, int bd) {                                       \
738
27.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
27.9k
  }
aom_highbd_smooth_predictor_8x16_c
Line
Count
Source
737
17.8k
      const uint16_t *left, int bd) {                                       \
738
17.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
17.8k
  }
aom_highbd_smooth_predictor_16x8_c
Line
Count
Source
737
24.9k
      const uint16_t *left, int bd) {                                       \
738
24.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
24.9k
  }
aom_highbd_smooth_predictor_16x32_c
Line
Count
Source
737
6.95k
      const uint16_t *left, int bd) {                                       \
738
6.95k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
6.95k
  }
aom_highbd_smooth_predictor_32x16_c
Line
Count
Source
737
5.99k
      const uint16_t *left, int bd) {                                       \
738
5.99k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
5.99k
  }
aom_highbd_smooth_predictor_32x64_c
Line
Count
Source
737
496
      const uint16_t *left, int bd) {                                       \
738
496
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
496
  }
aom_highbd_smooth_predictor_64x32_c
Line
Count
Source
737
480
      const uint16_t *left, int bd) {                                       \
738
480
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
480
  }
aom_highbd_smooth_predictor_4x16_c
Line
Count
Source
737
11.2k
      const uint16_t *left, int bd) {                                       \
738
11.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
11.2k
  }
aom_highbd_smooth_predictor_16x4_c
Line
Count
Source
737
22.1k
      const uint16_t *left, int bd) {                                       \
738
22.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
22.1k
  }
aom_highbd_smooth_predictor_8x32_c
Line
Count
Source
737
7.36k
      const uint16_t *left, int bd) {                                       \
738
7.36k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
7.36k
  }
aom_highbd_smooth_predictor_32x8_c
Line
Count
Source
737
9.75k
      const uint16_t *left, int bd) {                                       \
738
9.75k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
9.75k
  }
aom_highbd_smooth_predictor_16x64_c
Line
Count
Source
737
750
      const uint16_t *left, int bd) {                                       \
738
750
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
750
  }
aom_highbd_smooth_predictor_64x16_c
Line
Count
Source
737
719
      const uint16_t *left, int bd) {                                       \
738
719
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
719
  }
aom_highbd_smooth_v_predictor_4x4_c
Line
Count
Source
737
15.1k
      const uint16_t *left, int bd) {                                       \
738
15.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
15.1k
  }
aom_highbd_smooth_v_predictor_8x8_c
Line
Count
Source
737
29.5k
      const uint16_t *left, int bd) {                                       \
738
29.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
29.5k
  }
aom_highbd_smooth_v_predictor_16x16_c
Line
Count
Source
737
13.1k
      const uint16_t *left, int bd) {                                       \
738
13.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
13.1k
  }
aom_highbd_smooth_v_predictor_32x32_c
Line
Count
Source
737
11.0k
      const uint16_t *left, int bd) {                                       \
738
11.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
11.0k
  }
aom_highbd_smooth_v_predictor_64x64_c
Line
Count
Source
737
1.12k
      const uint16_t *left, int bd) {                                       \
738
1.12k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.12k
  }
aom_highbd_smooth_v_predictor_4x8_c
Line
Count
Source
737
10.5k
      const uint16_t *left, int bd) {                                       \
738
10.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
10.5k
  }
aom_highbd_smooth_v_predictor_8x4_c
Line
Count
Source
737
13.4k
      const uint16_t *left, int bd) {                                       \
738
13.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
13.4k
  }
aom_highbd_smooth_v_predictor_8x16_c
Line
Count
Source
737
10.2k
      const uint16_t *left, int bd) {                                       \
738
10.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
10.2k
  }
aom_highbd_smooth_v_predictor_16x8_c
Line
Count
Source
737
15.1k
      const uint16_t *left, int bd) {                                       \
738
15.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
15.1k
  }
aom_highbd_smooth_v_predictor_16x32_c
Line
Count
Source
737
4.21k
      const uint16_t *left, int bd) {                                       \
738
4.21k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.21k
  }
aom_highbd_smooth_v_predictor_32x16_c
Line
Count
Source
737
3.24k
      const uint16_t *left, int bd) {                                       \
738
3.24k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.24k
  }
aom_highbd_smooth_v_predictor_32x64_c
Line
Count
Source
737
133
      const uint16_t *left, int bd) {                                       \
738
133
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
133
  }
aom_highbd_smooth_v_predictor_64x32_c
Line
Count
Source
737
109
      const uint16_t *left, int bd) {                                       \
738
109
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
109
  }
aom_highbd_smooth_v_predictor_4x16_c
Line
Count
Source
737
5.73k
      const uint16_t *left, int bd) {                                       \
738
5.73k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
5.73k
  }
aom_highbd_smooth_v_predictor_16x4_c
Line
Count
Source
737
11.9k
      const uint16_t *left, int bd) {                                       \
738
11.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
11.9k
  }
aom_highbd_smooth_v_predictor_8x32_c
Line
Count
Source
737
4.50k
      const uint16_t *left, int bd) {                                       \
738
4.50k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.50k
  }
aom_highbd_smooth_v_predictor_32x8_c
Line
Count
Source
737
5.23k
      const uint16_t *left, int bd) {                                       \
738
5.23k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
5.23k
  }
aom_highbd_smooth_v_predictor_16x64_c
Line
Count
Source
737
133
      const uint16_t *left, int bd) {                                       \
738
133
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
133
  }
aom_highbd_smooth_v_predictor_64x16_c
Line
Count
Source
737
118
      const uint16_t *left, int bd) {                                       \
738
118
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
118
  }
aom_highbd_smooth_h_predictor_4x4_c
Line
Count
Source
737
22.2k
      const uint16_t *left, int bd) {                                       \
738
22.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
22.2k
  }
aom_highbd_smooth_h_predictor_8x8_c
Line
Count
Source
737
34.6k
      const uint16_t *left, int bd) {                                       \
738
34.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
34.6k
  }
aom_highbd_smooth_h_predictor_16x16_c
Line
Count
Source
737
13.2k
      const uint16_t *left, int bd) {                                       \
738
13.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
13.2k
  }
aom_highbd_smooth_h_predictor_32x32_c
Line
Count
Source
737
12.9k
      const uint16_t *left, int bd) {                                       \
738
12.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
12.9k
  }
aom_highbd_smooth_h_predictor_64x64_c
Line
Count
Source
737
1.00k
      const uint16_t *left, int bd) {                                       \
738
1.00k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.00k
  }
aom_highbd_smooth_h_predictor_4x8_c
Line
Count
Source
737
9.42k
      const uint16_t *left, int bd) {                                       \
738
9.42k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
9.42k
  }
aom_highbd_smooth_h_predictor_8x4_c
Line
Count
Source
737
10.8k
      const uint16_t *left, int bd) {                                       \
738
10.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
10.8k
  }
aom_highbd_smooth_h_predictor_8x16_c
Line
Count
Source
737
10.0k
      const uint16_t *left, int bd) {                                       \
738
10.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
10.0k
  }
aom_highbd_smooth_h_predictor_16x8_c
Line
Count
Source
737
12.5k
      const uint16_t *left, int bd) {                                       \
738
12.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
12.5k
  }
aom_highbd_smooth_h_predictor_16x32_c
Line
Count
Source
737
3.77k
      const uint16_t *left, int bd) {                                       \
738
3.77k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.77k
  }
aom_highbd_smooth_h_predictor_32x16_c
Line
Count
Source
737
3.51k
      const uint16_t *left, int bd) {                                       \
738
3.51k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.51k
  }
aom_highbd_smooth_h_predictor_32x64_c
Line
Count
Source
737
162
      const uint16_t *left, int bd) {                                       \
738
162
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
162
  }
aom_highbd_smooth_h_predictor_64x32_c
Line
Count
Source
737
136
      const uint16_t *left, int bd) {                                       \
738
136
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
136
  }
aom_highbd_smooth_h_predictor_4x16_c
Line
Count
Source
737
5.26k
      const uint16_t *left, int bd) {                                       \
738
5.26k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
5.26k
  }
aom_highbd_smooth_h_predictor_16x4_c
Line
Count
Source
737
9.75k
      const uint16_t *left, int bd) {                                       \
738
9.75k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
9.75k
  }
aom_highbd_smooth_h_predictor_8x32_c
Line
Count
Source
737
3.62k
      const uint16_t *left, int bd) {                                       \
738
3.62k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.62k
  }
aom_highbd_smooth_h_predictor_32x8_c
Line
Count
Source
737
5.19k
      const uint16_t *left, int bd) {                                       \
738
5.19k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
5.19k
  }
aom_highbd_smooth_h_predictor_16x64_c
Line
Count
Source
737
268
      const uint16_t *left, int bd) {                                       \
738
268
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
268
  }
aom_highbd_smooth_h_predictor_64x16_c
Line
Count
Source
737
222
      const uint16_t *left, int bd) {                                       \
738
222
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
222
  }
aom_highbd_paeth_predictor_4x4_c
Line
Count
Source
737
67.4k
      const uint16_t *left, int bd) {                                       \
738
67.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
67.4k
  }
aom_highbd_paeth_predictor_8x8_c
Line
Count
Source
737
49.2k
      const uint16_t *left, int bd) {                                       \
738
49.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
49.2k
  }
aom_highbd_paeth_predictor_16x16_c
Line
Count
Source
737
21.4k
      const uint16_t *left, int bd) {                                       \
738
21.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
21.4k
  }
aom_highbd_paeth_predictor_32x32_c
Line
Count
Source
737
26.0k
      const uint16_t *left, int bd) {                                       \
738
26.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
26.0k
  }
aom_highbd_paeth_predictor_64x64_c
Line
Count
Source
737
2.48k
      const uint16_t *left, int bd) {                                       \
738
2.48k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.48k
  }
aom_highbd_paeth_predictor_4x8_c
Line
Count
Source
737
16.8k
      const uint16_t *left, int bd) {                                       \
738
16.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
16.8k
  }
aom_highbd_paeth_predictor_8x4_c
Line
Count
Source
737
22.6k
      const uint16_t *left, int bd) {                                       \
738
22.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
22.6k
  }
aom_highbd_paeth_predictor_8x16_c
Line
Count
Source
737
16.8k
      const uint16_t *left, int bd) {                                       \
738
16.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
16.8k
  }
aom_highbd_paeth_predictor_16x8_c
Line
Count
Source
737
21.0k
      const uint16_t *left, int bd) {                                       \
738
21.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
21.0k
  }
aom_highbd_paeth_predictor_16x32_c
Line
Count
Source
737
21.2k
      const uint16_t *left, int bd) {                                       \
738
21.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
21.2k
  }
aom_highbd_paeth_predictor_32x16_c
Line
Count
Source
737
4.91k
      const uint16_t *left, int bd) {                                       \
738
4.91k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.91k
  }
aom_highbd_paeth_predictor_32x64_c
Line
Count
Source
737
1.36k
      const uint16_t *left, int bd) {                                       \
738
1.36k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.36k
  }
aom_highbd_paeth_predictor_64x32_c
Line
Count
Source
737
440
      const uint16_t *left, int bd) {                                       \
738
440
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
440
  }
aom_highbd_paeth_predictor_4x16_c
Line
Count
Source
737
13.1k
      const uint16_t *left, int bd) {                                       \
738
13.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
13.1k
  }
aom_highbd_paeth_predictor_16x4_c
Line
Count
Source
737
18.9k
      const uint16_t *left, int bd) {                                       \
738
18.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
18.9k
  }
aom_highbd_paeth_predictor_8x32_c
Line
Count
Source
737
9.55k
      const uint16_t *left, int bd) {                                       \
738
9.55k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
9.55k
  }
aom_highbd_paeth_predictor_32x8_c
Line
Count
Source
737
8.08k
      const uint16_t *left, int bd) {                                       \
738
8.08k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
8.08k
  }
aom_highbd_paeth_predictor_16x64_c
Line
Count
Source
737
7.57k
      const uint16_t *left, int bd) {                                       \
738
7.57k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
7.57k
  }
aom_highbd_paeth_predictor_64x16_c
Line
Count
Source
737
410
      const uint16_t *left, int bd) {                                       \
738
410
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
410
  }
aom_highbd_dc_128_predictor_4x4_c
Line
Count
Source
737
3.90k
      const uint16_t *left, int bd) {                                       \
738
3.90k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.90k
  }
aom_highbd_dc_128_predictor_8x8_c
Line
Count
Source
737
2.28k
      const uint16_t *left, int bd) {                                       \
738
2.28k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.28k
  }
aom_highbd_dc_128_predictor_16x16_c
Line
Count
Source
737
1.65k
      const uint16_t *left, int bd) {                                       \
738
1.65k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.65k
  }
aom_highbd_dc_128_predictor_32x32_c
Line
Count
Source
737
7.07k
      const uint16_t *left, int bd) {                                       \
738
7.07k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
7.07k
  }
aom_highbd_dc_128_predictor_64x64_c
Line
Count
Source
737
2.45k
      const uint16_t *left, int bd) {                                       \
738
2.45k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.45k
  }
aom_highbd_dc_128_predictor_4x8_c
Line
Count
Source
737
149
      const uint16_t *left, int bd) {                                       \
738
149
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
149
  }
aom_highbd_dc_128_predictor_8x4_c
Line
Count
Source
737
28
      const uint16_t *left, int bd) {                                       \
738
28
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
28
  }
aom_highbd_dc_128_predictor_8x16_c
Line
Count
Source
737
170
      const uint16_t *left, int bd) {                                       \
738
170
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
170
  }
aom_highbd_dc_128_predictor_16x8_c
Line
Count
Source
737
87
      const uint16_t *left, int bd) {                                       \
738
87
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
87
  }
aom_highbd_dc_128_predictor_16x32_c
Line
Count
Source
737
1.15k
      const uint16_t *left, int bd) {                                       \
738
1.15k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.15k
  }
aom_highbd_dc_128_predictor_32x16_c
Line
Count
Source
737
1.54k
      const uint16_t *left, int bd) {                                       \
738
1.54k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.54k
  }
aom_highbd_dc_128_predictor_32x64_c
Line
Count
Source
737
312
      const uint16_t *left, int bd) {                                       \
738
312
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
312
  }
aom_highbd_dc_128_predictor_64x32_c
Line
Count
Source
737
24
      const uint16_t *left, int bd) {                                       \
738
24
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
24
  }
aom_highbd_dc_128_predictor_4x16_c
Line
Count
Source
737
57
      const uint16_t *left, int bd) {                                       \
738
57
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
57
  }
aom_highbd_dc_128_predictor_16x4_c
Line
Count
Source
737
20
      const uint16_t *left, int bd) {                                       \
738
20
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
20
  }
aom_highbd_dc_128_predictor_8x32_c
Line
Count
Source
737
238
      const uint16_t *left, int bd) {                                       \
738
238
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
238
  }
aom_highbd_dc_128_predictor_32x8_c
Line
Count
Source
737
112
      const uint16_t *left, int bd) {                                       \
738
112
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
112
  }
aom_highbd_dc_128_predictor_16x64_c
Line
Count
Source
737
116
      const uint16_t *left, int bd) {                                       \
738
116
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
116
  }
aom_highbd_dc_128_predictor_64x16_c
Line
Count
Source
737
16
      const uint16_t *left, int bd) {                                       \
738
16
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
16
  }
aom_highbd_dc_left_predictor_4x4_c
Line
Count
Source
737
8.20k
      const uint16_t *left, int bd) {                                       \
738
8.20k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
8.20k
  }
aom_highbd_dc_left_predictor_8x8_c
Line
Count
Source
737
2.94k
      const uint16_t *left, int bd) {                                       \
738
2.94k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.94k
  }
aom_highbd_dc_left_predictor_16x16_c
Line
Count
Source
737
3.40k
      const uint16_t *left, int bd) {                                       \
738
3.40k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.40k
  }
aom_highbd_dc_left_predictor_32x32_c
Line
Count
Source
737
20.8k
      const uint16_t *left, int bd) {                                       \
738
20.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
20.8k
  }
aom_highbd_dc_left_predictor_64x64_c
Line
Count
Source
737
4.03k
      const uint16_t *left, int bd) {                                       \
738
4.03k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.03k
  }
aom_highbd_dc_left_predictor_4x8_c
Line
Count
Source
737
1.70k
      const uint16_t *left, int bd) {                                       \
738
1.70k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.70k
  }
aom_highbd_dc_left_predictor_8x4_c
Line
Count
Source
737
962
      const uint16_t *left, int bd) {                                       \
738
962
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
962
  }
aom_highbd_dc_left_predictor_8x16_c
Line
Count
Source
737
1.65k
      const uint16_t *left, int bd) {                                       \
738
1.65k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.65k
  }
aom_highbd_dc_left_predictor_16x8_c
Line
Count
Source
737
1.57k
      const uint16_t *left, int bd) {                                       \
738
1.57k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.57k
  }
aom_highbd_dc_left_predictor_16x32_c
Line
Count
Source
737
2.42k
      const uint16_t *left, int bd) {                                       \
738
2.42k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.42k
  }
aom_highbd_dc_left_predictor_32x16_c
Line
Count
Source
737
1.78k
      const uint16_t *left, int bd) {                                       \
738
1.78k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.78k
  }
aom_highbd_dc_left_predictor_32x64_c
Line
Count
Source
737
326
      const uint16_t *left, int bd) {                                       \
738
326
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
326
  }
aom_highbd_dc_left_predictor_64x32_c
Line
Count
Source
737
254
      const uint16_t *left, int bd) {                                       \
738
254
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
254
  }
aom_highbd_dc_left_predictor_4x16_c
Line
Count
Source
737
838
      const uint16_t *left, int bd) {                                       \
738
838
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
838
  }
aom_highbd_dc_left_predictor_16x4_c
Line
Count
Source
737
422
      const uint16_t *left, int bd) {                                       \
738
422
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
422
  }
aom_highbd_dc_left_predictor_8x32_c
Line
Count
Source
737
1.69k
      const uint16_t *left, int bd) {                                       \
738
1.69k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.69k
  }
aom_highbd_dc_left_predictor_32x8_c
Line
Count
Source
737
696
      const uint16_t *left, int bd) {                                       \
738
696
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
696
  }
aom_highbd_dc_left_predictor_16x64_c
Line
Count
Source
737
701
      const uint16_t *left, int bd) {                                       \
738
701
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
701
  }
aom_highbd_dc_left_predictor_64x16_c
Line
Count
Source
737
139
      const uint16_t *left, int bd) {                                       \
738
139
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
139
  }
aom_highbd_dc_top_predictor_4x4_c
Line
Count
Source
737
50.4k
      const uint16_t *left, int bd) {                                       \
738
50.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
50.4k
  }
aom_highbd_dc_top_predictor_8x8_c
Line
Count
Source
737
5.29k
      const uint16_t *left, int bd) {                                       \
738
5.29k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
5.29k
  }
aom_highbd_dc_top_predictor_16x16_c
Line
Count
Source
737
4.92k
      const uint16_t *left, int bd) {                                       \
738
4.92k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.92k
  }
aom_highbd_dc_top_predictor_32x32_c
Line
Count
Source
737
44.3k
      const uint16_t *left, int bd) {                                       \
738
44.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
44.3k
  }
aom_highbd_dc_top_predictor_64x64_c
Line
Count
Source
737
5.47k
      const uint16_t *left, int bd) {                                       \
738
5.47k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
5.47k
  }
aom_highbd_dc_top_predictor_4x8_c
Line
Count
Source
737
3.22k
      const uint16_t *left, int bd) {                                       \
738
3.22k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.22k
  }
aom_highbd_dc_top_predictor_8x4_c
Line
Count
Source
737
3.42k
      const uint16_t *left, int bd) {                                       \
738
3.42k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.42k
  }
aom_highbd_dc_top_predictor_8x16_c
Line
Count
Source
737
7.13k
      const uint16_t *left, int bd) {                                       \
738
7.13k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
7.13k
  }
aom_highbd_dc_top_predictor_16x8_c
Line
Count
Source
737
2.55k
      const uint16_t *left, int bd) {                                       \
738
2.55k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.55k
  }
aom_highbd_dc_top_predictor_16x32_c
Line
Count
Source
737
6.95k
      const uint16_t *left, int bd) {                                       \
738
6.95k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
6.95k
  }
aom_highbd_dc_top_predictor_32x16_c
Line
Count
Source
737
2.33k
      const uint16_t *left, int bd) {                                       \
738
2.33k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.33k
  }
aom_highbd_dc_top_predictor_32x64_c
Line
Count
Source
737
3.20k
      const uint16_t *left, int bd) {                                       \
738
3.20k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.20k
  }
aom_highbd_dc_top_predictor_64x32_c
Line
Count
Source
737
269
      const uint16_t *left, int bd) {                                       \
738
269
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
269
  }
aom_highbd_dc_top_predictor_4x16_c
Line
Count
Source
737
571
      const uint16_t *left, int bd) {                                       \
738
571
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
571
  }
aom_highbd_dc_top_predictor_16x4_c
Line
Count
Source
737
1.98k
      const uint16_t *left, int bd) {                                       \
738
1.98k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.98k
  }
aom_highbd_dc_top_predictor_8x32_c
Line
Count
Source
737
1.96k
      const uint16_t *left, int bd) {                                       \
738
1.96k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.96k
  }
aom_highbd_dc_top_predictor_32x8_c
Line
Count
Source
737
2.15k
      const uint16_t *left, int bd) {                                       \
738
2.15k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.15k
  }
aom_highbd_dc_top_predictor_16x64_c
Line
Count
Source
737
337
      const uint16_t *left, int bd) {                                       \
738
337
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
337
  }
aom_highbd_dc_top_predictor_64x16_c
Line
Count
Source
737
393
      const uint16_t *left, int bd) {                                       \
738
393
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
393
  }
aom_highbd_dc_predictor_4x4_c
Line
Count
Source
737
780k
      const uint16_t *left, int bd) {                                       \
738
780k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
780k
  }
aom_highbd_dc_predictor_8x8_c
Line
Count
Source
737
270k
      const uint16_t *left, int bd) {                                       \
738
270k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
270k
  }
aom_highbd_dc_predictor_16x16_c
Line
Count
Source
737
111k
      const uint16_t *left, int bd) {                                       \
738
111k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
111k
  }
aom_highbd_dc_predictor_32x32_c
Line
Count
Source
737
151k
      const uint16_t *left, int bd) {                                       \
738
151k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
151k
  }
aom_highbd_dc_predictor_64x64_c
Line
Count
Source
737
10.8k
      const uint16_t *left, int bd) {                                       \
738
10.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
10.8k
  }
740
#else  // !CONFIG_AV1_HIGHBITDEPTH
741
#define intra_pred_highbd_sized(type, width, height)
742
#endif  // CONFIG_AV1_HIGHBITDEPTH
743
744
/* clang-format off */
745
#if CONFIG_REALTIME_ONLY && !CONFIG_AV1_DECODER
746
#define intra_pred_rectangular(type) \
747
  intra_pred_sized(type, 4, 8) \
748
  intra_pred_sized(type, 8, 4) \
749
  intra_pred_sized(type, 8, 16) \
750
  intra_pred_sized(type, 16, 8) \
751
  intra_pred_sized(type, 16, 32) \
752
  intra_pred_sized(type, 32, 16) \
753
  intra_pred_sized(type, 32, 64) \
754
  intra_pred_sized(type, 64, 32) \
755
  intra_pred_highbd_sized(type, 4, 8) \
756
  intra_pred_highbd_sized(type, 8, 4) \
757
  intra_pred_highbd_sized(type, 8, 16) \
758
  intra_pred_highbd_sized(type, 16, 8) \
759
  intra_pred_highbd_sized(type, 16, 32) \
760
  intra_pred_highbd_sized(type, 32, 16) \
761
  intra_pred_highbd_sized(type, 32, 64) \
762
  intra_pred_highbd_sized(type, 64, 32)
763
#else
764
#define intra_pred_rectangular(type) \
765
  intra_pred_sized(type, 4, 8) \
766
  intra_pred_sized(type, 8, 4) \
767
  intra_pred_sized(type, 8, 16) \
768
  intra_pred_sized(type, 16, 8) \
769
  intra_pred_sized(type, 16, 32) \
770
  intra_pred_sized(type, 32, 16) \
771
  intra_pred_sized(type, 32, 64) \
772
  intra_pred_sized(type, 64, 32) \
773
  intra_pred_sized(type, 4, 16) \
774
  intra_pred_sized(type, 16, 4) \
775
  intra_pred_sized(type, 8, 32) \
776
  intra_pred_sized(type, 32, 8) \
777
  intra_pred_sized(type, 16, 64) \
778
  intra_pred_sized(type, 64, 16) \
779
  intra_pred_highbd_sized(type, 4, 8) \
780
  intra_pred_highbd_sized(type, 8, 4) \
781
  intra_pred_highbd_sized(type, 8, 16) \
782
  intra_pred_highbd_sized(type, 16, 8) \
783
  intra_pred_highbd_sized(type, 16, 32) \
784
  intra_pred_highbd_sized(type, 32, 16) \
785
  intra_pred_highbd_sized(type, 32, 64) \
786
  intra_pred_highbd_sized(type, 64, 32) \
787
  intra_pred_highbd_sized(type, 4, 16) \
788
  intra_pred_highbd_sized(type, 16, 4) \
789
  intra_pred_highbd_sized(type, 8, 32) \
790
  intra_pred_highbd_sized(type, 32, 8) \
791
  intra_pred_highbd_sized(type, 16, 64) \
792
  intra_pred_highbd_sized(type, 64, 16)
793
#endif // CONFIG_REALTIME_ONLY && !CONFIG_AV1_DECODER
794
795
#define intra_pred_above_4x4(type) \
796
  intra_pred_sized(type, 8, 8) \
797
  intra_pred_sized(type, 16, 16) \
798
  intra_pred_sized(type, 32, 32) \
799
  intra_pred_sized(type, 64, 64) \
800
  intra_pred_highbd_sized(type, 4, 4) \
801
  intra_pred_highbd_sized(type, 8, 8) \
802
  intra_pred_highbd_sized(type, 16, 16) \
803
  intra_pred_highbd_sized(type, 32, 32) \
804
  intra_pred_highbd_sized(type, 64, 64) \
805
  intra_pred_rectangular(type)
806
#define intra_pred_allsizes(type) \
807
  intra_pred_sized(type, 4, 4) \
808
  intra_pred_above_4x4(type)
809
#define intra_pred_square(type) \
810
  intra_pred_sized(type, 4, 4) \
811
  intra_pred_sized(type, 8, 8) \
812
  intra_pred_sized(type, 16, 16) \
813
  intra_pred_sized(type, 32, 32) \
814
  intra_pred_sized(type, 64, 64) \
815
  intra_pred_highbd_sized(type, 4, 4) \
816
  intra_pred_highbd_sized(type, 8, 8) \
817
  intra_pred_highbd_sized(type, 16, 16) \
818
  intra_pred_highbd_sized(type, 32, 32) \
819
  intra_pred_highbd_sized(type, 64, 64)
820
821
intra_pred_allsizes(v)
822
intra_pred_allsizes(h)
823
intra_pred_allsizes(smooth)
824
intra_pred_allsizes(smooth_v)
825
intra_pred_allsizes(smooth_h)
826
intra_pred_allsizes(paeth)
827
intra_pred_allsizes(dc_128)
828
intra_pred_allsizes(dc_left)
829
intra_pred_allsizes(dc_top)
830
intra_pred_square(dc)
831
/* clang-format on */
832
#undef intra_pred_allsizes