Coverage Report

Created: 2026-04-01 07:49

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
948k
                               const uint8_t *above, const uint8_t *left) {
25
948k
  int r;
26
948k
  (void)left;
27
28
11.8M
  for (r = 0; r < bh; r++) {
29
10.8M
    memcpy(dst, above, bw);
30
10.8M
    dst += stride;
31
10.8M
  }
32
948k
}
33
34
static inline void h_predictor(uint8_t *dst, ptrdiff_t stride, int bw, int bh,
35
1.33M
                               const uint8_t *above, const uint8_t *left) {
36
1.33M
  int r;
37
1.33M
  (void)above;
38
39
15.2M
  for (r = 0; r < bh; r++) {
40
13.9M
    memset(dst, left[r], bw);
41
13.9M
    dst += stride;
42
13.9M
  }
43
1.33M
}
44
45
7.95G
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
2.65G
                                              uint16_t top_left) {
49
2.65G
  const int base = top + left - top_left;
50
2.65G
  const int p_left = abs_diff(base, left);
51
2.65G
  const int p_top = abs_diff(base, top);
52
2.65G
  const int p_top_left = abs_diff(base, top_left);
53
54
  // Return nearest to base of left, top and top_left.
55
2.65G
  return (p_left <= p_top && p_left <= p_top_left) ? left
56
2.65G
         : (p_top <= p_top_left)                   ? top
57
551M
                                                   : top_left;
58
2.65G
}
59
60
static inline void paeth_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
61
                                   int bh, const uint8_t *above,
62
4.98M
                                   const uint8_t *left) {
63
4.98M
  int r, c;
64
4.98M
  const uint8_t ytop_left = above[-1];
65
66
72.1M
  for (r = 0; r < bh; r++) {
67
1.17G
    for (c = 0; c < bw; c++)
68
1.11G
      dst[c] = (uint8_t)paeth_predictor_single(left[r], above[c], ytop_left);
69
67.2M
    dst += stride;
70
67.2M
  }
71
4.98M
}
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
9.35M
  assert(weights_w[0] < weights_scale);                               \
77
9.35M
  assert(weights_h[0] < weights_scale);                               \
78
9.35M
  assert(weights_scale - weights_w[bw - 1] < weights_scale);          \
79
9.35M
  assert(weights_scale - weights_h[bh - 1] < weights_scale);          \
80
9.35M
  assert(pred_scale < 31)  // ensures no overflow when calculating predictor.
81
82
2.01G
#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
2.78M
                                    const uint8_t *left) {
87
2.78M
  const uint8_t below_pred = left[bh - 1];   // estimated by bottom-left pixel
88
2.78M
  const uint8_t right_pred = above[bw - 1];  // estimated by top-right pixel
89
2.78M
  const uint8_t *const sm_weights_w = smooth_weights + bw - 4;
90
2.78M
  const uint8_t *const sm_weights_h = smooth_weights + bh - 4;
91
  // scale = 2 * 2^SMOOTH_WEIGHT_LOG2_SCALE
92
2.78M
  const int log2_scale = 1 + SMOOTH_WEIGHT_LOG2_SCALE;
93
2.78M
  const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE);
94
11.1M
  sm_weights_sanity_checks(sm_weights_w, sm_weights_h, scale,
95
2.78M
                           log2_scale + sizeof(*dst));
96
2.78M
  int r;
97
35.0M
  for (r = 0; r < bh; ++r) {
98
32.2M
    int c;
99
628M
    for (c = 0; c < bw; ++c) {
100
596M
      const uint8_t pixels[] = { above[c], below_pred, left[r], right_pred };
101
596M
      const uint8_t weights[] = { sm_weights_h[r], scale - sm_weights_h[r],
102
596M
                                  sm_weights_w[c], scale - sm_weights_w[c] };
103
596M
      uint32_t this_pred = 0;
104
596M
      int i;
105
596M
      assert(scale >= sm_weights_h[r] && scale >= sm_weights_w[c]);
106
2.98G
      for (i = 0; i < 4; ++i) {
107
2.38G
        this_pred += weights[i] * pixels[i];
108
2.38G
      }
109
596M
      dst[c] = divide_round(this_pred, log2_scale);
110
596M
    }
111
32.2M
    dst += stride;
112
32.2M
  }
113
2.78M
}
114
115
static inline void smooth_v_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
116
                                      int bh, const uint8_t *above,
117
887k
                                      const uint8_t *left) {
118
887k
  const uint8_t below_pred = left[bh - 1];  // estimated by bottom-left pixel
119
887k
  const uint8_t *const sm_weights = smooth_weights + bh - 4;
120
  // scale = 2^SMOOTH_WEIGHT_LOG2_SCALE
121
887k
  const int log2_scale = SMOOTH_WEIGHT_LOG2_SCALE;
122
887k
  const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE);
123
3.55M
  sm_weights_sanity_checks(sm_weights, sm_weights, scale,
124
887k
                           log2_scale + sizeof(*dst));
125
126
887k
  int r;
127
12.1M
  for (r = 0; r < bh; r++) {
128
11.2M
    int c;
129
245M
    for (c = 0; c < bw; ++c) {
130
234M
      const uint8_t pixels[] = { above[c], below_pred };
131
234M
      const uint8_t weights[] = { sm_weights[r], scale - sm_weights[r] };
132
234M
      uint32_t this_pred = 0;
133
234M
      assert(scale >= sm_weights[r]);
134
234M
      int i;
135
703M
      for (i = 0; i < 2; ++i) {
136
469M
        this_pred += weights[i] * pixels[i];
137
469M
      }
138
234M
      dst[c] = divide_round(this_pred, log2_scale);
139
234M
    }
140
11.2M
    dst += stride;
141
11.2M
  }
142
887k
}
143
144
static inline void smooth_h_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
145
                                      int bh, const uint8_t *above,
146
1.31M
                                      const uint8_t *left) {
147
1.31M
  const uint8_t right_pred = above[bw - 1];  // estimated by top-right pixel
148
1.31M
  const uint8_t *const sm_weights = smooth_weights + bw - 4;
149
  // scale = 2^SMOOTH_WEIGHT_LOG2_SCALE
150
1.31M
  const int log2_scale = SMOOTH_WEIGHT_LOG2_SCALE;
151
1.31M
  const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE);
152
5.25M
  sm_weights_sanity_checks(sm_weights, sm_weights, scale,
153
1.31M
                           log2_scale + sizeof(*dst));
154
155
1.31M
  int r;
156
16.6M
  for (r = 0; r < bh; r++) {
157
15.3M
    int c;
158
294M
    for (c = 0; c < bw; ++c) {
159
279M
      const uint8_t pixels[] = { left[r], right_pred };
160
279M
      const uint8_t weights[] = { sm_weights[c], scale - sm_weights[c] };
161
279M
      uint32_t this_pred = 0;
162
279M
      assert(scale >= sm_weights[c]);
163
279M
      int i;
164
837M
      for (i = 0; i < 2; ++i) {
165
558M
        this_pred += weights[i] * pixels[i];
166
558M
      }
167
279M
      dst[c] = divide_round(this_pred, log2_scale);
168
279M
    }
169
15.3M
    dst += stride;
170
15.3M
  }
171
1.31M
}
172
173
static inline void dc_128_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
174
                                    int bh, const uint8_t *above,
175
40.6k
                                    const uint8_t *left) {
176
40.6k
  int r;
177
40.6k
  (void)above;
178
40.6k
  (void)left;
179
180
989k
  for (r = 0; r < bh; r++) {
181
948k
    memset(dst, 128, bw);
182
948k
    dst += stride;
183
948k
  }
184
40.6k
}
185
186
static inline void dc_left_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
187
                                     int bh, const uint8_t *above,
188
386k
                                     const uint8_t *left) {
189
386k
  int i, r, expected_dc, sum = 0;
190
386k
  (void)above;
191
192
6.38M
  for (i = 0; i < bh; i++) sum += left[i];
193
386k
  expected_dc = (sum + (bh >> 1)) / bh;
194
195
6.38M
  for (r = 0; r < bh; r++) {
196
6.00M
    memset(dst, expected_dc, bw);
197
6.00M
    dst += stride;
198
6.00M
  }
199
386k
}
200
201
static inline void dc_top_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
202
                                    int bh, const uint8_t *above,
203
1.08M
                                    const uint8_t *left) {
204
1.08M
  int i, r, expected_dc, sum = 0;
205
1.08M
  (void)left;
206
207
21.6M
  for (i = 0; i < bw; i++) sum += above[i];
208
1.08M
  expected_dc = (sum + (bw >> 1)) / bw;
209
210
22.6M
  for (r = 0; r < bh; r++) {
211
21.5M
    memset(dst, expected_dc, bw);
212
21.5M
    dst += stride;
213
21.5M
  }
214
1.08M
}
215
216
static inline void dc_predictor(uint8_t *dst, ptrdiff_t stride, int bw, int bh,
217
7.78M
                                const uint8_t *above, const uint8_t *left) {
218
7.78M
  int i, r, expected_dc, sum = 0;
219
7.78M
  const int count = bw + bh;
220
221
99.5M
  for (i = 0; i < bw; i++) {
222
91.7M
    sum += above[i];
223
91.7M
  }
224
99.5M
  for (i = 0; i < bh; i++) {
225
91.7M
    sum += left[i];
226
91.7M
  }
227
228
7.78M
  expected_dc = (sum + (count >> 1)) / count;
229
230
99.5M
  for (r = 0; r < bh; r++) {
231
91.7M
    memset(dst, expected_dc, bw);
232
91.7M
    dst += stride;
233
91.7M
  }
234
7.78M
}
235
236
static inline int divide_using_multiply_shift(int num, int shift1,
237
7.08M
                                              int multiplier, int shift2) {
238
7.08M
  const int interm = num >> shift1;
239
7.08M
  return interm * multiplier >> shift2;
240
7.08M
}
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
2.82M
#define DC_MULTIPLIER_1X2 0x5556
261
1.38M
#define DC_MULTIPLIER_1X4 0x3334
262
263
4.20M
#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
4.20M
                                     int multiplier) {
269
4.20M
  int sum = 0;
270
271
55.6M
  for (int i = 0; i < bw; i++) {
272
51.4M
    sum += above[i];
273
51.4M
  }
274
53.1M
  for (int i = 0; i < bh; i++) {
275
48.9M
    sum += left[i];
276
48.9M
  }
277
278
4.20M
  const int expected_dc = divide_using_multiply_shift(
279
4.20M
      sum + ((bw + bh) >> 1), shift1, multiplier, DC_SHIFT2);
280
4.20M
  assert(expected_dc < (1 << 8));
281
282
53.1M
  for (int r = 0; r < bh; r++) {
283
48.9M
    memset(dst, expected_dc, bw);
284
48.9M
    dst += stride;
285
48.9M
  }
286
4.20M
}
287
288
#undef DC_SHIFT2
289
290
void aom_dc_predictor_4x8_c(uint8_t *dst, ptrdiff_t stride,
291
605k
                            const uint8_t *above, const uint8_t *left) {
292
605k
  dc_predictor_rect(dst, stride, 4, 8, above, left, 2, DC_MULTIPLIER_1X2);
293
605k
}
294
295
void aom_dc_predictor_8x4_c(uint8_t *dst, ptrdiff_t stride,
296
772k
                            const uint8_t *above, const uint8_t *left) {
297
772k
  dc_predictor_rect(dst, stride, 8, 4, above, left, 2, DC_MULTIPLIER_1X2);
298
772k
}
299
300
#if !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
301
void aom_dc_predictor_4x16_c(uint8_t *dst, ptrdiff_t stride,
302
355k
                             const uint8_t *above, const uint8_t *left) {
303
355k
  dc_predictor_rect(dst, stride, 4, 16, above, left, 2, DC_MULTIPLIER_1X4);
304
355k
}
305
306
void aom_dc_predictor_16x4_c(uint8_t *dst, ptrdiff_t stride,
307
514k
                             const uint8_t *above, const uint8_t *left) {
308
514k
  dc_predictor_rect(dst, stride, 16, 4, above, left, 2, DC_MULTIPLIER_1X4);
309
514k
}
310
#endif  // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
311
312
void aom_dc_predictor_8x16_c(uint8_t *dst, ptrdiff_t stride,
313
451k
                             const uint8_t *above, const uint8_t *left) {
314
451k
  dc_predictor_rect(dst, stride, 8, 16, above, left, 3, DC_MULTIPLIER_1X2);
315
451k
}
316
317
void aom_dc_predictor_16x8_c(uint8_t *dst, ptrdiff_t stride,
318
603k
                             const uint8_t *above, const uint8_t *left) {
319
603k
  dc_predictor_rect(dst, stride, 16, 8, above, left, 3, DC_MULTIPLIER_1X2);
320
603k
}
321
322
#if !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
323
void aom_dc_predictor_8x32_c(uint8_t *dst, ptrdiff_t stride,
324
255k
                             const uint8_t *above, const uint8_t *left) {
325
255k
  dc_predictor_rect(dst, stride, 8, 32, above, left, 3, DC_MULTIPLIER_1X4);
326
255k
}
327
328
void aom_dc_predictor_32x8_c(uint8_t *dst, ptrdiff_t stride,
329
228k
                             const uint8_t *above, const uint8_t *left) {
330
228k
  dc_predictor_rect(dst, stride, 32, 8, above, left, 3, DC_MULTIPLIER_1X4);
331
228k
}
332
#endif  // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
333
334
void aom_dc_predictor_16x32_c(uint8_t *dst, ptrdiff_t stride,
335
194k
                              const uint8_t *above, const uint8_t *left) {
336
194k
  dc_predictor_rect(dst, stride, 16, 32, above, left, 4, DC_MULTIPLIER_1X2);
337
194k
}
338
339
void aom_dc_predictor_32x16_c(uint8_t *dst, ptrdiff_t stride,
340
186k
                              const uint8_t *above, const uint8_t *left) {
341
186k
  dc_predictor_rect(dst, stride, 32, 16, above, left, 4, DC_MULTIPLIER_1X2);
342
186k
}
343
344
#if !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
345
void aom_dc_predictor_16x64_c(uint8_t *dst, ptrdiff_t stride,
346
20.6k
                              const uint8_t *above, const uint8_t *left) {
347
20.6k
  dc_predictor_rect(dst, stride, 16, 64, above, left, 4, DC_MULTIPLIER_1X4);
348
20.6k
}
349
350
void aom_dc_predictor_64x16_c(uint8_t *dst, ptrdiff_t stride,
351
9.00k
                              const uint8_t *above, const uint8_t *left) {
352
9.00k
  dc_predictor_rect(dst, stride, 64, 16, above, left, 4, DC_MULTIPLIER_1X4);
353
9.00k
}
354
#endif  // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
355
356
void aom_dc_predictor_32x64_c(uint8_t *dst, ptrdiff_t stride,
357
6.23k
                              const uint8_t *above, const uint8_t *left) {
358
6.23k
  dc_predictor_rect(dst, stride, 32, 64, above, left, 5, DC_MULTIPLIER_1X2);
359
6.23k
}
360
361
void aom_dc_predictor_64x32_c(uint8_t *dst, ptrdiff_t stride,
362
5.92k
                              const uint8_t *above, const uint8_t *left) {
363
5.92k
  dc_predictor_rect(dst, stride, 64, 32, above, left, 5, DC_MULTIPLIER_1X2);
364
5.92k
}
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
786k
                                      const uint16_t *left, int bd) {
374
786k
  int r;
375
786k
  (void)left;
376
786k
  (void)bd;
377
9.55M
  for (r = 0; r < bh; r++) {
378
8.76M
    memcpy(dst, above, bw * sizeof(uint16_t));
379
8.76M
    dst += stride;
380
8.76M
  }
381
786k
}
382
383
static inline void highbd_h_predictor(uint16_t *dst, ptrdiff_t stride, int bw,
384
                                      int bh, const uint16_t *above,
385
1.23M
                                      const uint16_t *left, int bd) {
386
1.23M
  int r;
387
1.23M
  (void)above;
388
1.23M
  (void)bd;
389
13.5M
  for (r = 0; r < bh; r++) {
390
12.3M
    aom_memset16(dst, left[r], bw);
391
12.3M
    dst += stride;
392
12.3M
  }
393
1.23M
}
394
395
static inline void highbd_paeth_predictor(uint16_t *dst, ptrdiff_t stride,
396
                                          int bw, int bh, const uint16_t *above,
397
6.23M
                                          const uint16_t *left, int bd) {
398
6.23M
  int r, c;
399
6.23M
  const uint16_t ytop_left = above[-1];
400
6.23M
  (void)bd;
401
402
94.1M
  for (r = 0; r < bh; r++) {
403
1.62G
    for (c = 0; c < bw; c++)
404
1.54G
      dst[c] = paeth_predictor_single(left[r], above[c], ytop_left);
405
87.9M
    dst += stride;
406
87.9M
  }
407
6.23M
}
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
2.48M
                                           const uint16_t *left, int bd) {
413
2.48M
  (void)bd;
414
2.48M
  const uint16_t below_pred = left[bh - 1];   // estimated by bottom-left pixel
415
2.48M
  const uint16_t right_pred = above[bw - 1];  // estimated by top-right pixel
416
2.48M
  const uint8_t *const sm_weights_w = smooth_weights + bw - 4;
417
2.48M
  const uint8_t *const sm_weights_h = smooth_weights + bh - 4;
418
  // scale = 2 * 2^SMOOTH_WEIGHT_LOG2_SCALE
419
2.48M
  const int log2_scale = 1 + SMOOTH_WEIGHT_LOG2_SCALE;
420
2.48M
  const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE);
421
9.92M
  sm_weights_sanity_checks(sm_weights_w, sm_weights_h, scale,
422
2.48M
                           log2_scale + sizeof(*dst));
423
2.48M
  int r;
424
29.1M
  for (r = 0; r < bh; ++r) {
425
26.6M
    int c;
426
521M
    for (c = 0; c < bw; ++c) {
427
494M
      const uint16_t pixels[] = { above[c], below_pred, left[r], right_pred };
428
494M
      const uint8_t weights[] = { sm_weights_h[r], scale - sm_weights_h[r],
429
494M
                                  sm_weights_w[c], scale - sm_weights_w[c] };
430
494M
      uint32_t this_pred = 0;
431
494M
      int i;
432
494M
      assert(scale >= sm_weights_h[r] && scale >= sm_weights_w[c]);
433
2.47G
      for (i = 0; i < 4; ++i) {
434
1.97G
        this_pred += weights[i] * pixels[i];
435
1.97G
      }
436
494M
      dst[c] = divide_round(this_pred, log2_scale);
437
494M
    }
438
26.6M
    dst += stride;
439
26.6M
  }
440
2.48M
}
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
800k
                                             const uint16_t *left, int bd) {
446
800k
  (void)bd;
447
800k
  const uint16_t below_pred = left[bh - 1];  // estimated by bottom-left pixel
448
800k
  const uint8_t *const sm_weights = smooth_weights + bh - 4;
449
  // scale = 2^SMOOTH_WEIGHT_LOG2_SCALE
450
800k
  const int log2_scale = SMOOTH_WEIGHT_LOG2_SCALE;
451
800k
  const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE);
452
3.20M
  sm_weights_sanity_checks(sm_weights, sm_weights, scale,
453
800k
                           log2_scale + sizeof(*dst));
454
455
800k
  int r;
456
10.3M
  for (r = 0; r < bh; r++) {
457
9.55M
    int c;
458
201M
    for (c = 0; c < bw; ++c) {
459
191M
      const uint16_t pixels[] = { above[c], below_pred };
460
191M
      const uint8_t weights[] = { sm_weights[r], scale - sm_weights[r] };
461
191M
      uint32_t this_pred = 0;
462
191M
      assert(scale >= sm_weights[r]);
463
191M
      int i;
464
574M
      for (i = 0; i < 2; ++i) {
465
383M
        this_pred += weights[i] * pixels[i];
466
383M
      }
467
191M
      dst[c] = divide_round(this_pred, log2_scale);
468
191M
    }
469
9.55M
    dst += stride;
470
9.55M
  }
471
800k
}
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
1.08M
                                             const uint16_t *left, int bd) {
477
1.08M
  (void)bd;
478
1.08M
  const uint16_t right_pred = above[bw - 1];  // estimated by top-right pixel
479
1.08M
  const uint8_t *const sm_weights = smooth_weights + bw - 4;
480
  // scale = 2^SMOOTH_WEIGHT_LOG2_SCALE
481
1.08M
  const int log2_scale = SMOOTH_WEIGHT_LOG2_SCALE;
482
1.08M
  const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE);
483
4.33M
  sm_weights_sanity_checks(sm_weights, sm_weights, scale,
484
1.08M
                           log2_scale + sizeof(*dst));
485
486
1.08M
  int r;
487
12.7M
  for (r = 0; r < bh; r++) {
488
11.6M
    int c;
489
228M
    for (c = 0; c < bw; ++c) {
490
216M
      const uint16_t pixels[] = { left[r], right_pred };
491
216M
      const uint8_t weights[] = { sm_weights[c], scale - sm_weights[c] };
492
216M
      uint32_t this_pred = 0;
493
216M
      assert(scale >= sm_weights[c]);
494
216M
      int i;
495
649M
      for (i = 0; i < 2; ++i) {
496
433M
        this_pred += weights[i] * pixels[i];
497
433M
      }
498
216M
      dst[c] = divide_round(this_pred, log2_scale);
499
216M
    }
500
11.6M
    dst += stride;
501
11.6M
  }
502
1.08M
}
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
79.1k
                                           const uint16_t *left, int bd) {
508
79.1k
  int r;
509
79.1k
  (void)above;
510
79.1k
  (void)left;
511
512
2.26M
  for (r = 0; r < bh; r++) {
513
2.18M
    aom_memset16(dst, 128 << (bd - 8), bw);
514
2.18M
    dst += stride;
515
2.18M
  }
516
79.1k
}
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
484k
                                            const uint16_t *left, int bd) {
522
484k
  int i, r, expected_dc, sum = 0;
523
484k
  (void)above;
524
484k
  (void)bd;
525
526
8.45M
  for (i = 0; i < bh; i++) sum += left[i];
527
484k
  expected_dc = (sum + (bh >> 1)) / bh;
528
529
8.45M
  for (r = 0; r < bh; r++) {
530
7.97M
    aom_memset16(dst, expected_dc, bw);
531
7.97M
    dst += stride;
532
7.97M
  }
533
484k
}
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
1.12M
                                           const uint16_t *left, int bd) {
539
1.12M
  int i, r, expected_dc, sum = 0;
540
1.12M
  (void)left;
541
1.12M
  (void)bd;
542
543
23.2M
  for (i = 0; i < bw; i++) sum += above[i];
544
1.12M
  expected_dc = (sum + (bw >> 1)) / bw;
545
546
25.2M
  for (r = 0; r < bh; r++) {
547
24.0M
    aom_memset16(dst, expected_dc, bw);
548
24.0M
    dst += stride;
549
24.0M
  }
550
1.12M
}
551
552
static inline void highbd_dc_predictor(uint16_t *dst, ptrdiff_t stride, int bw,
553
                                       int bh, const uint16_t *above,
554
8.68M
                                       const uint16_t *left, int bd) {
555
8.68M
  int i, r, expected_dc, sum = 0;
556
8.68M
  const int count = bw + bh;
557
8.68M
  (void)bd;
558
559
98.2M
  for (i = 0; i < bw; i++) {
560
89.5M
    sum += above[i];
561
89.5M
  }
562
98.2M
  for (i = 0; i < bh; i++) {
563
89.5M
    sum += left[i];
564
89.5M
  }
565
566
8.68M
  expected_dc = (sum + (count >> 1)) / count;
567
568
98.2M
  for (r = 0; r < bh; r++) {
569
89.5M
    aom_memset16(dst, expected_dc, bw);
570
89.5M
    dst += stride;
571
89.5M
  }
572
8.68M
}
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
1.96M
#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
904k
#define HIGHBD_DC_MULTIPLIER_1X4 0x6667
585
586
2.87M
#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
2.87M
                                            int shift1, uint32_t multiplier) {
593
2.87M
  int sum = 0;
594
2.87M
  (void)bd;
595
596
33.9M
  for (int i = 0; i < bw; i++) {
597
31.0M
    sum += above[i];
598
31.0M
  }
599
34.8M
  for (int i = 0; i < bh; i++) {
600
32.0M
    sum += left[i];
601
32.0M
  }
602
603
2.87M
  const int expected_dc = divide_using_multiply_shift(
604
2.87M
      sum + ((bw + bh) >> 1), shift1, multiplier, HIGHBD_DC_SHIFT2);
605
2.87M
  assert(expected_dc < (1 << bd));
606
607
34.8M
  for (int r = 0; r < bh; r++) {
608
32.0M
    aom_memset16(dst, expected_dc, bw);
609
32.0M
    dst += stride;
610
32.0M
  }
611
2.87M
}
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
546k
                                   int bd) {
618
546k
  highbd_dc_predictor_rect(dst, stride, 4, 8, above, left, bd, 2,
619
546k
                           HIGHBD_DC_MULTIPLIER_1X2);
620
546k
}
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
728k
                                   int bd) {
625
728k
  highbd_dc_predictor_rect(dst, stride, 8, 4, above, left, bd, 2,
626
728k
                           HIGHBD_DC_MULTIPLIER_1X2);
627
728k
}
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
240k
                                    int bd) {
633
240k
  highbd_dc_predictor_rect(dst, stride, 4, 16, above, left, bd, 2,
634
240k
                           HIGHBD_DC_MULTIPLIER_1X4);
635
240k
}
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
317k
                                    int bd) {
640
317k
  highbd_dc_predictor_rect(dst, stride, 16, 4, above, left, bd, 2,
641
317k
                           HIGHBD_DC_MULTIPLIER_1X4);
642
317k
}
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
227k
                                    int bd) {
648
227k
  highbd_dc_predictor_rect(dst, stride, 8, 16, above, left, bd, 3,
649
227k
                           HIGHBD_DC_MULTIPLIER_1X2);
650
227k
}
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
270k
                                    int bd) {
655
270k
  highbd_dc_predictor_rect(dst, stride, 16, 8, above, left, bd, 3,
656
270k
                           HIGHBD_DC_MULTIPLIER_1X2);
657
270k
}
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
212k
                                    int bd) {
663
212k
  highbd_dc_predictor_rect(dst, stride, 8, 32, above, left, bd, 3,
664
212k
                           HIGHBD_DC_MULTIPLIER_1X4);
665
212k
}
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
110k
                                    int bd) {
670
110k
  highbd_dc_predictor_rect(dst, stride, 32, 8, above, left, bd, 3,
671
110k
                           HIGHBD_DC_MULTIPLIER_1X4);
672
110k
}
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
97.8k
                                     const uint16_t *left, int bd) {
678
97.8k
  highbd_dc_predictor_rect(dst, stride, 16, 32, above, left, bd, 4,
679
97.8k
                           HIGHBD_DC_MULTIPLIER_1X2);
680
97.8k
}
681
682
void aom_highbd_dc_predictor_32x16_c(uint16_t *dst, ptrdiff_t stride,
683
                                     const uint16_t *above,
684
87.7k
                                     const uint16_t *left, int bd) {
685
87.7k
  highbd_dc_predictor_rect(dst, stride, 32, 16, above, left, bd, 4,
686
87.7k
                           HIGHBD_DC_MULTIPLIER_1X2);
687
87.7k
}
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
15.0k
                                     const uint16_t *left, int bd) {
693
15.0k
  highbd_dc_predictor_rect(dst, stride, 16, 64, above, left, bd, 4,
694
15.0k
                           HIGHBD_DC_MULTIPLIER_1X4);
695
15.0k
}
696
697
void aom_highbd_dc_predictor_64x16_c(uint16_t *dst, ptrdiff_t stride,
698
                                     const uint16_t *above,
699
8.14k
                                     const uint16_t *left, int bd) {
700
8.14k
  highbd_dc_predictor_rect(dst, stride, 64, 16, above, left, bd, 4,
701
8.14k
                           HIGHBD_DC_MULTIPLIER_1X4);
702
8.14k
}
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
5.04k
                                     const uint16_t *left, int bd) {
708
5.04k
  highbd_dc_predictor_rect(dst, stride, 32, 64, above, left, bd, 5,
709
5.04k
                           HIGHBD_DC_MULTIPLIER_1X2);
710
5.04k
}
711
712
void aom_highbd_dc_predictor_64x32_c(uint16_t *dst, ptrdiff_t stride,
713
                                     const uint16_t *above,
714
5.03k
                                     const uint16_t *left, int bd) {
715
5.03k
  highbd_dc_predictor_rect(dst, stride, 64, 32, above, left, bd, 5,
716
5.03k
                           HIGHBD_DC_MULTIPLIER_1X2);
717
5.03k
}
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
21.5M
      const uint8_t *left) {                                   \
730
21.5M
    type##_predictor(dst, stride, width, height, above, left); \
731
21.5M
  }
aom_v_predictor_4x4_c
Line
Count
Source
729
217k
      const uint8_t *left) {                                   \
730
217k
    type##_predictor(dst, stride, width, height, above, left); \
731
217k
  }
aom_v_predictor_8x8_c
Line
Count
Source
729
174k
      const uint8_t *left) {                                   \
730
174k
    type##_predictor(dst, stride, width, height, above, left); \
731
174k
  }
aom_v_predictor_16x16_c
Line
Count
Source
729
91.5k
      const uint8_t *left) {                                   \
730
91.5k
    type##_predictor(dst, stride, width, height, above, left); \
731
91.5k
  }
aom_v_predictor_32x32_c
Line
Count
Source
729
88.4k
      const uint8_t *left) {                                   \
730
88.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
88.4k
  }
aom_v_predictor_64x64_c
Line
Count
Source
729
6.24k
      const uint8_t *left) {                                   \
730
6.24k
    type##_predictor(dst, stride, width, height, above, left); \
731
6.24k
  }
aom_v_predictor_4x8_c
Line
Count
Source
729
65.6k
      const uint8_t *left) {                                   \
730
65.6k
    type##_predictor(dst, stride, width, height, above, left); \
731
65.6k
  }
aom_v_predictor_8x4_c
Line
Count
Source
729
90.8k
      const uint8_t *left) {                                   \
730
90.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
90.8k
  }
aom_v_predictor_8x16_c
Line
Count
Source
729
34.4k
      const uint8_t *left) {                                   \
730
34.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
34.4k
  }
aom_v_predictor_16x8_c
Line
Count
Source
729
49.1k
      const uint8_t *left) {                                   \
730
49.1k
    type##_predictor(dst, stride, width, height, above, left); \
731
49.1k
  }
aom_v_predictor_16x32_c
Line
Count
Source
729
15.4k
      const uint8_t *left) {                                   \
730
15.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
15.4k
  }
aom_v_predictor_32x16_c
Line
Count
Source
729
14.0k
      const uint8_t *left) {                                   \
730
14.0k
    type##_predictor(dst, stride, width, height, above, left); \
731
14.0k
  }
aom_v_predictor_32x64_c
Line
Count
Source
729
987
      const uint8_t *left) {                                   \
730
987
    type##_predictor(dst, stride, width, height, above, left); \
731
987
  }
aom_v_predictor_64x32_c
Line
Count
Source
729
753
      const uint8_t *left) {                                   \
730
753
    type##_predictor(dst, stride, width, height, above, left); \
731
753
  }
aom_v_predictor_4x16_c
Line
Count
Source
729
24.9k
      const uint8_t *left) {                                   \
730
24.9k
    type##_predictor(dst, stride, width, height, above, left); \
731
24.9k
  }
aom_v_predictor_16x4_c
Line
Count
Source
729
39.2k
      const uint8_t *left) {                                   \
730
39.2k
    type##_predictor(dst, stride, width, height, above, left); \
731
39.2k
  }
aom_v_predictor_8x32_c
Line
Count
Source
729
13.6k
      const uint8_t *left) {                                   \
730
13.6k
    type##_predictor(dst, stride, width, height, above, left); \
731
13.6k
  }
aom_v_predictor_32x8_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_v_predictor_16x64_c
Line
Count
Source
729
1.91k
      const uint8_t *left) {                                   \
730
1.91k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.91k
  }
aom_v_predictor_64x16_c
Line
Count
Source
729
968
      const uint8_t *left) {                                   \
730
968
    type##_predictor(dst, stride, width, height, above, left); \
731
968
  }
aom_h_predictor_4x4_c
Line
Count
Source
729
349k
      const uint8_t *left) {                                   \
730
349k
    type##_predictor(dst, stride, width, height, above, left); \
731
349k
  }
aom_h_predictor_8x8_c
Line
Count
Source
729
249k
      const uint8_t *left) {                                   \
730
249k
    type##_predictor(dst, stride, width, height, above, left); \
731
249k
  }
aom_h_predictor_16x16_c
Line
Count
Source
729
128k
      const uint8_t *left) {                                   \
730
128k
    type##_predictor(dst, stride, width, height, above, left); \
731
128k
  }
aom_h_predictor_32x32_c
Line
Count
Source
729
89.7k
      const uint8_t *left) {                                   \
730
89.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
89.7k
  }
aom_h_predictor_64x64_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_h_predictor_4x8_c
Line
Count
Source
729
97.8k
      const uint8_t *left) {                                   \
730
97.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
97.8k
  }
aom_h_predictor_8x4_c
Line
Count
Source
729
138k
      const uint8_t *left) {                                   \
730
138k
    type##_predictor(dst, stride, width, height, above, left); \
731
138k
  }
aom_h_predictor_8x16_c
Line
Count
Source
729
42.9k
      const uint8_t *left) {                                   \
730
42.9k
    type##_predictor(dst, stride, width, height, above, left); \
731
42.9k
  }
aom_h_predictor_16x8_c
Line
Count
Source
729
62.1k
      const uint8_t *left) {                                   \
730
62.1k
    type##_predictor(dst, stride, width, height, above, left); \
731
62.1k
  }
aom_h_predictor_16x32_c
Line
Count
Source
729
17.6k
      const uint8_t *left) {                                   \
730
17.6k
    type##_predictor(dst, stride, width, height, above, left); \
731
17.6k
  }
aom_h_predictor_32x16_c
Line
Count
Source
729
19.9k
      const uint8_t *left) {                                   \
730
19.9k
    type##_predictor(dst, stride, width, height, above, left); \
731
19.9k
  }
aom_h_predictor_32x64_c
Line
Count
Source
729
862
      const uint8_t *left) {                                   \
730
862
    type##_predictor(dst, stride, width, height, above, left); \
731
862
  }
aom_h_predictor_64x32_c
Line
Count
Source
729
1.01k
      const uint8_t *left) {                                   \
730
1.01k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.01k
  }
aom_h_predictor_4x16_c
Line
Count
Source
729
32.2k
      const uint8_t *left) {                                   \
730
32.2k
    type##_predictor(dst, stride, width, height, above, left); \
731
32.2k
  }
aom_h_predictor_16x4_c
Line
Count
Source
729
49.2k
      const uint8_t *left) {                                   \
730
49.2k
    type##_predictor(dst, stride, width, height, above, left); \
731
49.2k
  }
aom_h_predictor_8x32_c
Line
Count
Source
729
18.7k
      const uint8_t *left) {                                   \
730
18.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
18.7k
  }
aom_h_predictor_32x8_c
Line
Count
Source
729
21.5k
      const uint8_t *left) {                                   \
730
21.5k
    type##_predictor(dst, stride, width, height, above, left); \
731
21.5k
  }
aom_h_predictor_16x64_c
Line
Count
Source
729
2.28k
      const uint8_t *left) {                                   \
730
2.28k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.28k
  }
aom_h_predictor_64x16_c
Line
Count
Source
729
1.39k
      const uint8_t *left) {                                   \
730
1.39k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.39k
  }
aom_smooth_predictor_4x4_c
Line
Count
Source
729
592k
      const uint8_t *left) {                                   \
730
592k
    type##_predictor(dst, stride, width, height, above, left); \
731
592k
  }
aom_smooth_predictor_8x8_c
Line
Count
Source
729
585k
      const uint8_t *left) {                                   \
730
585k
    type##_predictor(dst, stride, width, height, above, left); \
731
585k
  }
aom_smooth_predictor_16x16_c
Line
Count
Source
729
334k
      const uint8_t *left) {                                   \
730
334k
    type##_predictor(dst, stride, width, height, above, left); \
731
334k
  }
aom_smooth_predictor_32x32_c
Line
Count
Source
729
190k
      const uint8_t *left) {                                   \
730
190k
    type##_predictor(dst, stride, width, height, above, left); \
731
190k
  }
aom_smooth_predictor_64x64_c
Line
Count
Source
729
26.3k
      const uint8_t *left) {                                   \
730
26.3k
    type##_predictor(dst, stride, width, height, above, left); \
731
26.3k
  }
aom_smooth_predictor_4x8_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_8x4_c
Line
Count
Source
729
196k
      const uint8_t *left) {                                   \
730
196k
    type##_predictor(dst, stride, width, height, above, left); \
731
196k
  }
aom_smooth_predictor_8x16_c
Line
Count
Source
729
120k
      const uint8_t *left) {                                   \
730
120k
    type##_predictor(dst, stride, width, height, above, left); \
731
120k
  }
aom_smooth_predictor_16x8_c
Line
Count
Source
729
166k
      const uint8_t *left) {                                   \
730
166k
    type##_predictor(dst, stride, width, height, above, left); \
731
166k
  }
aom_smooth_predictor_16x32_c
Line
Count
Source
729
46.4k
      const uint8_t *left) {                                   \
730
46.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
46.4k
  }
aom_smooth_predictor_32x16_c
Line
Count
Source
729
47.1k
      const uint8_t *left) {                                   \
730
47.1k
    type##_predictor(dst, stride, width, height, above, left); \
731
47.1k
  }
aom_smooth_predictor_32x64_c
Line
Count
Source
729
4.21k
      const uint8_t *left) {                                   \
730
4.21k
    type##_predictor(dst, stride, width, height, above, left); \
731
4.21k
  }
aom_smooth_predictor_64x32_c
Line
Count
Source
729
3.19k
      const uint8_t *left) {                                   \
730
3.19k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.19k
  }
aom_smooth_predictor_4x16_c
Line
Count
Source
729
83.5k
      const uint8_t *left) {                                   \
730
83.5k
    type##_predictor(dst, stride, width, height, above, left); \
731
83.5k
  }
aom_smooth_predictor_16x4_c
Line
Count
Source
729
136k
      const uint8_t *left) {                                   \
730
136k
    type##_predictor(dst, stride, width, height, above, left); \
731
136k
  }
aom_smooth_predictor_8x32_c
Line
Count
Source
729
46.4k
      const uint8_t *left) {                                   \
730
46.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
46.4k
  }
aom_smooth_predictor_32x8_c
Line
Count
Source
729
58.9k
      const uint8_t *left) {                                   \
730
58.9k
    type##_predictor(dst, stride, width, height, above, left); \
731
58.9k
  }
aom_smooth_predictor_16x64_c
Line
Count
Source
729
5.72k
      const uint8_t *left) {                                   \
730
5.72k
    type##_predictor(dst, stride, width, height, above, left); \
731
5.72k
  }
aom_smooth_predictor_64x16_c
Line
Count
Source
729
3.73k
      const uint8_t *left) {                                   \
730
3.73k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.73k
  }
aom_smooth_v_predictor_4x4_c
Line
Count
Source
729
165k
      const uint8_t *left) {                                   \
730
165k
    type##_predictor(dst, stride, width, height, above, left); \
731
165k
  }
aom_smooth_v_predictor_8x8_c
Line
Count
Source
729
176k
      const uint8_t *left) {                                   \
730
176k
    type##_predictor(dst, stride, width, height, above, left); \
731
176k
  }
aom_smooth_v_predictor_16x16_c
Line
Count
Source
729
80.3k
      const uint8_t *left) {                                   \
730
80.3k
    type##_predictor(dst, stride, width, height, above, left); \
731
80.3k
  }
aom_smooth_v_predictor_32x32_c
Line
Count
Source
729
97.1k
      const uint8_t *left) {                                   \
730
97.1k
    type##_predictor(dst, stride, width, height, above, left); \
731
97.1k
  }
aom_smooth_v_predictor_64x64_c
Line
Count
Source
729
10.3k
      const uint8_t *left) {                                   \
730
10.3k
    type##_predictor(dst, stride, width, height, above, left); \
731
10.3k
  }
aom_smooth_v_predictor_4x8_c
Line
Count
Source
729
41.1k
      const uint8_t *left) {                                   \
730
41.1k
    type##_predictor(dst, stride, width, height, above, left); \
731
41.1k
  }
aom_smooth_v_predictor_8x4_c
Line
Count
Source
729
63.6k
      const uint8_t *left) {                                   \
730
63.6k
    type##_predictor(dst, stride, width, height, above, left); \
731
63.6k
  }
aom_smooth_v_predictor_8x16_c
Line
Count
Source
729
40.1k
      const uint8_t *left) {                                   \
730
40.1k
    type##_predictor(dst, stride, width, height, above, left); \
731
40.1k
  }
aom_smooth_v_predictor_16x8_c
Line
Count
Source
729
56.8k
      const uint8_t *left) {                                   \
730
56.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
56.8k
  }
aom_smooth_v_predictor_16x32_c
Line
Count
Source
729
16.6k
      const uint8_t *left) {                                   \
730
16.6k
    type##_predictor(dst, stride, width, height, above, left); \
731
16.6k
  }
aom_smooth_v_predictor_32x16_c
Line
Count
Source
729
20.0k
      const uint8_t *left) {                                   \
730
20.0k
    type##_predictor(dst, stride, width, height, above, left); \
731
20.0k
  }
aom_smooth_v_predictor_32x64_c
Line
Count
Source
729
1.24k
      const uint8_t *left) {                                   \
730
1.24k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.24k
  }
aom_smooth_v_predictor_64x32_c
Line
Count
Source
729
1.31k
      const uint8_t *left) {                                   \
730
1.31k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.31k
  }
aom_smooth_v_predictor_4x16_c
Line
Count
Source
729
28.8k
      const uint8_t *left) {                                   \
730
28.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
28.8k
  }
aom_smooth_v_predictor_16x4_c
Line
Count
Source
729
45.8k
      const uint8_t *left) {                                   \
730
45.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
45.8k
  }
aom_smooth_v_predictor_8x32_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_smooth_v_predictor_32x8_c
Line
Count
Source
729
22.4k
      const uint8_t *left) {                                   \
730
22.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
22.4k
  }
aom_smooth_v_predictor_16x64_c
Line
Count
Source
729
1.90k
      const uint8_t *left) {                                   \
730
1.90k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.90k
  }
aom_smooth_v_predictor_64x16_c
Line
Count
Source
729
1.69k
      const uint8_t *left) {                                   \
730
1.69k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.69k
  }
aom_smooth_h_predictor_4x4_c
Line
Count
Source
729
286k
      const uint8_t *left) {                                   \
730
286k
    type##_predictor(dst, stride, width, height, above, left); \
731
286k
  }
aom_smooth_h_predictor_8x8_c
Line
Count
Source
729
255k
      const uint8_t *left) {                                   \
730
255k
    type##_predictor(dst, stride, width, height, above, left); \
731
255k
  }
aom_smooth_h_predictor_16x16_c
Line
Count
Source
729
176k
      const uint8_t *left) {                                   \
730
176k
    type##_predictor(dst, stride, width, height, above, left); \
731
176k
  }
aom_smooth_h_predictor_32x32_c
Line
Count
Source
729
99.4k
      const uint8_t *left) {                                   \
730
99.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
99.4k
  }
aom_smooth_h_predictor_64x64_c
Line
Count
Source
729
9.40k
      const uint8_t *left) {                                   \
730
9.40k
    type##_predictor(dst, stride, width, height, above, left); \
731
9.40k
  }
aom_smooth_h_predictor_4x8_c
Line
Count
Source
729
61.6k
      const uint8_t *left) {                                   \
730
61.6k
    type##_predictor(dst, stride, width, height, above, left); \
731
61.6k
  }
aom_smooth_h_predictor_8x4_c
Line
Count
Source
729
89.6k
      const uint8_t *left) {                                   \
730
89.6k
    type##_predictor(dst, stride, width, height, above, left); \
731
89.6k
  }
aom_smooth_h_predictor_8x16_c
Line
Count
Source
729
57.5k
      const uint8_t *left) {                                   \
730
57.5k
    type##_predictor(dst, stride, width, height, above, left); \
731
57.5k
  }
aom_smooth_h_predictor_16x8_c
Line
Count
Source
729
75.0k
      const uint8_t *left) {                                   \
730
75.0k
    type##_predictor(dst, stride, width, height, above, left); \
731
75.0k
  }
aom_smooth_h_predictor_16x32_c
Line
Count
Source
729
21.6k
      const uint8_t *left) {                                   \
730
21.6k
    type##_predictor(dst, stride, width, height, above, left); \
731
21.6k
  }
aom_smooth_h_predictor_32x16_c
Line
Count
Source
729
23.5k
      const uint8_t *left) {                                   \
730
23.5k
    type##_predictor(dst, stride, width, height, above, left); \
731
23.5k
  }
aom_smooth_h_predictor_32x64_c
Line
Count
Source
729
1.35k
      const uint8_t *left) {                                   \
730
1.35k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.35k
  }
aom_smooth_h_predictor_64x32_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_smooth_h_predictor_4x16_c
Line
Count
Source
729
38.1k
      const uint8_t *left) {                                   \
730
38.1k
    type##_predictor(dst, stride, width, height, above, left); \
731
38.1k
  }
aom_smooth_h_predictor_16x4_c
Line
Count
Source
729
62.1k
      const uint8_t *left) {                                   \
730
62.1k
    type##_predictor(dst, stride, width, height, above, left); \
731
62.1k
  }
aom_smooth_h_predictor_8x32_c
Line
Count
Source
729
22.6k
      const uint8_t *left) {                                   \
730
22.6k
    type##_predictor(dst, stride, width, height, above, left); \
731
22.6k
  }
aom_smooth_h_predictor_32x8_c
Line
Count
Source
729
28.5k
      const uint8_t *left) {                                   \
730
28.5k
    type##_predictor(dst, stride, width, height, above, left); \
731
28.5k
  }
aom_smooth_h_predictor_16x64_c
Line
Count
Source
729
2.24k
      const uint8_t *left) {                                   \
730
2.24k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.24k
  }
aom_smooth_h_predictor_64x16_c
Line
Count
Source
729
1.09k
      const uint8_t *left) {                                   \
730
1.09k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.09k
  }
aom_paeth_predictor_4x4_c
Line
Count
Source
729
1.01M
      const uint8_t *left) {                                   \
730
1.01M
    type##_predictor(dst, stride, width, height, above, left); \
731
1.01M
  }
aom_paeth_predictor_8x8_c
Line
Count
Source
729
1.02M
      const uint8_t *left) {                                   \
730
1.02M
    type##_predictor(dst, stride, width, height, above, left); \
731
1.02M
  }
aom_paeth_predictor_16x16_c
Line
Count
Source
729
756k
      const uint8_t *left) {                                   \
730
756k
    type##_predictor(dst, stride, width, height, above, left); \
731
756k
  }
aom_paeth_predictor_32x32_c
Line
Count
Source
729
332k
      const uint8_t *left) {                                   \
730
332k
    type##_predictor(dst, stride, width, height, above, left); \
731
332k
  }
aom_paeth_predictor_64x64_c
Line
Count
Source
729
30.6k
      const uint8_t *left) {                                   \
730
30.6k
    type##_predictor(dst, stride, width, height, above, left); \
731
30.6k
  }
aom_paeth_predictor_4x8_c
Line
Count
Source
729
194k
      const uint8_t *left) {                                   \
730
194k
    type##_predictor(dst, stride, width, height, above, left); \
731
194k
  }
aom_paeth_predictor_8x4_c
Line
Count
Source
729
275k
      const uint8_t *left) {                                   \
730
275k
    type##_predictor(dst, stride, width, height, above, left); \
731
275k
  }
aom_paeth_predictor_8x16_c
Line
Count
Source
729
149k
      const uint8_t *left) {                                   \
730
149k
    type##_predictor(dst, stride, width, height, above, left); \
731
149k
  }
aom_paeth_predictor_16x8_c
Line
Count
Source
729
204k
      const uint8_t *left) {                                   \
730
204k
    type##_predictor(dst, stride, width, height, above, left); \
731
204k
  }
aom_paeth_predictor_16x32_c
Line
Count
Source
729
152k
      const uint8_t *left) {                                   \
730
152k
    type##_predictor(dst, stride, width, height, above, left); \
731
152k
  }
aom_paeth_predictor_32x16_c
Line
Count
Source
729
55.7k
      const uint8_t *left) {                                   \
730
55.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
55.7k
  }
aom_paeth_predictor_32x64_c
Line
Count
Source
729
19.3k
      const uint8_t *left) {                                   \
730
19.3k
    type##_predictor(dst, stride, width, height, above, left); \
731
19.3k
  }
aom_paeth_predictor_64x32_c
Line
Count
Source
729
2.12k
      const uint8_t *left) {                                   \
730
2.12k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.12k
  }
aom_paeth_predictor_4x16_c
Line
Count
Source
729
200k
      const uint8_t *left) {                                   \
730
200k
    type##_predictor(dst, stride, width, height, above, left); \
731
200k
  }
aom_paeth_predictor_16x4_c
Line
Count
Source
729
164k
      const uint8_t *left) {                                   \
730
164k
    type##_predictor(dst, stride, width, height, above, left); \
731
164k
  }
aom_paeth_predictor_8x32_c
Line
Count
Source
729
305k
      const uint8_t *left) {                                   \
730
305k
    type##_predictor(dst, stride, width, height, above, left); \
731
305k
  }
aom_paeth_predictor_32x8_c
Line
Count
Source
729
63.1k
      const uint8_t *left) {                                   \
730
63.1k
    type##_predictor(dst, stride, width, height, above, left); \
731
63.1k
  }
aom_paeth_predictor_16x64_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_paeth_predictor_64x16_c
Line
Count
Source
729
3.06k
      const uint8_t *left) {                                   \
730
3.06k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.06k
  }
aom_dc_128_predictor_4x4_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_dc_128_predictor_8x8_c
Line
Count
Source
729
3.57k
      const uint8_t *left) {                                   \
730
3.57k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.57k
  }
aom_dc_128_predictor_16x16_c
Line
Count
Source
729
402
      const uint8_t *left) {                                   \
730
402
    type##_predictor(dst, stride, width, height, above, left); \
731
402
  }
aom_dc_128_predictor_32x32_c
Line
Count
Source
729
12.4k
      const uint8_t *left) {                                   \
730
12.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
12.4k
  }
aom_dc_128_predictor_64x64_c
Line
Count
Source
729
4.56k
      const uint8_t *left) {                                   \
730
4.56k
    type##_predictor(dst, stride, width, height, above, left); \
731
4.56k
  }
aom_dc_128_predictor_4x8_c
Line
Count
Source
729
595
      const uint8_t *left) {                                   \
730
595
    type##_predictor(dst, stride, width, height, above, left); \
731
595
  }
aom_dc_128_predictor_8x4_c
Line
Count
Source
729
188
      const uint8_t *left) {                                   \
730
188
    type##_predictor(dst, stride, width, height, above, left); \
731
188
  }
aom_dc_128_predictor_8x16_c
Line
Count
Source
729
417
      const uint8_t *left) {                                   \
730
417
    type##_predictor(dst, stride, width, height, above, left); \
731
417
  }
aom_dc_128_predictor_16x8_c
Line
Count
Source
729
2.43k
      const uint8_t *left) {                                   \
730
2.43k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.43k
  }
aom_dc_128_predictor_16x32_c
Line
Count
Source
729
1.76k
      const uint8_t *left) {                                   \
730
1.76k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.76k
  }
aom_dc_128_predictor_32x16_c
Line
Count
Source
729
1.63k
      const uint8_t *left) {                                   \
730
1.63k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.63k
  }
aom_dc_128_predictor_32x64_c
Line
Count
Source
729
278
      const uint8_t *left) {                                   \
730
278
    type##_predictor(dst, stride, width, height, above, left); \
731
278
  }
aom_dc_128_predictor_64x32_c
Line
Count
Source
729
250
      const uint8_t *left) {                                   \
730
250
    type##_predictor(dst, stride, width, height, above, left); \
731
250
  }
aom_dc_128_predictor_4x16_c
Line
Count
Source
729
391
      const uint8_t *left) {                                   \
730
391
    type##_predictor(dst, stride, width, height, above, left); \
731
391
  }
aom_dc_128_predictor_16x4_c
Line
Count
Source
729
41
      const uint8_t *left) {                                   \
730
41
    type##_predictor(dst, stride, width, height, above, left); \
731
41
  }
aom_dc_128_predictor_8x32_c
Line
Count
Source
729
808
      const uint8_t *left) {                                   \
730
808
    type##_predictor(dst, stride, width, height, above, left); \
731
808
  }
aom_dc_128_predictor_32x8_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_16x64_c
Line
Count
Source
729
71
      const uint8_t *left) {                                   \
730
71
    type##_predictor(dst, stride, width, height, above, left); \
731
71
  }
aom_dc_128_predictor_64x16_c
Line
Count
Source
729
14
      const uint8_t *left) {                                   \
730
14
    type##_predictor(dst, stride, width, height, above, left); \
731
14
  }
aom_dc_left_predictor_4x4_c
Line
Count
Source
729
180k
      const uint8_t *left) {                                   \
730
180k
    type##_predictor(dst, stride, width, height, above, left); \
731
180k
  }
aom_dc_left_predictor_8x8_c
Line
Count
Source
729
15.9k
      const uint8_t *left) {                                   \
730
15.9k
    type##_predictor(dst, stride, width, height, above, left); \
731
15.9k
  }
aom_dc_left_predictor_16x16_c
Line
Count
Source
729
21.2k
      const uint8_t *left) {                                   \
730
21.2k
    type##_predictor(dst, stride, width, height, above, left); \
731
21.2k
  }
aom_dc_left_predictor_32x32_c
Line
Count
Source
729
81.2k
      const uint8_t *left) {                                   \
730
81.2k
    type##_predictor(dst, stride, width, height, above, left); \
731
81.2k
  }
aom_dc_left_predictor_64x64_c
Line
Count
Source
729
15.7k
      const uint8_t *left) {                                   \
730
15.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
15.7k
  }
aom_dc_left_predictor_4x8_c
Line
Count
Source
729
4.76k
      const uint8_t *left) {                                   \
730
4.76k
    type##_predictor(dst, stride, width, height, above, left); \
731
4.76k
  }
aom_dc_left_predictor_8x4_c
Line
Count
Source
729
12.2k
      const uint8_t *left) {                                   \
730
12.2k
    type##_predictor(dst, stride, width, height, above, left); \
731
12.2k
  }
aom_dc_left_predictor_8x16_c
Line
Count
Source
729
4.66k
      const uint8_t *left) {                                   \
730
4.66k
    type##_predictor(dst, stride, width, height, above, left); \
731
4.66k
  }
aom_dc_left_predictor_16x8_c
Line
Count
Source
729
11.9k
      const uint8_t *left) {                                   \
730
11.9k
    type##_predictor(dst, stride, width, height, above, left); \
731
11.9k
  }
aom_dc_left_predictor_16x32_c
Line
Count
Source
729
6.82k
      const uint8_t *left) {                                   \
730
6.82k
    type##_predictor(dst, stride, width, height, above, left); \
731
6.82k
  }
aom_dc_left_predictor_32x16_c
Line
Count
Source
729
9.82k
      const uint8_t *left) {                                   \
730
9.82k
    type##_predictor(dst, stride, width, height, above, left); \
731
9.82k
  }
aom_dc_left_predictor_32x64_c
Line
Count
Source
729
1.08k
      const uint8_t *left) {                                   \
730
1.08k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.08k
  }
aom_dc_left_predictor_64x32_c
Line
Count
Source
729
2.60k
      const uint8_t *left) {                                   \
730
2.60k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.60k
  }
aom_dc_left_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_dc_left_predictor_16x4_c
Line
Count
Source
729
2.08k
      const uint8_t *left) {                                   \
730
2.08k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.08k
  }
aom_dc_left_predictor_8x32_c
Line
Count
Source
729
6.30k
      const uint8_t *left) {                                   \
730
6.30k
    type##_predictor(dst, stride, width, height, above, left); \
731
6.30k
  }
aom_dc_left_predictor_32x8_c
Line
Count
Source
729
2.23k
      const uint8_t *left) {                                   \
730
2.23k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.23k
  }
aom_dc_left_predictor_16x64_c
Line
Count
Source
729
1.40k
      const uint8_t *left) {                                   \
730
1.40k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.40k
  }
aom_dc_left_predictor_64x16_c
Line
Count
Source
729
435
      const uint8_t *left) {                                   \
730
435
    type##_predictor(dst, stride, width, height, above, left); \
731
435
  }
aom_dc_top_predictor_4x4_c
Line
Count
Source
729
193k
      const uint8_t *left) {                                   \
730
193k
    type##_predictor(dst, stride, width, height, above, left); \
731
193k
  }
aom_dc_top_predictor_8x8_c
Line
Count
Source
729
71.5k
      const uint8_t *left) {                                   \
730
71.5k
    type##_predictor(dst, stride, width, height, above, left); \
731
71.5k
  }
aom_dc_top_predictor_16x16_c
Line
Count
Source
729
94.4k
      const uint8_t *left) {                                   \
730
94.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
94.4k
  }
aom_dc_top_predictor_32x32_c
Line
Count
Source
729
298k
      const uint8_t *left) {                                   \
730
298k
    type##_predictor(dst, stride, width, height, above, left); \
731
298k
  }
aom_dc_top_predictor_64x64_c
Line
Count
Source
729
31.8k
      const uint8_t *left) {                                   \
730
31.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
31.8k
  }
aom_dc_top_predictor_4x8_c
Line
Count
Source
729
63.0k
      const uint8_t *left) {                                   \
730
63.0k
    type##_predictor(dst, stride, width, height, above, left); \
731
63.0k
  }
aom_dc_top_predictor_8x4_c
Line
Count
Source
729
33.4k
      const uint8_t *left) {                                   \
730
33.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
33.4k
  }
aom_dc_top_predictor_8x16_c
Line
Count
Source
729
61.4k
      const uint8_t *left) {                                   \
730
61.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
61.4k
  }
aom_dc_top_predictor_16x8_c
Line
Count
Source
729
26.3k
      const uint8_t *left) {                                   \
730
26.3k
    type##_predictor(dst, stride, width, height, above, left); \
731
26.3k
  }
aom_dc_top_predictor_16x32_c
Line
Count
Source
729
69.1k
      const uint8_t *left) {                                   \
730
69.1k
    type##_predictor(dst, stride, width, height, above, left); \
731
69.1k
  }
aom_dc_top_predictor_32x16_c
Line
Count
Source
729
34.2k
      const uint8_t *left) {                                   \
730
34.2k
    type##_predictor(dst, stride, width, height, above, left); \
731
34.2k
  }
aom_dc_top_predictor_32x64_c
Line
Count
Source
729
11.1k
      const uint8_t *left) {                                   \
730
11.1k
    type##_predictor(dst, stride, width, height, above, left); \
731
11.1k
  }
aom_dc_top_predictor_64x32_c
Line
Count
Source
729
5.11k
      const uint8_t *left) {                                   \
730
5.11k
    type##_predictor(dst, stride, width, height, above, left); \
731
5.11k
  }
aom_dc_top_predictor_4x16_c
Line
Count
Source
729
9.82k
      const uint8_t *left) {                                   \
730
9.82k
    type##_predictor(dst, stride, width, height, above, left); \
731
9.82k
  }
aom_dc_top_predictor_16x4_c
Line
Count
Source
729
15.5k
      const uint8_t *left) {                                   \
730
15.5k
    type##_predictor(dst, stride, width, height, above, left); \
731
15.5k
  }
aom_dc_top_predictor_8x32_c
Line
Count
Source
729
30.0k
      const uint8_t *left) {                                   \
730
30.0k
    type##_predictor(dst, stride, width, height, above, left); \
731
30.0k
  }
aom_dc_top_predictor_32x8_c
Line
Count
Source
729
28.5k
      const uint8_t *left) {                                   \
730
28.5k
    type##_predictor(dst, stride, width, height, above, left); \
731
28.5k
  }
aom_dc_top_predictor_16x64_c
Line
Count
Source
729
2.13k
      const uint8_t *left) {                                   \
730
2.13k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.13k
  }
aom_dc_top_predictor_64x16_c
Line
Count
Source
729
4.62k
      const uint8_t *left) {                                   \
730
4.62k
    type##_predictor(dst, stride, width, height, above, left); \
731
4.62k
  }
aom_dc_predictor_4x4_c
Line
Count
Source
729
3.26M
      const uint8_t *left) {                                   \
730
3.26M
    type##_predictor(dst, stride, width, height, above, left); \
731
3.26M
  }
aom_dc_predictor_8x8_c
Line
Count
Source
729
2.09M
      const uint8_t *left) {                                   \
730
2.09M
    type##_predictor(dst, stride, width, height, above, left); \
731
2.09M
  }
aom_dc_predictor_16x16_c
Line
Count
Source
729
1.11M
      const uint8_t *left) {                                   \
730
1.11M
    type##_predictor(dst, stride, width, height, above, left); \
731
1.11M
  }
aom_dc_predictor_32x32_c
Line
Count
Source
729
1.22M
      const uint8_t *left) {                                   \
730
1.22M
    type##_predictor(dst, stride, width, height, above, left); \
731
1.22M
  }
aom_dc_predictor_64x64_c
Line
Count
Source
729
75.9k
      const uint8_t *left) {                                   \
730
75.9k
    type##_predictor(dst, stride, width, height, above, left); \
731
75.9k
  }
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
22.9M
      const uint16_t *left, int bd) {                                       \
738
22.9M
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
22.9M
  }
aom_highbd_v_predictor_4x4_c
Line
Count
Source
737
233k
      const uint16_t *left, int bd) {                                       \
738
233k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
233k
  }
aom_highbd_v_predictor_8x8_c
Line
Count
Source
737
140k
      const uint16_t *left, int bd) {                                       \
738
140k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
140k
  }
aom_highbd_v_predictor_16x16_c
Line
Count
Source
737
73.2k
      const uint16_t *left, int bd) {                                       \
738
73.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
73.2k
  }
aom_highbd_v_predictor_32x32_c
Line
Count
Source
737
73.2k
      const uint16_t *left, int bd) {                                       \
738
73.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
73.2k
  }
aom_highbd_v_predictor_64x64_c
Line
Count
Source
737
7.31k
      const uint16_t *left, int bd) {                                       \
738
7.31k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
7.31k
  }
aom_highbd_v_predictor_4x8_c
Line
Count
Source
737
50.1k
      const uint16_t *left, int bd) {                                       \
738
50.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
50.1k
  }
aom_highbd_v_predictor_8x4_c
Line
Count
Source
737
71.6k
      const uint16_t *left, int bd) {                                       \
738
71.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
71.6k
  }
aom_highbd_v_predictor_8x16_c
Line
Count
Source
737
21.1k
      const uint16_t *left, int bd) {                                       \
738
21.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
21.1k
  }
aom_highbd_v_predictor_16x8_c
Line
Count
Source
737
25.8k
      const uint16_t *left, int bd) {                                       \
738
25.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
25.8k
  }
aom_highbd_v_predictor_16x32_c
Line
Count
Source
737
10.7k
      const uint16_t *left, int bd) {                                       \
738
10.7k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
10.7k
  }
aom_highbd_v_predictor_32x16_c
Line
Count
Source
737
9.08k
      const uint16_t *left, int bd) {                                       \
738
9.08k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
9.08k
  }
aom_highbd_v_predictor_32x64_c
Line
Count
Source
737
1.07k
      const uint16_t *left, int bd) {                                       \
738
1.07k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.07k
  }
aom_highbd_v_predictor_64x32_c
Line
Count
Source
737
618
      const uint16_t *left, int bd) {                                       \
738
618
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
618
  }
aom_highbd_v_predictor_4x16_c
Line
Count
Source
737
16.3k
      const uint16_t *left, int bd) {                                       \
738
16.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
16.3k
  }
aom_highbd_v_predictor_16x4_c
Line
Count
Source
737
28.6k
      const uint16_t *left, int bd) {                                       \
738
28.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
28.6k
  }
aom_highbd_v_predictor_8x32_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_v_predictor_32x8_c
Line
Count
Source
737
10.7k
      const uint16_t *left, int bd) {                                       \
738
10.7k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
10.7k
  }
aom_highbd_v_predictor_16x64_c
Line
Count
Source
737
1.39k
      const uint16_t *left, int bd) {                                       \
738
1.39k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.39k
  }
aom_highbd_v_predictor_64x16_c
Line
Count
Source
737
1.18k
      const uint16_t *left, int bd) {                                       \
738
1.18k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.18k
  }
aom_highbd_h_predictor_4x4_c
Line
Count
Source
737
399k
      const uint16_t *left, int bd) {                                       \
738
399k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
399k
  }
aom_highbd_h_predictor_8x8_c
Line
Count
Source
737
226k
      const uint16_t *left, int bd) {                                       \
738
226k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
226k
  }
aom_highbd_h_predictor_16x16_c
Line
Count
Source
737
123k
      const uint16_t *left, int bd) {                                       \
738
123k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
123k
  }
aom_highbd_h_predictor_32x32_c
Line
Count
Source
737
71.4k
      const uint16_t *left, int bd) {                                       \
738
71.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
71.4k
  }
aom_highbd_h_predictor_64x64_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_4x8_c
Line
Count
Source
737
82.3k
      const uint16_t *left, int bd) {                                       \
738
82.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
82.3k
  }
aom_highbd_h_predictor_8x4_c
Line
Count
Source
737
118k
      const uint16_t *left, int bd) {                                       \
738
118k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
118k
  }
aom_highbd_h_predictor_8x16_c
Line
Count
Source
737
31.0k
      const uint16_t *left, int bd) {                                       \
738
31.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
31.0k
  }
aom_highbd_h_predictor_16x8_c
Line
Count
Source
737
42.3k
      const uint16_t *left, int bd) {                                       \
738
42.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
42.3k
  }
aom_highbd_h_predictor_16x32_c
Line
Count
Source
737
12.0k
      const uint16_t *left, int bd) {                                       \
738
12.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
12.0k
  }
aom_highbd_h_predictor_32x16_c
Line
Count
Source
737
14.7k
      const uint16_t *left, int bd) {                                       \
738
14.7k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
14.7k
  }
aom_highbd_h_predictor_32x64_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_h_predictor_64x32_c
Line
Count
Source
737
1.04k
      const uint16_t *left, int bd) {                                       \
738
1.04k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.04k
  }
aom_highbd_h_predictor_4x16_c
Line
Count
Source
737
23.3k
      const uint16_t *left, int bd) {                                       \
738
23.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
23.3k
  }
aom_highbd_h_predictor_16x4_c
Line
Count
Source
737
42.6k
      const uint16_t *left, int bd) {                                       \
738
42.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
42.6k
  }
aom_highbd_h_predictor_8x32_c
Line
Count
Source
737
15.5k
      const uint16_t *left, int bd) {                                       \
738
15.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
15.5k
  }
aom_highbd_h_predictor_32x8_c
Line
Count
Source
737
16.1k
      const uint16_t *left, int bd) {                                       \
738
16.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
16.1k
  }
aom_highbd_h_predictor_16x64_c
Line
Count
Source
737
2.06k
      const uint16_t *left, int bd) {                                       \
738
2.06k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.06k
  }
aom_highbd_h_predictor_64x16_c
Line
Count
Source
737
1.58k
      const uint16_t *left, int bd) {                                       \
738
1.58k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.58k
  }
aom_highbd_smooth_predictor_4x4_c
Line
Count
Source
737
723k
      const uint16_t *left, int bd) {                                       \
738
723k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
723k
  }
aom_highbd_smooth_predictor_8x8_c
Line
Count
Source
737
503k
      const uint16_t *left, int bd) {                                       \
738
503k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
503k
  }
aom_highbd_smooth_predictor_16x16_c
Line
Count
Source
737
267k
      const uint16_t *left, int bd) {                                       \
738
267k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
267k
  }
aom_highbd_smooth_predictor_32x32_c
Line
Count
Source
737
152k
      const uint16_t *left, int bd) {                                       \
738
152k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
152k
  }
aom_highbd_smooth_predictor_64x64_c
Line
Count
Source
737
25.0k
      const uint16_t *left, int bd) {                                       \
738
25.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
25.0k
  }
aom_highbd_smooth_predictor_4x8_c
Line
Count
Source
737
132k
      const uint16_t *left, int bd) {                                       \
738
132k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
132k
  }
aom_highbd_smooth_predictor_8x4_c
Line
Count
Source
737
193k
      const uint16_t *left, int bd) {                                       \
738
193k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
193k
  }
aom_highbd_smooth_predictor_8x16_c
Line
Count
Source
737
79.2k
      const uint16_t *left, int bd) {                                       \
738
79.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
79.2k
  }
aom_highbd_smooth_predictor_16x8_c
Line
Count
Source
737
99.5k
      const uint16_t *left, int bd) {                                       \
738
99.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
99.5k
  }
aom_highbd_smooth_predictor_16x32_c
Line
Count
Source
737
31.1k
      const uint16_t *left, int bd) {                                       \
738
31.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
31.1k
  }
aom_highbd_smooth_predictor_32x16_c
Line
Count
Source
737
33.5k
      const uint16_t *left, int bd) {                                       \
738
33.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
33.5k
  }
aom_highbd_smooth_predictor_32x64_c
Line
Count
Source
737
5.56k
      const uint16_t *left, int bd) {                                       \
738
5.56k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
5.56k
  }
aom_highbd_smooth_predictor_64x32_c
Line
Count
Source
737
4.51k
      const uint16_t *left, int bd) {                                       \
738
4.51k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.51k
  }
aom_highbd_smooth_predictor_4x16_c
Line
Count
Source
737
57.1k
      const uint16_t *left, int bd) {                                       \
738
57.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
57.1k
  }
aom_highbd_smooth_predictor_16x4_c
Line
Count
Source
737
95.0k
      const uint16_t *left, int bd) {                                       \
738
95.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
95.0k
  }
aom_highbd_smooth_predictor_8x32_c
Line
Count
Source
737
33.4k
      const uint16_t *left, int bd) {                                       \
738
33.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
33.4k
  }
aom_highbd_smooth_predictor_32x8_c
Line
Count
Source
737
35.2k
      const uint16_t *left, int bd) {                                       \
738
35.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
35.2k
  }
aom_highbd_smooth_predictor_16x64_c
Line
Count
Source
737
5.27k
      const uint16_t *left, int bd) {                                       \
738
5.27k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
5.27k
  }
aom_highbd_smooth_predictor_64x16_c
Line
Count
Source
737
3.71k
      const uint16_t *left, int bd) {                                       \
738
3.71k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.71k
  }
aom_highbd_smooth_v_predictor_4x4_c
Line
Count
Source
737
196k
      const uint16_t *left, int bd) {                                       \
738
196k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
196k
  }
aom_highbd_smooth_v_predictor_8x8_c
Line
Count
Source
737
146k
      const uint16_t *left, int bd) {                                       \
738
146k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
146k
  }
aom_highbd_smooth_v_predictor_16x16_c
Line
Count
Source
737
94.1k
      const uint16_t *left, int bd) {                                       \
738
94.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
94.1k
  }
aom_highbd_smooth_v_predictor_32x32_c
Line
Count
Source
737
76.7k
      const uint16_t *left, int bd) {                                       \
738
76.7k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
76.7k
  }
aom_highbd_smooth_v_predictor_64x64_c
Line
Count
Source
737
8.65k
      const uint16_t *left, int bd) {                                       \
738
8.65k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
8.65k
  }
aom_highbd_smooth_v_predictor_4x8_c
Line
Count
Source
737
46.6k
      const uint16_t *left, int bd) {                                       \
738
46.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
46.6k
  }
aom_highbd_smooth_v_predictor_8x4_c
Line
Count
Source
737
64.4k
      const uint16_t *left, int bd) {                                       \
738
64.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
64.4k
  }
aom_highbd_smooth_v_predictor_8x16_c
Line
Count
Source
737
28.2k
      const uint16_t *left, int bd) {                                       \
738
28.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
28.2k
  }
aom_highbd_smooth_v_predictor_16x8_c
Line
Count
Source
737
33.1k
      const uint16_t *left, int bd) {                                       \
738
33.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
33.1k
  }
aom_highbd_smooth_v_predictor_16x32_c
Line
Count
Source
737
11.8k
      const uint16_t *left, int bd) {                                       \
738
11.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
11.8k
  }
aom_highbd_smooth_v_predictor_32x16_c
Line
Count
Source
737
11.6k
      const uint16_t *left, int bd) {                                       \
738
11.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
11.6k
  }
aom_highbd_smooth_v_predictor_32x64_c
Line
Count
Source
737
1.33k
      const uint16_t *left, int bd) {                                       \
738
1.33k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.33k
  }
aom_highbd_smooth_v_predictor_64x32_c
Line
Count
Source
737
1.11k
      const uint16_t *left, int bd) {                                       \
738
1.11k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.11k
  }
aom_highbd_smooth_v_predictor_4x16_c
Line
Count
Source
737
20.4k
      const uint16_t *left, int bd) {                                       \
738
20.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
20.4k
  }
aom_highbd_smooth_v_predictor_16x4_c
Line
Count
Source
737
31.4k
      const uint16_t *left, int bd) {                                       \
738
31.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
31.4k
  }
aom_highbd_smooth_v_predictor_8x32_c
Line
Count
Source
737
11.4k
      const uint16_t *left, int bd) {                                       \
738
11.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
11.4k
  }
aom_highbd_smooth_v_predictor_32x8_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_v_predictor_16x64_c
Line
Count
Source
737
1.62k
      const uint16_t *left, int bd) {                                       \
738
1.62k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.62k
  }
aom_highbd_smooth_v_predictor_64x16_c
Line
Count
Source
737
1.22k
      const uint16_t *left, int bd) {                                       \
738
1.22k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.22k
  }
aom_highbd_smooth_h_predictor_4x4_c
Line
Count
Source
737
333k
      const uint16_t *left, int bd) {                                       \
738
333k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
333k
  }
aom_highbd_smooth_h_predictor_8x8_c
Line
Count
Source
737
201k
      const uint16_t *left, int bd) {                                       \
738
201k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
201k
  }
aom_highbd_smooth_h_predictor_16x16_c
Line
Count
Source
737
114k
      const uint16_t *left, int bd) {                                       \
738
114k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
114k
  }
aom_highbd_smooth_h_predictor_32x32_c
Line
Count
Source
737
76.3k
      const uint16_t *left, int bd) {                                       \
738
76.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
76.3k
  }
aom_highbd_smooth_h_predictor_64x64_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_smooth_h_predictor_4x8_c
Line
Count
Source
737
57.9k
      const uint16_t *left, int bd) {                                       \
738
57.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
57.9k
  }
aom_highbd_smooth_h_predictor_8x4_c
Line
Count
Source
737
82.6k
      const uint16_t *left, int bd) {                                       \
738
82.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
82.6k
  }
aom_highbd_smooth_h_predictor_8x16_c
Line
Count
Source
737
35.5k
      const uint16_t *left, int bd) {                                       \
738
35.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
35.5k
  }
aom_highbd_smooth_h_predictor_16x8_c
Line
Count
Source
737
40.4k
      const uint16_t *left, int bd) {                                       \
738
40.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
40.4k
  }
aom_highbd_smooth_h_predictor_16x32_c
Line
Count
Source
737
13.8k
      const uint16_t *left, int bd) {                                       \
738
13.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
13.8k
  }
aom_highbd_smooth_h_predictor_32x16_c
Line
Count
Source
737
14.3k
      const uint16_t *left, int bd) {                                       \
738
14.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
14.3k
  }
aom_highbd_smooth_h_predictor_32x64_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_smooth_h_predictor_64x32_c
Line
Count
Source
737
1.10k
      const uint16_t *left, int bd) {                                       \
738
1.10k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.10k
  }
aom_highbd_smooth_h_predictor_4x16_c
Line
Count
Source
737
24.2k
      const uint16_t *left, int bd) {                                       \
738
24.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
24.2k
  }
aom_highbd_smooth_h_predictor_16x4_c
Line
Count
Source
737
40.8k
      const uint16_t *left, int bd) {                                       \
738
40.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
40.8k
  }
aom_highbd_smooth_h_predictor_8x32_c
Line
Count
Source
737
14.0k
      const uint16_t *left, int bd) {                                       \
738
14.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
14.0k
  }
aom_highbd_smooth_h_predictor_32x8_c
Line
Count
Source
737
16.1k
      const uint16_t *left, int bd) {                                       \
738
16.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
16.1k
  }
aom_highbd_smooth_h_predictor_16x64_c
Line
Count
Source
737
2.01k
      const uint16_t *left, int bd) {                                       \
738
2.01k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.01k
  }
aom_highbd_smooth_h_predictor_64x16_c
Line
Count
Source
737
1.24k
      const uint16_t *left, int bd) {                                       \
738
1.24k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.24k
  }
aom_highbd_paeth_predictor_4x4_c
Line
Count
Source
737
941k
      const uint16_t *left, int bd) {                                       \
738
941k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
941k
  }
aom_highbd_paeth_predictor_8x8_c
Line
Count
Source
737
1.14M
      const uint16_t *left, int bd) {                                       \
738
1.14M
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.14M
  }
aom_highbd_paeth_predictor_16x16_c
Line
Count
Source
737
2.08M
      const uint16_t *left, int bd) {                                       \
738
2.08M
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.08M
  }
aom_highbd_paeth_predictor_32x32_c
Line
Count
Source
737
488k
      const uint16_t *left, int bd) {                                       \
738
488k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
488k
  }
aom_highbd_paeth_predictor_64x64_c
Line
Count
Source
737
23.5k
      const uint16_t *left, int bd) {                                       \
738
23.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
23.5k
  }
aom_highbd_paeth_predictor_4x8_c
Line
Count
Source
737
205k
      const uint16_t *left, int bd) {                                       \
738
205k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
205k
  }
aom_highbd_paeth_predictor_8x4_c
Line
Count
Source
737
293k
      const uint16_t *left, int bd) {                                       \
738
293k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
293k
  }
aom_highbd_paeth_predictor_8x16_c
Line
Count
Source
737
116k
      const uint16_t *left, int bd) {                                       \
738
116k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
116k
  }
aom_highbd_paeth_predictor_16x8_c
Line
Count
Source
737
137k
      const uint16_t *left, int bd) {                                       \
738
137k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
137k
  }
aom_highbd_paeth_predictor_16x32_c
Line
Count
Source
737
145k
      const uint16_t *left, int bd) {                                       \
738
145k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
145k
  }
aom_highbd_paeth_predictor_32x16_c
Line
Count
Source
737
48.8k
      const uint16_t *left, int bd) {                                       \
738
48.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
48.8k
  }
aom_highbd_paeth_predictor_32x64_c
Line
Count
Source
737
23.2k
      const uint16_t *left, int bd) {                                       \
738
23.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
23.2k
  }
aom_highbd_paeth_predictor_64x32_c
Line
Count
Source
737
3.08k
      const uint16_t *left, int bd) {                                       \
738
3.08k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.08k
  }
aom_highbd_paeth_predictor_4x16_c
Line
Count
Source
737
193k
      const uint16_t *left, int bd) {                                       \
738
193k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
193k
  }
aom_highbd_paeth_predictor_16x4_c
Line
Count
Source
737
125k
      const uint16_t *left, int bd) {                                       \
738
125k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
125k
  }
aom_highbd_paeth_predictor_8x32_c
Line
Count
Source
737
158k
      const uint16_t *left, int bd) {                                       \
738
158k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
158k
  }
aom_highbd_paeth_predictor_32x8_c
Line
Count
Source
737
56.4k
      const uint16_t *left, int bd) {                                       \
738
56.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
56.4k
  }
aom_highbd_paeth_predictor_16x64_c
Line
Count
Source
737
39.1k
      const uint16_t *left, int bd) {                                       \
738
39.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
39.1k
  }
aom_highbd_paeth_predictor_64x16_c
Line
Count
Source
737
3.30k
      const uint16_t *left, int bd) {                                       \
738
3.30k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.30k
  }
aom_highbd_dc_128_predictor_4x4_c
Line
Count
Source
737
13.6k
      const uint16_t *left, int bd) {                                       \
738
13.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
13.6k
  }
aom_highbd_dc_128_predictor_8x8_c
Line
Count
Source
737
5.32k
      const uint16_t *left, int bd) {                                       \
738
5.32k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
5.32k
  }
aom_highbd_dc_128_predictor_16x16_c
Line
Count
Source
737
6.76k
      const uint16_t *left, int bd) {                                       \
738
6.76k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
6.76k
  }
aom_highbd_dc_128_predictor_32x32_c
Line
Count
Source
737
32.9k
      const uint16_t *left, int bd) {                                       \
738
32.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
32.9k
  }
aom_highbd_dc_128_predictor_64x64_c
Line
Count
Source
737
9.64k
      const uint16_t *left, int bd) {                                       \
738
9.64k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
9.64k
  }
aom_highbd_dc_128_predictor_4x8_c
Line
Count
Source
737
626
      const uint16_t *left, int bd) {                                       \
738
626
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
626
  }
aom_highbd_dc_128_predictor_8x4_c
Line
Count
Source
737
81
      const uint16_t *left, int bd) {                                       \
738
81
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
81
  }
aom_highbd_dc_128_predictor_8x16_c
Line
Count
Source
737
131
      const uint16_t *left, int bd) {                                       \
738
131
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
131
  }
aom_highbd_dc_128_predictor_16x8_c
Line
Count
Source
737
146
      const uint16_t *left, int bd) {                                       \
738
146
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
146
  }
aom_highbd_dc_128_predictor_16x32_c
Line
Count
Source
737
2.80k
      const uint16_t *left, int bd) {                                       \
738
2.80k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.80k
  }
aom_highbd_dc_128_predictor_32x16_c
Line
Count
Source
737
3.16k
      const uint16_t *left, int bd) {                                       \
738
3.16k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.16k
  }
aom_highbd_dc_128_predictor_32x64_c
Line
Count
Source
737
1.29k
      const uint16_t *left, int bd) {                                       \
738
1.29k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.29k
  }
aom_highbd_dc_128_predictor_64x32_c
Line
Count
Source
737
278
      const uint16_t *left, int bd) {                                       \
738
278
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
278
  }
aom_highbd_dc_128_predictor_4x16_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_16x4_c
Line
Count
Source
737
132
      const uint16_t *left, int bd) {                                       \
738
132
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
132
  }
aom_highbd_dc_128_predictor_8x32_c
Line
Count
Source
737
1.84k
      const uint16_t *left, int bd) {                                       \
738
1.84k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.84k
  }
aom_highbd_dc_128_predictor_32x8_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_dc_128_predictor_16x64_c
Line
Count
Source
737
39
      const uint16_t *left, int bd) {                                       \
738
39
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
39
  }
aom_highbd_dc_128_predictor_64x16_c
Line
Count
Source
737
18
      const uint16_t *left, int bd) {                                       \
738
18
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
18
  }
aom_highbd_dc_left_predictor_4x4_c
Line
Count
Source
737
186k
      const uint16_t *left, int bd) {                                       \
738
186k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
186k
  }
aom_highbd_dc_left_predictor_8x8_c
Line
Count
Source
737
22.5k
      const uint16_t *left, int bd) {                                       \
738
22.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
22.5k
  }
aom_highbd_dc_left_predictor_16x16_c
Line
Count
Source
737
27.6k
      const uint16_t *left, int bd) {                                       \
738
27.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
27.6k
  }
aom_highbd_dc_left_predictor_32x32_c
Line
Count
Source
737
105k
      const uint16_t *left, int bd) {                                       \
738
105k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
105k
  }
aom_highbd_dc_left_predictor_64x64_c
Line
Count
Source
737
22.4k
      const uint16_t *left, int bd) {                                       \
738
22.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
22.4k
  }
aom_highbd_dc_left_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_dc_left_predictor_8x4_c
Line
Count
Source
737
19.4k
      const uint16_t *left, int bd) {                                       \
738
19.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
19.4k
  }
aom_highbd_dc_left_predictor_8x16_c
Line
Count
Source
737
4.85k
      const uint16_t *left, int bd) {                                       \
738
4.85k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.85k
  }
aom_highbd_dc_left_predictor_16x8_c
Line
Count
Source
737
25.5k
      const uint16_t *left, int bd) {                                       \
738
25.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
25.5k
  }
aom_highbd_dc_left_predictor_16x32_c
Line
Count
Source
737
6.54k
      const uint16_t *left, int bd) {                                       \
738
6.54k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
6.54k
  }
aom_highbd_dc_left_predictor_32x16_c
Line
Count
Source
737
18.6k
      const uint16_t *left, int bd) {                                       \
738
18.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
18.6k
  }
aom_highbd_dc_left_predictor_32x64_c
Line
Count
Source
737
1.38k
      const uint16_t *left, int bd) {                                       \
738
1.38k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.38k
  }
aom_highbd_dc_left_predictor_64x32_c
Line
Count
Source
737
4.43k
      const uint16_t *left, int bd) {                                       \
738
4.43k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.43k
  }
aom_highbd_dc_left_predictor_4x16_c
Line
Count
Source
737
9.32k
      const uint16_t *left, int bd) {                                       \
738
9.32k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
9.32k
  }
aom_highbd_dc_left_predictor_16x4_c
Line
Count
Source
737
3.69k
      const uint16_t *left, int bd) {                                       \
738
3.69k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.69k
  }
aom_highbd_dc_left_predictor_8x32_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_dc_left_predictor_32x8_c
Line
Count
Source
737
2.51k
      const uint16_t *left, int bd) {                                       \
738
2.51k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.51k
  }
aom_highbd_dc_left_predictor_16x64_c
Line
Count
Source
737
1.17k
      const uint16_t *left, int bd) {                                       \
738
1.17k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.17k
  }
aom_highbd_dc_left_predictor_64x16_c
Line
Count
Source
737
513
      const uint16_t *left, int bd) {                                       \
738
513
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
513
  }
aom_highbd_dc_top_predictor_4x4_c
Line
Count
Source
737
170k
      const uint16_t *left, int bd) {                                       \
738
170k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
170k
  }
aom_highbd_dc_top_predictor_8x8_c
Line
Count
Source
737
61.7k
      const uint16_t *left, int bd) {                                       \
738
61.7k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
61.7k
  }
aom_highbd_dc_top_predictor_16x16_c
Line
Count
Source
737
66.3k
      const uint16_t *left, int bd) {                                       \
738
66.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
66.3k
  }
aom_highbd_dc_top_predictor_32x32_c
Line
Count
Source
737
362k
      const uint16_t *left, int bd) {                                       \
738
362k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
362k
  }
aom_highbd_dc_top_predictor_64x64_c
Line
Count
Source
737
30.3k
      const uint16_t *left, int bd) {                                       \
738
30.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
30.3k
  }
aom_highbd_dc_top_predictor_4x8_c
Line
Count
Source
737
77.2k
      const uint16_t *left, int bd) {                                       \
738
77.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
77.2k
  }
aom_highbd_dc_top_predictor_8x4_c
Line
Count
Source
737
31.0k
      const uint16_t *left, int bd) {                                       \
738
31.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
31.0k
  }
aom_highbd_dc_top_predictor_8x16_c
Line
Count
Source
737
70.3k
      const uint16_t *left, int bd) {                                       \
738
70.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
70.3k
  }
aom_highbd_dc_top_predictor_16x8_c
Line
Count
Source
737
26.1k
      const uint16_t *left, int bd) {                                       \
738
26.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
26.1k
  }
aom_highbd_dc_top_predictor_16x32_c
Line
Count
Source
737
69.2k
      const uint16_t *left, int bd) {                                       \
738
69.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
69.2k
  }
aom_highbd_dc_top_predictor_32x16_c
Line
Count
Source
737
31.1k
      const uint16_t *left, int bd) {                                       \
738
31.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
31.1k
  }
aom_highbd_dc_top_predictor_32x64_c
Line
Count
Source
737
22.3k
      const uint16_t *left, int bd) {                                       \
738
22.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
22.3k
  }
aom_highbd_dc_top_predictor_64x32_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_top_predictor_4x16_c
Line
Count
Source
737
8.37k
      const uint16_t *left, int bd) {                                       \
738
8.37k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
8.37k
  }
aom_highbd_dc_top_predictor_16x4_c
Line
Count
Source
737
20.9k
      const uint16_t *left, int bd) {                                       \
738
20.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
20.9k
  }
aom_highbd_dc_top_predictor_8x32_c
Line
Count
Source
737
43.8k
      const uint16_t *left, int bd) {                                       \
738
43.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
43.8k
  }
aom_highbd_dc_top_predictor_32x8_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_dc_top_predictor_16x64_c
Line
Count
Source
737
1.83k
      const uint16_t *left, int bd) {                                       \
738
1.83k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.83k
  }
aom_highbd_dc_top_predictor_64x16_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_predictor_4x4_c
Line
Count
Source
737
5.22M
      const uint16_t *left, int bd) {                                       \
738
5.22M
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
5.22M
  }
aom_highbd_dc_predictor_8x8_c
Line
Count
Source
737
1.25M
      const uint16_t *left, int bd) {                                       \
738
1.25M
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.25M
  }
aom_highbd_dc_predictor_16x16_c
Line
Count
Source
737
967k
      const uint16_t *left, int bd) {                                       \
738
967k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
967k
  }
aom_highbd_dc_predictor_32x32_c
Line
Count
Source
737
1.12M
      const uint16_t *left, int bd) {                                       \
738
1.12M
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.12M
  }
aom_highbd_dc_predictor_64x64_c
Line
Count
Source
737
109k
      const uint16_t *left, int bd) {                                       \
738
109k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
109k
  }
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