Coverage Report

Created: 2026-04-01 07:24

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
433k
                               const uint8_t *above, const uint8_t *left) {
25
433k
  int r;
26
433k
  (void)left;
27
28
3.68M
  for (r = 0; r < bh; r++) {
29
3.24M
    memcpy(dst, above, bw);
30
3.24M
    dst += stride;
31
3.24M
  }
32
433k
}
33
34
static inline void h_predictor(uint8_t *dst, ptrdiff_t stride, int bw, int bh,
35
474k
                               const uint8_t *above, const uint8_t *left) {
36
474k
  int r;
37
474k
  (void)above;
38
39
4.49M
  for (r = 0; r < bh; r++) {
40
4.02M
    memset(dst, left[r], bw);
41
4.02M
    dst += stride;
42
4.02M
  }
43
474k
}
44
45
3.38G
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
1.12G
                                              uint16_t top_left) {
49
1.12G
  const int base = top + left - top_left;
50
1.12G
  const int p_left = abs_diff(base, left);
51
1.12G
  const int p_top = abs_diff(base, top);
52
1.12G
  const int p_top_left = abs_diff(base, top_left);
53
54
  // Return nearest to base of left, top and top_left.
55
1.12G
  return (p_left <= p_top && p_left <= p_top_left) ? left
56
1.12G
         : (p_top <= p_top_left)                   ? top
57
101M
                                                   : top_left;
58
1.12G
}
59
60
static inline void paeth_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
61
                                   int bh, const uint8_t *above,
62
4.59M
                                   const uint8_t *left) {
63
4.59M
  int r, c;
64
4.59M
  const uint8_t ytop_left = above[-1];
65
66
46.0M
  for (r = 0; r < bh; r++) {
67
854M
    for (c = 0; c < bw; c++)
68
813M
      dst[c] = (uint8_t)paeth_predictor_single(left[r], above[c], ytop_left);
69
41.4M
    dst += stride;
70
41.4M
  }
71
4.59M
}
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
2.41M
  assert(weights_w[0] < weights_scale);                               \
77
2.41M
  assert(weights_h[0] < weights_scale);                               \
78
2.41M
  assert(weights_scale - weights_w[bw - 1] < weights_scale);          \
79
2.41M
  assert(weights_scale - weights_h[bh - 1] < weights_scale);          \
80
2.41M
  assert(pred_scale < 31)  // ensures no overflow when calculating predictor.
81
82
583M
#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
702k
                                    const uint8_t *left) {
87
702k
  const uint8_t below_pred = left[bh - 1];   // estimated by bottom-left pixel
88
702k
  const uint8_t right_pred = above[bw - 1];  // estimated by top-right pixel
89
702k
  const uint8_t *const sm_weights_w = smooth_weights + bw - 4;
90
702k
  const uint8_t *const sm_weights_h = smooth_weights + bh - 4;
91
  // scale = 2 * 2^SMOOTH_WEIGHT_LOG2_SCALE
92
702k
  const int log2_scale = 1 + SMOOTH_WEIGHT_LOG2_SCALE;
93
702k
  const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE);
94
702k
  sm_weights_sanity_checks(sm_weights_w, sm_weights_h, scale,
95
702k
                           log2_scale + sizeof(*dst));
96
702k
  int r;
97
8.69M
  for (r = 0; r < bh; ++r) {
98
7.99M
    int c;
99
167M
    for (c = 0; c < bw; ++c) {
100
159M
      const uint8_t pixels[] = { above[c], below_pred, left[r], right_pred };
101
159M
      const uint8_t weights[] = { sm_weights_h[r], scale - sm_weights_h[r],
102
159M
                                  sm_weights_w[c], scale - sm_weights_w[c] };
103
159M
      uint32_t this_pred = 0;
104
159M
      int i;
105
159M
      assert(scale >= sm_weights_h[r] && scale >= sm_weights_w[c]);
106
795M
      for (i = 0; i < 4; ++i) {
107
636M
        this_pred += weights[i] * pixels[i];
108
636M
      }
109
159M
      dst[c] = divide_round(this_pred, log2_scale);
110
159M
    }
111
7.99M
    dst += stride;
112
7.99M
  }
113
702k
}
114
115
static inline void smooth_v_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
116
                                      int bh, const uint8_t *above,
117
228k
                                      const uint8_t *left) {
118
228k
  const uint8_t below_pred = left[bh - 1];  // estimated by bottom-left pixel
119
228k
  const uint8_t *const sm_weights = smooth_weights + bh - 4;
120
  // scale = 2^SMOOTH_WEIGHT_LOG2_SCALE
121
228k
  const int log2_scale = SMOOTH_WEIGHT_LOG2_SCALE;
122
228k
  const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE);
123
228k
  sm_weights_sanity_checks(sm_weights, sm_weights, scale,
124
228k
                           log2_scale + sizeof(*dst));
125
126
228k
  int r;
127
3.00M
  for (r = 0; r < bh; r++) {
128
2.77M
    int c;
129
58.9M
    for (c = 0; c < bw; ++c) {
130
56.1M
      const uint8_t pixels[] = { above[c], below_pred };
131
56.1M
      const uint8_t weights[] = { sm_weights[r], scale - sm_weights[r] };
132
56.1M
      uint32_t this_pred = 0;
133
56.1M
      assert(scale >= sm_weights[r]);
134
56.1M
      int i;
135
168M
      for (i = 0; i < 2; ++i) {
136
112M
        this_pred += weights[i] * pixels[i];
137
112M
      }
138
56.1M
      dst[c] = divide_round(this_pred, log2_scale);
139
56.1M
    }
140
2.77M
    dst += stride;
141
2.77M
  }
142
228k
}
143
144
static inline void smooth_h_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
145
                                      int bh, const uint8_t *above,
146
332k
                                      const uint8_t *left) {
147
332k
  const uint8_t right_pred = above[bw - 1];  // estimated by top-right pixel
148
332k
  const uint8_t *const sm_weights = smooth_weights + bw - 4;
149
  // scale = 2^SMOOTH_WEIGHT_LOG2_SCALE
150
332k
  const int log2_scale = SMOOTH_WEIGHT_LOG2_SCALE;
151
332k
  const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE);
152
332k
  sm_weights_sanity_checks(sm_weights, sm_weights, scale,
153
332k
                           log2_scale + sizeof(*dst));
154
155
332k
  int r;
156
4.15M
  for (r = 0; r < bh; r++) {
157
3.82M
    int c;
158
76.4M
    for (c = 0; c < bw; ++c) {
159
72.6M
      const uint8_t pixels[] = { left[r], right_pred };
160
72.6M
      const uint8_t weights[] = { sm_weights[c], scale - sm_weights[c] };
161
72.6M
      uint32_t this_pred = 0;
162
72.6M
      assert(scale >= sm_weights[c]);
163
72.6M
      int i;
164
217M
      for (i = 0; i < 2; ++i) {
165
145M
        this_pred += weights[i] * pixels[i];
166
145M
      }
167
72.6M
      dst[c] = divide_round(this_pred, log2_scale);
168
72.6M
    }
169
3.82M
    dst += stride;
170
3.82M
  }
171
332k
}
172
173
static inline void dc_128_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
174
                                    int bh, const uint8_t *above,
175
19.5k
                                    const uint8_t *left) {
176
19.5k
  int r;
177
19.5k
  (void)above;
178
19.5k
  (void)left;
179
180
492k
  for (r = 0; r < bh; r++) {
181
473k
    memset(dst, 128, bw);
182
473k
    dst += stride;
183
473k
  }
184
19.5k
}
185
186
static inline void dc_left_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
187
                                     int bh, const uint8_t *above,
188
178k
                                     const uint8_t *left) {
189
178k
  int i, r, expected_dc, sum = 0;
190
178k
  (void)above;
191
192
3.00M
  for (i = 0; i < bh; i++) sum += left[i];
193
178k
  expected_dc = (sum + (bh >> 1)) / bh;
194
195
3.00M
  for (r = 0; r < bh; r++) {
196
2.83M
    memset(dst, expected_dc, bw);
197
2.83M
    dst += stride;
198
2.83M
  }
199
178k
}
200
201
static inline void dc_top_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
202
                                    int bh, const uint8_t *above,
203
353k
                                    const uint8_t *left) {
204
353k
  int i, r, expected_dc, sum = 0;
205
353k
  (void)left;
206
207
5.14M
  for (i = 0; i < bw; i++) sum += above[i];
208
353k
  expected_dc = (sum + (bw >> 1)) / bw;
209
210
5.65M
  for (r = 0; r < bh; r++) {
211
5.30M
    memset(dst, expected_dc, bw);
212
5.30M
    dst += stride;
213
5.30M
  }
214
353k
}
215
216
static inline void dc_predictor(uint8_t *dst, ptrdiff_t stride, int bw, int bh,
217
3.67M
                                const uint8_t *above, const uint8_t *left) {
218
3.67M
  int i, r, expected_dc, sum = 0;
219
3.67M
  const int count = bw + bh;
220
221
35.4M
  for (i = 0; i < bw; i++) {
222
31.7M
    sum += above[i];
223
31.7M
  }
224
35.4M
  for (i = 0; i < bh; i++) {
225
31.7M
    sum += left[i];
226
31.7M
  }
227
228
3.67M
  expected_dc = (sum + (count >> 1)) / count;
229
230
35.4M
  for (r = 0; r < bh; r++) {
231
31.7M
    memset(dst, expected_dc, bw);
232
31.7M
    dst += stride;
233
31.7M
  }
234
3.67M
}
235
236
static inline int divide_using_multiply_shift(int num, int shift1,
237
2.31M
                                              int multiplier, int shift2) {
238
2.31M
  const int interm = num >> shift1;
239
2.31M
  return interm * multiplier >> shift2;
240
2.31M
}
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
731k
#define DC_MULTIPLIER_1X2 0x5556
261
419k
#define DC_MULTIPLIER_1X4 0x3334
262
263
1.15M
#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
1.15M
                                     int multiplier) {
269
1.15M
  int sum = 0;
270
271
14.8M
  for (int i = 0; i < bw; i++) {
272
13.6M
    sum += above[i];
273
13.6M
  }
274
14.6M
  for (int i = 0; i < bh; i++) {
275
13.5M
    sum += left[i];
276
13.5M
  }
277
278
1.15M
  const int expected_dc = divide_using_multiply_shift(
279
1.15M
      sum + ((bw + bh) >> 1), shift1, multiplier, DC_SHIFT2);
280
1.15M
  assert(expected_dc < (1 << 8));
281
282
14.6M
  for (int r = 0; r < bh; r++) {
283
13.5M
    memset(dst, expected_dc, bw);
284
13.5M
    dst += stride;
285
13.5M
  }
286
1.15M
}
287
288
#undef DC_SHIFT2
289
290
void aom_dc_predictor_4x8_c(uint8_t *dst, ptrdiff_t stride,
291
173k
                            const uint8_t *above, const uint8_t *left) {
292
173k
  dc_predictor_rect(dst, stride, 4, 8, above, left, 2, DC_MULTIPLIER_1X2);
293
173k
}
294
295
void aom_dc_predictor_8x4_c(uint8_t *dst, ptrdiff_t stride,
296
188k
                            const uint8_t *above, const uint8_t *left) {
297
188k
  dc_predictor_rect(dst, stride, 8, 4, above, left, 2, DC_MULTIPLIER_1X2);
298
188k
}
299
300
#if !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
301
void aom_dc_predictor_4x16_c(uint8_t *dst, ptrdiff_t stride,
302
117k
                             const uint8_t *above, const uint8_t *left) {
303
117k
  dc_predictor_rect(dst, stride, 4, 16, above, left, 2, DC_MULTIPLIER_1X4);
304
117k
}
305
306
void aom_dc_predictor_16x4_c(uint8_t *dst, ptrdiff_t stride,
307
155k
                             const uint8_t *above, const uint8_t *left) {
308
155k
  dc_predictor_rect(dst, stride, 16, 4, above, left, 2, DC_MULTIPLIER_1X4);
309
155k
}
310
#endif  // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
311
312
void aom_dc_predictor_8x16_c(uint8_t *dst, ptrdiff_t stride,
313
121k
                             const uint8_t *above, const uint8_t *left) {
314
121k
  dc_predictor_rect(dst, stride, 8, 16, above, left, 3, DC_MULTIPLIER_1X2);
315
121k
}
316
317
void aom_dc_predictor_16x8_c(uint8_t *dst, ptrdiff_t stride,
318
155k
                             const uint8_t *above, const uint8_t *left) {
319
155k
  dc_predictor_rect(dst, stride, 16, 8, above, left, 3, DC_MULTIPLIER_1X2);
320
155k
}
321
322
#if !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
323
void aom_dc_predictor_8x32_c(uint8_t *dst, ptrdiff_t stride,
324
84.6k
                             const uint8_t *above, const uint8_t *left) {
325
84.6k
  dc_predictor_rect(dst, stride, 8, 32, above, left, 3, DC_MULTIPLIER_1X4);
326
84.6k
}
327
328
void aom_dc_predictor_32x8_c(uint8_t *dst, ptrdiff_t stride,
329
55.3k
                             const uint8_t *above, const uint8_t *left) {
330
55.3k
  dc_predictor_rect(dst, stride, 32, 8, above, left, 3, DC_MULTIPLIER_1X4);
331
55.3k
}
332
#endif  // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
333
334
void aom_dc_predictor_16x32_c(uint8_t *dst, ptrdiff_t stride,
335
41.4k
                              const uint8_t *above, const uint8_t *left) {
336
41.4k
  dc_predictor_rect(dst, stride, 16, 32, above, left, 4, DC_MULTIPLIER_1X2);
337
41.4k
}
338
339
void aom_dc_predictor_32x16_c(uint8_t *dst, ptrdiff_t stride,
340
46.0k
                              const uint8_t *above, const uint8_t *left) {
341
46.0k
  dc_predictor_rect(dst, stride, 32, 16, above, left, 4, DC_MULTIPLIER_1X2);
342
46.0k
}
343
344
#if !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
345
void aom_dc_predictor_16x64_c(uint8_t *dst, ptrdiff_t stride,
346
4.12k
                              const uint8_t *above, const uint8_t *left) {
347
4.12k
  dc_predictor_rect(dst, stride, 16, 64, above, left, 4, DC_MULTIPLIER_1X4);
348
4.12k
}
349
350
void aom_dc_predictor_64x16_c(uint8_t *dst, ptrdiff_t stride,
351
2.87k
                              const uint8_t *above, const uint8_t *left) {
352
2.87k
  dc_predictor_rect(dst, stride, 64, 16, above, left, 4, DC_MULTIPLIER_1X4);
353
2.87k
}
354
#endif  // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
355
356
void aom_dc_predictor_32x64_c(uint8_t *dst, ptrdiff_t stride,
357
1.58k
                              const uint8_t *above, const uint8_t *left) {
358
1.58k
  dc_predictor_rect(dst, stride, 32, 64, above, left, 5, DC_MULTIPLIER_1X2);
359
1.58k
}
360
361
void aom_dc_predictor_64x32_c(uint8_t *dst, ptrdiff_t stride,
362
2.49k
                              const uint8_t *above, const uint8_t *left) {
363
2.49k
  dc_predictor_rect(dst, stride, 64, 32, above, left, 5, DC_MULTIPLIER_1X2);
364
2.49k
}
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
172k
                                      const uint16_t *left, int bd) {
374
172k
  int r;
375
172k
  (void)left;
376
172k
  (void)bd;
377
2.33M
  for (r = 0; r < bh; r++) {
378
2.16M
    memcpy(dst, above, bw * sizeof(uint16_t));
379
2.16M
    dst += stride;
380
2.16M
  }
381
172k
}
382
383
static inline void highbd_h_predictor(uint16_t *dst, ptrdiff_t stride, int bw,
384
                                      int bh, const uint16_t *above,
385
273k
                                      const uint16_t *left, int bd) {
386
273k
  int r;
387
273k
  (void)above;
388
273k
  (void)bd;
389
3.30M
  for (r = 0; r < bh; r++) {
390
3.03M
    aom_memset16(dst, left[r], bw);
391
3.03M
    dst += stride;
392
3.03M
  }
393
273k
}
394
395
static inline void highbd_paeth_predictor(uint16_t *dst, ptrdiff_t stride,
396
                                          int bw, int bh, const uint16_t *above,
397
851k
                                          const uint16_t *left, int bd) {
398
851k
  int r, c;
399
851k
  const uint16_t ytop_left = above[-1];
400
851k
  (void)bd;
401
402
15.4M
  for (r = 0; r < bh; r++) {
403
329M
    for (c = 0; c < bw; c++)
404
315M
      dst[c] = paeth_predictor_single(left[r], above[c], ytop_left);
405
14.5M
    dst += stride;
406
14.5M
  }
407
851k
}
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
600k
                                           const uint16_t *left, int bd) {
413
600k
  (void)bd;
414
600k
  const uint16_t below_pred = left[bh - 1];   // estimated by bottom-left pixel
415
600k
  const uint16_t right_pred = above[bw - 1];  // estimated by top-right pixel
416
600k
  const uint8_t *const sm_weights_w = smooth_weights + bw - 4;
417
600k
  const uint8_t *const sm_weights_h = smooth_weights + bh - 4;
418
  // scale = 2 * 2^SMOOTH_WEIGHT_LOG2_SCALE
419
600k
  const int log2_scale = 1 + SMOOTH_WEIGHT_LOG2_SCALE;
420
600k
  const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE);
421
600k
  sm_weights_sanity_checks(sm_weights_w, sm_weights_h, scale,
422
600k
                           log2_scale + sizeof(*dst));
423
600k
  int r;
424
7.92M
  for (r = 0; r < bh; ++r) {
425
7.32M
    int c;
426
166M
    for (c = 0; c < bw; ++c) {
427
159M
      const uint16_t pixels[] = { above[c], below_pred, left[r], right_pred };
428
159M
      const uint8_t weights[] = { sm_weights_h[r], scale - sm_weights_h[r],
429
159M
                                  sm_weights_w[c], scale - sm_weights_w[c] };
430
159M
      uint32_t this_pred = 0;
431
159M
      int i;
432
159M
      assert(scale >= sm_weights_h[r] && scale >= sm_weights_w[c]);
433
797M
      for (i = 0; i < 4; ++i) {
434
638M
        this_pred += weights[i] * pixels[i];
435
638M
      }
436
159M
      dst[c] = divide_round(this_pred, log2_scale);
437
159M
    }
438
7.32M
    dst += stride;
439
7.32M
  }
440
600k
}
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
274k
                                             const uint16_t *left, int bd) {
446
274k
  (void)bd;
447
274k
  const uint16_t below_pred = left[bh - 1];  // estimated by bottom-left pixel
448
274k
  const uint8_t *const sm_weights = smooth_weights + bh - 4;
449
  // scale = 2^SMOOTH_WEIGHT_LOG2_SCALE
450
274k
  const int log2_scale = SMOOTH_WEIGHT_LOG2_SCALE;
451
274k
  const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE);
452
274k
  sm_weights_sanity_checks(sm_weights, sm_weights, scale,
453
274k
                           log2_scale + sizeof(*dst));
454
455
274k
  int r;
456
3.67M
  for (r = 0; r < bh; r++) {
457
3.40M
    int c;
458
68.8M
    for (c = 0; c < bw; ++c) {
459
65.4M
      const uint16_t pixels[] = { above[c], below_pred };
460
65.4M
      const uint8_t weights[] = { sm_weights[r], scale - sm_weights[r] };
461
65.4M
      uint32_t this_pred = 0;
462
65.4M
      assert(scale >= sm_weights[r]);
463
65.4M
      int i;
464
196M
      for (i = 0; i < 2; ++i) {
465
130M
        this_pred += weights[i] * pixels[i];
466
130M
      }
467
65.4M
      dst[c] = divide_round(this_pred, log2_scale);
468
65.4M
    }
469
3.40M
    dst += stride;
470
3.40M
  }
471
274k
}
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
274k
                                             const uint16_t *left, int bd) {
477
274k
  (void)bd;
478
274k
  const uint16_t right_pred = above[bw - 1];  // estimated by top-right pixel
479
274k
  const uint8_t *const sm_weights = smooth_weights + bw - 4;
480
  // scale = 2^SMOOTH_WEIGHT_LOG2_SCALE
481
274k
  const int log2_scale = SMOOTH_WEIGHT_LOG2_SCALE;
482
274k
  const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE);
483
274k
  sm_weights_sanity_checks(sm_weights, sm_weights, scale,
484
274k
                           log2_scale + sizeof(*dst));
485
486
274k
  int r;
487
3.77M
  for (r = 0; r < bh; r++) {
488
3.50M
    int c;
489
73.9M
    for (c = 0; c < bw; ++c) {
490
70.3M
      const uint16_t pixels[] = { left[r], right_pred };
491
70.3M
      const uint8_t weights[] = { sm_weights[c], scale - sm_weights[c] };
492
70.3M
      uint32_t this_pred = 0;
493
70.3M
      assert(scale >= sm_weights[c]);
494
70.3M
      int i;
495
211M
      for (i = 0; i < 2; ++i) {
496
140M
        this_pred += weights[i] * pixels[i];
497
140M
      }
498
70.3M
      dst[c] = divide_round(this_pred, log2_scale);
499
70.3M
    }
500
3.50M
    dst += stride;
501
3.50M
  }
502
274k
}
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
33.6k
                                           const uint16_t *left, int bd) {
508
33.6k
  int r;
509
33.6k
  (void)above;
510
33.6k
  (void)left;
511
512
994k
  for (r = 0; r < bh; r++) {
513
960k
    aom_memset16(dst, 128 << (bd - 8), bw);
514
960k
    dst += stride;
515
960k
  }
516
33.6k
}
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
134k
                                            const uint16_t *left, int bd) {
522
134k
  int i, r, expected_dc, sum = 0;
523
134k
  (void)above;
524
134k
  (void)bd;
525
526
3.65M
  for (i = 0; i < bh; i++) sum += left[i];
527
134k
  expected_dc = (sum + (bh >> 1)) / bh;
528
529
3.65M
  for (r = 0; r < bh; r++) {
530
3.51M
    aom_memset16(dst, expected_dc, bw);
531
3.51M
    dst += stride;
532
3.51M
  }
533
134k
}
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
352k
                                           const uint16_t *left, int bd) {
539
352k
  int i, r, expected_dc, sum = 0;
540
352k
  (void)left;
541
352k
  (void)bd;
542
543
6.03M
  for (i = 0; i < bw; i++) sum += above[i];
544
352k
  expected_dc = (sum + (bw >> 1)) / bw;
545
546
6.68M
  for (r = 0; r < bh; r++) {
547
6.33M
    aom_memset16(dst, expected_dc, bw);
548
6.33M
    dst += stride;
549
6.33M
  }
550
352k
}
551
552
static inline void highbd_dc_predictor(uint16_t *dst, ptrdiff_t stride, int bw,
553
                                       int bh, const uint16_t *above,
554
2.15M
                                       const uint16_t *left, int bd) {
555
2.15M
  int i, r, expected_dc, sum = 0;
556
2.15M
  const int count = bw + bh;
557
2.15M
  (void)bd;
558
559
26.1M
  for (i = 0; i < bw; i++) {
560
24.0M
    sum += above[i];
561
24.0M
  }
562
26.1M
  for (i = 0; i < bh; i++) {
563
24.0M
    sum += left[i];
564
24.0M
  }
565
566
2.15M
  expected_dc = (sum + (count >> 1)) / count;
567
568
26.1M
  for (r = 0; r < bh; r++) {
569
24.0M
    aom_memset16(dst, expected_dc, bw);
570
24.0M
    dst += stride;
571
24.0M
  }
572
2.15M
}
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
796k
#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
371k
#define HIGHBD_DC_MULTIPLIER_1X4 0x6667
585
586
1.16M
#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
1.16M
                                            int shift1, uint32_t multiplier) {
593
1.16M
  int sum = 0;
594
1.16M
  (void)bd;
595
596
15.4M
  for (int i = 0; i < bw; i++) {
597
14.2M
    sum += above[i];
598
14.2M
  }
599
14.3M
  for (int i = 0; i < bh; i++) {
600
13.1M
    sum += left[i];
601
13.1M
  }
602
603
1.16M
  const int expected_dc = divide_using_multiply_shift(
604
1.16M
      sum + ((bw + bh) >> 1), shift1, multiplier, HIGHBD_DC_SHIFT2);
605
1.16M
  assert(expected_dc < (1 << bd));
606
607
14.3M
  for (int r = 0; r < bh; r++) {
608
13.1M
    aom_memset16(dst, expected_dc, bw);
609
13.1M
    dst += stride;
610
13.1M
  }
611
1.16M
}
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
199k
                                   int bd) {
618
199k
  highbd_dc_predictor_rect(dst, stride, 4, 8, above, left, bd, 2,
619
199k
                           HIGHBD_DC_MULTIPLIER_1X2);
620
199k
}
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
207k
                                   int bd) {
625
207k
  highbd_dc_predictor_rect(dst, stride, 8, 4, above, left, bd, 2,
626
207k
                           HIGHBD_DC_MULTIPLIER_1X2);
627
207k
}
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
90.2k
                                    int bd) {
633
90.2k
  highbd_dc_predictor_rect(dst, stride, 4, 16, above, left, bd, 2,
634
90.2k
                           HIGHBD_DC_MULTIPLIER_1X4);
635
90.2k
}
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
148k
                                    int bd) {
640
148k
  highbd_dc_predictor_rect(dst, stride, 16, 4, above, left, bd, 2,
641
148k
                           HIGHBD_DC_MULTIPLIER_1X4);
642
148k
}
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
116k
                                    int bd) {
648
116k
  highbd_dc_predictor_rect(dst, stride, 8, 16, above, left, bd, 3,
649
116k
                           HIGHBD_DC_MULTIPLIER_1X2);
650
116k
}
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
166k
                                    int bd) {
655
166k
  highbd_dc_predictor_rect(dst, stride, 16, 8, above, left, bd, 3,
656
166k
                           HIGHBD_DC_MULTIPLIER_1X2);
657
166k
}
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
61.1k
                                    int bd) {
663
61.1k
  highbd_dc_predictor_rect(dst, stride, 8, 32, above, left, bd, 3,
664
61.1k
                           HIGHBD_DC_MULTIPLIER_1X4);
665
61.1k
}
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
63.9k
                                    int bd) {
670
63.9k
  highbd_dc_predictor_rect(dst, stride, 32, 8, above, left, bd, 3,
671
63.9k
                           HIGHBD_DC_MULTIPLIER_1X4);
672
63.9k
}
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
52.5k
                                     const uint16_t *left, int bd) {
678
52.5k
  highbd_dc_predictor_rect(dst, stride, 16, 32, above, left, bd, 4,
679
52.5k
                           HIGHBD_DC_MULTIPLIER_1X2);
680
52.5k
}
681
682
void aom_highbd_dc_predictor_32x16_c(uint16_t *dst, ptrdiff_t stride,
683
                                     const uint16_t *above,
684
48.3k
                                     const uint16_t *left, int bd) {
685
48.3k
  highbd_dc_predictor_rect(dst, stride, 32, 16, above, left, bd, 4,
686
48.3k
                           HIGHBD_DC_MULTIPLIER_1X2);
687
48.3k
}
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
4.63k
                                     const uint16_t *left, int bd) {
693
4.63k
  highbd_dc_predictor_rect(dst, stride, 16, 64, above, left, bd, 4,
694
4.63k
                           HIGHBD_DC_MULTIPLIER_1X4);
695
4.63k
}
696
697
void aom_highbd_dc_predictor_64x16_c(uint16_t *dst, ptrdiff_t stride,
698
                                     const uint16_t *above,
699
3.22k
                                     const uint16_t *left, int bd) {
700
3.22k
  highbd_dc_predictor_rect(dst, stride, 64, 16, above, left, bd, 4,
701
3.22k
                           HIGHBD_DC_MULTIPLIER_1X4);
702
3.22k
}
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
1.73k
                                     const uint16_t *left, int bd) {
708
1.73k
  highbd_dc_predictor_rect(dst, stride, 32, 64, above, left, bd, 5,
709
1.73k
                           HIGHBD_DC_MULTIPLIER_1X2);
710
1.73k
}
711
712
void aom_highbd_dc_predictor_64x32_c(uint16_t *dst, ptrdiff_t stride,
713
                                     const uint16_t *above,
714
2.75k
                                     const uint16_t *left, int bd) {
715
2.75k
  highbd_dc_predictor_rect(dst, stride, 64, 32, above, left, bd, 5,
716
2.75k
                           HIGHBD_DC_MULTIPLIER_1X2);
717
2.75k
}
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
10.9M
      const uint8_t *left) {                                   \
730
10.9M
    type##_predictor(dst, stride, width, height, above, left); \
731
10.9M
  }
aom_v_predictor_4x4_c
Line
Count
Source
729
291k
      const uint8_t *left) {                                   \
730
291k
    type##_predictor(dst, stride, width, height, above, left); \
731
291k
  }
aom_v_predictor_8x8_c
Line
Count
Source
729
24.0k
      const uint8_t *left) {                                   \
730
24.0k
    type##_predictor(dst, stride, width, height, above, left); \
731
24.0k
  }
aom_v_predictor_16x16_c
Line
Count
Source
729
14.8k
      const uint8_t *left) {                                   \
730
14.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
14.8k
  }
aom_v_predictor_32x32_c
Line
Count
Source
729
22.0k
      const uint8_t *left) {                                   \
730
22.0k
    type##_predictor(dst, stride, width, height, above, left); \
731
22.0k
  }
aom_v_predictor_64x64_c
Line
Count
Source
729
1.87k
      const uint8_t *left) {                                   \
730
1.87k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.87k
  }
aom_v_predictor_4x8_c
Line
Count
Source
729
13.3k
      const uint8_t *left) {                                   \
730
13.3k
    type##_predictor(dst, stride, width, height, above, left); \
731
13.3k
  }
aom_v_predictor_8x4_c
Line
Count
Source
729
19.2k
      const uint8_t *left) {                                   \
730
19.2k
    type##_predictor(dst, stride, width, height, above, left); \
731
19.2k
  }
aom_v_predictor_8x16_c
Line
Count
Source
729
7.86k
      const uint8_t *left) {                                   \
730
7.86k
    type##_predictor(dst, stride, width, height, above, left); \
731
7.86k
  }
aom_v_predictor_16x8_c
Line
Count
Source
729
10.2k
      const uint8_t *left) {                                   \
730
10.2k
    type##_predictor(dst, stride, width, height, above, left); \
731
10.2k
  }
aom_v_predictor_16x32_c
Line
Count
Source
729
3.24k
      const uint8_t *left) {                                   \
730
3.24k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.24k
  }
aom_v_predictor_32x16_c
Line
Count
Source
729
2.75k
      const uint8_t *left) {                                   \
730
2.75k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.75k
  }
aom_v_predictor_32x64_c
Line
Count
Source
729
206
      const uint8_t *left) {                                   \
730
206
    type##_predictor(dst, stride, width, height, above, left); \
731
206
  }
aom_v_predictor_64x32_c
Line
Count
Source
729
256
      const uint8_t *left) {                                   \
730
256
    type##_predictor(dst, stride, width, height, above, left); \
731
256
  }
aom_v_predictor_4x16_c
Line
Count
Source
729
5.16k
      const uint8_t *left) {                                   \
730
5.16k
    type##_predictor(dst, stride, width, height, above, left); \
731
5.16k
  }
aom_v_predictor_16x4_c
Line
Count
Source
729
9.68k
      const uint8_t *left) {                                   \
730
9.68k
    type##_predictor(dst, stride, width, height, above, left); \
731
9.68k
  }
aom_v_predictor_8x32_c
Line
Count
Source
729
2.87k
      const uint8_t *left) {                                   \
730
2.87k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.87k
  }
aom_v_predictor_32x8_c
Line
Count
Source
729
3.28k
      const uint8_t *left) {                                   \
730
3.28k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.28k
  }
aom_v_predictor_16x64_c
Line
Count
Source
729
361
      const uint8_t *left) {                                   \
730
361
    type##_predictor(dst, stride, width, height, above, left); \
731
361
  }
aom_v_predictor_64x16_c
Line
Count
Source
729
274
      const uint8_t *left) {                                   \
730
274
    type##_predictor(dst, stride, width, height, above, left); \
731
274
  }
aom_h_predictor_4x4_c
Line
Count
Source
729
260k
      const uint8_t *left) {                                   \
730
260k
    type##_predictor(dst, stride, width, height, above, left); \
731
260k
  }
aom_h_predictor_8x8_c
Line
Count
Source
729
36.9k
      const uint8_t *left) {                                   \
730
36.9k
    type##_predictor(dst, stride, width, height, above, left); \
731
36.9k
  }
aom_h_predictor_16x16_c
Line
Count
Source
729
29.3k
      const uint8_t *left) {                                   \
730
29.3k
    type##_predictor(dst, stride, width, height, above, left); \
731
29.3k
  }
aom_h_predictor_32x32_c
Line
Count
Source
729
26.2k
      const uint8_t *left) {                                   \
730
26.2k
    type##_predictor(dst, stride, width, height, above, left); \
731
26.2k
  }
aom_h_predictor_64x64_c
Line
Count
Source
729
2.40k
      const uint8_t *left) {                                   \
730
2.40k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.40k
  }
aom_h_predictor_4x8_c
Line
Count
Source
729
21.8k
      const uint8_t *left) {                                   \
730
21.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
21.8k
  }
aom_h_predictor_8x4_c
Line
Count
Source
729
30.5k
      const uint8_t *left) {                                   \
730
30.5k
    type##_predictor(dst, stride, width, height, above, left); \
731
30.5k
  }
aom_h_predictor_8x16_c
Line
Count
Source
729
11.5k
      const uint8_t *left) {                                   \
730
11.5k
    type##_predictor(dst, stride, width, height, above, left); \
731
11.5k
  }
aom_h_predictor_16x8_c
Line
Count
Source
729
14.7k
      const uint8_t *left) {                                   \
730
14.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
14.7k
  }
aom_h_predictor_16x32_c
Line
Count
Source
729
3.86k
      const uint8_t *left) {                                   \
730
3.86k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.86k
  }
aom_h_predictor_32x16_c
Line
Count
Source
729
4.35k
      const uint8_t *left) {                                   \
730
4.35k
    type##_predictor(dst, stride, width, height, above, left); \
731
4.35k
  }
aom_h_predictor_32x64_c
Line
Count
Source
729
314
      const uint8_t *left) {                                   \
730
314
    type##_predictor(dst, stride, width, height, above, left); \
731
314
  }
aom_h_predictor_64x32_c
Line
Count
Source
729
379
      const uint8_t *left) {                                   \
730
379
    type##_predictor(dst, stride, width, height, above, left); \
731
379
  }
aom_h_predictor_4x16_c
Line
Count
Source
729
8.11k
      const uint8_t *left) {                                   \
730
8.11k
    type##_predictor(dst, stride, width, height, above, left); \
731
8.11k
  }
aom_h_predictor_16x4_c
Line
Count
Source
729
13.8k
      const uint8_t *left) {                                   \
730
13.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
13.8k
  }
aom_h_predictor_8x32_c
Line
Count
Source
729
4.06k
      const uint8_t *left) {                                   \
730
4.06k
    type##_predictor(dst, stride, width, height, above, left); \
731
4.06k
  }
aom_h_predictor_32x8_c
Line
Count
Source
729
4.41k
      const uint8_t *left) {                                   \
730
4.41k
    type##_predictor(dst, stride, width, height, above, left); \
731
4.41k
  }
aom_h_predictor_16x64_c
Line
Count
Source
729
552
      const uint8_t *left) {                                   \
730
552
    type##_predictor(dst, stride, width, height, above, left); \
731
552
  }
aom_h_predictor_64x16_c
Line
Count
Source
729
489
      const uint8_t *left) {                                   \
730
489
    type##_predictor(dst, stride, width, height, above, left); \
731
489
  }
aom_smooth_predictor_4x4_c
Line
Count
Source
729
195k
      const uint8_t *left) {                                   \
730
195k
    type##_predictor(dst, stride, width, height, above, left); \
731
195k
  }
aom_smooth_predictor_8x8_c
Line
Count
Source
729
100k
      const uint8_t *left) {                                   \
730
100k
    type##_predictor(dst, stride, width, height, above, left); \
731
100k
  }
aom_smooth_predictor_16x16_c
Line
Count
Source
729
66.4k
      const uint8_t *left) {                                   \
730
66.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
66.4k
  }
aom_smooth_predictor_32x32_c
Line
Count
Source
729
51.5k
      const uint8_t *left) {                                   \
730
51.5k
    type##_predictor(dst, stride, width, height, above, left); \
731
51.5k
  }
aom_smooth_predictor_64x64_c
Line
Count
Source
729
9.58k
      const uint8_t *left) {                                   \
730
9.58k
    type##_predictor(dst, stride, width, height, above, left); \
731
9.58k
  }
aom_smooth_predictor_4x8_c
Line
Count
Source
729
34.9k
      const uint8_t *left) {                                   \
730
34.9k
    type##_predictor(dst, stride, width, height, above, left); \
731
34.9k
  }
aom_smooth_predictor_8x4_c
Line
Count
Source
729
49.4k
      const uint8_t *left) {                                   \
730
49.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
49.4k
  }
aom_smooth_predictor_8x16_c
Line
Count
Source
729
31.6k
      const uint8_t *left) {                                   \
730
31.6k
    type##_predictor(dst, stride, width, height, above, left); \
731
31.6k
  }
aom_smooth_predictor_16x8_c
Line
Count
Source
729
45.4k
      const uint8_t *left) {                                   \
730
45.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
45.4k
  }
aom_smooth_predictor_16x32_c
Line
Count
Source
729
10.2k
      const uint8_t *left) {                                   \
730
10.2k
    type##_predictor(dst, stride, width, height, above, left); \
731
10.2k
  }
aom_smooth_predictor_32x16_c
Line
Count
Source
729
11.5k
      const uint8_t *left) {                                   \
730
11.5k
    type##_predictor(dst, stride, width, height, above, left); \
731
11.5k
  }
aom_smooth_predictor_32x64_c
Line
Count
Source
729
806
      const uint8_t *left) {                                   \
730
806
    type##_predictor(dst, stride, width, height, above, left); \
731
806
  }
aom_smooth_predictor_64x32_c
Line
Count
Source
729
912
      const uint8_t *left) {                                   \
730
912
    type##_predictor(dst, stride, width, height, above, left); \
731
912
  }
aom_smooth_predictor_4x16_c
Line
Count
Source
729
24.7k
      const uint8_t *left) {                                   \
730
24.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
24.7k
  }
aom_smooth_predictor_16x4_c
Line
Count
Source
729
40.4k
      const uint8_t *left) {                                   \
730
40.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
40.4k
  }
aom_smooth_predictor_8x32_c
Line
Count
Source
729
11.3k
      const uint8_t *left) {                                   \
730
11.3k
    type##_predictor(dst, stride, width, height, above, left); \
731
11.3k
  }
aom_smooth_predictor_32x8_c
Line
Count
Source
729
13.8k
      const uint8_t *left) {                                   \
730
13.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
13.8k
  }
aom_smooth_predictor_16x64_c
Line
Count
Source
729
1.41k
      const uint8_t *left) {                                   \
730
1.41k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.41k
  }
aom_smooth_predictor_64x16_c
Line
Count
Source
729
1.19k
      const uint8_t *left) {                                   \
730
1.19k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.19k
  }
aom_smooth_v_predictor_4x4_c
Line
Count
Source
729
45.1k
      const uint8_t *left) {                                   \
730
45.1k
    type##_predictor(dst, stride, width, height, above, left); \
731
45.1k
  }
aom_smooth_v_predictor_8x8_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_v_predictor_16x16_c
Line
Count
Source
729
18.1k
      const uint8_t *left) {                                   \
730
18.1k
    type##_predictor(dst, stride, width, height, above, left); \
731
18.1k
  }
aom_smooth_v_predictor_32x32_c
Line
Count
Source
729
21.4k
      const uint8_t *left) {                                   \
730
21.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
21.4k
  }
aom_smooth_v_predictor_64x64_c
Line
Count
Source
729
2.67k
      const uint8_t *left) {                                   \
730
2.67k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.67k
  }
aom_smooth_v_predictor_4x8_c
Line
Count
Source
729
12.0k
      const uint8_t *left) {                                   \
730
12.0k
    type##_predictor(dst, stride, width, height, above, left); \
731
12.0k
  }
aom_smooth_v_predictor_8x4_c
Line
Count
Source
729
18.5k
      const uint8_t *left) {                                   \
730
18.5k
    type##_predictor(dst, stride, width, height, above, left); \
731
18.5k
  }
aom_smooth_v_predictor_8x16_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_smooth_v_predictor_16x8_c
Line
Count
Source
729
15.8k
      const uint8_t *left) {                                   \
730
15.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
15.8k
  }
aom_smooth_v_predictor_16x32_c
Line
Count
Source
729
3.92k
      const uint8_t *left) {                                   \
730
3.92k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.92k
  }
aom_smooth_v_predictor_32x16_c
Line
Count
Source
729
5.23k
      const uint8_t *left) {                                   \
730
5.23k
    type##_predictor(dst, stride, width, height, above, left); \
731
5.23k
  }
aom_smooth_v_predictor_32x64_c
Line
Count
Source
729
277
      const uint8_t *left) {                                   \
730
277
    type##_predictor(dst, stride, width, height, above, left); \
731
277
  }
aom_smooth_v_predictor_64x32_c
Line
Count
Source
729
339
      const uint8_t *left) {                                   \
730
339
    type##_predictor(dst, stride, width, height, above, left); \
731
339
  }
aom_smooth_v_predictor_4x16_c
Line
Count
Source
729
8.85k
      const uint8_t *left) {                                   \
730
8.85k
    type##_predictor(dst, stride, width, height, above, left); \
731
8.85k
  }
aom_smooth_v_predictor_16x4_c
Line
Count
Source
729
14.6k
      const uint8_t *left) {                                   \
730
14.6k
    type##_predictor(dst, stride, width, height, above, left); \
731
14.6k
  }
aom_smooth_v_predictor_8x32_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_v_predictor_32x8_c
Line
Count
Source
729
6.58k
      const uint8_t *left) {                                   \
730
6.58k
    type##_predictor(dst, stride, width, height, above, left); \
731
6.58k
  }
aom_smooth_v_predictor_16x64_c
Line
Count
Source
729
383
      const uint8_t *left) {                                   \
730
383
    type##_predictor(dst, stride, width, height, above, left); \
731
383
  }
aom_smooth_v_predictor_64x16_c
Line
Count
Source
729
343
      const uint8_t *left) {                                   \
730
343
    type##_predictor(dst, stride, width, height, above, left); \
731
343
  }
aom_smooth_h_predictor_4x4_c
Line
Count
Source
729
89.4k
      const uint8_t *left) {                                   \
730
89.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
89.4k
  }
aom_smooth_h_predictor_8x8_c
Line
Count
Source
729
46.8k
      const uint8_t *left) {                                   \
730
46.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
46.8k
  }
aom_smooth_h_predictor_16x16_c
Line
Count
Source
729
36.1k
      const uint8_t *left) {                                   \
730
36.1k
    type##_predictor(dst, stride, width, height, above, left); \
731
36.1k
  }
aom_smooth_h_predictor_32x32_c
Line
Count
Source
729
27.7k
      const uint8_t *left) {                                   \
730
27.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
27.7k
  }
aom_smooth_h_predictor_64x64_c
Line
Count
Source
729
3.01k
      const uint8_t *left) {                                   \
730
3.01k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.01k
  }
aom_smooth_h_predictor_4x8_c
Line
Count
Source
729
15.2k
      const uint8_t *left) {                                   \
730
15.2k
    type##_predictor(dst, stride, width, height, above, left); \
731
15.2k
  }
aom_smooth_h_predictor_8x4_c
Line
Count
Source
729
22.8k
      const uint8_t *left) {                                   \
730
22.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
22.8k
  }
aom_smooth_h_predictor_8x16_c
Line
Count
Source
729
15.3k
      const uint8_t *left) {                                   \
730
15.3k
    type##_predictor(dst, stride, width, height, above, left); \
731
15.3k
  }
aom_smooth_h_predictor_16x8_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_smooth_h_predictor_16x32_c
Line
Count
Source
729
5.22k
      const uint8_t *left) {                                   \
730
5.22k
    type##_predictor(dst, stride, width, height, above, left); \
731
5.22k
  }
aom_smooth_h_predictor_32x16_c
Line
Count
Source
729
5.52k
      const uint8_t *left) {                                   \
730
5.52k
    type##_predictor(dst, stride, width, height, above, left); \
731
5.52k
  }
aom_smooth_h_predictor_32x64_c
Line
Count
Source
729
223
      const uint8_t *left) {                                   \
730
223
    type##_predictor(dst, stride, width, height, above, left); \
731
223
  }
aom_smooth_h_predictor_64x32_c
Line
Count
Source
729
303
      const uint8_t *left) {                                   \
730
303
    type##_predictor(dst, stride, width, height, above, left); \
731
303
  }
aom_smooth_h_predictor_4x16_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_smooth_h_predictor_16x4_c
Line
Count
Source
729
19.7k
      const uint8_t *left) {                                   \
730
19.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
19.7k
  }
aom_smooth_h_predictor_8x32_c
Line
Count
Source
729
5.41k
      const uint8_t *left) {                                   \
730
5.41k
    type##_predictor(dst, stride, width, height, above, left); \
731
5.41k
  }
aom_smooth_h_predictor_32x8_c
Line
Count
Source
729
6.68k
      const uint8_t *left) {                                   \
730
6.68k
    type##_predictor(dst, stride, width, height, above, left); \
731
6.68k
  }
aom_smooth_h_predictor_16x64_c
Line
Count
Source
729
409
      const uint8_t *left) {                                   \
730
409
    type##_predictor(dst, stride, width, height, above, left); \
731
409
  }
aom_smooth_h_predictor_64x16_c
Line
Count
Source
729
285
      const uint8_t *left) {                                   \
730
285
    type##_predictor(dst, stride, width, height, above, left); \
731
285
  }
aom_paeth_predictor_4x4_c
Line
Count
Source
729
3.39M
      const uint8_t *left) {                                   \
730
3.39M
    type##_predictor(dst, stride, width, height, above, left); \
731
3.39M
  }
aom_paeth_predictor_8x8_c
Line
Count
Source
729
109k
      const uint8_t *left) {                                   \
730
109k
    type##_predictor(dst, stride, width, height, above, left); \
731
109k
  }
aom_paeth_predictor_16x16_c
Line
Count
Source
729
88.2k
      const uint8_t *left) {                                   \
730
88.2k
    type##_predictor(dst, stride, width, height, above, left); \
731
88.2k
  }
aom_paeth_predictor_32x32_c
Line
Count
Source
729
401k
      const uint8_t *left) {                                   \
730
401k
    type##_predictor(dst, stride, width, height, above, left); \
731
401k
  }
aom_paeth_predictor_64x64_c
Line
Count
Source
729
47.8k
      const uint8_t *left) {                                   \
730
47.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
47.8k
  }
aom_paeth_predictor_4x8_c
Line
Count
Source
729
44.2k
      const uint8_t *left) {                                   \
730
44.2k
    type##_predictor(dst, stride, width, height, above, left); \
731
44.2k
  }
aom_paeth_predictor_8x4_c
Line
Count
Source
729
57.6k
      const uint8_t *left) {                                   \
730
57.6k
    type##_predictor(dst, stride, width, height, above, left); \
731
57.6k
  }
aom_paeth_predictor_8x16_c
Line
Count
Source
729
46.2k
      const uint8_t *left) {                                   \
730
46.2k
    type##_predictor(dst, stride, width, height, above, left); \
731
46.2k
  }
aom_paeth_predictor_16x8_c
Line
Count
Source
729
57.4k
      const uint8_t *left) {                                   \
730
57.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
57.4k
  }
aom_paeth_predictor_16x32_c
Line
Count
Source
729
72.8k
      const uint8_t *left) {                                   \
730
72.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
72.8k
  }
aom_paeth_predictor_32x16_c
Line
Count
Source
729
15.0k
      const uint8_t *left) {                                   \
730
15.0k
    type##_predictor(dst, stride, width, height, above, left); \
731
15.0k
  }
aom_paeth_predictor_32x64_c
Line
Count
Source
729
5.86k
      const uint8_t *left) {                                   \
730
5.86k
    type##_predictor(dst, stride, width, height, above, left); \
731
5.86k
  }
aom_paeth_predictor_64x32_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_paeth_predictor_4x16_c
Line
Count
Source
729
118k
      const uint8_t *left) {                                   \
730
118k
    type##_predictor(dst, stride, width, height, above, left); \
731
118k
  }
aom_paeth_predictor_16x4_c
Line
Count
Source
729
53.7k
      const uint8_t *left) {                                   \
730
53.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
53.7k
  }
aom_paeth_predictor_8x32_c
Line
Count
Source
729
37.0k
      const uint8_t *left) {                                   \
730
37.0k
    type##_predictor(dst, stride, width, height, above, left); \
731
37.0k
  }
aom_paeth_predictor_32x8_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_paeth_predictor_16x64_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_paeth_predictor_64x16_c
Line
Count
Source
729
1.37k
      const uint8_t *left) {                                   \
730
1.37k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.37k
  }
aom_dc_128_predictor_4x4_c
Line
Count
Source
729
4.06k
      const uint8_t *left) {                                   \
730
4.06k
    type##_predictor(dst, stride, width, height, above, left); \
731
4.06k
  }
aom_dc_128_predictor_8x8_c
Line
Count
Source
729
1.38k
      const uint8_t *left) {                                   \
730
1.38k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.38k
  }
aom_dc_128_predictor_16x16_c
Line
Count
Source
729
183
      const uint8_t *left) {                                   \
730
183
    type##_predictor(dst, stride, width, height, above, left); \
731
183
  }
aom_dc_128_predictor_32x32_c
Line
Count
Source
729
5.34k
      const uint8_t *left) {                                   \
730
5.34k
    type##_predictor(dst, stride, width, height, above, left); \
731
5.34k
  }
aom_dc_128_predictor_64x64_c
Line
Count
Source
729
2.36k
      const uint8_t *left) {                                   \
730
2.36k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.36k
  }
aom_dc_128_predictor_4x8_c
Line
Count
Source
729
587
      const uint8_t *left) {                                   \
730
587
    type##_predictor(dst, stride, width, height, above, left); \
731
587
  }
aom_dc_128_predictor_8x4_c
Line
Count
Source
729
52
      const uint8_t *left) {                                   \
730
52
    type##_predictor(dst, stride, width, height, above, left); \
731
52
  }
aom_dc_128_predictor_8x16_c
Line
Count
Source
729
65
      const uint8_t *left) {                                   \
730
65
    type##_predictor(dst, stride, width, height, above, left); \
731
65
  }
aom_dc_128_predictor_16x8_c
Line
Count
Source
729
1.19k
      const uint8_t *left) {                                   \
730
1.19k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.19k
  }
aom_dc_128_predictor_16x32_c
Line
Count
Source
729
1.72k
      const uint8_t *left) {                                   \
730
1.72k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.72k
  }
aom_dc_128_predictor_32x16_c
Line
Count
Source
729
1.26k
      const uint8_t *left) {                                   \
730
1.26k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.26k
  }
aom_dc_128_predictor_32x64_c
Line
Count
Source
729
239
      const uint8_t *left) {                                   \
730
239
    type##_predictor(dst, stride, width, height, above, left); \
731
239
  }
aom_dc_128_predictor_64x32_c
Line
Count
Source
729
19
      const uint8_t *left) {                                   \
730
19
    type##_predictor(dst, stride, width, height, above, left); \
731
19
  }
aom_dc_128_predictor_4x16_c
Line
Count
Source
729
198
      const uint8_t *left) {                                   \
730
198
    type##_predictor(dst, stride, width, height, above, left); \
731
198
  }
aom_dc_128_predictor_16x4_c
Line
Count
Source
729
13
      const uint8_t *left) {                                   \
730
13
    type##_predictor(dst, stride, width, height, above, left); \
731
13
  }
aom_dc_128_predictor_8x32_c
Line
Count
Source
729
120
      const uint8_t *left) {                                   \
730
120
    type##_predictor(dst, stride, width, height, above, left); \
731
120
  }
aom_dc_128_predictor_32x8_c
Line
Count
Source
729
676
      const uint8_t *left) {                                   \
730
676
    type##_predictor(dst, stride, width, height, above, left); \
731
676
  }
aom_dc_128_predictor_16x64_c
Line
Count
Source
729
25
      const uint8_t *left) {                                   \
730
25
    type##_predictor(dst, stride, width, height, above, left); \
731
25
  }
aom_dc_128_predictor_64x16_c
Line
Count
Source
729
5
      const uint8_t *left) {                                   \
730
5
    type##_predictor(dst, stride, width, height, above, left); \
731
5
  }
aom_dc_left_predictor_4x4_c
Line
Count
Source
729
95.7k
      const uint8_t *left) {                                   \
730
95.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
95.7k
  }
aom_dc_left_predictor_8x8_c
Line
Count
Source
729
4.65k
      const uint8_t *left) {                                   \
730
4.65k
    type##_predictor(dst, stride, width, height, above, left); \
731
4.65k
  }
aom_dc_left_predictor_16x16_c
Line
Count
Source
729
6.90k
      const uint8_t *left) {                                   \
730
6.90k
    type##_predictor(dst, stride, width, height, above, left); \
731
6.90k
  }
aom_dc_left_predictor_32x32_c
Line
Count
Source
729
37.7k
      const uint8_t *left) {                                   \
730
37.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
37.7k
  }
aom_dc_left_predictor_64x64_c
Line
Count
Source
729
10.0k
      const uint8_t *left) {                                   \
730
10.0k
    type##_predictor(dst, stride, width, height, above, left); \
731
10.0k
  }
aom_dc_left_predictor_4x8_c
Line
Count
Source
729
2.51k
      const uint8_t *left) {                                   \
730
2.51k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.51k
  }
aom_dc_left_predictor_8x4_c
Line
Count
Source
729
1.62k
      const uint8_t *left) {                                   \
730
1.62k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.62k
  }
aom_dc_left_predictor_8x16_c
Line
Count
Source
729
2.27k
      const uint8_t *left) {                                   \
730
2.27k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.27k
  }
aom_dc_left_predictor_16x8_c
Line
Count
Source
729
2.51k
      const uint8_t *left) {                                   \
730
2.51k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.51k
  }
aom_dc_left_predictor_16x32_c
Line
Count
Source
729
2.49k
      const uint8_t *left) {                                   \
730
2.49k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.49k
  }
aom_dc_left_predictor_32x16_c
Line
Count
Source
729
2.50k
      const uint8_t *left) {                                   \
730
2.50k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.50k
  }
aom_dc_left_predictor_32x64_c
Line
Count
Source
729
446
      const uint8_t *left) {                                   \
730
446
    type##_predictor(dst, stride, width, height, above, left); \
731
446
  }
aom_dc_left_predictor_64x32_c
Line
Count
Source
729
673
      const uint8_t *left) {                                   \
730
673
    type##_predictor(dst, stride, width, height, above, left); \
731
673
  }
aom_dc_left_predictor_4x16_c
Line
Count
Source
729
3.33k
      const uint8_t *left) {                                   \
730
3.33k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.33k
  }
aom_dc_left_predictor_16x4_c
Line
Count
Source
729
905
      const uint8_t *left) {                                   \
730
905
    type##_predictor(dst, stride, width, height, above, left); \
731
905
  }
aom_dc_left_predictor_8x32_c
Line
Count
Source
729
2.82k
      const uint8_t *left) {                                   \
730
2.82k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.82k
  }
aom_dc_left_predictor_32x8_c
Line
Count
Source
729
652
      const uint8_t *left) {                                   \
730
652
    type##_predictor(dst, stride, width, height, above, left); \
731
652
  }
aom_dc_left_predictor_16x64_c
Line
Count
Source
729
630
      const uint8_t *left) {                                   \
730
630
    type##_predictor(dst, stride, width, height, above, left); \
731
630
  }
aom_dc_left_predictor_64x16_c
Line
Count
Source
729
204
      const uint8_t *left) {                                   \
730
204
    type##_predictor(dst, stride, width, height, above, left); \
731
204
  }
aom_dc_top_predictor_4x4_c
Line
Count
Source
729
132k
      const uint8_t *left) {                                   \
730
132k
    type##_predictor(dst, stride, width, height, above, left); \
731
132k
  }
aom_dc_top_predictor_8x8_c
Line
Count
Source
729
17.1k
      const uint8_t *left) {                                   \
730
17.1k
    type##_predictor(dst, stride, width, height, above, left); \
731
17.1k
  }
aom_dc_top_predictor_16x16_c
Line
Count
Source
729
14.3k
      const uint8_t *left) {                                   \
730
14.3k
    type##_predictor(dst, stride, width, height, above, left); \
731
14.3k
  }
aom_dc_top_predictor_32x32_c
Line
Count
Source
729
56.9k
      const uint8_t *left) {                                   \
730
56.9k
    type##_predictor(dst, stride, width, height, above, left); \
731
56.9k
  }
aom_dc_top_predictor_64x64_c
Line
Count
Source
729
10.1k
      const uint8_t *left) {                                   \
730
10.1k
    type##_predictor(dst, stride, width, height, above, left); \
731
10.1k
  }
aom_dc_top_predictor_4x8_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_dc_top_predictor_8x4_c
Line
Count
Source
729
12.3k
      const uint8_t *left) {                                   \
730
12.3k
    type##_predictor(dst, stride, width, height, above, left); \
731
12.3k
  }
aom_dc_top_predictor_8x16_c
Line
Count
Source
729
21.0k
      const uint8_t *left) {                                   \
730
21.0k
    type##_predictor(dst, stride, width, height, above, left); \
731
21.0k
  }
aom_dc_top_predictor_16x8_c
Line
Count
Source
729
5.18k
      const uint8_t *left) {                                   \
730
5.18k
    type##_predictor(dst, stride, width, height, above, left); \
731
5.18k
  }
aom_dc_top_predictor_16x32_c
Line
Count
Source
729
19.4k
      const uint8_t *left) {                                   \
730
19.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
19.4k
  }
aom_dc_top_predictor_32x16_c
Line
Count
Source
729
4.99k
      const uint8_t *left) {                                   \
730
4.99k
    type##_predictor(dst, stride, width, height, above, left); \
731
4.99k
  }
aom_dc_top_predictor_32x64_c
Line
Count
Source
729
3.71k
      const uint8_t *left) {                                   \
730
3.71k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.71k
  }
aom_dc_top_predictor_64x32_c
Line
Count
Source
729
1.22k
      const uint8_t *left) {                                   \
730
1.22k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.22k
  }
aom_dc_top_predictor_4x16_c
Line
Count
Source
729
2.65k
      const uint8_t *left) {                                   \
730
2.65k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.65k
  }
aom_dc_top_predictor_16x4_c
Line
Count
Source
729
2.49k
      const uint8_t *left) {                                   \
730
2.49k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.49k
  }
aom_dc_top_predictor_8x32_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_32x8_c
Line
Count
Source
729
3.28k
      const uint8_t *left) {                                   \
730
3.28k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.28k
  }
aom_dc_top_predictor_16x64_c
Line
Count
Source
729
367
      const uint8_t *left) {                                   \
730
367
    type##_predictor(dst, stride, width, height, above, left); \
731
367
  }
aom_dc_top_predictor_64x16_c
Line
Count
Source
729
868
      const uint8_t *left) {                                   \
730
868
    type##_predictor(dst, stride, width, height, above, left); \
731
868
  }
aom_dc_predictor_4x4_c
Line
Count
Source
729
2.69M
      const uint8_t *left) {                                   \
730
2.69M
    type##_predictor(dst, stride, width, height, above, left); \
731
2.69M
  }
aom_dc_predictor_8x8_c
Line
Count
Source
729
329k
      const uint8_t *left) {                                   \
730
329k
    type##_predictor(dst, stride, width, height, above, left); \
731
329k
  }
aom_dc_predictor_16x16_c
Line
Count
Source
729
219k
      const uint8_t *left) {                                   \
730
219k
    type##_predictor(dst, stride, width, height, above, left); \
731
219k
  }
aom_dc_predictor_32x32_c
Line
Count
Source
729
394k
      const uint8_t *left) {                                   \
730
394k
    type##_predictor(dst, stride, width, height, above, left); \
731
394k
  }
aom_dc_predictor_64x64_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
  }
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
5.12M
      const uint16_t *left, int bd) {                                       \
738
5.12M
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
5.12M
  }
aom_highbd_v_predictor_4x4_c
Line
Count
Source
737
38.8k
      const uint16_t *left, int bd) {                                       \
738
38.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
38.8k
  }
aom_highbd_v_predictor_8x8_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_v_predictor_16x16_c
Line
Count
Source
737
11.3k
      const uint16_t *left, int bd) {                                       \
738
11.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
11.3k
  }
aom_highbd_v_predictor_32x32_c
Line
Count
Source
737
20.7k
      const uint16_t *left, int bd) {                                       \
738
20.7k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
20.7k
  }
aom_highbd_v_predictor_64x64_c
Line
Count
Source
737
2.37k
      const uint16_t *left, int bd) {                                       \
738
2.37k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.37k
  }
aom_highbd_v_predictor_4x8_c
Line
Count
Source
737
12.6k
      const uint16_t *left, int bd) {                                       \
738
12.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
12.6k
  }
aom_highbd_v_predictor_8x4_c
Line
Count
Source
737
16.8k
      const uint16_t *left, int bd) {                                       \
738
16.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
16.8k
  }
aom_highbd_v_predictor_8x16_c
Line
Count
Source
737
6.74k
      const uint16_t *left, int bd) {                                       \
738
6.74k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
6.74k
  }
aom_highbd_v_predictor_16x8_c
Line
Count
Source
737
10.1k
      const uint16_t *left, int bd) {                                       \
738
10.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
10.1k
  }
aom_highbd_v_predictor_16x32_c
Line
Count
Source
737
4.09k
      const uint16_t *left, int bd) {                                       \
738
4.09k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.09k
  }
aom_highbd_v_predictor_32x16_c
Line
Count
Source
737
2.90k
      const uint16_t *left, int bd) {                                       \
738
2.90k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.90k
  }
aom_highbd_v_predictor_32x64_c
Line
Count
Source
737
205
      const uint16_t *left, int bd) {                                       \
738
205
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
205
  }
aom_highbd_v_predictor_64x32_c
Line
Count
Source
737
210
      const uint16_t *left, int bd) {                                       \
738
210
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
210
  }
aom_highbd_v_predictor_4x16_c
Line
Count
Source
737
3.95k
      const uint16_t *left, int bd) {                                       \
738
3.95k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.95k
  }
aom_highbd_v_predictor_16x4_c
Line
Count
Source
737
8.31k
      const uint16_t *left, int bd) {                                       \
738
8.31k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
8.31k
  }
aom_highbd_v_predictor_8x32_c
Line
Count
Source
737
2.64k
      const uint16_t *left, int bd) {                                       \
738
2.64k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.64k
  }
aom_highbd_v_predictor_32x8_c
Line
Count
Source
737
4.14k
      const uint16_t *left, int bd) {                                       \
738
4.14k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.14k
  }
aom_highbd_v_predictor_16x64_c
Line
Count
Source
737
491
      const uint16_t *left, int bd) {                                       \
738
491
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
491
  }
aom_highbd_v_predictor_64x16_c
Line
Count
Source
737
397
      const uint16_t *left, int bd) {                                       \
738
397
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
397
  }
aom_highbd_h_predictor_4x4_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_h_predictor_8x8_c
Line
Count
Source
737
46.0k
      const uint16_t *left, int bd) {                                       \
738
46.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
46.0k
  }
aom_highbd_h_predictor_16x16_c
Line
Count
Source
737
23.6k
      const uint16_t *left, int bd) {                                       \
738
23.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
23.6k
  }
aom_highbd_h_predictor_32x32_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_h_predictor_64x64_c
Line
Count
Source
737
2.21k
      const uint16_t *left, int bd) {                                       \
738
2.21k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.21k
  }
aom_highbd_h_predictor_4x8_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_h_predictor_8x4_c
Line
Count
Source
737
31.9k
      const uint16_t *left, int bd) {                                       \
738
31.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
31.9k
  }
aom_highbd_h_predictor_8x16_c
Line
Count
Source
737
11.1k
      const uint16_t *left, int bd) {                                       \
738
11.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
11.1k
  }
aom_highbd_h_predictor_16x8_c
Line
Count
Source
737
15.7k
      const uint16_t *left, int bd) {                                       \
738
15.7k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
15.7k
  }
aom_highbd_h_predictor_16x32_c
Line
Count
Source
737
3.82k
      const uint16_t *left, int bd) {                                       \
738
3.82k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.82k
  }
aom_highbd_h_predictor_32x16_c
Line
Count
Source
737
4.75k
      const uint16_t *left, int bd) {                                       \
738
4.75k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.75k
  }
aom_highbd_h_predictor_32x64_c
Line
Count
Source
737
186
      const uint16_t *left, int bd) {                                       \
738
186
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
186
  }
aom_highbd_h_predictor_64x32_c
Line
Count
Source
737
350
      const uint16_t *left, int bd) {                                       \
738
350
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
350
  }
aom_highbd_h_predictor_4x16_c
Line
Count
Source
737
7.14k
      const uint16_t *left, int bd) {                                       \
738
7.14k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
7.14k
  }
aom_highbd_h_predictor_16x4_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_8x32_c
Line
Count
Source
737
4.06k
      const uint16_t *left, int bd) {                                       \
738
4.06k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.06k
  }
aom_highbd_h_predictor_32x8_c
Line
Count
Source
737
6.51k
      const uint16_t *left, int bd) {                                       \
738
6.51k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
6.51k
  }
aom_highbd_h_predictor_16x64_c
Line
Count
Source
737
627
      const uint16_t *left, int bd) {                                       \
738
627
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
627
  }
aom_highbd_h_predictor_64x16_c
Line
Count
Source
737
628
      const uint16_t *left, int bd) {                                       \
738
628
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
628
  }
aom_highbd_smooth_predictor_4x4_c
Line
Count
Source
737
135k
      const uint16_t *left, int bd) {                                       \
738
135k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
135k
  }
aom_highbd_smooth_predictor_8x8_c
Line
Count
Source
737
101k
      const uint16_t *left, int bd) {                                       \
738
101k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
101k
  }
aom_highbd_smooth_predictor_16x16_c
Line
Count
Source
737
49.6k
      const uint16_t *left, int bd) {                                       \
738
49.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
49.6k
  }
aom_highbd_smooth_predictor_32x32_c
Line
Count
Source
737
45.3k
      const uint16_t *left, int bd) {                                       \
738
45.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
45.3k
  }
aom_highbd_smooth_predictor_64x64_c
Line
Count
Source
737
12.4k
      const uint16_t *left, int bd) {                                       \
738
12.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
12.4k
  }
aom_highbd_smooth_predictor_4x8_c
Line
Count
Source
737
31.9k
      const uint16_t *left, int bd) {                                       \
738
31.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
31.9k
  }
aom_highbd_smooth_predictor_8x4_c
Line
Count
Source
737
45.2k
      const uint16_t *left, int bd) {                                       \
738
45.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
45.2k
  }
aom_highbd_smooth_predictor_8x16_c
Line
Count
Source
737
28.7k
      const uint16_t *left, int bd) {                                       \
738
28.7k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
28.7k
  }
aom_highbd_smooth_predictor_16x8_c
Line
Count
Source
737
41.1k
      const uint16_t *left, int bd) {                                       \
738
41.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
41.1k
  }
aom_highbd_smooth_predictor_16x32_c
Line
Count
Source
737
12.1k
      const uint16_t *left, int bd) {                                       \
738
12.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
12.1k
  }
aom_highbd_smooth_predictor_32x16_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_predictor_32x64_c
Line
Count
Source
737
964
      const uint16_t *left, int bd) {                                       \
738
964
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
964
  }
aom_highbd_smooth_predictor_64x32_c
Line
Count
Source
737
1.03k
      const uint16_t *left, int bd) {                                       \
738
1.03k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.03k
  }
aom_highbd_smooth_predictor_4x16_c
Line
Count
Source
737
18.7k
      const uint16_t *left, int bd) {                                       \
738
18.7k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
18.7k
  }
aom_highbd_smooth_predictor_16x4_c
Line
Count
Source
737
34.0k
      const uint16_t *left, int bd) {                                       \
738
34.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
34.0k
  }
aom_highbd_smooth_predictor_8x32_c
Line
Count
Source
737
11.3k
      const uint16_t *left, int bd) {                                       \
738
11.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
11.3k
  }
aom_highbd_smooth_predictor_32x8_c
Line
Count
Source
737
15.8k
      const uint16_t *left, int bd) {                                       \
738
15.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
15.8k
  }
aom_highbd_smooth_predictor_16x64_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_predictor_64x16_c
Line
Count
Source
737
1.26k
      const uint16_t *left, int bd) {                                       \
738
1.26k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.26k
  }
aom_highbd_smooth_v_predictor_4x4_c
Line
Count
Source
737
40.6k
      const uint16_t *left, int bd) {                                       \
738
40.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
40.6k
  }
aom_highbd_smooth_v_predictor_8x8_c
Line
Count
Source
737
47.0k
      const uint16_t *left, int bd) {                                       \
738
47.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
47.0k
  }
aom_highbd_smooth_v_predictor_16x16_c
Line
Count
Source
737
21.7k
      const uint16_t *left, int bd) {                                       \
738
21.7k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
21.7k
  }
aom_highbd_smooth_v_predictor_32x32_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_v_predictor_64x64_c
Line
Count
Source
737
2.47k
      const uint16_t *left, int bd) {                                       \
738
2.47k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.47k
  }
aom_highbd_smooth_v_predictor_4x8_c
Line
Count
Source
737
16.6k
      const uint16_t *left, int bd) {                                       \
738
16.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
16.6k
  }
aom_highbd_smooth_v_predictor_8x4_c
Line
Count
Source
737
21.9k
      const uint16_t *left, int bd) {                                       \
738
21.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
21.9k
  }
aom_highbd_smooth_v_predictor_8x16_c
Line
Count
Source
737
15.9k
      const uint16_t *left, int bd) {                                       \
738
15.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
15.9k
  }
aom_highbd_smooth_v_predictor_16x8_c
Line
Count
Source
737
24.0k
      const uint16_t *left, int bd) {                                       \
738
24.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
24.0k
  }
aom_highbd_smooth_v_predictor_16x32_c
Line
Count
Source
737
6.73k
      const uint16_t *left, int bd) {                                       \
738
6.73k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
6.73k
  }
aom_highbd_smooth_v_predictor_32x16_c
Line
Count
Source
737
5.74k
      const uint16_t *left, int bd) {                                       \
738
5.74k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
5.74k
  }
aom_highbd_smooth_v_predictor_32x64_c
Line
Count
Source
737
257
      const uint16_t *left, int bd) {                                       \
738
257
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
257
  }
aom_highbd_smooth_v_predictor_64x32_c
Line
Count
Source
737
281
      const uint16_t *left, int bd) {                                       \
738
281
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
281
  }
aom_highbd_smooth_v_predictor_4x16_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_v_predictor_16x4_c
Line
Count
Source
737
18.7k
      const uint16_t *left, int bd) {                                       \
738
18.7k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
18.7k
  }
aom_highbd_smooth_v_predictor_8x32_c
Line
Count
Source
737
6.89k
      const uint16_t *left, int bd) {                                       \
738
6.89k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
6.89k
  }
aom_highbd_smooth_v_predictor_32x8_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_smooth_v_predictor_16x64_c
Line
Count
Source
737
253
      const uint16_t *left, int bd) {                                       \
738
253
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
253
  }
aom_highbd_smooth_v_predictor_64x16_c
Line
Count
Source
737
382
      const uint16_t *left, int bd) {                                       \
738
382
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
382
  }
aom_highbd_smooth_h_predictor_4x4_c
Line
Count
Source
737
43.1k
      const uint16_t *left, int bd) {                                       \
738
43.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
43.1k
  }
aom_highbd_smooth_h_predictor_8x8_c
Line
Count
Source
737
54.8k
      const uint16_t *left, int bd) {                                       \
738
54.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
54.8k
  }
aom_highbd_smooth_h_predictor_16x16_c
Line
Count
Source
737
23.0k
      const uint16_t *left, int bd) {                                       \
738
23.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
23.0k
  }
aom_highbd_smooth_h_predictor_32x32_c
Line
Count
Source
737
27.8k
      const uint16_t *left, int bd) {                                       \
738
27.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
27.8k
  }
aom_highbd_smooth_h_predictor_64x64_c
Line
Count
Source
737
3.01k
      const uint16_t *left, int bd) {                                       \
738
3.01k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.01k
  }
aom_highbd_smooth_h_predictor_4x8_c
Line
Count
Source
737
15.3k
      const uint16_t *left, int bd) {                                       \
738
15.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
15.3k
  }
aom_highbd_smooth_h_predictor_8x4_c
Line
Count
Source
737
18.2k
      const uint16_t *left, int bd) {                                       \
738
18.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
18.2k
  }
aom_highbd_smooth_h_predictor_8x16_c
Line
Count
Source
737
16.0k
      const uint16_t *left, int bd) {                                       \
738
16.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
16.0k
  }
aom_highbd_smooth_h_predictor_16x8_c
Line
Count
Source
737
19.9k
      const uint16_t *left, int bd) {                                       \
738
19.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
19.9k
  }
aom_highbd_smooth_h_predictor_16x32_c
Line
Count
Source
737
6.25k
      const uint16_t *left, int bd) {                                       \
738
6.25k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
6.25k
  }
aom_highbd_smooth_h_predictor_32x16_c
Line
Count
Source
737
5.80k
      const uint16_t *left, int bd) {                                       \
738
5.80k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
5.80k
  }
aom_highbd_smooth_h_predictor_32x64_c
Line
Count
Source
737
351
      const uint16_t *left, int bd) {                                       \
738
351
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
351
  }
aom_highbd_smooth_h_predictor_64x32_c
Line
Count
Source
737
318
      const uint16_t *left, int bd) {                                       \
738
318
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
318
  }
aom_highbd_smooth_h_predictor_4x16_c
Line
Count
Source
737
9.29k
      const uint16_t *left, int bd) {                                       \
738
9.29k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
9.29k
  }
aom_highbd_smooth_h_predictor_16x4_c
Line
Count
Source
737
15.8k
      const uint16_t *left, int bd) {                                       \
738
15.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
15.8k
  }
aom_highbd_smooth_h_predictor_8x32_c
Line
Count
Source
737
5.74k
      const uint16_t *left, int bd) {                                       \
738
5.74k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
5.74k
  }
aom_highbd_smooth_h_predictor_32x8_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_smooth_h_predictor_16x64_c
Line
Count
Source
737
537
      const uint16_t *left, int bd) {                                       \
738
537
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
537
  }
aom_highbd_smooth_h_predictor_64x16_c
Line
Count
Source
737
467
      const uint16_t *left, int bd) {                                       \
738
467
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
467
  }
aom_highbd_paeth_predictor_4x4_c
Line
Count
Source
737
167k
      const uint16_t *left, int bd) {                                       \
738
167k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
167k
  }
aom_highbd_paeth_predictor_8x8_c
Line
Count
Source
737
82.7k
      const uint16_t *left, int bd) {                                       \
738
82.7k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
82.7k
  }
aom_highbd_paeth_predictor_16x16_c
Line
Count
Source
737
44.8k
      const uint16_t *left, int bd) {                                       \
738
44.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
44.8k
  }
aom_highbd_paeth_predictor_32x32_c
Line
Count
Source
737
130k
      const uint16_t *left, int bd) {                                       \
738
130k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
130k
  }
aom_highbd_paeth_predictor_64x64_c
Line
Count
Source
737
16.7k
      const uint16_t *left, int bd) {                                       \
738
16.7k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
16.7k
  }
aom_highbd_paeth_predictor_4x8_c
Line
Count
Source
737
28.8k
      const uint16_t *left, int bd) {                                       \
738
28.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
28.8k
  }
aom_highbd_paeth_predictor_8x4_c
Line
Count
Source
737
40.9k
      const uint16_t *left, int bd) {                                       \
738
40.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
40.9k
  }
aom_highbd_paeth_predictor_8x16_c
Line
Count
Source
737
32.4k
      const uint16_t *left, int bd) {                                       \
738
32.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
32.4k
  }
aom_highbd_paeth_predictor_16x8_c
Line
Count
Source
737
38.5k
      const uint16_t *left, int bd) {                                       \
738
38.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
38.5k
  }
aom_highbd_paeth_predictor_16x32_c
Line
Count
Source
737
57.5k
      const uint16_t *left, int bd) {                                       \
738
57.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
57.5k
  }
aom_highbd_paeth_predictor_32x16_c
Line
Count
Source
737
8.92k
      const uint16_t *left, int bd) {                                       \
738
8.92k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
8.92k
  }
aom_highbd_paeth_predictor_32x64_c
Line
Count
Source
737
6.36k
      const uint16_t *left, int bd) {                                       \
738
6.36k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
6.36k
  }
aom_highbd_paeth_predictor_64x32_c
Line
Count
Source
737
908
      const uint16_t *left, int bd) {                                       \
738
908
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
908
  }
aom_highbd_paeth_predictor_4x16_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_paeth_predictor_16x4_c
Line
Count
Source
737
31.6k
      const uint16_t *left, int bd) {                                       \
738
31.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
31.6k
  }
aom_highbd_paeth_predictor_8x32_c
Line
Count
Source
737
20.0k
      const uint16_t *left, int bd) {                                       \
738
20.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
20.0k
  }
aom_highbd_paeth_predictor_32x8_c
Line
Count
Source
737
13.3k
      const uint16_t *left, int bd) {                                       \
738
13.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
13.3k
  }
aom_highbd_paeth_predictor_16x64_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_paeth_predictor_64x16_c
Line
Count
Source
737
822
      const uint16_t *left, int bd) {                                       \
738
822
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
822
  }
aom_highbd_dc_128_predictor_4x4_c
Line
Count
Source
737
4.86k
      const uint16_t *left, int bd) {                                       \
738
4.86k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.86k
  }
aom_highbd_dc_128_predictor_8x8_c
Line
Count
Source
737
2.31k
      const uint16_t *left, int bd) {                                       \
738
2.31k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.31k
  }
aom_highbd_dc_128_predictor_16x16_c
Line
Count
Source
737
1.41k
      const uint16_t *left, int bd) {                                       \
738
1.41k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.41k
  }
aom_highbd_dc_128_predictor_32x32_c
Line
Count
Source
737
13.2k
      const uint16_t *left, int bd) {                                       \
738
13.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
13.2k
  }
aom_highbd_dc_128_predictor_64x64_c
Line
Count
Source
737
5.17k
      const uint16_t *left, int bd) {                                       \
738
5.17k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
5.17k
  }
aom_highbd_dc_128_predictor_4x8_c
Line
Count
Source
737
692
      const uint16_t *left, int bd) {                                       \
738
692
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
692
  }
aom_highbd_dc_128_predictor_8x4_c
Line
Count
Source
737
50
      const uint16_t *left, int bd) {                                       \
738
50
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
50
  }
aom_highbd_dc_128_predictor_8x16_c
Line
Count
Source
737
217
      const uint16_t *left, int bd) {                                       \
738
217
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
217
  }
aom_highbd_dc_128_predictor_16x8_c
Line
Count
Source
737
87
      const uint16_t *left, int bd) {                                       \
738
87
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
87
  }
aom_highbd_dc_128_predictor_16x32_c
Line
Count
Source
737
1.49k
      const uint16_t *left, int bd) {                                       \
738
1.49k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.49k
  }
aom_highbd_dc_128_predictor_32x16_c
Line
Count
Source
737
2.41k
      const uint16_t *left, int bd) {                                       \
738
2.41k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.41k
  }
aom_highbd_dc_128_predictor_32x64_c
Line
Count
Source
737
384
      const uint16_t *left, int bd) {                                       \
738
384
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
384
  }
aom_highbd_dc_128_predictor_64x32_c
Line
Count
Source
737
48
      const uint16_t *left, int bd) {                                       \
738
48
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
48
  }
aom_highbd_dc_128_predictor_4x16_c
Line
Count
Source
737
88
      const uint16_t *left, int bd) {                                       \
738
88
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
88
  }
aom_highbd_dc_128_predictor_16x4_c
Line
Count
Source
737
34
      const uint16_t *left, int bd) {                                       \
738
34
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
34
  }
aom_highbd_dc_128_predictor_8x32_c
Line
Count
Source
737
452
      const uint16_t *left, int bd) {                                       \
738
452
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
452
  }
aom_highbd_dc_128_predictor_32x8_c
Line
Count
Source
737
94
      const uint16_t *left, int bd) {                                       \
738
94
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
94
  }
aom_highbd_dc_128_predictor_16x64_c
Line
Count
Source
737
171
      const uint16_t *left, int bd) {                                       \
738
171
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
171
  }
aom_highbd_dc_128_predictor_64x16_c
Line
Count
Source
737
366
      const uint16_t *left, int bd) {                                       \
738
366
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
366
  }
aom_highbd_dc_left_predictor_4x4_c
Line
Count
Source
737
16.4k
      const uint16_t *left, int bd) {                                       \
738
16.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
16.4k
  }
aom_highbd_dc_left_predictor_8x8_c
Line
Count
Source
737
6.66k
      const uint16_t *left, int bd) {                                       \
738
6.66k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
6.66k
  }
aom_highbd_dc_left_predictor_16x16_c
Line
Count
Source
737
8.82k
      const uint16_t *left, int bd) {                                       \
738
8.82k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
8.82k
  }
aom_highbd_dc_left_predictor_32x32_c
Line
Count
Source
737
53.2k
      const uint16_t *left, int bd) {                                       \
738
53.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
53.2k
  }
aom_highbd_dc_left_predictor_64x64_c
Line
Count
Source
737
13.4k
      const uint16_t *left, int bd) {                                       \
738
13.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
13.4k
  }
aom_highbd_dc_left_predictor_4x8_c
Line
Count
Source
737
3.95k
      const uint16_t *left, int bd) {                                       \
738
3.95k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.95k
  }
aom_highbd_dc_left_predictor_8x4_c
Line
Count
Source
737
2.36k
      const uint16_t *left, int bd) {                                       \
738
2.36k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.36k
  }
aom_highbd_dc_left_predictor_8x16_c
Line
Count
Source
737
3.22k
      const uint16_t *left, int bd) {                                       \
738
3.22k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.22k
  }
aom_highbd_dc_left_predictor_16x8_c
Line
Count
Source
737
4.78k
      const uint16_t *left, int bd) {                                       \
738
4.78k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.78k
  }
aom_highbd_dc_left_predictor_16x32_c
Line
Count
Source
737
4.81k
      const uint16_t *left, int bd) {                                       \
738
4.81k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.81k
  }
aom_highbd_dc_left_predictor_32x16_c
Line
Count
Source
737
4.83k
      const uint16_t *left, int bd) {                                       \
738
4.83k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.83k
  }
aom_highbd_dc_left_predictor_32x64_c
Line
Count
Source
737
552
      const uint16_t *left, int bd) {                                       \
738
552
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
552
  }
aom_highbd_dc_left_predictor_64x32_c
Line
Count
Source
737
728
      const uint16_t *left, int bd) {                                       \
738
728
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
728
  }
aom_highbd_dc_left_predictor_4x16_c
Line
Count
Source
737
2.81k
      const uint16_t *left, int bd) {                                       \
738
2.81k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.81k
  }
aom_highbd_dc_left_predictor_16x4_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_dc_left_predictor_8x32_c
Line
Count
Source
737
3.64k
      const uint16_t *left, int bd) {                                       \
738
3.64k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.64k
  }
aom_highbd_dc_left_predictor_32x8_c
Line
Count
Source
737
1.54k
      const uint16_t *left, int bd) {                                       \
738
1.54k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.54k
  }
aom_highbd_dc_left_predictor_16x64_c
Line
Count
Source
737
1.37k
      const uint16_t *left, int bd) {                                       \
738
1.37k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.37k
  }
aom_highbd_dc_left_predictor_64x16_c
Line
Count
Source
737
366
      const uint16_t *left, int bd) {                                       \
738
366
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
366
  }
aom_highbd_dc_top_predictor_4x4_c
Line
Count
Source
737
90.4k
      const uint16_t *left, int bd) {                                       \
738
90.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
90.4k
  }
aom_highbd_dc_top_predictor_8x8_c
Line
Count
Source
737
16.8k
      const uint16_t *left, int bd) {                                       \
738
16.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
16.8k
  }
aom_highbd_dc_top_predictor_16x16_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_dc_top_predictor_32x32_c
Line
Count
Source
737
84.8k
      const uint16_t *left, int bd) {                                       \
738
84.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
84.8k
  }
aom_highbd_dc_top_predictor_64x64_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_dc_top_predictor_4x8_c
Line
Count
Source
737
51.2k
      const uint16_t *left, int bd) {                                       \
738
51.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
51.2k
  }
aom_highbd_dc_top_predictor_8x4_c
Line
Count
Source
737
13.2k
      const uint16_t *left, int bd) {                                       \
738
13.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
13.2k
  }
aom_highbd_dc_top_predictor_8x16_c
Line
Count
Source
737
22.6k
      const uint16_t *left, int bd) {                                       \
738
22.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
22.6k
  }
aom_highbd_dc_top_predictor_16x8_c
Line
Count
Source
737
4.49k
      const uint16_t *left, int bd) {                                       \
738
4.49k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.49k
  }
aom_highbd_dc_top_predictor_16x32_c
Line
Count
Source
737
18.5k
      const uint16_t *left, int bd) {                                       \
738
18.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
18.5k
  }
aom_highbd_dc_top_predictor_32x16_c
Line
Count
Source
737
5.53k
      const uint16_t *left, int bd) {                                       \
738
5.53k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
5.53k
  }
aom_highbd_dc_top_predictor_32x64_c
Line
Count
Source
737
6.18k
      const uint16_t *left, int bd) {                                       \
738
6.18k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
6.18k
  }
aom_highbd_dc_top_predictor_64x32_c
Line
Count
Source
737
511
      const uint16_t *left, int bd) {                                       \
738
511
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
511
  }
aom_highbd_dc_top_predictor_4x16_c
Line
Count
Source
737
3.05k
      const uint16_t *left, int bd) {                                       \
738
3.05k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.05k
  }
aom_highbd_dc_top_predictor_16x4_c
Line
Count
Source
737
2.71k
      const uint16_t *left, int bd) {                                       \
738
2.71k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.71k
  }
aom_highbd_dc_top_predictor_8x32_c
Line
Count
Source
737
5.55k
      const uint16_t *left, int bd) {                                       \
738
5.55k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
5.55k
  }
aom_highbd_dc_top_predictor_32x8_c
Line
Count
Source
737
2.72k
      const uint16_t *left, int bd) {                                       \
738
2.72k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.72k
  }
aom_highbd_dc_top_predictor_16x64_c
Line
Count
Source
737
532
      const uint16_t *left, int bd) {                                       \
738
532
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
532
  }
aom_highbd_dc_top_predictor_64x16_c
Line
Count
Source
737
1.46k
      const uint16_t *left, int bd) {                                       \
738
1.46k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.46k
  }
aom_highbd_dc_predictor_4x4_c
Line
Count
Source
737
1.18M
      const uint16_t *left, int bd) {                                       \
738
1.18M
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.18M
  }
aom_highbd_dc_predictor_8x8_c
Line
Count
Source
737
410k
      const uint16_t *left, int bd) {                                       \
738
410k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
410k
  }
aom_highbd_dc_predictor_16x16_c
Line
Count
Source
737
189k
      const uint16_t *left, int bd) {                                       \
738
189k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
189k
  }
aom_highbd_dc_predictor_32x32_c
Line
Count
Source
737
342k
      const uint16_t *left, int bd) {                                       \
738
342k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
342k
  }
aom_highbd_dc_predictor_64x64_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
  }
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