Coverage Report

Created: 2026-02-14 07:09

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
365k
                               const uint8_t *above, const uint8_t *left) {
25
365k
  int r;
26
365k
  (void)left;
27
28
3.09M
  for (r = 0; r < bh; r++) {
29
2.73M
    memcpy(dst, above, bw);
30
2.73M
    dst += stride;
31
2.73M
  }
32
365k
}
33
34
static inline void h_predictor(uint8_t *dst, ptrdiff_t stride, int bw, int bh,
35
328k
                               const uint8_t *above, const uint8_t *left) {
36
328k
  int r;
37
328k
  (void)above;
38
39
3.13M
  for (r = 0; r < bh; r++) {
40
2.81M
    memset(dst, left[r], bw);
41
2.81M
    dst += stride;
42
2.81M
  }
43
328k
}
44
45
1.90G
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
634M
                                              uint16_t top_left) {
49
634M
  const int base = top + left - top_left;
50
634M
  const int p_left = abs_diff(base, left);
51
634M
  const int p_top = abs_diff(base, top);
52
634M
  const int p_top_left = abs_diff(base, top_left);
53
54
  // Return nearest to base of left, top and top_left.
55
634M
  return (p_left <= p_top && p_left <= p_top_left) ? left
56
634M
         : (p_top <= p_top_left)                   ? top
57
71.9M
                                                   : top_left;
58
634M
}
59
60
static inline void paeth_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
61
                                   int bh, const uint8_t *above,
62
3.82M
                                   const uint8_t *left) {
63
3.82M
  int r, c;
64
3.82M
  const uint8_t ytop_left = above[-1];
65
66
30.9M
  for (r = 0; r < bh; r++) {
67
424M
    for (c = 0; c < bw; c++)
68
397M
      dst[c] = (uint8_t)paeth_predictor_single(left[r], above[c], ytop_left);
69
27.1M
    dst += stride;
70
27.1M
  }
71
3.82M
}
72
73
// Some basic checks on weights for smooth predictor.
74
#define sm_weights_sanity_checks(weights_w, weights_h, weights_scale, \
75
                                 pred_scale)                          \
76
1.89M
  assert(weights_w[0] < weights_scale);                               \
77
1.89M
  assert(weights_h[0] < weights_scale);                               \
78
1.89M
  assert(weights_scale - weights_w[bw - 1] < weights_scale);          \
79
1.89M
  assert(weights_scale - weights_h[bh - 1] < weights_scale);          \
80
1.89M
  assert(pred_scale < 31)  // ensures no overflow when calculating predictor.
81
82
448M
#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
524k
                                    const uint8_t *left) {
87
524k
  const uint8_t below_pred = left[bh - 1];   // estimated by bottom-left pixel
88
524k
  const uint8_t right_pred = above[bw - 1];  // estimated by top-right pixel
89
524k
  const uint8_t *const sm_weights_w = smooth_weights + bw - 4;
90
524k
  const uint8_t *const sm_weights_h = smooth_weights + bh - 4;
91
  // scale = 2 * 2^SMOOTH_WEIGHT_LOG2_SCALE
92
524k
  const int log2_scale = 1 + SMOOTH_WEIGHT_LOG2_SCALE;
93
524k
  const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE);
94
524k
  sm_weights_sanity_checks(sm_weights_w, sm_weights_h, scale,
95
524k
                           log2_scale + sizeof(*dst));
96
524k
  int r;
97
6.44M
  for (r = 0; r < bh; ++r) {
98
5.91M
    int c;
99
123M
    for (c = 0; c < bw; ++c) {
100
117M
      const uint8_t pixels[] = { above[c], below_pred, left[r], right_pred };
101
117M
      const uint8_t weights[] = { sm_weights_h[r], scale - sm_weights_h[r],
102
117M
                                  sm_weights_w[c], scale - sm_weights_w[c] };
103
117M
      uint32_t this_pred = 0;
104
117M
      int i;
105
117M
      assert(scale >= sm_weights_h[r] && scale >= sm_weights_w[c]);
106
588M
      for (i = 0; i < 4; ++i) {
107
470M
        this_pred += weights[i] * pixels[i];
108
470M
      }
109
117M
      dst[c] = divide_round(this_pred, log2_scale);
110
117M
    }
111
5.91M
    dst += stride;
112
5.91M
  }
113
524k
}
114
115
static inline void smooth_v_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
116
                                      int bh, const uint8_t *above,
117
171k
                                      const uint8_t *left) {
118
171k
  const uint8_t below_pred = left[bh - 1];  // estimated by bottom-left pixel
119
171k
  const uint8_t *const sm_weights = smooth_weights + bh - 4;
120
  // scale = 2^SMOOTH_WEIGHT_LOG2_SCALE
121
171k
  const int log2_scale = SMOOTH_WEIGHT_LOG2_SCALE;
122
171k
  const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE);
123
171k
  sm_weights_sanity_checks(sm_weights, sm_weights, scale,
124
171k
                           log2_scale + sizeof(*dst));
125
126
171k
  int r;
127
2.21M
  for (r = 0; r < bh; r++) {
128
2.04M
    int c;
129
45.1M
    for (c = 0; c < bw; ++c) {
130
43.0M
      const uint8_t pixels[] = { above[c], below_pred };
131
43.0M
      const uint8_t weights[] = { sm_weights[r], scale - sm_weights[r] };
132
43.0M
      uint32_t this_pred = 0;
133
43.0M
      assert(scale >= sm_weights[r]);
134
43.0M
      int i;
135
129M
      for (i = 0; i < 2; ++i) {
136
86.1M
        this_pred += weights[i] * pixels[i];
137
86.1M
      }
138
43.0M
      dst[c] = divide_round(this_pred, log2_scale);
139
43.0M
    }
140
2.04M
    dst += stride;
141
2.04M
  }
142
171k
}
143
144
static inline void smooth_h_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
145
                                      int bh, const uint8_t *above,
146
258k
                                      const uint8_t *left) {
147
258k
  const uint8_t right_pred = above[bw - 1];  // estimated by top-right pixel
148
258k
  const uint8_t *const sm_weights = smooth_weights + bw - 4;
149
  // scale = 2^SMOOTH_WEIGHT_LOG2_SCALE
150
258k
  const int log2_scale = SMOOTH_WEIGHT_LOG2_SCALE;
151
258k
  const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE);
152
258k
  sm_weights_sanity_checks(sm_weights, sm_weights, scale,
153
258k
                           log2_scale + sizeof(*dst));
154
155
258k
  int r;
156
3.38M
  for (r = 0; r < bh; r++) {
157
3.13M
    int c;
158
64.3M
    for (c = 0; c < bw; ++c) {
159
61.2M
      const uint8_t pixels[] = { left[r], right_pred };
160
61.2M
      const uint8_t weights[] = { sm_weights[c], scale - sm_weights[c] };
161
61.2M
      uint32_t this_pred = 0;
162
61.2M
      assert(scale >= sm_weights[c]);
163
61.2M
      int i;
164
183M
      for (i = 0; i < 2; ++i) {
165
122M
        this_pred += weights[i] * pixels[i];
166
122M
      }
167
61.2M
      dst[c] = divide_round(this_pred, log2_scale);
168
61.2M
    }
169
3.13M
    dst += stride;
170
3.13M
  }
171
258k
}
172
173
static inline void dc_128_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
174
                                    int bh, const uint8_t *above,
175
15.3k
                                    const uint8_t *left) {
176
15.3k
  int r;
177
15.3k
  (void)above;
178
15.3k
  (void)left;
179
180
367k
  for (r = 0; r < bh; r++) {
181
352k
    memset(dst, 128, bw);
182
352k
    dst += stride;
183
352k
  }
184
15.3k
}
185
186
static inline void dc_left_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
187
                                     int bh, const uint8_t *above,
188
137k
                                     const uint8_t *left) {
189
137k
  int i, r, expected_dc, sum = 0;
190
137k
  (void)above;
191
192
2.01M
  for (i = 0; i < bh; i++) sum += left[i];
193
137k
  expected_dc = (sum + (bh >> 1)) / bh;
194
195
2.01M
  for (r = 0; r < bh; r++) {
196
1.88M
    memset(dst, expected_dc, bw);
197
1.88M
    dst += stride;
198
1.88M
  }
199
137k
}
200
201
static inline void dc_top_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
202
                                    int bh, const uint8_t *above,
203
292k
                                    const uint8_t *left) {
204
292k
  int i, r, expected_dc, sum = 0;
205
292k
  (void)left;
206
207
4.01M
  for (i = 0; i < bw; i++) sum += above[i];
208
292k
  expected_dc = (sum + (bw >> 1)) / bw;
209
210
4.51M
  for (r = 0; r < bh; r++) {
211
4.21M
    memset(dst, expected_dc, bw);
212
4.21M
    dst += stride;
213
4.21M
  }
214
292k
}
215
216
static inline void dc_predictor(uint8_t *dst, ptrdiff_t stride, int bw, int bh,
217
3.14M
                                const uint8_t *above, const uint8_t *left) {
218
3.14M
  int i, r, expected_dc, sum = 0;
219
3.14M
  const int count = bw + bh;
220
221
29.8M
  for (i = 0; i < bw; i++) {
222
26.7M
    sum += above[i];
223
26.7M
  }
224
29.8M
  for (i = 0; i < bh; i++) {
225
26.7M
    sum += left[i];
226
26.7M
  }
227
228
3.14M
  expected_dc = (sum + (count >> 1)) / count;
229
230
29.8M
  for (r = 0; r < bh; r++) {
231
26.7M
    memset(dst, expected_dc, bw);
232
26.7M
    dst += stride;
233
26.7M
  }
234
3.14M
}
235
236
static inline int divide_using_multiply_shift(int num, int shift1,
237
1.80M
                                              int multiplier, int shift2) {
238
1.80M
  const int interm = num >> shift1;
239
1.80M
  return interm * multiplier >> shift2;
240
1.80M
}
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
547k
#define DC_MULTIPLIER_1X2 0x5556
261
304k
#define DC_MULTIPLIER_1X4 0x3334
262
263
851k
#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
851k
                                     int multiplier) {
269
851k
  int sum = 0;
270
271
10.9M
  for (int i = 0; i < bw; i++) {
272
10.0M
    sum += above[i];
273
10.0M
  }
274
10.5M
  for (int i = 0; i < bh; i++) {
275
9.74M
    sum += left[i];
276
9.74M
  }
277
278
851k
  const int expected_dc = divide_using_multiply_shift(
279
851k
      sum + ((bw + bh) >> 1), shift1, multiplier, DC_SHIFT2);
280
851k
  assert(expected_dc < (1 << 8));
281
282
10.5M
  for (int r = 0; r < bh; r++) {
283
9.74M
    memset(dst, expected_dc, bw);
284
9.74M
    dst += stride;
285
9.74M
  }
286
851k
}
287
288
#undef DC_SHIFT2
289
290
void aom_dc_predictor_4x8_c(uint8_t *dst, ptrdiff_t stride,
291
142k
                            const uint8_t *above, const uint8_t *left) {
292
142k
  dc_predictor_rect(dst, stride, 4, 8, above, left, 2, DC_MULTIPLIER_1X2);
293
142k
}
294
295
void aom_dc_predictor_8x4_c(uint8_t *dst, ptrdiff_t stride,
296
133k
                            const uint8_t *above, const uint8_t *left) {
297
133k
  dc_predictor_rect(dst, stride, 8, 4, above, left, 2, DC_MULTIPLIER_1X2);
298
133k
}
299
300
#if !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
301
void aom_dc_predictor_4x16_c(uint8_t *dst, ptrdiff_t stride,
302
89.0k
                             const uint8_t *above, const uint8_t *left) {
303
89.0k
  dc_predictor_rect(dst, stride, 4, 16, above, left, 2, DC_MULTIPLIER_1X4);
304
89.0k
}
305
306
void aom_dc_predictor_16x4_c(uint8_t *dst, ptrdiff_t stride,
307
117k
                             const uint8_t *above, const uint8_t *left) {
308
117k
  dc_predictor_rect(dst, stride, 16, 4, above, left, 2, DC_MULTIPLIER_1X4);
309
117k
}
310
#endif  // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
311
312
void aom_dc_predictor_8x16_c(uint8_t *dst, ptrdiff_t stride,
313
86.0k
                             const uint8_t *above, const uint8_t *left) {
314
86.0k
  dc_predictor_rect(dst, stride, 8, 16, above, left, 3, DC_MULTIPLIER_1X2);
315
86.0k
}
316
317
void aom_dc_predictor_16x8_c(uint8_t *dst, ptrdiff_t stride,
318
117k
                             const uint8_t *above, const uint8_t *left) {
319
117k
  dc_predictor_rect(dst, stride, 16, 8, above, left, 3, DC_MULTIPLIER_1X2);
320
117k
}
321
322
#if !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
323
void aom_dc_predictor_8x32_c(uint8_t *dst, ptrdiff_t stride,
324
52.2k
                             const uint8_t *above, const uint8_t *left) {
325
52.2k
  dc_predictor_rect(dst, stride, 8, 32, above, left, 3, DC_MULTIPLIER_1X4);
326
52.2k
}
327
328
void aom_dc_predictor_32x8_c(uint8_t *dst, ptrdiff_t stride,
329
40.3k
                             const uint8_t *above, const uint8_t *left) {
330
40.3k
  dc_predictor_rect(dst, stride, 32, 8, above, left, 3, DC_MULTIPLIER_1X4);
331
40.3k
}
332
#endif  // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
333
334
void aom_dc_predictor_16x32_c(uint8_t *dst, ptrdiff_t stride,
335
30.2k
                              const uint8_t *above, const uint8_t *left) {
336
30.2k
  dc_predictor_rect(dst, stride, 16, 32, above, left, 4, DC_MULTIPLIER_1X2);
337
30.2k
}
338
339
void aom_dc_predictor_32x16_c(uint8_t *dst, ptrdiff_t stride,
340
35.7k
                              const uint8_t *above, const uint8_t *left) {
341
35.7k
  dc_predictor_rect(dst, stride, 32, 16, above, left, 4, DC_MULTIPLIER_1X2);
342
35.7k
}
343
344
#if !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
345
void aom_dc_predictor_16x64_c(uint8_t *dst, ptrdiff_t stride,
346
2.93k
                              const uint8_t *above, const uint8_t *left) {
347
2.93k
  dc_predictor_rect(dst, stride, 16, 64, above, left, 4, DC_MULTIPLIER_1X4);
348
2.93k
}
349
350
void aom_dc_predictor_64x16_c(uint8_t *dst, ptrdiff_t stride,
351
2.09k
                              const uint8_t *above, const uint8_t *left) {
352
2.09k
  dc_predictor_rect(dst, stride, 64, 16, above, left, 4, DC_MULTIPLIER_1X4);
353
2.09k
}
354
#endif  // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER
355
356
void aom_dc_predictor_32x64_c(uint8_t *dst, ptrdiff_t stride,
357
1.03k
                              const uint8_t *above, const uint8_t *left) {
358
1.03k
  dc_predictor_rect(dst, stride, 32, 64, above, left, 5, DC_MULTIPLIER_1X2);
359
1.03k
}
360
361
void aom_dc_predictor_64x32_c(uint8_t *dst, ptrdiff_t stride,
362
1.30k
                              const uint8_t *above, const uint8_t *left) {
363
1.30k
  dc_predictor_rect(dst, stride, 64, 32, above, left, 5, DC_MULTIPLIER_1X2);
364
1.30k
}
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
125k
                                      const uint16_t *left, int bd) {
374
125k
  int r;
375
125k
  (void)left;
376
125k
  (void)bd;
377
1.62M
  for (r = 0; r < bh; r++) {
378
1.50M
    memcpy(dst, above, bw * sizeof(uint16_t));
379
1.50M
    dst += stride;
380
1.50M
  }
381
125k
}
382
383
static inline void highbd_h_predictor(uint16_t *dst, ptrdiff_t stride, int bw,
384
                                      int bh, const uint16_t *above,
385
184k
                                      const uint16_t *left, int bd) {
386
184k
  int r;
387
184k
  (void)above;
388
184k
  (void)bd;
389
2.21M
  for (r = 0; r < bh; r++) {
390
2.02M
    aom_memset16(dst, left[r], bw);
391
2.02M
    dst += stride;
392
2.02M
  }
393
184k
}
394
395
static inline void highbd_paeth_predictor(uint16_t *dst, ptrdiff_t stride,
396
                                          int bw, int bh, const uint16_t *above,
397
725k
                                          const uint16_t *left, int bd) {
398
725k
  int r, c;
399
725k
  const uint16_t ytop_left = above[-1];
400
725k
  (void)bd;
401
402
12.4M
  for (r = 0; r < bh; r++) {
403
248M
    for (c = 0; c < bw; c++)
404
237M
      dst[c] = paeth_predictor_single(left[r], above[c], ytop_left);
405
11.7M
    dst += stride;
406
11.7M
  }
407
725k
}
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
509k
                                           const uint16_t *left, int bd) {
413
509k
  (void)bd;
414
509k
  const uint16_t below_pred = left[bh - 1];   // estimated by bottom-left pixel
415
509k
  const uint16_t right_pred = above[bw - 1];  // estimated by top-right pixel
416
509k
  const uint8_t *const sm_weights_w = smooth_weights + bw - 4;
417
509k
  const uint8_t *const sm_weights_h = smooth_weights + bh - 4;
418
  // scale = 2 * 2^SMOOTH_WEIGHT_LOG2_SCALE
419
509k
  const int log2_scale = 1 + SMOOTH_WEIGHT_LOG2_SCALE;
420
509k
  const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE);
421
509k
  sm_weights_sanity_checks(sm_weights_w, sm_weights_h, scale,
422
509k
                           log2_scale + sizeof(*dst));
423
509k
  int r;
424
6.35M
  for (r = 0; r < bh; ++r) {
425
5.84M
    int c;
426
130M
    for (c = 0; c < bw; ++c) {
427
124M
      const uint16_t pixels[] = { above[c], below_pred, left[r], right_pred };
428
124M
      const uint8_t weights[] = { sm_weights_h[r], scale - sm_weights_h[r],
429
124M
                                  sm_weights_w[c], scale - sm_weights_w[c] };
430
124M
      uint32_t this_pred = 0;
431
124M
      int i;
432
124M
      assert(scale >= sm_weights_h[r] && scale >= sm_weights_w[c]);
433
622M
      for (i = 0; i < 4; ++i) {
434
498M
        this_pred += weights[i] * pixels[i];
435
498M
      }
436
124M
      dst[c] = divide_round(this_pred, log2_scale);
437
124M
    }
438
5.84M
    dst += stride;
439
5.84M
  }
440
509k
}
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
217k
                                             const uint16_t *left, int bd) {
446
217k
  (void)bd;
447
217k
  const uint16_t below_pred = left[bh - 1];  // estimated by bottom-left pixel
448
217k
  const uint8_t *const sm_weights = smooth_weights + bh - 4;
449
  // scale = 2^SMOOTH_WEIGHT_LOG2_SCALE
450
217k
  const int log2_scale = SMOOTH_WEIGHT_LOG2_SCALE;
451
217k
  const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE);
452
217k
  sm_weights_sanity_checks(sm_weights, sm_weights, scale,
453
217k
                           log2_scale + sizeof(*dst));
454
455
217k
  int r;
456
2.91M
  for (r = 0; r < bh; r++) {
457
2.70M
    int c;
458
52.1M
    for (c = 0; c < bw; ++c) {
459
49.4M
      const uint16_t pixels[] = { above[c], below_pred };
460
49.4M
      const uint8_t weights[] = { sm_weights[r], scale - sm_weights[r] };
461
49.4M
      uint32_t this_pred = 0;
462
49.4M
      assert(scale >= sm_weights[r]);
463
49.4M
      int i;
464
148M
      for (i = 0; i < 2; ++i) {
465
98.9M
        this_pred += weights[i] * pixels[i];
466
98.9M
      }
467
49.4M
      dst[c] = divide_round(this_pred, log2_scale);
468
49.4M
    }
469
2.70M
    dst += stride;
470
2.70M
  }
471
217k
}
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
207k
                                             const uint16_t *left, int bd) {
477
207k
  (void)bd;
478
207k
  const uint16_t right_pred = above[bw - 1];  // estimated by top-right pixel
479
207k
  const uint8_t *const sm_weights = smooth_weights + bw - 4;
480
  // scale = 2^SMOOTH_WEIGHT_LOG2_SCALE
481
207k
  const int log2_scale = SMOOTH_WEIGHT_LOG2_SCALE;
482
207k
  const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE);
483
207k
  sm_weights_sanity_checks(sm_weights, sm_weights, scale,
484
207k
                           log2_scale + sizeof(*dst));
485
486
207k
  int r;
487
2.75M
  for (r = 0; r < bh; r++) {
488
2.54M
    int c;
489
55.2M
    for (c = 0; c < bw; ++c) {
490
52.6M
      const uint16_t pixels[] = { left[r], right_pred };
491
52.6M
      const uint8_t weights[] = { sm_weights[c], scale - sm_weights[c] };
492
52.6M
      uint32_t this_pred = 0;
493
52.6M
      assert(scale >= sm_weights[c]);
494
52.6M
      int i;
495
158M
      for (i = 0; i < 2; ++i) {
496
105M
        this_pred += weights[i] * pixels[i];
497
105M
      }
498
52.6M
      dst[c] = divide_round(this_pred, log2_scale);
499
52.6M
    }
500
2.54M
    dst += stride;
501
2.54M
  }
502
207k
}
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
26.3k
                                           const uint16_t *left, int bd) {
508
26.3k
  int r;
509
26.3k
  (void)above;
510
26.3k
  (void)left;
511
512
790k
  for (r = 0; r < bh; r++) {
513
763k
    aom_memset16(dst, 128 << (bd - 8), bw);
514
763k
    dst += stride;
515
763k
  }
516
26.3k
}
517
518
static inline void highbd_dc_left_predictor(uint16_t *dst, ptrdiff_t stride,
519
                                            int bw, int bh,
520
                                            const uint16_t *above,
521
103k
                                            const uint16_t *left, int bd) {
522
103k
  int i, r, expected_dc, sum = 0;
523
103k
  (void)above;
524
103k
  (void)bd;
525
526
2.85M
  for (i = 0; i < bh; i++) sum += left[i];
527
103k
  expected_dc = (sum + (bh >> 1)) / bh;
528
529
2.85M
  for (r = 0; r < bh; r++) {
530
2.75M
    aom_memset16(dst, expected_dc, bw);
531
2.75M
    dst += stride;
532
2.75M
  }
533
103k
}
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
280k
                                           const uint16_t *left, int bd) {
539
280k
  int i, r, expected_dc, sum = 0;
540
280k
  (void)left;
541
280k
  (void)bd;
542
543
4.49M
  for (i = 0; i < bw; i++) sum += above[i];
544
280k
  expected_dc = (sum + (bw >> 1)) / bw;
545
546
5.13M
  for (r = 0; r < bh; r++) {
547
4.85M
    aom_memset16(dst, expected_dc, bw);
548
4.85M
    dst += stride;
549
4.85M
  }
550
280k
}
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.07M
                                       const uint16_t *left, int bd) {
555
2.07M
  int i, r, expected_dc, sum = 0;
556
2.07M
  const int count = bw + bh;
557
2.07M
  (void)bd;
558
559
21.4M
  for (i = 0; i < bw; i++) {
560
19.3M
    sum += above[i];
561
19.3M
  }
562
21.4M
  for (i = 0; i < bh; i++) {
563
19.3M
    sum += left[i];
564
19.3M
  }
565
566
2.07M
  expected_dc = (sum + (count >> 1)) / count;
567
568
21.4M
  for (r = 0; r < bh; r++) {
569
19.3M
    aom_memset16(dst, expected_dc, bw);
570
19.3M
    dst += stride;
571
19.3M
  }
572
2.07M
}
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
660k
#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
291k
#define HIGHBD_DC_MULTIPLIER_1X4 0x6667
585
586
951k
#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
951k
                                            int shift1, uint32_t multiplier) {
593
951k
  int sum = 0;
594
951k
  (void)bd;
595
596
12.2M
  for (int i = 0; i < bw; i++) {
597
11.3M
    sum += above[i];
598
11.3M
  }
599
11.3M
  for (int i = 0; i < bh; i++) {
600
10.3M
    sum += left[i];
601
10.3M
  }
602
603
951k
  const int expected_dc = divide_using_multiply_shift(
604
951k
      sum + ((bw + bh) >> 1), shift1, multiplier, HIGHBD_DC_SHIFT2);
605
951k
  assert(expected_dc < (1 << bd));
606
607
11.3M
  for (int r = 0; r < bh; r++) {
608
10.3M
    aom_memset16(dst, expected_dc, bw);
609
10.3M
    dst += stride;
610
10.3M
  }
611
951k
}
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
184k
                                   int bd) {
618
184k
  highbd_dc_predictor_rect(dst, stride, 4, 8, above, left, bd, 2,
619
184k
                           HIGHBD_DC_MULTIPLIER_1X2);
620
184k
}
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
172k
                                   int bd) {
625
172k
  highbd_dc_predictor_rect(dst, stride, 8, 4, above, left, bd, 2,
626
172k
                           HIGHBD_DC_MULTIPLIER_1X2);
627
172k
}
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
65.5k
                                    int bd) {
633
65.5k
  highbd_dc_predictor_rect(dst, stride, 4, 16, above, left, bd, 2,
634
65.5k
                           HIGHBD_DC_MULTIPLIER_1X4);
635
65.5k
}
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
125k
                                    int bd) {
640
125k
  highbd_dc_predictor_rect(dst, stride, 16, 4, above, left, bd, 2,
641
125k
                           HIGHBD_DC_MULTIPLIER_1X4);
642
125k
}
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
89.1k
                                    int bd) {
648
89.1k
  highbd_dc_predictor_rect(dst, stride, 8, 16, above, left, bd, 3,
649
89.1k
                           HIGHBD_DC_MULTIPLIER_1X2);
650
89.1k
}
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
134k
                                    int bd) {
655
134k
  highbd_dc_predictor_rect(dst, stride, 16, 8, above, left, bd, 3,
656
134k
                           HIGHBD_DC_MULTIPLIER_1X2);
657
134k
}
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
45.6k
                                    int bd) {
663
45.6k
  highbd_dc_predictor_rect(dst, stride, 8, 32, above, left, bd, 3,
664
45.6k
                           HIGHBD_DC_MULTIPLIER_1X4);
665
45.6k
}
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
49.0k
                                    int bd) {
670
49.0k
  highbd_dc_predictor_rect(dst, stride, 32, 8, above, left, bd, 3,
671
49.0k
                           HIGHBD_DC_MULTIPLIER_1X4);
672
49.0k
}
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
41.3k
                                     const uint16_t *left, int bd) {
678
41.3k
  highbd_dc_predictor_rect(dst, stride, 16, 32, above, left, bd, 4,
679
41.3k
                           HIGHBD_DC_MULTIPLIER_1X2);
680
41.3k
}
681
682
void aom_highbd_dc_predictor_32x16_c(uint16_t *dst, ptrdiff_t stride,
683
                                     const uint16_t *above,
684
35.1k
                                     const uint16_t *left, int bd) {
685
35.1k
  highbd_dc_predictor_rect(dst, stride, 32, 16, above, left, bd, 4,
686
35.1k
                           HIGHBD_DC_MULTIPLIER_1X2);
687
35.1k
}
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
3.51k
                                     const uint16_t *left, int bd) {
693
3.51k
  highbd_dc_predictor_rect(dst, stride, 16, 64, above, left, bd, 4,
694
3.51k
                           HIGHBD_DC_MULTIPLIER_1X4);
695
3.51k
}
696
697
void aom_highbd_dc_predictor_64x16_c(uint16_t *dst, ptrdiff_t stride,
698
                                     const uint16_t *above,
699
2.04k
                                     const uint16_t *left, int bd) {
700
2.04k
  highbd_dc_predictor_rect(dst, stride, 64, 16, above, left, bd, 4,
701
2.04k
                           HIGHBD_DC_MULTIPLIER_1X4);
702
2.04k
}
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.20k
                                     const uint16_t *left, int bd) {
708
1.20k
  highbd_dc_predictor_rect(dst, stride, 32, 64, above, left, bd, 5,
709
1.20k
                           HIGHBD_DC_MULTIPLIER_1X2);
710
1.20k
}
711
712
void aom_highbd_dc_predictor_64x32_c(uint16_t *dst, ptrdiff_t stride,
713
                                     const uint16_t *above,
714
2.14k
                                     const uint16_t *left, int bd) {
715
2.14k
  highbd_dc_predictor_rect(dst, stride, 64, 32, above, left, bd, 5,
716
2.14k
                           HIGHBD_DC_MULTIPLIER_1X2);
717
2.14k
}
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
9.06M
      const uint8_t *left) {                                   \
730
9.06M
    type##_predictor(dst, stride, width, height, above, left); \
731
9.06M
  }
aom_v_predictor_4x4_c
Line
Count
Source
729
257k
      const uint8_t *left) {                                   \
730
257k
    type##_predictor(dst, stride, width, height, above, left); \
731
257k
  }
aom_v_predictor_8x8_c
Line
Count
Source
729
16.8k
      const uint8_t *left) {                                   \
730
16.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
16.8k
  }
aom_v_predictor_16x16_c
Line
Count
Source
729
10.6k
      const uint8_t *left) {                                   \
730
10.6k
    type##_predictor(dst, stride, width, height, above, left); \
731
10.6k
  }
aom_v_predictor_32x32_c
Line
Count
Source
729
21.6k
      const uint8_t *left) {                                   \
730
21.6k
    type##_predictor(dst, stride, width, height, above, left); \
731
21.6k
  }
aom_v_predictor_64x64_c
Line
Count
Source
729
1.66k
      const uint8_t *left) {                                   \
730
1.66k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.66k
  }
aom_v_predictor_4x8_c
Line
Count
Source
729
9.12k
      const uint8_t *left) {                                   \
730
9.12k
    type##_predictor(dst, stride, width, height, above, left); \
731
9.12k
  }
aom_v_predictor_8x4_c
Line
Count
Source
729
13.2k
      const uint8_t *left) {                                   \
730
13.2k
    type##_predictor(dst, stride, width, height, above, left); \
731
13.2k
  }
aom_v_predictor_8x16_c
Line
Count
Source
729
5.83k
      const uint8_t *left) {                                   \
730
5.83k
    type##_predictor(dst, stride, width, height, above, left); \
731
5.83k
  }
aom_v_predictor_16x8_c
Line
Count
Source
729
7.83k
      const uint8_t *left) {                                   \
730
7.83k
    type##_predictor(dst, stride, width, height, above, left); \
731
7.83k
  }
aom_v_predictor_16x32_c
Line
Count
Source
729
2.38k
      const uint8_t *left) {                                   \
730
2.38k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.38k
  }
aom_v_predictor_32x16_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_v_predictor_32x64_c
Line
Count
Source
729
140
      const uint8_t *left) {                                   \
730
140
    type##_predictor(dst, stride, width, height, above, left); \
731
140
  }
aom_v_predictor_64x32_c
Line
Count
Source
729
149
      const uint8_t *left) {                                   \
730
149
    type##_predictor(dst, stride, width, height, above, left); \
731
149
  }
aom_v_predictor_4x16_c
Line
Count
Source
729
3.70k
      const uint8_t *left) {                                   \
730
3.70k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.70k
  }
aom_v_predictor_16x4_c
Line
Count
Source
729
6.83k
      const uint8_t *left) {                                   \
730
6.83k
    type##_predictor(dst, stride, width, height, above, left); \
731
6.83k
  }
aom_v_predictor_8x32_c
Line
Count
Source
729
1.95k
      const uint8_t *left) {                                   \
730
1.95k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.95k
  }
aom_v_predictor_32x8_c
Line
Count
Source
729
2.88k
      const uint8_t *left) {                                   \
730
2.88k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.88k
  }
aom_v_predictor_16x64_c
Line
Count
Source
729
250
      const uint8_t *left) {                                   \
730
250
    type##_predictor(dst, stride, width, height, above, left); \
731
250
  }
aom_v_predictor_64x16_c
Line
Count
Source
729
187
      const uint8_t *left) {                                   \
730
187
    type##_predictor(dst, stride, width, height, above, left); \
731
187
  }
aom_h_predictor_4x4_c
Line
Count
Source
729
187k
      const uint8_t *left) {                                   \
730
187k
    type##_predictor(dst, stride, width, height, above, left); \
731
187k
  }
aom_h_predictor_8x8_c
Line
Count
Source
729
21.3k
      const uint8_t *left) {                                   \
730
21.3k
    type##_predictor(dst, stride, width, height, above, left); \
731
21.3k
  }
aom_h_predictor_16x16_c
Line
Count
Source
729
21.2k
      const uint8_t *left) {                                   \
730
21.2k
    type##_predictor(dst, stride, width, height, above, left); \
731
21.2k
  }
aom_h_predictor_32x32_c
Line
Count
Source
729
20.7k
      const uint8_t *left) {                                   \
730
20.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
20.7k
  }
aom_h_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_h_predictor_4x8_c
Line
Count
Source
729
13.7k
      const uint8_t *left) {                                   \
730
13.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
13.7k
  }
aom_h_predictor_8x4_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_h_predictor_8x16_c
Line
Count
Source
729
7.23k
      const uint8_t *left) {                                   \
730
7.23k
    type##_predictor(dst, stride, width, height, above, left); \
731
7.23k
  }
aom_h_predictor_16x8_c
Line
Count
Source
729
9.03k
      const uint8_t *left) {                                   \
730
9.03k
    type##_predictor(dst, stride, width, height, above, left); \
731
9.03k
  }
aom_h_predictor_16x32_c
Line
Count
Source
729
2.38k
      const uint8_t *left) {                                   \
730
2.38k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.38k
  }
aom_h_predictor_32x16_c
Line
Count
Source
729
2.88k
      const uint8_t *left) {                                   \
730
2.88k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.88k
  }
aom_h_predictor_32x64_c
Line
Count
Source
729
173
      const uint8_t *left) {                                   \
730
173
    type##_predictor(dst, stride, width, height, above, left); \
731
173
  }
aom_h_predictor_64x32_c
Line
Count
Source
729
200
      const uint8_t *left) {                                   \
730
200
    type##_predictor(dst, stride, width, height, above, left); \
731
200
  }
aom_h_predictor_4x16_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_h_predictor_16x4_c
Line
Count
Source
729
8.56k
      const uint8_t *left) {                                   \
730
8.56k
    type##_predictor(dst, stride, width, height, above, left); \
731
8.56k
  }
aom_h_predictor_8x32_c
Line
Count
Source
729
2.45k
      const uint8_t *left) {                                   \
730
2.45k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.45k
  }
aom_h_predictor_32x8_c
Line
Count
Source
729
3.19k
      const uint8_t *left) {                                   \
730
3.19k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.19k
  }
aom_h_predictor_16x64_c
Line
Count
Source
729
322
      const uint8_t *left) {                                   \
730
322
    type##_predictor(dst, stride, width, height, above, left); \
731
322
  }
aom_h_predictor_64x16_c
Line
Count
Source
729
287
      const uint8_t *left) {                                   \
730
287
    type##_predictor(dst, stride, width, height, above, left); \
731
287
  }
aom_smooth_predictor_4x4_c
Line
Count
Source
729
161k
      const uint8_t *left) {                                   \
730
161k
    type##_predictor(dst, stride, width, height, above, left); \
731
161k
  }
aom_smooth_predictor_8x8_c
Line
Count
Source
729
67.1k
      const uint8_t *left) {                                   \
730
67.1k
    type##_predictor(dst, stride, width, height, above, left); \
731
67.1k
  }
aom_smooth_predictor_16x16_c
Line
Count
Source
729
49.1k
      const uint8_t *left) {                                   \
730
49.1k
    type##_predictor(dst, stride, width, height, above, left); \
731
49.1k
  }
aom_smooth_predictor_32x32_c
Line
Count
Source
729
38.7k
      const uint8_t *left) {                                   \
730
38.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
38.7k
  }
aom_smooth_predictor_64x64_c
Line
Count
Source
729
7.30k
      const uint8_t *left) {                                   \
730
7.30k
    type##_predictor(dst, stride, width, height, above, left); \
731
7.30k
  }
aom_smooth_predictor_4x8_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_8x4_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_8x16_c
Line
Count
Source
729
22.1k
      const uint8_t *left) {                                   \
730
22.1k
    type##_predictor(dst, stride, width, height, above, left); \
731
22.1k
  }
aom_smooth_predictor_16x8_c
Line
Count
Source
729
33.5k
      const uint8_t *left) {                                   \
730
33.5k
    type##_predictor(dst, stride, width, height, above, left); \
731
33.5k
  }
aom_smooth_predictor_16x32_c
Line
Count
Source
729
7.29k
      const uint8_t *left) {                                   \
730
7.29k
    type##_predictor(dst, stride, width, height, above, left); \
731
7.29k
  }
aom_smooth_predictor_32x16_c
Line
Count
Source
729
8.91k
      const uint8_t *left) {                                   \
730
8.91k
    type##_predictor(dst, stride, width, height, above, left); \
731
8.91k
  }
aom_smooth_predictor_32x64_c
Line
Count
Source
729
570
      const uint8_t *left) {                                   \
730
570
    type##_predictor(dst, stride, width, height, above, left); \
731
570
  }
aom_smooth_predictor_64x32_c
Line
Count
Source
729
526
      const uint8_t *left) {                                   \
730
526
    type##_predictor(dst, stride, width, height, above, left); \
731
526
  }
aom_smooth_predictor_4x16_c
Line
Count
Source
729
22.4k
      const uint8_t *left) {                                   \
730
22.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
22.4k
  }
aom_smooth_predictor_16x4_c
Line
Count
Source
729
30.0k
      const uint8_t *left) {                                   \
730
30.0k
    type##_predictor(dst, stride, width, height, above, left); \
731
30.0k
  }
aom_smooth_predictor_8x32_c
Line
Count
Source
729
7.79k
      const uint8_t *left) {                                   \
730
7.79k
    type##_predictor(dst, stride, width, height, above, left); \
731
7.79k
  }
aom_smooth_predictor_32x8_c
Line
Count
Source
729
9.54k
      const uint8_t *left) {                                   \
730
9.54k
    type##_predictor(dst, stride, width, height, above, left); \
731
9.54k
  }
aom_smooth_predictor_16x64_c
Line
Count
Source
729
731
      const uint8_t *left) {                                   \
730
731
    type##_predictor(dst, stride, width, height, above, left); \
731
731
  }
aom_smooth_predictor_64x16_c
Line
Count
Source
729
672
      const uint8_t *left) {                                   \
730
672
    type##_predictor(dst, stride, width, height, above, left); \
731
672
  }
aom_smooth_v_predictor_4x4_c
Line
Count
Source
729
47.7k
      const uint8_t *left) {                                   \
730
47.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
47.7k
  }
aom_smooth_v_predictor_8x8_c
Line
Count
Source
729
23.5k
      const uint8_t *left) {                                   \
730
23.5k
    type##_predictor(dst, stride, width, height, above, left); \
731
23.5k
  }
aom_smooth_v_predictor_16x16_c
Line
Count
Source
729
11.4k
      const uint8_t *left) {                                   \
730
11.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
11.4k
  }
aom_smooth_v_predictor_32x32_c
Line
Count
Source
729
17.5k
      const uint8_t *left) {                                   \
730
17.5k
    type##_predictor(dst, stride, width, height, above, left); \
731
17.5k
  }
aom_smooth_v_predictor_64x64_c
Line
Count
Source
729
2.32k
      const uint8_t *left) {                                   \
730
2.32k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.32k
  }
aom_smooth_v_predictor_4x8_c
Line
Count
Source
729
7.83k
      const uint8_t *left) {                                   \
730
7.83k
    type##_predictor(dst, stride, width, height, above, left); \
731
7.83k
  }
aom_smooth_v_predictor_8x4_c
Line
Count
Source
729
11.7k
      const uint8_t *left) {                                   \
730
11.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
11.7k
  }
aom_smooth_v_predictor_8x16_c
Line
Count
Source
729
7.70k
      const uint8_t *left) {                                   \
730
7.70k
    type##_predictor(dst, stride, width, height, above, left); \
731
7.70k
  }
aom_smooth_v_predictor_16x8_c
Line
Count
Source
729
10.7k
      const uint8_t *left) {                                   \
730
10.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
10.7k
  }
aom_smooth_v_predictor_16x32_c
Line
Count
Source
729
2.69k
      const uint8_t *left) {                                   \
730
2.69k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.69k
  }
aom_smooth_v_predictor_32x16_c
Line
Count
Source
729
3.73k
      const uint8_t *left) {                                   \
730
3.73k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.73k
  }
aom_smooth_v_predictor_32x64_c
Line
Count
Source
729
181
      const uint8_t *left) {                                   \
730
181
    type##_predictor(dst, stride, width, height, above, left); \
731
181
  }
aom_smooth_v_predictor_64x32_c
Line
Count
Source
729
137
      const uint8_t *left) {                                   \
730
137
    type##_predictor(dst, stride, width, height, above, left); \
731
137
  }
aom_smooth_v_predictor_4x16_c
Line
Count
Source
729
6.54k
      const uint8_t *left) {                                   \
730
6.54k
    type##_predictor(dst, stride, width, height, above, left); \
731
6.54k
  }
aom_smooth_v_predictor_16x4_c
Line
Count
Source
729
9.77k
      const uint8_t *left) {                                   \
730
9.77k
    type##_predictor(dst, stride, width, height, above, left); \
731
9.77k
  }
aom_smooth_v_predictor_8x32_c
Line
Count
Source
729
2.63k
      const uint8_t *left) {                                   \
730
2.63k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.63k
  }
aom_smooth_v_predictor_32x8_c
Line
Count
Source
729
4.89k
      const uint8_t *left) {                                   \
730
4.89k
    type##_predictor(dst, stride, width, height, above, left); \
731
4.89k
  }
aom_smooth_v_predictor_16x64_c
Line
Count
Source
729
245
      const uint8_t *left) {                                   \
730
245
    type##_predictor(dst, stride, width, height, above, left); \
731
245
  }
aom_smooth_v_predictor_64x16_c
Line
Count
Source
729
231
      const uint8_t *left) {                                   \
730
231
    type##_predictor(dst, stride, width, height, above, left); \
731
231
  }
aom_smooth_h_predictor_4x4_c
Line
Count
Source
729
60.8k
      const uint8_t *left) {                                   \
730
60.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
60.8k
  }
aom_smooth_h_predictor_8x8_c
Line
Count
Source
729
36.8k
      const uint8_t *left) {                                   \
730
36.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
36.8k
  }
aom_smooth_h_predictor_16x16_c
Line
Count
Source
729
28.8k
      const uint8_t *left) {                                   \
730
28.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
28.8k
  }
aom_smooth_h_predictor_32x32_c
Line
Count
Source
729
25.5k
      const uint8_t *left) {                                   \
730
25.5k
    type##_predictor(dst, stride, width, height, above, left); \
731
25.5k
  }
aom_smooth_h_predictor_64x64_c
Line
Count
Source
729
2.37k
      const uint8_t *left) {                                   \
730
2.37k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.37k
  }
aom_smooth_h_predictor_4x8_c
Line
Count
Source
729
11.1k
      const uint8_t *left) {                                   \
730
11.1k
    type##_predictor(dst, stride, width, height, above, left); \
731
11.1k
  }
aom_smooth_h_predictor_8x4_c
Line
Count
Source
729
17.2k
      const uint8_t *left) {                                   \
730
17.2k
    type##_predictor(dst, stride, width, height, above, left); \
731
17.2k
  }
aom_smooth_h_predictor_8x16_c
Line
Count
Source
729
11.7k
      const uint8_t *left) {                                   \
730
11.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
11.7k
  }
aom_smooth_h_predictor_16x8_c
Line
Count
Source
729
16.6k
      const uint8_t *left) {                                   \
730
16.6k
    type##_predictor(dst, stride, width, height, above, left); \
731
16.6k
  }
aom_smooth_h_predictor_16x32_c
Line
Count
Source
729
4.09k
      const uint8_t *left) {                                   \
730
4.09k
    type##_predictor(dst, stride, width, height, above, left); \
731
4.09k
  }
aom_smooth_h_predictor_32x16_c
Line
Count
Source
729
4.76k
      const uint8_t *left) {                                   \
730
4.76k
    type##_predictor(dst, stride, width, height, above, left); \
731
4.76k
  }
aom_smooth_h_predictor_32x64_c
Line
Count
Source
729
203
      const uint8_t *left) {                                   \
730
203
    type##_predictor(dst, stride, width, height, above, left); \
731
203
  }
aom_smooth_h_predictor_64x32_c
Line
Count
Source
729
154
      const uint8_t *left) {                                   \
730
154
    type##_predictor(dst, stride, width, height, above, left); \
731
154
  }
aom_smooth_h_predictor_4x16_c
Line
Count
Source
729
11.0k
      const uint8_t *left) {                                   \
730
11.0k
    type##_predictor(dst, stride, width, height, above, left); \
731
11.0k
  }
aom_smooth_h_predictor_16x4_c
Line
Count
Source
729
16.7k
      const uint8_t *left) {                                   \
730
16.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
16.7k
  }
aom_smooth_h_predictor_8x32_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_smooth_h_predictor_32x8_c
Line
Count
Source
729
5.30k
      const uint8_t *left) {                                   \
730
5.30k
    type##_predictor(dst, stride, width, height, above, left); \
731
5.30k
  }
aom_smooth_h_predictor_16x64_c
Line
Count
Source
729
302
      const uint8_t *left) {                                   \
730
302
    type##_predictor(dst, stride, width, height, above, left); \
731
302
  }
aom_smooth_h_predictor_64x16_c
Line
Count
Source
729
216
      const uint8_t *left) {                                   \
730
216
    type##_predictor(dst, stride, width, height, above, left); \
731
216
  }
aom_paeth_predictor_4x4_c
Line
Count
Source
729
3.11M
      const uint8_t *left) {                                   \
730
3.11M
    type##_predictor(dst, stride, width, height, above, left); \
731
3.11M
  }
aom_paeth_predictor_8x8_c
Line
Count
Source
729
75.2k
      const uint8_t *left) {                                   \
730
75.2k
    type##_predictor(dst, stride, width, height, above, left); \
731
75.2k
  }
aom_paeth_predictor_16x16_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_32x32_c
Line
Count
Source
729
162k
      const uint8_t *left) {                                   \
730
162k
    type##_predictor(dst, stride, width, height, above, left); \
731
162k
  }
aom_paeth_predictor_64x64_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_paeth_predictor_4x8_c
Line
Count
Source
729
30.4k
      const uint8_t *left) {                                   \
730
30.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
30.4k
  }
aom_paeth_predictor_8x4_c
Line
Count
Source
729
38.8k
      const uint8_t *left) {                                   \
730
38.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
38.8k
  }
aom_paeth_predictor_8x16_c
Line
Count
Source
729
29.8k
      const uint8_t *left) {                                   \
730
29.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
29.8k
  }
aom_paeth_predictor_16x8_c
Line
Count
Source
729
41.0k
      const uint8_t *left) {                                   \
730
41.0k
    type##_predictor(dst, stride, width, height, above, left); \
731
41.0k
  }
aom_paeth_predictor_16x32_c
Line
Count
Source
729
49.6k
      const uint8_t *left) {                                   \
730
49.6k
    type##_predictor(dst, stride, width, height, above, left); \
731
49.6k
  }
aom_paeth_predictor_32x16_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_paeth_predictor_32x64_c
Line
Count
Source
729
5.02k
      const uint8_t *left) {                                   \
730
5.02k
    type##_predictor(dst, stride, width, height, above, left); \
731
5.02k
  }
aom_paeth_predictor_64x32_c
Line
Count
Source
729
636
      const uint8_t *left) {                                   \
730
636
    type##_predictor(dst, stride, width, height, above, left); \
731
636
  }
aom_paeth_predictor_4x16_c
Line
Count
Source
729
121k
      const uint8_t *left) {                                   \
730
121k
    type##_predictor(dst, stride, width, height, above, left); \
731
121k
  }
aom_paeth_predictor_16x4_c
Line
Count
Source
729
37.4k
      const uint8_t *left) {                                   \
730
37.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
37.4k
  }
aom_paeth_predictor_8x32_c
Line
Count
Source
729
20.8k
      const uint8_t *left) {                                   \
730
20.8k
    type##_predictor(dst, stride, width, height, above, left); \
731
20.8k
  }
aom_paeth_predictor_32x8_c
Line
Count
Source
729
9.43k
      const uint8_t *left) {                                   \
730
9.43k
    type##_predictor(dst, stride, width, height, above, left); \
731
9.43k
  }
aom_paeth_predictor_16x64_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_paeth_predictor_64x16_c
Line
Count
Source
729
753
      const uint8_t *left) {                                   \
730
753
    type##_predictor(dst, stride, width, height, above, left); \
731
753
  }
aom_dc_128_predictor_4x4_c
Line
Count
Source
729
3.20k
      const uint8_t *left) {                                   \
730
3.20k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.20k
  }
aom_dc_128_predictor_8x8_c
Line
Count
Source
729
1.13k
      const uint8_t *left) {                                   \
730
1.13k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.13k
  }
aom_dc_128_predictor_16x16_c
Line
Count
Source
729
193
      const uint8_t *left) {                                   \
730
193
    type##_predictor(dst, stride, width, height, above, left); \
731
193
  }
aom_dc_128_predictor_32x32_c
Line
Count
Source
729
3.84k
      const uint8_t *left) {                                   \
730
3.84k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.84k
  }
aom_dc_128_predictor_64x64_c
Line
Count
Source
729
1.68k
      const uint8_t *left) {                                   \
730
1.68k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.68k
  }
aom_dc_128_predictor_4x8_c
Line
Count
Source
729
715
      const uint8_t *left) {                                   \
730
715
    type##_predictor(dst, stride, width, height, above, left); \
731
715
  }
aom_dc_128_predictor_8x4_c
Line
Count
Source
729
21
      const uint8_t *left) {                                   \
730
21
    type##_predictor(dst, stride, width, height, above, left); \
731
21
  }
aom_dc_128_predictor_8x16_c
Line
Count
Source
729
103
      const uint8_t *left) {                                   \
730
103
    type##_predictor(dst, stride, width, height, above, left); \
731
103
  }
aom_dc_128_predictor_16x8_c
Line
Count
Source
729
1.08k
      const uint8_t *left) {                                   \
730
1.08k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.08k
  }
aom_dc_128_predictor_16x32_c
Line
Count
Source
729
1.33k
      const uint8_t *left) {                                   \
730
1.33k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.33k
  }
aom_dc_128_predictor_32x16_c
Line
Count
Source
729
1.00k
      const uint8_t *left) {                                   \
730
1.00k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.00k
  }
aom_dc_128_predictor_32x64_c
Line
Count
Source
729
188
      const uint8_t *left) {                                   \
730
188
    type##_predictor(dst, stride, width, height, above, left); \
731
188
  }
aom_dc_128_predictor_64x32_c
Line
Count
Source
729
7
      const uint8_t *left) {                                   \
730
7
    type##_predictor(dst, stride, width, height, above, left); \
731
7
  }
aom_dc_128_predictor_4x16_c
Line
Count
Source
729
127
      const uint8_t *left) {                                   \
730
127
    type##_predictor(dst, stride, width, height, above, left); \
731
127
  }
aom_dc_128_predictor_16x4_c
Line
Count
Source
729
16
      const uint8_t *left) {                                   \
730
16
    type##_predictor(dst, stride, width, height, above, left); \
731
16
  }
aom_dc_128_predictor_8x32_c
Line
Count
Source
729
49
      const uint8_t *left) {                                   \
730
49
    type##_predictor(dst, stride, width, height, above, left); \
731
49
  }
aom_dc_128_predictor_32x8_c
Line
Count
Source
729
576
      const uint8_t *left) {                                   \
730
576
    type##_predictor(dst, stride, width, height, above, left); \
731
576
  }
aom_dc_128_predictor_16x64_c
Line
Count
Source
729
21
      const uint8_t *left) {                                   \
730
21
    type##_predictor(dst, stride, width, height, above, left); \
731
21
  }
aom_dc_128_predictor_64x16_c
Line
Count
Source
729
7
      const uint8_t *left) {                                   \
730
7
    type##_predictor(dst, stride, width, height, above, left); \
731
7
  }
aom_dc_left_predictor_4x4_c
Line
Count
Source
729
83.4k
      const uint8_t *left) {                                   \
730
83.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
83.4k
  }
aom_dc_left_predictor_8x8_c
Line
Count
Source
729
3.82k
      const uint8_t *left) {                                   \
730
3.82k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.82k
  }
aom_dc_left_predictor_16x16_c
Line
Count
Source
729
4.38k
      const uint8_t *left) {                                   \
730
4.38k
    type##_predictor(dst, stride, width, height, above, left); \
731
4.38k
  }
aom_dc_left_predictor_32x32_c
Line
Count
Source
729
23.0k
      const uint8_t *left) {                                   \
730
23.0k
    type##_predictor(dst, stride, width, height, above, left); \
731
23.0k
  }
aom_dc_left_predictor_64x64_c
Line
Count
Source
729
6.24k
      const uint8_t *left) {                                   \
730
6.24k
    type##_predictor(dst, stride, width, height, above, left); \
731
6.24k
  }
aom_dc_left_predictor_4x8_c
Line
Count
Source
729
2.52k
      const uint8_t *left) {                                   \
730
2.52k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.52k
  }
aom_dc_left_predictor_8x4_c
Line
Count
Source
729
1.33k
      const uint8_t *left) {                                   \
730
1.33k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.33k
  }
aom_dc_left_predictor_8x16_c
Line
Count
Source
729
1.67k
      const uint8_t *left) {                                   \
730
1.67k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.67k
  }
aom_dc_left_predictor_16x8_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_dc_left_predictor_16x32_c
Line
Count
Source
729
1.86k
      const uint8_t *left) {                                   \
730
1.86k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.86k
  }
aom_dc_left_predictor_32x16_c
Line
Count
Source
729
1.59k
      const uint8_t *left) {                                   \
730
1.59k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.59k
  }
aom_dc_left_predictor_32x64_c
Line
Count
Source
729
400
      const uint8_t *left) {                                   \
730
400
    type##_predictor(dst, stride, width, height, above, left); \
731
400
  }
aom_dc_left_predictor_64x32_c
Line
Count
Source
729
387
      const uint8_t *left) {                                   \
730
387
    type##_predictor(dst, stride, width, height, above, left); \
731
387
  }
aom_dc_left_predictor_4x16_c
Line
Count
Source
729
1.69k
      const uint8_t *left) {                                   \
730
1.69k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.69k
  }
aom_dc_left_predictor_16x4_c
Line
Count
Source
729
607
      const uint8_t *left) {                                   \
730
607
    type##_predictor(dst, stride, width, height, above, left); \
731
607
  }
aom_dc_left_predictor_8x32_c
Line
Count
Source
729
1.69k
      const uint8_t *left) {                                   \
730
1.69k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.69k
  }
aom_dc_left_predictor_32x8_c
Line
Count
Source
729
474
      const uint8_t *left) {                                   \
730
474
    type##_predictor(dst, stride, width, height, above, left); \
731
474
  }
aom_dc_left_predictor_16x64_c
Line
Count
Source
729
464
      const uint8_t *left) {                                   \
730
464
    type##_predictor(dst, stride, width, height, above, left); \
731
464
  }
aom_dc_left_predictor_64x16_c
Line
Count
Source
729
107
      const uint8_t *left) {                                   \
730
107
    type##_predictor(dst, stride, width, height, above, left); \
731
107
  }
aom_dc_top_predictor_4x4_c
Line
Count
Source
729
104k
      const uint8_t *left) {                                   \
730
104k
    type##_predictor(dst, stride, width, height, above, left); \
731
104k
  }
aom_dc_top_predictor_8x8_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_16x16_c
Line
Count
Source
729
10.6k
      const uint8_t *left) {                                   \
730
10.6k
    type##_predictor(dst, stride, width, height, above, left); \
731
10.6k
  }
aom_dc_top_predictor_32x32_c
Line
Count
Source
729
43.9k
      const uint8_t *left) {                                   \
730
43.9k
    type##_predictor(dst, stride, width, height, above, left); \
731
43.9k
  }
aom_dc_top_predictor_64x64_c
Line
Count
Source
729
7.54k
      const uint8_t *left) {                                   \
730
7.54k
    type##_predictor(dst, stride, width, height, above, left); \
731
7.54k
  }
aom_dc_top_predictor_4x8_c
Line
Count
Source
729
49.3k
      const uint8_t *left) {                                   \
730
49.3k
    type##_predictor(dst, stride, width, height, above, left); \
731
49.3k
  }
aom_dc_top_predictor_8x4_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_top_predictor_8x16_c
Line
Count
Source
729
17.6k
      const uint8_t *left) {                                   \
730
17.6k
    type##_predictor(dst, stride, width, height, above, left); \
731
17.6k
  }
aom_dc_top_predictor_16x8_c
Line
Count
Source
729
4.19k
      const uint8_t *left) {                                   \
730
4.19k
    type##_predictor(dst, stride, width, height, above, left); \
731
4.19k
  }
aom_dc_top_predictor_16x32_c
Line
Count
Source
729
15.4k
      const uint8_t *left) {                                   \
730
15.4k
    type##_predictor(dst, stride, width, height, above, left); \
731
15.4k
  }
aom_dc_top_predictor_32x16_c
Line
Count
Source
729
3.41k
      const uint8_t *left) {                                   \
730
3.41k
    type##_predictor(dst, stride, width, height, above, left); \
731
3.41k
  }
aom_dc_top_predictor_32x64_c
Line
Count
Source
729
2.85k
      const uint8_t *left) {                                   \
730
2.85k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.85k
  }
aom_dc_top_predictor_64x32_c
Line
Count
Source
729
680
      const uint8_t *left) {                                   \
730
680
    type##_predictor(dst, stride, width, height, above, left); \
731
680
  }
aom_dc_top_predictor_4x16_c
Line
Count
Source
729
2.31k
      const uint8_t *left) {                                   \
730
2.31k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.31k
  }
aom_dc_top_predictor_16x4_c
Line
Count
Source
729
1.56k
      const uint8_t *left) {                                   \
730
1.56k
    type##_predictor(dst, stride, width, height, above, left); \
731
1.56k
  }
aom_dc_top_predictor_8x32_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_top_predictor_32x8_c
Line
Count
Source
729
2.06k
      const uint8_t *left) {                                   \
730
2.06k
    type##_predictor(dst, stride, width, height, above, left); \
731
2.06k
  }
aom_dc_top_predictor_16x64_c
Line
Count
Source
729
215
      const uint8_t *left) {                                   \
730
215
    type##_predictor(dst, stride, width, height, above, left); \
731
215
  }
aom_dc_top_predictor_64x16_c
Line
Count
Source
729
488
      const uint8_t *left) {                                   \
730
488
    type##_predictor(dst, stride, width, height, above, left); \
731
488
  }
aom_dc_predictor_4x4_c
Line
Count
Source
729
2.37M
      const uint8_t *left) {                                   \
730
2.37M
    type##_predictor(dst, stride, width, height, above, left); \
731
2.37M
  }
aom_dc_predictor_8x8_c
Line
Count
Source
729
236k
      const uint8_t *left) {                                   \
730
236k
    type##_predictor(dst, stride, width, height, above, left); \
731
236k
  }
aom_dc_predictor_16x16_c
Line
Count
Source
729
161k
      const uint8_t *left) {                                   \
730
161k
    type##_predictor(dst, stride, width, height, above, left); \
731
161k
  }
aom_dc_predictor_32x32_c
Line
Count
Source
729
340k
      const uint8_t *left) {                                   \
730
340k
    type##_predictor(dst, stride, width, height, above, left); \
731
340k
  }
aom_dc_predictor_64x64_c
Line
Count
Source
729
28.7k
      const uint8_t *left) {                                   \
730
28.7k
    type##_predictor(dst, stride, width, height, above, left); \
731
28.7k
  }
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
4.45M
      const uint16_t *left, int bd) {                                       \
738
4.45M
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.45M
  }
aom_highbd_v_predictor_4x4_c
Line
Count
Source
737
33.3k
      const uint16_t *left, int bd) {                                       \
738
33.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
33.3k
  }
aom_highbd_v_predictor_8x8_c
Line
Count
Source
737
17.8k
      const uint16_t *left, int bd) {                                       \
738
17.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
17.8k
  }
aom_highbd_v_predictor_16x16_c
Line
Count
Source
737
6.94k
      const uint16_t *left, int bd) {                                       \
738
6.94k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
6.94k
  }
aom_highbd_v_predictor_32x32_c
Line
Count
Source
737
12.7k
      const uint16_t *left, int bd) {                                       \
738
12.7k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
12.7k
  }
aom_highbd_v_predictor_64x64_c
Line
Count
Source
737
2.19k
      const uint16_t *left, int bd) {                                       \
738
2.19k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.19k
  }
aom_highbd_v_predictor_4x8_c
Line
Count
Source
737
8.99k
      const uint16_t *left, int bd) {                                       \
738
8.99k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
8.99k
  }
aom_highbd_v_predictor_8x4_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_v_predictor_8x16_c
Line
Count
Source
737
4.64k
      const uint16_t *left, int bd) {                                       \
738
4.64k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.64k
  }
aom_highbd_v_predictor_16x8_c
Line
Count
Source
737
6.88k
      const uint16_t *left, int bd) {                                       \
738
6.88k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
6.88k
  }
aom_highbd_v_predictor_16x32_c
Line
Count
Source
737
2.91k
      const uint16_t *left, int bd) {                                       \
738
2.91k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.91k
  }
aom_highbd_v_predictor_32x16_c
Line
Count
Source
737
1.80k
      const uint16_t *left, int bd) {                                       \
738
1.80k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.80k
  }
aom_highbd_v_predictor_32x64_c
Line
Count
Source
737
143
      const uint16_t *left, int bd) {                                       \
738
143
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
143
  }
aom_highbd_v_predictor_64x32_c
Line
Count
Source
737
173
      const uint16_t *left, int bd) {                                       \
738
173
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
173
  }
aom_highbd_v_predictor_4x16_c
Line
Count
Source
737
2.98k
      const uint16_t *left, int bd) {                                       \
738
2.98k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.98k
  }
aom_highbd_v_predictor_16x4_c
Line
Count
Source
737
6.21k
      const uint16_t *left, int bd) {                                       \
738
6.21k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
6.21k
  }
aom_highbd_v_predictor_8x32_c
Line
Count
Source
737
2.11k
      const uint16_t *left, int bd) {                                       \
738
2.11k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.11k
  }
aom_highbd_v_predictor_32x8_c
Line
Count
Source
737
2.73k
      const uint16_t *left, int bd) {                                       \
738
2.73k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.73k
  }
aom_highbd_v_predictor_16x64_c
Line
Count
Source
737
213
      const uint16_t *left, int bd) {                                       \
738
213
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
213
  }
aom_highbd_v_predictor_64x16_c
Line
Count
Source
737
263
      const uint16_t *left, int bd) {                                       \
738
263
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
263
  }
aom_highbd_h_predictor_4x4_c
Line
Count
Source
737
43.4k
      const uint16_t *left, int bd) {                                       \
738
43.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
43.4k
  }
aom_highbd_h_predictor_8x8_c
Line
Count
Source
737
28.6k
      const uint16_t *left, int bd) {                                       \
738
28.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
28.6k
  }
aom_highbd_h_predictor_16x16_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_h_predictor_32x32_c
Line
Count
Source
737
13.6k
      const uint16_t *left, int bd) {                                       \
738
13.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
13.6k
  }
aom_highbd_h_predictor_64x64_c
Line
Count
Source
737
1.87k
      const uint16_t *left, int bd) {                                       \
738
1.87k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.87k
  }
aom_highbd_h_predictor_4x8_c
Line
Count
Source
737
14.3k
      const uint16_t *left, int bd) {                                       \
738
14.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
14.3k
  }
aom_highbd_h_predictor_8x4_c
Line
Count
Source
737
20.1k
      const uint16_t *left, int bd) {                                       \
738
20.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
20.1k
  }
aom_highbd_h_predictor_8x16_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_16x8_c
Line
Count
Source
737
10.7k
      const uint16_t *left, int bd) {                                       \
738
10.7k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
10.7k
  }
aom_highbd_h_predictor_16x32_c
Line
Count
Source
737
2.54k
      const uint16_t *left, int bd) {                                       \
738
2.54k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.54k
  }
aom_highbd_h_predictor_32x16_c
Line
Count
Source
737
3.17k
      const uint16_t *left, int bd) {                                       \
738
3.17k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.17k
  }
aom_highbd_h_predictor_32x64_c
Line
Count
Source
737
157
      const uint16_t *left, int bd) {                                       \
738
157
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
157
  }
aom_highbd_h_predictor_64x32_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_h_predictor_4x16_c
Line
Count
Source
737
4.53k
      const uint16_t *left, int bd) {                                       \
738
4.53k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.53k
  }
aom_highbd_h_predictor_16x4_c
Line
Count
Source
737
9.95k
      const uint16_t *left, int bd) {                                       \
738
9.95k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
9.95k
  }
aom_highbd_h_predictor_8x32_c
Line
Count
Source
737
3.13k
      const uint16_t *left, int bd) {                                       \
738
3.13k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.13k
  }
aom_highbd_h_predictor_32x8_c
Line
Count
Source
737
4.38k
      const uint16_t *left, int bd) {                                       \
738
4.38k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.38k
  }
aom_highbd_h_predictor_16x64_c
Line
Count
Source
737
327
      const uint16_t *left, int bd) {                                       \
738
327
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
327
  }
aom_highbd_h_predictor_64x16_c
Line
Count
Source
737
412
      const uint16_t *left, int bd) {                                       \
738
412
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
412
  }
aom_highbd_smooth_predictor_4x4_c
Line
Count
Source
737
147k
      const uint16_t *left, int bd) {                                       \
738
147k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
147k
  }
aom_highbd_smooth_predictor_8x8_c
Line
Count
Source
737
76.4k
      const uint16_t *left, int bd) {                                       \
738
76.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
76.4k
  }
aom_highbd_smooth_predictor_16x16_c
Line
Count
Source
737
37.2k
      const uint16_t *left, int bd) {                                       \
738
37.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
37.2k
  }
aom_highbd_smooth_predictor_32x32_c
Line
Count
Source
737
31.8k
      const uint16_t *left, int bd) {                                       \
738
31.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
31.8k
  }
aom_highbd_smooth_predictor_64x64_c
Line
Count
Source
737
10.6k
      const uint16_t *left, int bd) {                                       \
738
10.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
10.6k
  }
aom_highbd_smooth_predictor_4x8_c
Line
Count
Source
737
25.0k
      const uint16_t *left, int bd) {                                       \
738
25.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
25.0k
  }
aom_highbd_smooth_predictor_8x4_c
Line
Count
Source
737
35.7k
      const uint16_t *left, int bd) {                                       \
738
35.7k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
35.7k
  }
aom_highbd_smooth_predictor_8x16_c
Line
Count
Source
737
23.8k
      const uint16_t *left, int bd) {                                       \
738
23.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
23.8k
  }
aom_highbd_smooth_predictor_16x8_c
Line
Count
Source
737
32.5k
      const uint16_t *left, int bd) {                                       \
738
32.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
32.5k
  }
aom_highbd_smooth_predictor_16x32_c
Line
Count
Source
737
10.2k
      const uint16_t *left, int bd) {                                       \
738
10.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
10.2k
  }
aom_highbd_smooth_predictor_32x16_c
Line
Count
Source
737
7.42k
      const uint16_t *left, int bd) {                                       \
738
7.42k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
7.42k
  }
aom_highbd_smooth_predictor_32x64_c
Line
Count
Source
737
771
      const uint16_t *left, int bd) {                                       \
738
771
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
771
  }
aom_highbd_smooth_predictor_64x32_c
Line
Count
Source
737
699
      const uint16_t *left, int bd) {                                       \
738
699
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
699
  }
aom_highbd_smooth_predictor_4x16_c
Line
Count
Source
737
15.0k
      const uint16_t *left, int bd) {                                       \
738
15.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
15.0k
  }
aom_highbd_smooth_predictor_16x4_c
Line
Count
Source
737
30.3k
      const uint16_t *left, int bd) {                                       \
738
30.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
30.3k
  }
aom_highbd_smooth_predictor_8x32_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_predictor_32x8_c
Line
Count
Source
737
12.8k
      const uint16_t *left, int bd) {                                       \
738
12.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
12.8k
  }
aom_highbd_smooth_predictor_16x64_c
Line
Count
Source
737
751
      const uint16_t *left, int bd) {                                       \
738
751
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
751
  }
aom_highbd_smooth_predictor_64x16_c
Line
Count
Source
737
809
      const uint16_t *left, int bd) {                                       \
738
809
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
809
  }
aom_highbd_smooth_v_predictor_4x4_c
Line
Count
Source
737
28.9k
      const uint16_t *left, int bd) {                                       \
738
28.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
28.9k
  }
aom_highbd_smooth_v_predictor_8x8_c
Line
Count
Source
737
36.2k
      const uint16_t *left, int bd) {                                       \
738
36.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
36.2k
  }
aom_highbd_smooth_v_predictor_16x16_c
Line
Count
Source
737
18.1k
      const uint16_t *left, int bd) {                                       \
738
18.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
18.1k
  }
aom_highbd_smooth_v_predictor_32x32_c
Line
Count
Source
737
18.4k
      const uint16_t *left, int bd) {                                       \
738
18.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
18.4k
  }
aom_highbd_smooth_v_predictor_64x64_c
Line
Count
Source
737
1.53k
      const uint16_t *left, int bd) {                                       \
738
1.53k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.53k
  }
aom_highbd_smooth_v_predictor_4x8_c
Line
Count
Source
737
14.5k
      const uint16_t *left, int bd) {                                       \
738
14.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
14.5k
  }
aom_highbd_smooth_v_predictor_8x4_c
Line
Count
Source
737
17.3k
      const uint16_t *left, int bd) {                                       \
738
17.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
17.3k
  }
aom_highbd_smooth_v_predictor_8x16_c
Line
Count
Source
737
14.0k
      const uint16_t *left, int bd) {                                       \
738
14.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
14.0k
  }
aom_highbd_smooth_v_predictor_16x8_c
Line
Count
Source
737
19.6k
      const uint16_t *left, int bd) {                                       \
738
19.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
19.6k
  }
aom_highbd_smooth_v_predictor_16x32_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_v_predictor_32x16_c
Line
Count
Source
737
4.07k
      const uint16_t *left, int bd) {                                       \
738
4.07k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.07k
  }
aom_highbd_smooth_v_predictor_32x64_c
Line
Count
Source
737
192
      const uint16_t *left, int bd) {                                       \
738
192
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
192
  }
aom_highbd_smooth_v_predictor_64x32_c
Line
Count
Source
737
212
      const uint16_t *left, int bd) {                                       \
738
212
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
212
  }
aom_highbd_smooth_v_predictor_4x16_c
Line
Count
Source
737
8.46k
      const uint16_t *left, int bd) {                                       \
738
8.46k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
8.46k
  }
aom_highbd_smooth_v_predictor_16x4_c
Line
Count
Source
737
15.6k
      const uint16_t *left, int bd) {                                       \
738
15.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
15.6k
  }
aom_highbd_smooth_v_predictor_8x32_c
Line
Count
Source
737
6.27k
      const uint16_t *left, int bd) {                                       \
738
6.27k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
6.27k
  }
aom_highbd_smooth_v_predictor_32x8_c
Line
Count
Source
737
7.90k
      const uint16_t *left, int bd) {                                       \
738
7.90k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
7.90k
  }
aom_highbd_smooth_v_predictor_16x64_c
Line
Count
Source
737
194
      const uint16_t *left, int bd) {                                       \
738
194
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
194
  }
aom_highbd_smooth_v_predictor_64x16_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_smooth_h_predictor_4x4_c
Line
Count
Source
737
44.3k
      const uint16_t *left, int bd) {                                       \
738
44.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
44.3k
  }
aom_highbd_smooth_h_predictor_8x8_c
Line
Count
Source
737
38.7k
      const uint16_t *left, int bd) {                                       \
738
38.7k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
38.7k
  }
aom_highbd_smooth_h_predictor_16x16_c
Line
Count
Source
737
16.2k
      const uint16_t *left, int bd) {                                       \
738
16.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
16.2k
  }
aom_highbd_smooth_h_predictor_32x32_c
Line
Count
Source
737
17.3k
      const uint16_t *left, int bd) {                                       \
738
17.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
17.3k
  }
aom_highbd_smooth_h_predictor_64x64_c
Line
Count
Source
737
3.43k
      const uint16_t *left, int bd) {                                       \
738
3.43k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.43k
  }
aom_highbd_smooth_h_predictor_4x8_c
Line
Count
Source
737
10.8k
      const uint16_t *left, int bd) {                                       \
738
10.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
10.8k
  }
aom_highbd_smooth_h_predictor_8x4_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_smooth_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_smooth_h_predictor_16x8_c
Line
Count
Source
737
14.5k
      const uint16_t *left, int bd) {                                       \
738
14.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
14.5k
  }
aom_highbd_smooth_h_predictor_16x32_c
Line
Count
Source
737
4.38k
      const uint16_t *left, int bd) {                                       \
738
4.38k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.38k
  }
aom_highbd_smooth_h_predictor_32x16_c
Line
Count
Source
737
3.68k
      const uint16_t *left, int bd) {                                       \
738
3.68k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.68k
  }
aom_highbd_smooth_h_predictor_32x64_c
Line
Count
Source
737
243
      const uint16_t *left, int bd) {                                       \
738
243
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
243
  }
aom_highbd_smooth_h_predictor_64x32_c
Line
Count
Source
737
194
      const uint16_t *left, int bd) {                                       \
738
194
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
194
  }
aom_highbd_smooth_h_predictor_4x16_c
Line
Count
Source
737
6.54k
      const uint16_t *left, int bd) {                                       \
738
6.54k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
6.54k
  }
aom_highbd_smooth_h_predictor_16x4_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_h_predictor_8x32_c
Line
Count
Source
737
4.29k
      const uint16_t *left, int bd) {                                       \
738
4.29k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.29k
  }
aom_highbd_smooth_h_predictor_32x8_c
Line
Count
Source
737
5.91k
      const uint16_t *left, int bd) {                                       \
738
5.91k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
5.91k
  }
aom_highbd_smooth_h_predictor_16x64_c
Line
Count
Source
737
391
      const uint16_t *left, int bd) {                                       \
738
391
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
391
  }
aom_highbd_smooth_h_predictor_64x16_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_paeth_predictor_4x4_c
Line
Count
Source
737
144k
      const uint16_t *left, int bd) {                                       \
738
144k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
144k
  }
aom_highbd_paeth_predictor_8x8_c
Line
Count
Source
737
67.9k
      const uint16_t *left, int bd) {                                       \
738
67.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
67.9k
  }
aom_highbd_paeth_predictor_16x16_c
Line
Count
Source
737
35.3k
      const uint16_t *left, int bd) {                                       \
738
35.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
35.3k
  }
aom_highbd_paeth_predictor_32x32_c
Line
Count
Source
737
93.9k
      const uint16_t *left, int bd) {                                       \
738
93.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
93.9k
  }
aom_highbd_paeth_predictor_64x64_c
Line
Count
Source
737
12.3k
      const uint16_t *left, int bd) {                                       \
738
12.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
12.3k
  }
aom_highbd_paeth_predictor_4x8_c
Line
Count
Source
737
24.9k
      const uint16_t *left, int bd) {                                       \
738
24.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
24.9k
  }
aom_highbd_paeth_predictor_8x4_c
Line
Count
Source
737
33.3k
      const uint16_t *left, int bd) {                                       \
738
33.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
33.3k
  }
aom_highbd_paeth_predictor_8x16_c
Line
Count
Source
737
26.9k
      const uint16_t *left, int bd) {                                       \
738
26.9k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
26.9k
  }
aom_highbd_paeth_predictor_16x8_c
Line
Count
Source
737
35.0k
      const uint16_t *left, int bd) {                                       \
738
35.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
35.0k
  }
aom_highbd_paeth_predictor_16x32_c
Line
Count
Source
737
44.6k
      const uint16_t *left, int bd) {                                       \
738
44.6k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
44.6k
  }
aom_highbd_paeth_predictor_32x16_c
Line
Count
Source
737
6.62k
      const uint16_t *left, int bd) {                                       \
738
6.62k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
6.62k
  }
aom_highbd_paeth_predictor_32x64_c
Line
Count
Source
737
5.42k
      const uint16_t *left, int bd) {                                       \
738
5.42k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
5.42k
  }
aom_highbd_paeth_predictor_64x32_c
Line
Count
Source
737
763
      const uint16_t *left, int bd) {                                       \
738
763
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
763
  }
aom_highbd_paeth_predictor_4x16_c
Line
Count
Source
737
129k
      const uint16_t *left, int bd) {                                       \
738
129k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
129k
  }
aom_highbd_paeth_predictor_16x4_c
Line
Count
Source
737
31.5k
      const uint16_t *left, int bd) {                                       \
738
31.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
31.5k
  }
aom_highbd_paeth_predictor_8x32_c
Line
Count
Source
737
12.2k
      const uint16_t *left, int bd) {                                       \
738
12.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
12.2k
  }
aom_highbd_paeth_predictor_32x8_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_paeth_predictor_16x64_c
Line
Count
Source
737
9.78k
      const uint16_t *left, int bd) {                                       \
738
9.78k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
9.78k
  }
aom_highbd_paeth_predictor_64x16_c
Line
Count
Source
737
503
      const uint16_t *left, int bd) {                                       \
738
503
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
503
  }
aom_highbd_dc_128_predictor_4x4_c
Line
Count
Source
737
3.56k
      const uint16_t *left, int bd) {                                       \
738
3.56k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.56k
  }
aom_highbd_dc_128_predictor_8x8_c
Line
Count
Source
737
1.98k
      const uint16_t *left, int bd) {                                       \
738
1.98k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.98k
  }
aom_highbd_dc_128_predictor_16x16_c
Line
Count
Source
737
1.32k
      const uint16_t *left, int bd) {                                       \
738
1.32k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.32k
  }
aom_highbd_dc_128_predictor_32x32_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_dc_128_predictor_64x64_c
Line
Count
Source
737
4.16k
      const uint16_t *left, int bd) {                                       \
738
4.16k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
4.16k
  }
aom_highbd_dc_128_predictor_4x8_c
Line
Count
Source
737
849
      const uint16_t *left, int bd) {                                       \
738
849
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
849
  }
aom_highbd_dc_128_predictor_8x4_c
Line
Count
Source
737
35
      const uint16_t *left, int bd) {                                       \
738
35
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
35
  }
aom_highbd_dc_128_predictor_8x16_c
Line
Count
Source
737
130
      const uint16_t *left, int bd) {                                       \
738
130
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
130
  }
aom_highbd_dc_128_predictor_16x8_c
Line
Count
Source
737
136
      const uint16_t *left, int bd) {                                       \
738
136
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
136
  }
aom_highbd_dc_128_predictor_16x32_c
Line
Count
Source
737
1.02k
      const uint16_t *left, int bd) {                                       \
738
1.02k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.02k
  }
aom_highbd_dc_128_predictor_32x16_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_128_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_dc_128_predictor_64x32_c
Line
Count
Source
737
25
      const uint16_t *left, int bd) {                                       \
738
25
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
25
  }
aom_highbd_dc_128_predictor_4x16_c
Line
Count
Source
737
82
      const uint16_t *left, int bd) {                                       \
738
82
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
82
  }
aom_highbd_dc_128_predictor_16x4_c
Line
Count
Source
737
35
      const uint16_t *left, int bd) {                                       \
738
35
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
35
  }
aom_highbd_dc_128_predictor_8x32_c
Line
Count
Source
737
188
      const uint16_t *left, int bd) {                                       \
738
188
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
188
  }
aom_highbd_dc_128_predictor_32x8_c
Line
Count
Source
737
38
      const uint16_t *left, int bd) {                                       \
738
38
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
38
  }
aom_highbd_dc_128_predictor_16x64_c
Line
Count
Source
737
74
      const uint16_t *left, int bd) {                                       \
738
74
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
74
  }
aom_highbd_dc_128_predictor_64x16_c
Line
Count
Source
737
3
      const uint16_t *left, int bd) {                                       \
738
3
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3
  }
aom_highbd_dc_left_predictor_4x4_c
Line
Count
Source
737
16.5k
      const uint16_t *left, int bd) {                                       \
738
16.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
16.5k
  }
aom_highbd_dc_left_predictor_8x8_c
Line
Count
Source
737
3.57k
      const uint16_t *left, int bd) {                                       \
738
3.57k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.57k
  }
aom_highbd_dc_left_predictor_16x16_c
Line
Count
Source
737
6.37k
      const uint16_t *left, int bd) {                                       \
738
6.37k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
6.37k
  }
aom_highbd_dc_left_predictor_32x32_c
Line
Count
Source
737
43.5k
      const uint16_t *left, int bd) {                                       \
738
43.5k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
43.5k
  }
aom_highbd_dc_left_predictor_64x64_c
Line
Count
Source
737
11.4k
      const uint16_t *left, int bd) {                                       \
738
11.4k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
11.4k
  }
aom_highbd_dc_left_predictor_4x8_c
Line
Count
Source
737
2.76k
      const uint16_t *left, int bd) {                                       \
738
2.76k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.76k
  }
aom_highbd_dc_left_predictor_8x4_c
Line
Count
Source
737
1.31k
      const uint16_t *left, int bd) {                                       \
738
1.31k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.31k
  }
aom_highbd_dc_left_predictor_8x16_c
Line
Count
Source
737
2.39k
      const uint16_t *left, int bd) {                                       \
738
2.39k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.39k
  }
aom_highbd_dc_left_predictor_16x8_c
Line
Count
Source
737
2.52k
      const uint16_t *left, int bd) {                                       \
738
2.52k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.52k
  }
aom_highbd_dc_left_predictor_16x32_c
Line
Count
Source
737
3.15k
      const uint16_t *left, int bd) {                                       \
738
3.15k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
3.15k
  }
aom_highbd_dc_left_predictor_32x16_c
Line
Count
Source
737
1.75k
      const uint16_t *left, int bd) {                                       \
738
1.75k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.75k
  }
aom_highbd_dc_left_predictor_32x64_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_dc_left_predictor_64x32_c
Line
Count
Source
737
360
      const uint16_t *left, int bd) {                                       \
738
360
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
360
  }
aom_highbd_dc_left_predictor_4x16_c
Line
Count
Source
737
2.00k
      const uint16_t *left, int bd) {                                       \
738
2.00k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.00k
  }
aom_highbd_dc_left_predictor_16x4_c
Line
Count
Source
737
732
      const uint16_t *left, int bd) {                                       \
738
732
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
732
  }
aom_highbd_dc_left_predictor_8x32_c
Line
Count
Source
737
2.18k
      const uint16_t *left, int bd) {                                       \
738
2.18k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.18k
  }
aom_highbd_dc_left_predictor_32x8_c
Line
Count
Source
737
999
      const uint16_t *left, int bd) {                                       \
738
999
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
999
  }
aom_highbd_dc_left_predictor_16x64_c
Line
Count
Source
737
843
      const uint16_t *left, int bd) {                                       \
738
843
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
843
  }
aom_highbd_dc_left_predictor_64x16_c
Line
Count
Source
737
245
      const uint16_t *left, int bd) {                                       \
738
245
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
245
  }
aom_highbd_dc_top_predictor_4x4_c
Line
Count
Source
737
67.0k
      const uint16_t *left, int bd) {                                       \
738
67.0k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
67.0k
  }
aom_highbd_dc_top_predictor_8x8_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_dc_top_predictor_16x16_c
Line
Count
Source
737
5.07k
      const uint16_t *left, int bd) {                                       \
738
5.07k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
5.07k
  }
aom_highbd_dc_top_predictor_32x32_c
Line
Count
Source
737
62.1k
      const uint16_t *left, int bd) {                                       \
738
62.1k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
62.1k
  }
aom_highbd_dc_top_predictor_64x64_c
Line
Count
Source
737
9.35k
      const uint16_t *left, int bd) {                                       \
738
9.35k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
9.35k
  }
aom_highbd_dc_top_predictor_4x8_c
Line
Count
Source
737
60.2k
      const uint16_t *left, int bd) {                                       \
738
60.2k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
60.2k
  }
aom_highbd_dc_top_predictor_8x4_c
Line
Count
Source
737
10.8k
      const uint16_t *left, int bd) {                                       \
738
10.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
10.8k
  }
aom_highbd_dc_top_predictor_8x16_c
Line
Count
Source
737
19.8k
      const uint16_t *left, int bd) {                                       \
738
19.8k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
19.8k
  }
aom_highbd_dc_top_predictor_16x8_c
Line
Count
Source
737
2.49k
      const uint16_t *left, int bd) {                                       \
738
2.49k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.49k
  }
aom_highbd_dc_top_predictor_16x32_c
Line
Count
Source
737
14.3k
      const uint16_t *left, int bd) {                                       \
738
14.3k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
14.3k
  }
aom_highbd_dc_top_predictor_32x16_c
Line
Count
Source
737
2.51k
      const uint16_t *left, int bd) {                                       \
738
2.51k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
2.51k
  }
aom_highbd_dc_top_predictor_32x64_c
Line
Count
Source
737
5.30k
      const uint16_t *left, int bd) {                                       \
738
5.30k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
5.30k
  }
aom_highbd_dc_top_predictor_64x32_c
Line
Count
Source
737
343
      const uint16_t *left, int bd) {                                       \
738
343
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
343
  }
aom_highbd_dc_top_predictor_4x16_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_top_predictor_16x4_c
Line
Count
Source
737
1.70k
      const uint16_t *left, int bd) {                                       \
738
1.70k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.70k
  }
aom_highbd_dc_top_predictor_8x32_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_dc_top_predictor_32x8_c
Line
Count
Source
737
1.64k
      const uint16_t *left, int bd) {                                       \
738
1.64k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.64k
  }
aom_highbd_dc_top_predictor_16x64_c
Line
Count
Source
737
298
      const uint16_t *left, int bd) {                                       \
738
298
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
298
  }
aom_highbd_dc_top_predictor_64x16_c
Line
Count
Source
737
544
      const uint16_t *left, int bd) {                                       \
738
544
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
544
  }
aom_highbd_dc_predictor_4x4_c
Line
Count
Source
737
1.36M
      const uint16_t *left, int bd) {                                       \
738
1.36M
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
1.36M
  }
aom_highbd_dc_predictor_8x8_c
Line
Count
Source
737
311k
      const uint16_t *left, int bd) {                                       \
738
311k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
311k
  }
aom_highbd_dc_predictor_16x16_c
Line
Count
Source
737
138k
      const uint16_t *left, int bd) {                                       \
738
138k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
138k
  }
aom_highbd_dc_predictor_32x32_c
Line
Count
Source
737
238k
      const uint16_t *left, int bd) {                                       \
738
238k
    highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \
739
238k
  }
aom_highbd_dc_predictor_64x64_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
  }
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