/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 | 493k | const uint8_t *above, const uint8_t *left) { |
25 | 493k | int r; |
26 | 493k | (void)left; |
27 | | |
28 | 5.67M | for (r = 0; r < bh; r++) { |
29 | 5.17M | memcpy(dst, above, bw); |
30 | 5.17M | dst += stride; |
31 | 5.17M | } |
32 | 493k | } |
33 | | |
34 | | static INLINE void h_predictor(uint8_t *dst, ptrdiff_t stride, int bw, int bh, |
35 | 717k | const uint8_t *above, const uint8_t *left) { |
36 | 717k | int r; |
37 | 717k | (void)above; |
38 | | |
39 | 8.40M | for (r = 0; r < bh; r++) { |
40 | 7.69M | memset(dst, left[r], bw); |
41 | 7.69M | dst += stride; |
42 | 7.69M | } |
43 | 717k | } |
44 | | |
45 | 4.25G | static INLINE int abs_diff(int a, int b) { return (a > b) ? a - b : b - a; } |
46 | | |
47 | | static INLINE uint16_t paeth_predictor_single(uint16_t left, uint16_t top, |
48 | 1.41G | uint16_t top_left) { |
49 | 1.41G | const int base = top + left - top_left; |
50 | 1.41G | const int p_left = abs_diff(base, left); |
51 | 1.41G | const int p_top = abs_diff(base, top); |
52 | 1.41G | const int p_top_left = abs_diff(base, top_left); |
53 | | |
54 | | // Return nearest to base of left, top and top_left. |
55 | 1.41G | return (p_left <= p_top && p_left <= p_top_left) |
56 | 1.41G | ? left |
57 | 1.41G | : (p_top <= p_top_left) ? top : top_left; |
58 | 1.41G | } |
59 | | |
60 | | static INLINE void paeth_predictor(uint8_t *dst, ptrdiff_t stride, int bw, |
61 | | int bh, const uint8_t *above, |
62 | 2.58M | const uint8_t *left) { |
63 | 2.58M | int r, c; |
64 | 2.58M | const uint8_t ytop_left = above[-1]; |
65 | | |
66 | 42.3M | for (r = 0; r < bh; r++) { |
67 | 708M | for (c = 0; c < bw; c++) |
68 | 669M | dst[c] = (uint8_t)paeth_predictor_single(left[r], above[c], ytop_left); |
69 | 39.7M | dst += stride; |
70 | 39.7M | } |
71 | 2.58M | } |
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 | 5.18M | assert(weights_w[0] < weights_scale); \ |
77 | 5.18M | assert(weights_h[0] < weights_scale); \ |
78 | 5.18M | assert(weights_scale - weights_w[bw - 1] < weights_scale); \ |
79 | 5.18M | assert(weights_scale - weights_h[bh - 1] < weights_scale); \ |
80 | 5.18M | assert(pred_scale < 31) // ensures no overflow when calculating predictor. |
81 | | |
82 | 1.04G | #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 | 1.35M | const uint8_t *left) { |
87 | 1.35M | const uint8_t below_pred = left[bh - 1]; // estimated by bottom-left pixel |
88 | 1.35M | const uint8_t right_pred = above[bw - 1]; // estimated by top-right pixel |
89 | 1.35M | const uint8_t *const sm_weights_w = sm_weight_arrays + bw; |
90 | 1.35M | const uint8_t *const sm_weights_h = sm_weight_arrays + bh; |
91 | | // scale = 2 * 2^sm_weight_log2_scale |
92 | 1.35M | const int log2_scale = 1 + sm_weight_log2_scale; |
93 | 1.35M | const uint16_t scale = (1 << sm_weight_log2_scale); |
94 | 5.42M | sm_weights_sanity_checks(sm_weights_w, sm_weights_h, scale, |
95 | 1.35M | log2_scale + sizeof(*dst)); |
96 | 1.35M | int r; |
97 | 16.4M | for (r = 0; r < bh; ++r) { |
98 | 15.1M | int c; |
99 | 295M | for (c = 0; c < bw; ++c) { |
100 | 280M | const uint8_t pixels[] = { above[c], below_pred, left[r], right_pred }; |
101 | 280M | const uint8_t weights[] = { sm_weights_h[r], scale - sm_weights_h[r], |
102 | 280M | sm_weights_w[c], scale - sm_weights_w[c] }; |
103 | 280M | uint32_t this_pred = 0; |
104 | 280M | int i; |
105 | 280M | assert(scale >= sm_weights_h[r] && scale >= sm_weights_w[c]); |
106 | 1.40G | for (i = 0; i < 4; ++i) { |
107 | 1.12G | this_pred += weights[i] * pixels[i]; |
108 | 1.12G | } |
109 | 280M | dst[c] = divide_round(this_pred, log2_scale); |
110 | 280M | } |
111 | 15.1M | dst += stride; |
112 | 15.1M | } |
113 | 1.35M | } |
114 | | |
115 | | static INLINE void smooth_v_predictor(uint8_t *dst, ptrdiff_t stride, int bw, |
116 | | int bh, const uint8_t *above, |
117 | 430k | const uint8_t *left) { |
118 | 430k | const uint8_t below_pred = left[bh - 1]; // estimated by bottom-left pixel |
119 | 430k | const uint8_t *const sm_weights = sm_weight_arrays + bh; |
120 | | // scale = 2^sm_weight_log2_scale |
121 | 430k | const int log2_scale = sm_weight_log2_scale; |
122 | 430k | const uint16_t scale = (1 << sm_weight_log2_scale); |
123 | 1.72M | sm_weights_sanity_checks(sm_weights, sm_weights, scale, |
124 | 430k | log2_scale + sizeof(*dst)); |
125 | | |
126 | 430k | int r; |
127 | 5.33M | for (r = 0; r < bh; r++) { |
128 | 4.90M | int c; |
129 | 96.6M | for (c = 0; c < bw; ++c) { |
130 | 91.7M | const uint8_t pixels[] = { above[c], below_pred }; |
131 | 91.7M | const uint8_t weights[] = { sm_weights[r], scale - sm_weights[r] }; |
132 | 91.7M | uint32_t this_pred = 0; |
133 | 91.7M | assert(scale >= sm_weights[r]); |
134 | 91.7M | int i; |
135 | 275M | for (i = 0; i < 2; ++i) { |
136 | 183M | this_pred += weights[i] * pixels[i]; |
137 | 183M | } |
138 | 91.7M | dst[c] = divide_round(this_pred, log2_scale); |
139 | 91.7M | } |
140 | 4.90M | dst += stride; |
141 | 4.90M | } |
142 | 430k | } |
143 | | |
144 | | static INLINE void smooth_h_predictor(uint8_t *dst, ptrdiff_t stride, int bw, |
145 | | int bh, const uint8_t *above, |
146 | 677k | const uint8_t *left) { |
147 | 677k | const uint8_t right_pred = above[bw - 1]; // estimated by top-right pixel |
148 | 677k | const uint8_t *const sm_weights = sm_weight_arrays + bw; |
149 | | // scale = 2^sm_weight_log2_scale |
150 | 677k | const int log2_scale = sm_weight_log2_scale; |
151 | 677k | const uint16_t scale = (1 << sm_weight_log2_scale); |
152 | 2.70M | sm_weights_sanity_checks(sm_weights, sm_weights, scale, |
153 | 677k | log2_scale + sizeof(*dst)); |
154 | | |
155 | 677k | int r; |
156 | 8.42M | for (r = 0; r < bh; r++) { |
157 | 7.74M | int c; |
158 | 150M | for (c = 0; c < bw; ++c) { |
159 | 142M | const uint8_t pixels[] = { left[r], right_pred }; |
160 | 142M | const uint8_t weights[] = { sm_weights[c], scale - sm_weights[c] }; |
161 | 142M | uint32_t this_pred = 0; |
162 | 142M | assert(scale >= sm_weights[c]); |
163 | 142M | int i; |
164 | 426M | for (i = 0; i < 2; ++i) { |
165 | 284M | this_pred += weights[i] * pixels[i]; |
166 | 284M | } |
167 | 142M | dst[c] = divide_round(this_pred, log2_scale); |
168 | 142M | } |
169 | 7.74M | dst += stride; |
170 | 7.74M | } |
171 | 677k | } |
172 | | |
173 | | static INLINE void dc_128_predictor(uint8_t *dst, ptrdiff_t stride, int bw, |
174 | | int bh, const uint8_t *above, |
175 | 22.0k | const uint8_t *left) { |
176 | 22.0k | int r; |
177 | 22.0k | (void)above; |
178 | 22.0k | (void)left; |
179 | | |
180 | 653k | for (r = 0; r < bh; r++) { |
181 | 631k | memset(dst, 128, bw); |
182 | 631k | dst += stride; |
183 | 631k | } |
184 | 22.0k | } |
185 | | |
186 | | static INLINE void dc_left_predictor(uint8_t *dst, ptrdiff_t stride, int bw, |
187 | | int bh, const uint8_t *above, |
188 | 256k | const uint8_t *left) { |
189 | 256k | int i, r, expected_dc, sum = 0; |
190 | 256k | (void)above; |
191 | | |
192 | 5.52M | for (i = 0; i < bh; i++) sum += left[i]; |
193 | 256k | expected_dc = (sum + (bh >> 1)) / bh; |
194 | | |
195 | 5.52M | for (r = 0; r < bh; r++) { |
196 | 5.26M | memset(dst, expected_dc, bw); |
197 | 5.26M | dst += stride; |
198 | 5.26M | } |
199 | 256k | } |
200 | | |
201 | | static INLINE void dc_top_predictor(uint8_t *dst, ptrdiff_t stride, int bw, |
202 | | int bh, const uint8_t *above, |
203 | 322k | const uint8_t *left) { |
204 | 322k | int i, r, expected_dc, sum = 0; |
205 | 322k | (void)left; |
206 | | |
207 | 5.78M | for (i = 0; i < bw; i++) sum += above[i]; |
208 | 322k | expected_dc = (sum + (bw >> 1)) / bw; |
209 | | |
210 | 6.78M | for (r = 0; r < bh; r++) { |
211 | 6.46M | memset(dst, expected_dc, bw); |
212 | 6.46M | dst += stride; |
213 | 6.46M | } |
214 | 322k | } |
215 | | |
216 | | static INLINE void dc_predictor(uint8_t *dst, ptrdiff_t stride, int bw, int bh, |
217 | 4.55M | const uint8_t *above, const uint8_t *left) { |
218 | 4.55M | int i, r, expected_dc, sum = 0; |
219 | 4.55M | const int count = bw + bh; |
220 | | |
221 | 57.8M | for (i = 0; i < bw; i++) { |
222 | 53.3M | sum += above[i]; |
223 | 53.3M | } |
224 | 57.8M | for (i = 0; i < bh; i++) { |
225 | 53.3M | sum += left[i]; |
226 | 53.3M | } |
227 | | |
228 | 4.55M | expected_dc = (sum + (count >> 1)) / count; |
229 | | |
230 | 57.8M | for (r = 0; r < bh; r++) { |
231 | 53.3M | memset(dst, expected_dc, bw); |
232 | 53.3M | dst += stride; |
233 | 53.3M | } |
234 | 4.55M | } |
235 | | |
236 | | static INLINE int divide_using_multiply_shift(int num, int shift1, |
237 | 4.27M | int multiplier, int shift2) { |
238 | 4.27M | const int interm = num >> shift1; |
239 | 4.27M | return interm * multiplier >> shift2; |
240 | 4.27M | } |
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 | 1.34M | #define DC_MULTIPLIER_1X2 0x5556 |
261 | 729k | #define DC_MULTIPLIER_1X4 0x3334 |
262 | | |
263 | 2.07M | #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 | 2.07M | int multiplier) { |
269 | 2.07M | int sum = 0; |
270 | | |
271 | 27.5M | for (int i = 0; i < bw; i++) { |
272 | 25.4M | sum += above[i]; |
273 | 25.4M | } |
274 | 25.7M | for (int i = 0; i < bh; i++) { |
275 | 23.6M | sum += left[i]; |
276 | 23.6M | } |
277 | | |
278 | 2.07M | const int expected_dc = divide_using_multiply_shift( |
279 | 2.07M | sum + ((bw + bh) >> 1), shift1, multiplier, DC_SHIFT2); |
280 | 2.07M | assert(expected_dc < (1 << 8)); |
281 | | |
282 | 25.7M | for (int r = 0; r < bh; r++) { |
283 | 23.6M | memset(dst, expected_dc, bw); |
284 | 23.6M | dst += stride; |
285 | 23.6M | } |
286 | 2.07M | } |
287 | | |
288 | | #undef DC_SHIFT2 |
289 | | |
290 | | void aom_dc_predictor_4x8_c(uint8_t *dst, ptrdiff_t stride, |
291 | 303k | const uint8_t *above, const uint8_t *left) { |
292 | 303k | dc_predictor_rect(dst, stride, 4, 8, above, left, 2, DC_MULTIPLIER_1X2); |
293 | 303k | } |
294 | | |
295 | | void aom_dc_predictor_8x4_c(uint8_t *dst, ptrdiff_t stride, |
296 | 341k | const uint8_t *above, const uint8_t *left) { |
297 | 341k | dc_predictor_rect(dst, stride, 8, 4, above, left, 2, DC_MULTIPLIER_1X2); |
298 | 341k | } |
299 | | |
300 | | void aom_dc_predictor_4x16_c(uint8_t *dst, ptrdiff_t stride, |
301 | 232k | const uint8_t *above, const uint8_t *left) { |
302 | 232k | dc_predictor_rect(dst, stride, 4, 16, above, left, 2, DC_MULTIPLIER_1X4); |
303 | 232k | } |
304 | | |
305 | | void aom_dc_predictor_16x4_c(uint8_t *dst, ptrdiff_t stride, |
306 | 262k | const uint8_t *above, const uint8_t *left) { |
307 | 262k | dc_predictor_rect(dst, stride, 16, 4, above, left, 2, DC_MULTIPLIER_1X4); |
308 | 262k | } |
309 | | |
310 | | void aom_dc_predictor_8x16_c(uint8_t *dst, ptrdiff_t stride, |
311 | 223k | const uint8_t *above, const uint8_t *left) { |
312 | 223k | dc_predictor_rect(dst, stride, 8, 16, above, left, 3, DC_MULTIPLIER_1X2); |
313 | 223k | } |
314 | | |
315 | | void aom_dc_predictor_16x8_c(uint8_t *dst, ptrdiff_t stride, |
316 | 286k | const uint8_t *above, const uint8_t *left) { |
317 | 286k | dc_predictor_rect(dst, stride, 16, 8, above, left, 3, DC_MULTIPLIER_1X2); |
318 | 286k | } |
319 | | |
320 | | void aom_dc_predictor_8x32_c(uint8_t *dst, ptrdiff_t stride, |
321 | 94.3k | const uint8_t *above, const uint8_t *left) { |
322 | 94.3k | dc_predictor_rect(dst, stride, 8, 32, above, left, 3, DC_MULTIPLIER_1X4); |
323 | 94.3k | } |
324 | | |
325 | | void aom_dc_predictor_32x8_c(uint8_t *dst, ptrdiff_t stride, |
326 | 128k | const uint8_t *above, const uint8_t *left) { |
327 | 128k | dc_predictor_rect(dst, stride, 32, 8, above, left, 3, DC_MULTIPLIER_1X4); |
328 | 128k | } |
329 | | |
330 | | void aom_dc_predictor_16x32_c(uint8_t *dst, ptrdiff_t stride, |
331 | 85.8k | const uint8_t *above, const uint8_t *left) { |
332 | 85.8k | dc_predictor_rect(dst, stride, 16, 32, above, left, 4, DC_MULTIPLIER_1X2); |
333 | 85.8k | } |
334 | | |
335 | | void aom_dc_predictor_32x16_c(uint8_t *dst, ptrdiff_t stride, |
336 | 91.3k | const uint8_t *above, const uint8_t *left) { |
337 | 91.3k | dc_predictor_rect(dst, stride, 32, 16, above, left, 4, DC_MULTIPLIER_1X2); |
338 | 91.3k | } |
339 | | |
340 | | void aom_dc_predictor_16x64_c(uint8_t *dst, ptrdiff_t stride, |
341 | 6.46k | const uint8_t *above, const uint8_t *left) { |
342 | 6.46k | dc_predictor_rect(dst, stride, 16, 64, above, left, 4, DC_MULTIPLIER_1X4); |
343 | 6.46k | } |
344 | | |
345 | | void aom_dc_predictor_64x16_c(uint8_t *dst, ptrdiff_t stride, |
346 | 5.23k | const uint8_t *above, const uint8_t *left) { |
347 | 5.23k | dc_predictor_rect(dst, stride, 64, 16, above, left, 4, DC_MULTIPLIER_1X4); |
348 | 5.23k | } |
349 | | |
350 | | void aom_dc_predictor_32x64_c(uint8_t *dst, ptrdiff_t stride, |
351 | 4.96k | const uint8_t *above, const uint8_t *left) { |
352 | 4.96k | dc_predictor_rect(dst, stride, 32, 64, above, left, 5, DC_MULTIPLIER_1X2); |
353 | 4.96k | } |
354 | | |
355 | | void aom_dc_predictor_64x32_c(uint8_t *dst, ptrdiff_t stride, |
356 | 3.50k | const uint8_t *above, const uint8_t *left) { |
357 | 3.50k | dc_predictor_rect(dst, stride, 64, 32, above, left, 5, DC_MULTIPLIER_1X2); |
358 | 3.50k | } |
359 | | |
360 | | #undef DC_MULTIPLIER_1X2 |
361 | | #undef DC_MULTIPLIER_1X4 |
362 | | |
363 | | static INLINE void highbd_v_predictor(uint16_t *dst, ptrdiff_t stride, int bw, |
364 | | int bh, const uint16_t *above, |
365 | 474k | const uint16_t *left, int bd) { |
366 | 474k | int r; |
367 | 474k | (void)left; |
368 | 474k | (void)bd; |
369 | 5.24M | for (r = 0; r < bh; r++) { |
370 | 4.77M | memcpy(dst, above, bw * sizeof(uint16_t)); |
371 | 4.77M | dst += stride; |
372 | 4.77M | } |
373 | 474k | } |
374 | | |
375 | | static INLINE void highbd_h_predictor(uint16_t *dst, ptrdiff_t stride, int bw, |
376 | | int bh, const uint16_t *above, |
377 | 797k | const uint16_t *left, int bd) { |
378 | 797k | int r; |
379 | 797k | (void)above; |
380 | 797k | (void)bd; |
381 | 8.60M | for (r = 0; r < bh; r++) { |
382 | 7.80M | aom_memset16(dst, left[r], bw); |
383 | 7.80M | dst += stride; |
384 | 7.80M | } |
385 | 797k | } |
386 | | |
387 | | static INLINE void highbd_paeth_predictor(uint16_t *dst, ptrdiff_t stride, |
388 | | int bw, int bh, const uint16_t *above, |
389 | 2.51M | const uint16_t *left, int bd) { |
390 | 2.51M | int r, c; |
391 | 2.51M | const uint16_t ytop_left = above[-1]; |
392 | 2.51M | (void)bd; |
393 | | |
394 | 47.7M | for (r = 0; r < bh; r++) { |
395 | 795M | for (c = 0; c < bw; c++) |
396 | 749M | dst[c] = paeth_predictor_single(left[r], above[c], ytop_left); |
397 | 45.2M | dst += stride; |
398 | 45.2M | } |
399 | 2.51M | } |
400 | | |
401 | | static INLINE void highbd_smooth_predictor(uint16_t *dst, ptrdiff_t stride, |
402 | | int bw, int bh, |
403 | | const uint16_t *above, |
404 | 1.56M | const uint16_t *left, int bd) { |
405 | 1.56M | (void)bd; |
406 | 1.56M | const uint16_t below_pred = left[bh - 1]; // estimated by bottom-left pixel |
407 | 1.56M | const uint16_t right_pred = above[bw - 1]; // estimated by top-right pixel |
408 | 1.56M | const uint8_t *const sm_weights_w = sm_weight_arrays + bw; |
409 | 1.56M | const uint8_t *const sm_weights_h = sm_weight_arrays + bh; |
410 | | // scale = 2 * 2^sm_weight_log2_scale |
411 | 1.56M | const int log2_scale = 1 + sm_weight_log2_scale; |
412 | 1.56M | const uint16_t scale = (1 << sm_weight_log2_scale); |
413 | 6.25M | sm_weights_sanity_checks(sm_weights_w, sm_weights_h, scale, |
414 | 1.56M | log2_scale + sizeof(*dst)); |
415 | 1.56M | int r; |
416 | 18.1M | for (r = 0; r < bh; ++r) { |
417 | 16.5M | int c; |
418 | 324M | for (c = 0; c < bw; ++c) { |
419 | 308M | const uint16_t pixels[] = { above[c], below_pred, left[r], right_pred }; |
420 | 308M | const uint8_t weights[] = { sm_weights_h[r], scale - sm_weights_h[r], |
421 | 308M | sm_weights_w[c], scale - sm_weights_w[c] }; |
422 | 308M | uint32_t this_pred = 0; |
423 | 308M | int i; |
424 | 308M | assert(scale >= sm_weights_h[r] && scale >= sm_weights_w[c]); |
425 | 1.54G | for (i = 0; i < 4; ++i) { |
426 | 1.23G | this_pred += weights[i] * pixels[i]; |
427 | 1.23G | } |
428 | 308M | dst[c] = divide_round(this_pred, log2_scale); |
429 | 308M | } |
430 | 16.5M | dst += stride; |
431 | 16.5M | } |
432 | 1.56M | } |
433 | | |
434 | | static INLINE void highbd_smooth_v_predictor(uint16_t *dst, ptrdiff_t stride, |
435 | | int bw, int bh, |
436 | | const uint16_t *above, |
437 | 546k | const uint16_t *left, int bd) { |
438 | 546k | (void)bd; |
439 | 546k | const uint16_t below_pred = left[bh - 1]; // estimated by bottom-left pixel |
440 | 546k | const uint8_t *const sm_weights = sm_weight_arrays + bh; |
441 | | // scale = 2^sm_weight_log2_scale |
442 | 546k | const int log2_scale = sm_weight_log2_scale; |
443 | 546k | const uint16_t scale = (1 << sm_weight_log2_scale); |
444 | 2.18M | sm_weights_sanity_checks(sm_weights, sm_weights, scale, |
445 | 546k | log2_scale + sizeof(*dst)); |
446 | | |
447 | 546k | int r; |
448 | 6.22M | for (r = 0; r < bh; r++) { |
449 | 5.67M | int c; |
450 | 103M | for (c = 0; c < bw; ++c) { |
451 | 97.3M | const uint16_t pixels[] = { above[c], below_pred }; |
452 | 97.3M | const uint8_t weights[] = { sm_weights[r], scale - sm_weights[r] }; |
453 | 97.3M | uint32_t this_pred = 0; |
454 | 97.3M | assert(scale >= sm_weights[r]); |
455 | 97.3M | int i; |
456 | 292M | for (i = 0; i < 2; ++i) { |
457 | 194M | this_pred += weights[i] * pixels[i]; |
458 | 194M | } |
459 | 97.3M | dst[c] = divide_round(this_pred, log2_scale); |
460 | 97.3M | } |
461 | 5.67M | dst += stride; |
462 | 5.67M | } |
463 | 546k | } |
464 | | |
465 | | static INLINE void highbd_smooth_h_predictor(uint16_t *dst, ptrdiff_t stride, |
466 | | int bw, int bh, |
467 | | const uint16_t *above, |
468 | 612k | const uint16_t *left, int bd) { |
469 | 612k | (void)bd; |
470 | 612k | const uint16_t right_pred = above[bw - 1]; // estimated by top-right pixel |
471 | 612k | const uint8_t *const sm_weights = sm_weight_arrays + bw; |
472 | | // scale = 2^sm_weight_log2_scale |
473 | 612k | const int log2_scale = sm_weight_log2_scale; |
474 | 612k | const uint16_t scale = (1 << sm_weight_log2_scale); |
475 | 2.44M | sm_weights_sanity_checks(sm_weights, sm_weights, scale, |
476 | 612k | log2_scale + sizeof(*dst)); |
477 | | |
478 | 612k | int r; |
479 | 7.47M | for (r = 0; r < bh; r++) { |
480 | 6.85M | int c; |
481 | 135M | for (c = 0; c < bw; ++c) { |
482 | 128M | const uint16_t pixels[] = { left[r], right_pred }; |
483 | 128M | const uint8_t weights[] = { sm_weights[c], scale - sm_weights[c] }; |
484 | 128M | uint32_t this_pred = 0; |
485 | 128M | assert(scale >= sm_weights[c]); |
486 | 128M | int i; |
487 | 386M | for (i = 0; i < 2; ++i) { |
488 | 257M | this_pred += weights[i] * pixels[i]; |
489 | 257M | } |
490 | 128M | dst[c] = divide_round(this_pred, log2_scale); |
491 | 128M | } |
492 | 6.85M | dst += stride; |
493 | 6.85M | } |
494 | 612k | } |
495 | | |
496 | | static INLINE void highbd_dc_128_predictor(uint16_t *dst, ptrdiff_t stride, |
497 | | int bw, int bh, |
498 | | const uint16_t *above, |
499 | 31.8k | const uint16_t *left, int bd) { |
500 | 31.8k | int r; |
501 | 31.8k | (void)above; |
502 | 31.8k | (void)left; |
503 | | |
504 | 1.18M | for (r = 0; r < bh; r++) { |
505 | 1.15M | aom_memset16(dst, 128 << (bd - 8), bw); |
506 | 1.15M | dst += stride; |
507 | 1.15M | } |
508 | 31.8k | } |
509 | | |
510 | | static INLINE void highbd_dc_left_predictor(uint16_t *dst, ptrdiff_t stride, |
511 | | int bw, int bh, |
512 | | const uint16_t *above, |
513 | 305k | const uint16_t *left, int bd) { |
514 | 305k | int i, r, expected_dc, sum = 0; |
515 | 305k | (void)above; |
516 | 305k | (void)bd; |
517 | | |
518 | 7.20M | for (i = 0; i < bh; i++) sum += left[i]; |
519 | 305k | expected_dc = (sum + (bh >> 1)) / bh; |
520 | | |
521 | 7.20M | for (r = 0; r < bh; r++) { |
522 | 6.90M | aom_memset16(dst, expected_dc, bw); |
523 | 6.90M | dst += stride; |
524 | 6.90M | } |
525 | 305k | } |
526 | | |
527 | | static INLINE void highbd_dc_top_predictor(uint16_t *dst, ptrdiff_t stride, |
528 | | int bw, int bh, |
529 | | const uint16_t *above, |
530 | 305k | const uint16_t *left, int bd) { |
531 | 305k | int i, r, expected_dc, sum = 0; |
532 | 305k | (void)left; |
533 | 305k | (void)bd; |
534 | | |
535 | 6.21M | for (i = 0; i < bw; i++) sum += above[i]; |
536 | 305k | expected_dc = (sum + (bw >> 1)) / bw; |
537 | | |
538 | 6.88M | for (r = 0; r < bh; r++) { |
539 | 6.58M | aom_memset16(dst, expected_dc, bw); |
540 | 6.58M | dst += stride; |
541 | 6.58M | } |
542 | 305k | } |
543 | | |
544 | | static INLINE void highbd_dc_predictor(uint16_t *dst, ptrdiff_t stride, int bw, |
545 | | int bh, const uint16_t *above, |
546 | 4.61M | const uint16_t *left, int bd) { |
547 | 4.61M | int i, r, expected_dc, sum = 0; |
548 | 4.61M | const int count = bw + bh; |
549 | 4.61M | (void)bd; |
550 | | |
551 | 51.8M | for (i = 0; i < bw; i++) { |
552 | 47.2M | sum += above[i]; |
553 | 47.2M | } |
554 | 51.8M | for (i = 0; i < bh; i++) { |
555 | 47.2M | sum += left[i]; |
556 | 47.2M | } |
557 | | |
558 | 4.61M | expected_dc = (sum + (count >> 1)) / count; |
559 | | |
560 | 51.8M | for (r = 0; r < bh; r++) { |
561 | 47.2M | aom_memset16(dst, expected_dc, bw); |
562 | 47.2M | dst += stride; |
563 | 47.2M | } |
564 | 4.61M | } |
565 | | |
566 | | // Obtained similarly as DC_MULTIPLIER_1X2 and DC_MULTIPLIER_1X4 above, but |
567 | | // assume 2nd shift of 17 bits instead of 16. |
568 | | // Note: Strictly speaking, 2nd shift needs to be 17 only when: |
569 | | // - bit depth == 12, and |
570 | | // - bw + bh is divisible by 5 (as opposed to divisible by 3). |
571 | | // All other cases can use half the multipliers with a shift of 16 instead. |
572 | | // This special optimization can be used when writing assembly code. |
573 | 1.43M | #define HIGHBD_DC_MULTIPLIER_1X2 0xAAAB |
574 | | // Note: This constant is odd, but a smaller even constant (0x199a) with the |
575 | | // appropriate shift should work for neon in 8/10-bit. |
576 | 763k | #define HIGHBD_DC_MULTIPLIER_1X4 0x6667 |
577 | | |
578 | 2.20M | #define HIGHBD_DC_SHIFT2 17 |
579 | | |
580 | | static INLINE void highbd_dc_predictor_rect(uint16_t *dst, ptrdiff_t stride, |
581 | | int bw, int bh, |
582 | | const uint16_t *above, |
583 | | const uint16_t *left, int bd, |
584 | 2.20M | int shift1, uint32_t multiplier) { |
585 | 2.20M | int sum = 0; |
586 | 2.20M | (void)bd; |
587 | | |
588 | 26.9M | for (int i = 0; i < bw; i++) { |
589 | 24.7M | sum += above[i]; |
590 | 24.7M | } |
591 | 26.3M | for (int i = 0; i < bh; i++) { |
592 | 24.1M | sum += left[i]; |
593 | 24.1M | } |
594 | | |
595 | 2.20M | const int expected_dc = divide_using_multiply_shift( |
596 | 2.20M | sum + ((bw + bh) >> 1), shift1, multiplier, HIGHBD_DC_SHIFT2); |
597 | 2.20M | assert(expected_dc < (1 << bd)); |
598 | | |
599 | 26.3M | for (int r = 0; r < bh; r++) { |
600 | 24.1M | aom_memset16(dst, expected_dc, bw); |
601 | 24.1M | dst += stride; |
602 | 24.1M | } |
603 | 2.20M | } |
604 | | |
605 | | #undef HIGHBD_DC_SHIFT2 |
606 | | |
607 | | void aom_highbd_dc_predictor_4x8_c(uint16_t *dst, ptrdiff_t stride, |
608 | | const uint16_t *above, const uint16_t *left, |
609 | 351k | int bd) { |
610 | 351k | highbd_dc_predictor_rect(dst, stride, 4, 8, above, left, bd, 2, |
611 | 351k | HIGHBD_DC_MULTIPLIER_1X2); |
612 | 351k | } |
613 | | |
614 | | void aom_highbd_dc_predictor_8x4_c(uint16_t *dst, ptrdiff_t stride, |
615 | | const uint16_t *above, const uint16_t *left, |
616 | 504k | int bd) { |
617 | 504k | highbd_dc_predictor_rect(dst, stride, 8, 4, above, left, bd, 2, |
618 | 504k | HIGHBD_DC_MULTIPLIER_1X2); |
619 | 504k | } |
620 | | |
621 | | void aom_highbd_dc_predictor_4x16_c(uint16_t *dst, ptrdiff_t stride, |
622 | | const uint16_t *above, const uint16_t *left, |
623 | 289k | int bd) { |
624 | 289k | highbd_dc_predictor_rect(dst, stride, 4, 16, above, left, bd, 2, |
625 | 289k | HIGHBD_DC_MULTIPLIER_1X4); |
626 | 289k | } |
627 | | |
628 | | void aom_highbd_dc_predictor_16x4_c(uint16_t *dst, ptrdiff_t stride, |
629 | | const uint16_t *above, const uint16_t *left, |
630 | 263k | int bd) { |
631 | 263k | highbd_dc_predictor_rect(dst, stride, 16, 4, above, left, bd, 2, |
632 | 263k | HIGHBD_DC_MULTIPLIER_1X4); |
633 | 263k | } |
634 | | |
635 | | void aom_highbd_dc_predictor_8x16_c(uint16_t *dst, ptrdiff_t stride, |
636 | | const uint16_t *above, const uint16_t *left, |
637 | 183k | int bd) { |
638 | 183k | highbd_dc_predictor_rect(dst, stride, 8, 16, above, left, bd, 3, |
639 | 183k | HIGHBD_DC_MULTIPLIER_1X2); |
640 | 183k | } |
641 | | |
642 | | void aom_highbd_dc_predictor_16x8_c(uint16_t *dst, ptrdiff_t stride, |
643 | | const uint16_t *above, const uint16_t *left, |
644 | 239k | int bd) { |
645 | 239k | highbd_dc_predictor_rect(dst, stride, 16, 8, above, left, bd, 3, |
646 | 239k | HIGHBD_DC_MULTIPLIER_1X2); |
647 | 239k | } |
648 | | |
649 | | void aom_highbd_dc_predictor_8x32_c(uint16_t *dst, ptrdiff_t stride, |
650 | | const uint16_t *above, const uint16_t *left, |
651 | 94.4k | int bd) { |
652 | 94.4k | highbd_dc_predictor_rect(dst, stride, 8, 32, above, left, bd, 3, |
653 | 94.4k | HIGHBD_DC_MULTIPLIER_1X4); |
654 | 94.4k | } |
655 | | |
656 | | void aom_highbd_dc_predictor_32x8_c(uint16_t *dst, ptrdiff_t stride, |
657 | | const uint16_t *above, const uint16_t *left, |
658 | 96.3k | int bd) { |
659 | 96.3k | highbd_dc_predictor_rect(dst, stride, 32, 8, above, left, bd, 3, |
660 | 96.3k | HIGHBD_DC_MULTIPLIER_1X4); |
661 | 96.3k | } |
662 | | |
663 | | void aom_highbd_dc_predictor_16x32_c(uint16_t *dst, ptrdiff_t stride, |
664 | | const uint16_t *above, |
665 | 69.0k | const uint16_t *left, int bd) { |
666 | 69.0k | highbd_dc_predictor_rect(dst, stride, 16, 32, above, left, bd, 4, |
667 | 69.0k | HIGHBD_DC_MULTIPLIER_1X2); |
668 | 69.0k | } |
669 | | |
670 | | void aom_highbd_dc_predictor_32x16_c(uint16_t *dst, ptrdiff_t stride, |
671 | | const uint16_t *above, |
672 | 77.0k | const uint16_t *left, int bd) { |
673 | 77.0k | highbd_dc_predictor_rect(dst, stride, 32, 16, above, left, bd, 4, |
674 | 77.0k | HIGHBD_DC_MULTIPLIER_1X2); |
675 | 77.0k | } |
676 | | |
677 | | void aom_highbd_dc_predictor_16x64_c(uint16_t *dst, ptrdiff_t stride, |
678 | | const uint16_t *above, |
679 | 11.5k | const uint16_t *left, int bd) { |
680 | 11.5k | highbd_dc_predictor_rect(dst, stride, 16, 64, above, left, bd, 4, |
681 | 11.5k | HIGHBD_DC_MULTIPLIER_1X4); |
682 | 11.5k | } |
683 | | |
684 | | void aom_highbd_dc_predictor_64x16_c(uint16_t *dst, ptrdiff_t stride, |
685 | | const uint16_t *above, |
686 | 7.59k | const uint16_t *left, int bd) { |
687 | 7.59k | highbd_dc_predictor_rect(dst, stride, 64, 16, above, left, bd, 4, |
688 | 7.59k | HIGHBD_DC_MULTIPLIER_1X4); |
689 | 7.59k | } |
690 | | |
691 | | void aom_highbd_dc_predictor_32x64_c(uint16_t *dst, ptrdiff_t stride, |
692 | | const uint16_t *above, |
693 | 7.31k | const uint16_t *left, int bd) { |
694 | 7.31k | highbd_dc_predictor_rect(dst, stride, 32, 64, above, left, bd, 5, |
695 | 7.31k | HIGHBD_DC_MULTIPLIER_1X2); |
696 | 7.31k | } |
697 | | |
698 | | void aom_highbd_dc_predictor_64x32_c(uint16_t *dst, ptrdiff_t stride, |
699 | | const uint16_t *above, |
700 | 5.62k | const uint16_t *left, int bd) { |
701 | 5.62k | highbd_dc_predictor_rect(dst, stride, 64, 32, above, left, bd, 5, |
702 | 5.62k | HIGHBD_DC_MULTIPLIER_1X2); |
703 | 5.62k | } |
704 | | |
705 | | #undef HIGHBD_DC_MULTIPLIER_1X2 |
706 | | #undef HIGHBD_DC_MULTIPLIER_1X4 |
707 | | |
708 | | // This serves as a wrapper function, so that all the prediction functions |
709 | | // can be unified and accessed as a pointer array. Note that the boundary |
710 | | // above and left are not necessarily used all the time. |
711 | | #define intra_pred_sized(type, width, height) \ |
712 | | void aom_##type##_predictor_##width##x##height##_c( \ |
713 | | uint8_t *dst, ptrdiff_t stride, const uint8_t *above, \ |
714 | 11.4M | const uint8_t *left) { \ |
715 | 11.4M | type##_predictor(dst, stride, width, height, above, left); \ |
716 | 11.4M | } Line | Count | Source | 714 | 153k | const uint8_t *left) { \ | 715 | 153k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 153k | } |
Line | Count | Source | 714 | 79.4k | const uint8_t *left) { \ | 715 | 79.4k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 79.4k | } |
Line | Count | Source | 714 | 48.1k | const uint8_t *left) { \ | 715 | 48.1k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 48.1k | } |
Line | Count | Source | 714 | 37.8k | const uint8_t *left) { \ | 715 | 37.8k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 37.8k | } |
Line | Count | Source | 714 | 2.98k | const uint8_t *left) { \ | 715 | 2.98k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 2.98k | } |
Line | Count | Source | 714 | 32.9k | const uint8_t *left) { \ | 715 | 32.9k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 32.9k | } |
Line | Count | Source | 714 | 42.5k | const uint8_t *left) { \ | 715 | 42.5k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 42.5k | } |
Line | Count | Source | 714 | 16.4k | const uint8_t *left) { \ | 715 | 16.4k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 16.4k | } |
Line | Count | Source | 714 | 20.4k | const uint8_t *left) { \ | 715 | 20.4k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 20.4k | } |
Line | Count | Source | 714 | 5.91k | const uint8_t *left) { \ | 715 | 5.91k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 5.91k | } |
Line | Count | Source | 714 | 6.40k | const uint8_t *left) { \ | 715 | 6.40k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 6.40k | } |
Line | Count | Source | 714 | 377 | const uint8_t *left) { \ | 715 | 377 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 377 | } |
Line | Count | Source | 714 | 390 | const uint8_t *left) { \ | 715 | 390 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 390 | } |
Line | Count | Source | 714 | 11.8k | const uint8_t *left) { \ | 715 | 11.8k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 11.8k | } |
Line | Count | Source | 714 | 18.4k | const uint8_t *left) { \ | 715 | 18.4k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 18.4k | } |
Line | Count | Source | 714 | 5.75k | const uint8_t *left) { \ | 715 | 5.75k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 5.75k | } |
Line | Count | Source | 714 | 9.02k | const uint8_t *left) { \ | 715 | 9.02k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 9.02k | } |
Line | Count | Source | 714 | 647 | const uint8_t *left) { \ | 715 | 647 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 647 | } |
Line | Count | Source | 714 | 491 | const uint8_t *left) { \ | 715 | 491 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 491 | } |
Line | Count | Source | 714 | 183k | const uint8_t *left) { \ | 715 | 183k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 183k | } |
Line | Count | Source | 714 | 143k | const uint8_t *left) { \ | 715 | 143k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 143k | } |
Line | Count | Source | 714 | 70.8k | const uint8_t *left) { \ | 715 | 70.8k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 70.8k | } |
Line | Count | Source | 714 | 55.5k | const uint8_t *left) { \ | 715 | 55.5k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 55.5k | } |
Line | Count | Source | 714 | 4.73k | const uint8_t *left) { \ | 715 | 4.73k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 4.73k | } |
Line | Count | Source | 714 | 52.0k | const uint8_t *left) { \ | 715 | 52.0k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 52.0k | } |
Line | Count | Source | 714 | 68.3k | const uint8_t *left) { \ | 715 | 68.3k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 68.3k | } |
Line | Count | Source | 714 | 21.9k | const uint8_t *left) { \ | 715 | 21.9k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 21.9k | } |
Line | Count | Source | 714 | 30.2k | const uint8_t *left) { \ | 715 | 30.2k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 30.2k | } |
Line | Count | Source | 714 | 8.15k | const uint8_t *left) { \ | 715 | 8.15k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 8.15k | } |
Line | Count | Source | 714 | 9.37k | const uint8_t *left) { \ | 715 | 9.37k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 9.37k | } |
Line | Count | Source | 714 | 552 | const uint8_t *left) { \ | 715 | 552 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 552 | } |
Line | Count | Source | 714 | 497 | const uint8_t *left) { \ | 715 | 497 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 497 | } |
Line | Count | Source | 714 | 15.8k | const uint8_t *left) { \ | 715 | 15.8k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 15.8k | } |
Line | Count | Source | 714 | 27.0k | const uint8_t *left) { \ | 715 | 27.0k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 27.0k | } |
Line | Count | Source | 714 | 9.49k | const uint8_t *left) { \ | 715 | 9.49k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 9.49k | } |
Line | Count | Source | 714 | 14.1k | const uint8_t *left) { \ | 715 | 14.1k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 14.1k | } |
Line | Count | Source | 714 | 913 | const uint8_t *left) { \ | 715 | 913 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 913 | } |
Line | Count | Source | 714 | 843 | const uint8_t *left) { \ | 715 | 843 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 843 | } |
aom_smooth_predictor_4x4_c Line | Count | Source | 714 | 335k | const uint8_t *left) { \ | 715 | 335k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 335k | } |
aom_smooth_predictor_8x8_c Line | Count | Source | 714 | 279k | const uint8_t *left) { \ | 715 | 279k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 279k | } |
aom_smooth_predictor_16x16_c Line | Count | Source | 714 | 149k | const uint8_t *left) { \ | 715 | 149k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 149k | } |
aom_smooth_predictor_32x32_c Line | Count | Source | 714 | 89.9k | const uint8_t *left) { \ | 715 | 89.9k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 89.9k | } |
aom_smooth_predictor_64x64_c Line | Count | Source | 714 | 13.3k | const uint8_t *left) { \ | 715 | 13.3k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 13.3k | } |
aom_smooth_predictor_4x8_c Line | Count | Source | 714 | 64.8k | const uint8_t *left) { \ | 715 | 64.8k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 64.8k | } |
aom_smooth_predictor_8x4_c Line | Count | Source | 714 | 88.0k | const uint8_t *left) { \ | 715 | 88.0k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 88.0k | } |
aom_smooth_predictor_8x16_c Line | Count | Source | 714 | 56.4k | const uint8_t *left) { \ | 715 | 56.4k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 56.4k | } |
aom_smooth_predictor_16x8_c Line | Count | Source | 714 | 77.9k | const uint8_t *left) { \ | 715 | 77.9k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 77.9k | } |
aom_smooth_predictor_16x32_c Line | Count | Source | 714 | 18.8k | const uint8_t *left) { \ | 715 | 18.8k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 18.8k | } |
aom_smooth_predictor_32x16_c Line | Count | Source | 714 | 20.4k | const uint8_t *left) { \ | 715 | 20.4k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 20.4k | } |
aom_smooth_predictor_32x64_c Line | Count | Source | 714 | 1.47k | const uint8_t *left) { \ | 715 | 1.47k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 1.47k | } |
aom_smooth_predictor_64x32_c Line | Count | Source | 714 | 1.35k | const uint8_t *left) { \ | 715 | 1.35k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 1.35k | } |
aom_smooth_predictor_4x16_c Line | Count | Source | 714 | 37.3k | const uint8_t *left) { \ | 715 | 37.3k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 37.3k | } |
aom_smooth_predictor_16x4_c Line | Count | Source | 714 | 66.2k | const uint8_t *left) { \ | 715 | 66.2k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 66.2k | } |
aom_smooth_predictor_8x32_c Line | Count | Source | 714 | 21.1k | const uint8_t *left) { \ | 715 | 21.1k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 21.1k | } |
aom_smooth_predictor_32x8_c Line | Count | Source | 714 | 31.2k | const uint8_t *left) { \ | 715 | 31.2k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 31.2k | } |
aom_smooth_predictor_16x64_c Line | Count | Source | 714 | 1.99k | const uint8_t *left) { \ | 715 | 1.99k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 1.99k | } |
aom_smooth_predictor_64x16_c Line | Count | Source | 714 | 1.76k | const uint8_t *left) { \ | 715 | 1.76k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 1.76k | } |
aom_smooth_v_predictor_4x4_c Line | Count | Source | 714 | 106k | const uint8_t *left) { \ | 715 | 106k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 106k | } |
aom_smooth_v_predictor_8x8_c Line | Count | Source | 714 | 81.3k | const uint8_t *left) { \ | 715 | 81.3k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 81.3k | } |
aom_smooth_v_predictor_16x16_c Line | Count | Source | 714 | 60.9k | const uint8_t *left) { \ | 715 | 60.9k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 60.9k | } |
aom_smooth_v_predictor_32x32_c Line | Count | Source | 714 | 29.7k | const uint8_t *left) { \ | 715 | 29.7k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 29.7k | } |
aom_smooth_v_predictor_64x64_c Line | Count | Source | 714 | 4.21k | const uint8_t *left) { \ | 715 | 4.21k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 4.21k | } |
aom_smooth_v_predictor_4x8_c Line | Count | Source | 714 | 19.3k | const uint8_t *left) { \ | 715 | 19.3k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 19.3k | } |
aom_smooth_v_predictor_8x4_c Line | Count | Source | 714 | 26.4k | const uint8_t *left) { \ | 715 | 26.4k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 26.4k | } |
aom_smooth_v_predictor_8x16_c Line | Count | Source | 714 | 17.2k | const uint8_t *left) { \ | 715 | 17.2k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 17.2k | } |
aom_smooth_v_predictor_16x8_c Line | Count | Source | 714 | 23.7k | const uint8_t *left) { \ | 715 | 23.7k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 23.7k | } |
aom_smooth_v_predictor_16x32_c Line | Count | Source | 714 | 5.89k | const uint8_t *left) { \ | 715 | 5.89k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 5.89k | } |
aom_smooth_v_predictor_32x16_c Line | Count | Source | 714 | 6.19k | const uint8_t *left) { \ | 715 | 6.19k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 6.19k | } |
aom_smooth_v_predictor_32x64_c Line | Count | Source | 714 | 398 | const uint8_t *left) { \ | 715 | 398 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 398 | } |
aom_smooth_v_predictor_64x32_c Line | Count | Source | 714 | 375 | const uint8_t *left) { \ | 715 | 375 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 375 | } |
aom_smooth_v_predictor_4x16_c Line | Count | Source | 714 | 11.0k | const uint8_t *left) { \ | 715 | 11.0k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 11.0k | } |
aom_smooth_v_predictor_16x4_c Line | Count | Source | 714 | 20.4k | const uint8_t *left) { \ | 715 | 20.4k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 20.4k | } |
aom_smooth_v_predictor_8x32_c Line | Count | Source | 714 | 6.20k | const uint8_t *left) { \ | 715 | 6.20k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 6.20k | } |
aom_smooth_v_predictor_32x8_c Line | Count | Source | 714 | 9.30k | const uint8_t *left) { \ | 715 | 9.30k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 9.30k | } |
aom_smooth_v_predictor_16x64_c Line | Count | Source | 714 | 640 | const uint8_t *left) { \ | 715 | 640 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 640 | } |
aom_smooth_v_predictor_64x16_c Line | Count | Source | 714 | 409 | const uint8_t *left) { \ | 715 | 409 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 409 | } |
aom_smooth_h_predictor_4x4_c Line | Count | Source | 714 | 141k | const uint8_t *left) { \ | 715 | 141k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 141k | } |
aom_smooth_h_predictor_8x8_c Line | Count | Source | 714 | 151k | const uint8_t *left) { \ | 715 | 151k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 151k | } |
aom_smooth_h_predictor_16x16_c Line | Count | Source | 714 | 73.6k | const uint8_t *left) { \ | 715 | 73.6k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 73.6k | } |
aom_smooth_h_predictor_32x32_c Line | Count | Source | 714 | 50.5k | const uint8_t *left) { \ | 715 | 50.5k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 50.5k | } |
aom_smooth_h_predictor_64x64_c Line | Count | Source | 714 | 5.78k | const uint8_t *left) { \ | 715 | 5.78k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 5.78k | } |
aom_smooth_h_predictor_4x8_c Line | Count | Source | 714 | 35.3k | const uint8_t *left) { \ | 715 | 35.3k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 35.3k | } |
aom_smooth_h_predictor_8x4_c Line | Count | Source | 714 | 45.2k | const uint8_t *left) { \ | 715 | 45.2k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 45.2k | } |
aom_smooth_h_predictor_8x16_c Line | Count | Source | 714 | 30.0k | const uint8_t *left) { \ | 715 | 30.0k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 30.0k | } |
aom_smooth_h_predictor_16x8_c Line | Count | Source | 714 | 39.2k | const uint8_t *left) { \ | 715 | 39.2k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 39.2k | } |
aom_smooth_h_predictor_16x32_c Line | Count | Source | 714 | 9.79k | const uint8_t *left) { \ | 715 | 9.79k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 9.79k | } |
aom_smooth_h_predictor_32x16_c Line | Count | Source | 714 | 10.9k | const uint8_t *left) { \ | 715 | 10.9k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 10.9k | } |
aom_smooth_h_predictor_32x64_c Line | Count | Source | 714 | 494 | const uint8_t *left) { \ | 715 | 494 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 494 | } |
aom_smooth_h_predictor_64x32_c Line | Count | Source | 714 | 478 | const uint8_t *left) { \ | 715 | 478 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 478 | } |
aom_smooth_h_predictor_4x16_c Line | Count | Source | 714 | 18.9k | const uint8_t *left) { \ | 715 | 18.9k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 18.9k | } |
aom_smooth_h_predictor_16x4_c Line | Count | Source | 714 | 34.3k | const uint8_t *left) { \ | 715 | 34.3k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 34.3k | } |
aom_smooth_h_predictor_8x32_c Line | Count | Source | 714 | 11.7k | const uint8_t *left) { \ | 715 | 11.7k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 11.7k | } |
aom_smooth_h_predictor_32x8_c Line | Count | Source | 714 | 16.4k | const uint8_t *left) { \ | 715 | 16.4k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 16.4k | } |
aom_smooth_h_predictor_16x64_c Line | Count | Source | 714 | 744 | const uint8_t *left) { \ | 715 | 744 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 744 | } |
aom_smooth_h_predictor_64x16_c Line | Count | Source | 714 | 659 | const uint8_t *left) { \ | 715 | 659 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 659 | } |
aom_paeth_predictor_4x4_c Line | Count | Source | 714 | 644k | const uint8_t *left) { \ | 715 | 644k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 644k | } |
aom_paeth_predictor_8x8_c Line | Count | Source | 714 | 379k | const uint8_t *left) { \ | 715 | 379k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 379k | } |
aom_paeth_predictor_16x16_c Line | Count | Source | 714 | 310k | const uint8_t *left) { \ | 715 | 310k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 310k | } |
aom_paeth_predictor_32x32_c Line | Count | Source | 714 | 156k | const uint8_t *left) { \ | 715 | 156k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 156k | } |
aom_paeth_predictor_64x64_c Line | Count | Source | 714 | 27.0k | const uint8_t *left) { \ | 715 | 27.0k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 27.0k | } |
aom_paeth_predictor_4x8_c Line | Count | Source | 714 | 85.8k | const uint8_t *left) { \ | 715 | 85.8k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 85.8k | } |
aom_paeth_predictor_8x4_c Line | Count | Source | 714 | 115k | const uint8_t *left) { \ | 715 | 115k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 115k | } |
aom_paeth_predictor_8x16_c Line | Count | Source | 714 | 65.6k | const uint8_t *left) { \ | 715 | 65.6k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 65.6k | } |
aom_paeth_predictor_16x8_c Line | Count | Source | 714 | 91.4k | const uint8_t *left) { \ | 715 | 91.4k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 91.4k | } |
aom_paeth_predictor_16x32_c Line | Count | Source | 714 | 143k | const uint8_t *left) { \ | 715 | 143k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 143k | } |
aom_paeth_predictor_32x16_c Line | Count | Source | 714 | 24.0k | const uint8_t *left) { \ | 715 | 24.0k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 24.0k | } |
aom_paeth_predictor_32x64_c Line | Count | Source | 714 | 6.26k | const uint8_t *left) { \ | 715 | 6.26k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 6.26k | } |
aom_paeth_predictor_64x32_c Line | Count | Source | 714 | 2.00k | const uint8_t *left) { \ | 715 | 2.00k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 2.00k | } |
aom_paeth_predictor_4x16_c Line | Count | Source | 714 | 132k | const uint8_t *left) { \ | 715 | 132k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 132k | } |
aom_paeth_predictor_16x4_c Line | Count | Source | 714 | 85.0k | const uint8_t *left) { \ | 715 | 85.0k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 85.0k | } |
aom_paeth_predictor_8x32_c Line | Count | Source | 714 | 198k | const uint8_t *left) { \ | 715 | 198k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 198k | } |
aom_paeth_predictor_32x8_c Line | Count | Source | 714 | 36.5k | const uint8_t *left) { \ | 715 | 36.5k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 36.5k | } |
aom_paeth_predictor_16x64_c Line | Count | Source | 714 | 76.5k | const uint8_t *left) { \ | 715 | 76.5k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 76.5k | } |
aom_paeth_predictor_64x16_c Line | Count | Source | 714 | 2.20k | const uint8_t *left) { \ | 715 | 2.20k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 2.20k | } |
aom_dc_128_predictor_4x4_c Line | Count | Source | 714 | 2.41k | const uint8_t *left) { \ | 715 | 2.41k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 2.41k | } |
aom_dc_128_predictor_8x8_c Line | Count | Source | 714 | 1.31k | const uint8_t *left) { \ | 715 | 1.31k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 1.31k | } |
aom_dc_128_predictor_16x16_c Line | Count | Source | 714 | 388 | const uint8_t *left) { \ | 715 | 388 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 388 | } |
aom_dc_128_predictor_32x32_c Line | Count | Source | 714 | 8.62k | const uint8_t *left) { \ | 715 | 8.62k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 8.62k | } |
aom_dc_128_predictor_64x64_c Line | Count | Source | 714 | 3.06k | const uint8_t *left) { \ | 715 | 3.06k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 3.06k | } |
aom_dc_128_predictor_4x8_c Line | Count | Source | 714 | 274 | const uint8_t *left) { \ | 715 | 274 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 274 | } |
aom_dc_128_predictor_8x4_c Line | Count | Source | 714 | 92 | const uint8_t *left) { \ | 715 | 92 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 92 | } |
aom_dc_128_predictor_8x16_c Line | Count | Source | 714 | 372 | const uint8_t *left) { \ | 715 | 372 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 372 | } |
aom_dc_128_predictor_16x8_c Line | Count | Source | 714 | 1.84k | const uint8_t *left) { \ | 715 | 1.84k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 1.84k | } |
aom_dc_128_predictor_16x32_c Line | Count | Source | 714 | 1.18k | const uint8_t *left) { \ | 715 | 1.18k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 1.18k | } |
aom_dc_128_predictor_32x16_c Line | Count | Source | 714 | 588 | const uint8_t *left) { \ | 715 | 588 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 588 | } |
aom_dc_128_predictor_32x64_c Line | Count | Source | 714 | 469 | const uint8_t *left) { \ | 715 | 469 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 469 | } |
aom_dc_128_predictor_64x32_c Line | Count | Source | 714 | 248 | const uint8_t *left) { \ | 715 | 248 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 248 | } |
aom_dc_128_predictor_4x16_c Line | Count | Source | 714 | 717 | const uint8_t *left) { \ | 715 | 717 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 717 | } |
aom_dc_128_predictor_16x4_c Line | Count | Source | 714 | 42 | const uint8_t *left) { \ | 715 | 42 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 42 | } |
aom_dc_128_predictor_8x32_c Line | Count | Source | 714 | 232 | const uint8_t *left) { \ | 715 | 232 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 232 | } |
aom_dc_128_predictor_32x8_c Line | Count | Source | 714 | 155 | const uint8_t *left) { \ | 715 | 155 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 155 | } |
aom_dc_128_predictor_16x64_c Line | Count | Source | 714 | 65 | const uint8_t *left) { \ | 715 | 65 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 65 | } |
aom_dc_128_predictor_64x16_c Line | Count | Source | 714 | 7 | const uint8_t *left) { \ | 715 | 7 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 7 | } |
aom_dc_left_predictor_4x4_c Line | Count | Source | 714 | 62.3k | const uint8_t *left) { \ | 715 | 62.3k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 62.3k | } |
aom_dc_left_predictor_8x8_c Line | Count | Source | 714 | 12.3k | const uint8_t *left) { \ | 715 | 12.3k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 12.3k | } |
aom_dc_left_predictor_16x16_c Line | Count | Source | 714 | 21.3k | const uint8_t *left) { \ | 715 | 21.3k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 21.3k | } |
aom_dc_left_predictor_32x32_c Line | Count | Source | 714 | 79.6k | const uint8_t *left) { \ | 715 | 79.6k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 79.6k | } |
aom_dc_left_predictor_64x64_c Line | Count | Source | 714 | 14.0k | const uint8_t *left) { \ | 715 | 14.0k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 14.0k | } |
aom_dc_left_predictor_4x8_c Line | Count | Source | 714 | 4.90k | const uint8_t *left) { \ | 715 | 4.90k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 4.90k | } |
aom_dc_left_predictor_8x4_c Line | Count | Source | 714 | 5.29k | const uint8_t *left) { \ | 715 | 5.29k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 5.29k | } |
aom_dc_left_predictor_8x16_c Line | Count | Source | 714 | 3.92k | const uint8_t *left) { \ | 715 | 3.92k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 3.92k | } |
aom_dc_left_predictor_16x8_c Line | Count | Source | 714 | 7.95k | const uint8_t *left) { \ | 715 | 7.95k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 7.95k | } |
aom_dc_left_predictor_16x32_c Line | Count | Source | 714 | 4.70k | const uint8_t *left) { \ | 715 | 4.70k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 4.70k | } |
aom_dc_left_predictor_32x16_c Line | Count | Source | 714 | 8.47k | const uint8_t *left) { \ | 715 | 8.47k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 8.47k | } |
aom_dc_left_predictor_32x64_c Line | Count | Source | 714 | 742 | const uint8_t *left) { \ | 715 | 742 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 742 | } |
aom_dc_left_predictor_64x32_c Line | Count | Source | 714 | 1.90k | const uint8_t *left) { \ | 715 | 1.90k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 1.90k | } |
aom_dc_left_predictor_4x16_c Line | Count | Source | 714 | 17.2k | const uint8_t *left) { \ | 715 | 17.2k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 17.2k | } |
aom_dc_left_predictor_16x4_c Line | Count | Source | 714 | 1.59k | const uint8_t *left) { \ | 715 | 1.59k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 1.59k | } |
aom_dc_left_predictor_8x32_c Line | Count | Source | 714 | 6.03k | const uint8_t *left) { \ | 715 | 6.03k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 6.03k | } |
aom_dc_left_predictor_32x8_c Line | Count | Source | 714 | 2.23k | const uint8_t *left) { \ | 715 | 2.23k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 2.23k | } |
aom_dc_left_predictor_16x64_c Line | Count | Source | 714 | 776 | const uint8_t *left) { \ | 715 | 776 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 776 | } |
aom_dc_left_predictor_64x16_c Line | Count | Source | 714 | 471 | const uint8_t *left) { \ | 715 | 471 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 471 | } |
aom_dc_top_predictor_4x4_c Line | Count | Source | 714 | 48.9k | const uint8_t *left) { \ | 715 | 48.9k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 48.9k | } |
aom_dc_top_predictor_8x8_c Line | Count | Source | 714 | 18.2k | const uint8_t *left) { \ | 715 | 18.2k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 18.2k | } |
aom_dc_top_predictor_16x16_c Line | Count | Source | 714 | 21.7k | const uint8_t *left) { \ | 715 | 21.7k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 21.7k | } |
aom_dc_top_predictor_32x32_c Line | Count | Source | 714 | 73.5k | const uint8_t *left) { \ | 715 | 73.5k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 73.5k | } |
aom_dc_top_predictor_64x64_c Line | Count | Source | 714 | 13.3k | const uint8_t *left) { \ | 715 | 13.3k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 13.3k | } |
aom_dc_top_predictor_4x8_c Line | Count | Source | 714 | 44.8k | const uint8_t *left) { \ | 715 | 44.8k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 44.8k | } |
aom_dc_top_predictor_8x4_c Line | Count | Source | 714 | 10.8k | const uint8_t *left) { \ | 715 | 10.8k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 10.8k | } |
aom_dc_top_predictor_8x16_c Line | Count | Source | 714 | 16.5k | const uint8_t *left) { \ | 715 | 16.5k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 16.5k | } |
aom_dc_top_predictor_16x8_c Line | Count | Source | 714 | 5.54k | const uint8_t *left) { \ | 715 | 5.54k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 5.54k | } |
aom_dc_top_predictor_16x32_c Line | Count | Source | 714 | 23.5k | const uint8_t *left) { \ | 715 | 23.5k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 23.5k | } |
aom_dc_top_predictor_32x16_c Line | Count | Source | 714 | 3.12k | const uint8_t *left) { \ | 715 | 3.12k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 3.12k | } |
aom_dc_top_predictor_32x64_c Line | Count | Source | 714 | 7.67k | const uint8_t *left) { \ | 715 | 7.67k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 7.67k | } |
aom_dc_top_predictor_64x32_c Line | Count | Source | 714 | 541 | const uint8_t *left) { \ | 715 | 541 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 541 | } |
aom_dc_top_predictor_4x16_c Line | Count | Source | 714 | 21.7k | const uint8_t *left) { \ | 715 | 21.7k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 21.7k | } |
aom_dc_top_predictor_16x4_c Line | Count | Source | 714 | 5.14k | const uint8_t *left) { \ | 715 | 5.14k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 5.14k | } |
aom_dc_top_predictor_8x32_c Line | Count | Source | 714 | 3.68k | const uint8_t *left) { \ | 715 | 3.68k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 3.68k | } |
aom_dc_top_predictor_32x8_c Line | Count | Source | 714 | 2.85k | const uint8_t *left) { \ | 715 | 2.85k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 2.85k | } |
aom_dc_top_predictor_16x64_c Line | Count | Source | 714 | 365 | const uint8_t *left) { \ | 715 | 365 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 365 | } |
aom_dc_top_predictor_64x16_c Line | Count | Source | 714 | 397 | const uint8_t *left) { \ | 715 | 397 | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 397 | } |
Line | Count | Source | 714 | 2.23M | const uint8_t *left) { \ | 715 | 2.23M | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 2.23M | } |
Line | Count | Source | 714 | 954k | const uint8_t *left) { \ | 715 | 954k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 954k | } |
Line | Count | Source | 714 | 549k | const uint8_t *left) { \ | 715 | 549k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 549k | } |
Line | Count | Source | 714 | 750k | const uint8_t *left) { \ | 715 | 750k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 750k | } |
Line | Count | Source | 714 | 61.1k | const uint8_t *left) { \ | 715 | 61.1k | type##_predictor(dst, stride, width, height, above, left); \ | 716 | 61.1k | } |
|
717 | | |
718 | | #define intra_pred_highbd_sized(type, width, height) \ |
719 | | void aom_highbd_##type##_predictor_##width##x##height##_c( \ |
720 | | uint16_t *dst, ptrdiff_t stride, const uint16_t *above, \ |
721 | 11.7M | const uint16_t *left, int bd) { \ |
722 | 11.7M | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ |
723 | 11.7M | } aom_highbd_v_predictor_4x4_c Line | Count | Source | 721 | 138k | const uint16_t *left, int bd) { \ | 722 | 138k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 138k | } |
aom_highbd_v_predictor_8x8_c Line | Count | Source | 721 | 82.8k | const uint16_t *left, int bd) { \ | 722 | 82.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 82.8k | } |
aom_highbd_v_predictor_16x16_c Line | Count | Source | 721 | 38.9k | const uint16_t *left, int bd) { \ | 722 | 38.9k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 38.9k | } |
aom_highbd_v_predictor_32x32_c Line | Count | Source | 721 | 30.3k | const uint16_t *left, int bd) { \ | 722 | 30.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 30.3k | } |
aom_highbd_v_predictor_64x64_c Line | Count | Source | 721 | 2.43k | const uint16_t *left, int bd) { \ | 722 | 2.43k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 2.43k | } |
aom_highbd_v_predictor_4x8_c Line | Count | Source | 721 | 35.2k | const uint16_t *left, int bd) { \ | 722 | 35.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 35.2k | } |
aom_highbd_v_predictor_8x4_c Line | Count | Source | 721 | 49.5k | const uint16_t *left, int bd) { \ | 722 | 49.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 49.5k | } |
aom_highbd_v_predictor_8x16_c Line | Count | Source | 721 | 15.2k | const uint16_t *left, int bd) { \ | 722 | 15.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 15.2k | } |
aom_highbd_v_predictor_16x8_c Line | Count | Source | 721 | 20.2k | const uint16_t *left, int bd) { \ | 722 | 20.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 20.2k | } |
aom_highbd_v_predictor_16x32_c Line | Count | Source | 721 | 5.51k | const uint16_t *left, int bd) { \ | 722 | 5.51k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 5.51k | } |
aom_highbd_v_predictor_32x16_c Line | Count | Source | 721 | 6.14k | const uint16_t *left, int bd) { \ | 722 | 6.14k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 6.14k | } |
aom_highbd_v_predictor_32x64_c Line | Count | Source | 721 | 577 | const uint16_t *left, int bd) { \ | 722 | 577 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 577 | } |
aom_highbd_v_predictor_64x32_c Line | Count | Source | 721 | 454 | const uint16_t *left, int bd) { \ | 722 | 454 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 454 | } |
aom_highbd_v_predictor_4x16_c Line | Count | Source | 721 | 11.7k | const uint16_t *left, int bd) { \ | 722 | 11.7k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 11.7k | } |
aom_highbd_v_predictor_16x4_c Line | Count | Source | 721 | 21.4k | const uint16_t *left, int bd) { \ | 722 | 21.4k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 21.4k | } |
aom_highbd_v_predictor_8x32_c Line | Count | Source | 721 | 6.11k | const uint16_t *left, int bd) { \ | 722 | 6.11k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 6.11k | } |
aom_highbd_v_predictor_32x8_c Line | Count | Source | 721 | 7.69k | const uint16_t *left, int bd) { \ | 722 | 7.69k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 7.69k | } |
aom_highbd_v_predictor_16x64_c Line | Count | Source | 721 | 827 | const uint16_t *left, int bd) { \ | 722 | 827 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 827 | } |
aom_highbd_v_predictor_64x16_c Line | Count | Source | 721 | 724 | const uint16_t *left, int bd) { \ | 722 | 724 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 724 | } |
aom_highbd_h_predictor_4x4_c Line | Count | Source | 721 | 239k | const uint16_t *left, int bd) { \ | 722 | 239k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 239k | } |
aom_highbd_h_predictor_8x8_c Line | Count | Source | 721 | 141k | const uint16_t *left, int bd) { \ | 722 | 141k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 141k | } |
aom_highbd_h_predictor_16x16_c Line | Count | Source | 721 | 64.1k | const uint16_t *left, int bd) { \ | 722 | 64.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 64.1k | } |
aom_highbd_h_predictor_32x32_c Line | Count | Source | 721 | 38.3k | const uint16_t *left, int bd) { \ | 722 | 38.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 38.3k | } |
aom_highbd_h_predictor_64x64_c Line | Count | Source | 721 | 6.00k | const uint16_t *left, int bd) { \ | 722 | 6.00k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 6.00k | } |
aom_highbd_h_predictor_4x8_c Line | Count | Source | 721 | 60.1k | const uint16_t *left, int bd) { \ | 722 | 60.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 60.1k | } |
aom_highbd_h_predictor_8x4_c Line | Count | Source | 721 | 86.0k | const uint16_t *left, int bd) { \ | 722 | 86.0k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 86.0k | } |
aom_highbd_h_predictor_8x16_c Line | Count | Source | 721 | 24.5k | const uint16_t *left, int bd) { \ | 722 | 24.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 24.5k | } |
aom_highbd_h_predictor_16x8_c Line | Count | Source | 721 | 34.6k | const uint16_t *left, int bd) { \ | 722 | 34.6k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 34.6k | } |
aom_highbd_h_predictor_16x32_c Line | Count | Source | 721 | 9.28k | const uint16_t *left, int bd) { \ | 722 | 9.28k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 9.28k | } |
aom_highbd_h_predictor_32x16_c Line | Count | Source | 721 | 10.7k | const uint16_t *left, int bd) { \ | 722 | 10.7k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 10.7k | } |
aom_highbd_h_predictor_32x64_c Line | Count | Source | 721 | 845 | const uint16_t *left, int bd) { \ | 722 | 845 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 845 | } |
aom_highbd_h_predictor_64x32_c Line | Count | Source | 721 | 803 | const uint16_t *left, int bd) { \ | 722 | 803 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 803 | } |
aom_highbd_h_predictor_4x16_c Line | Count | Source | 721 | 19.0k | const uint16_t *left, int bd) { \ | 722 | 19.0k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 19.0k | } |
aom_highbd_h_predictor_16x4_c Line | Count | Source | 721 | 35.3k | const uint16_t *left, int bd) { \ | 722 | 35.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 35.3k | } |
aom_highbd_h_predictor_8x32_c Line | Count | Source | 721 | 10.7k | const uint16_t *left, int bd) { \ | 722 | 10.7k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 10.7k | } |
aom_highbd_h_predictor_32x8_c Line | Count | Source | 721 | 13.4k | const uint16_t *left, int bd) { \ | 722 | 13.4k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 13.4k | } |
aom_highbd_h_predictor_16x64_c Line | Count | Source | 721 | 1.80k | const uint16_t *left, int bd) { \ | 722 | 1.80k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 1.80k | } |
aom_highbd_h_predictor_64x16_c Line | Count | Source | 721 | 1.27k | const uint16_t *left, int bd) { \ | 722 | 1.27k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 1.27k | } |
aom_highbd_smooth_predictor_4x4_c Line | Count | Source | 721 | 434k | const uint16_t *left, int bd) { \ | 722 | 434k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 434k | } |
aom_highbd_smooth_predictor_8x8_c Line | Count | Source | 721 | 299k | const uint16_t *left, int bd) { \ | 722 | 299k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 299k | } |
aom_highbd_smooth_predictor_16x16_c Line | Count | Source | 721 | 144k | const uint16_t *left, int bd) { \ | 722 | 144k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 144k | } |
aom_highbd_smooth_predictor_32x32_c Line | Count | Source | 721 | 84.3k | const uint16_t *left, int bd) { \ | 722 | 84.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 84.3k | } |
aom_highbd_smooth_predictor_64x64_c Line | Count | Source | 721 | 18.5k | const uint16_t *left, int bd) { \ | 722 | 18.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 18.5k | } |
aom_highbd_smooth_predictor_4x8_c Line | Count | Source | 721 | 87.9k | const uint16_t *left, int bd) { \ | 722 | 87.9k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 87.9k | } |
aom_highbd_smooth_predictor_8x4_c Line | Count | Source | 721 | 134k | const uint16_t *left, int bd) { \ | 722 | 134k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 134k | } |
aom_highbd_smooth_predictor_8x16_c Line | Count | Source | 721 | 58.3k | const uint16_t *left, int bd) { \ | 722 | 58.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 58.3k | } |
aom_highbd_smooth_predictor_16x8_c Line | Count | Source | 721 | 77.6k | const uint16_t *left, int bd) { \ | 722 | 77.6k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 77.6k | } |
aom_highbd_smooth_predictor_16x32_c Line | Count | Source | 721 | 19.4k | const uint16_t *left, int bd) { \ | 722 | 19.4k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 19.4k | } |
aom_highbd_smooth_predictor_32x16_c Line | Count | Source | 721 | 21.3k | const uint16_t *left, int bd) { \ | 722 | 21.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 21.3k | } |
aom_highbd_smooth_predictor_32x64_c Line | Count | Source | 721 | 2.25k | const uint16_t *left, int bd) { \ | 722 | 2.25k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 2.25k | } |
aom_highbd_smooth_predictor_64x32_c Line | Count | Source | 721 | 2.33k | const uint16_t *left, int bd) { \ | 722 | 2.33k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 2.33k | } |
aom_highbd_smooth_predictor_4x16_c Line | Count | Source | 721 | 43.9k | const uint16_t *left, int bd) { \ | 722 | 43.9k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 43.9k | } |
aom_highbd_smooth_predictor_16x4_c Line | Count | Source | 721 | 77.0k | const uint16_t *left, int bd) { \ | 722 | 77.0k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 77.0k | } |
aom_highbd_smooth_predictor_8x32_c Line | Count | Source | 721 | 22.3k | const uint16_t *left, int bd) { \ | 722 | 22.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 22.3k | } |
aom_highbd_smooth_predictor_32x8_c Line | Count | Source | 721 | 28.4k | const uint16_t *left, int bd) { \ | 722 | 28.4k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 28.4k | } |
aom_highbd_smooth_predictor_16x64_c Line | Count | Source | 721 | 4.08k | const uint16_t *left, int bd) { \ | 722 | 4.08k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 4.08k | } |
aom_highbd_smooth_predictor_64x16_c Line | Count | Source | 721 | 2.77k | const uint16_t *left, int bd) { \ | 722 | 2.77k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 2.77k | } |
aom_highbd_smooth_v_predictor_4x4_c Line | Count | Source | 721 | 156k | const uint16_t *left, int bd) { \ | 722 | 156k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 156k | } |
aom_highbd_smooth_v_predictor_8x8_c Line | Count | Source | 721 | 93.8k | const uint16_t *left, int bd) { \ | 722 | 93.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 93.8k | } |
aom_highbd_smooth_v_predictor_16x16_c Line | Count | Source | 721 | 52.7k | const uint16_t *left, int bd) { \ | 722 | 52.7k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 52.7k | } |
aom_highbd_smooth_v_predictor_32x32_c Line | Count | Source | 721 | 27.8k | const uint16_t *left, int bd) { \ | 722 | 27.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 27.8k | } |
aom_highbd_smooth_v_predictor_64x64_c Line | Count | Source | 721 | 4.07k | const uint16_t *left, int bd) { \ | 722 | 4.07k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 4.07k | } |
aom_highbd_smooth_v_predictor_4x8_c Line | Count | Source | 721 | 30.9k | const uint16_t *left, int bd) { \ | 722 | 30.9k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 30.9k | } |
aom_highbd_smooth_v_predictor_8x4_c Line | Count | Source | 721 | 46.6k | const uint16_t *left, int bd) { \ | 722 | 46.6k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 46.6k | } |
aom_highbd_smooth_v_predictor_8x16_c Line | Count | Source | 721 | 21.8k | const uint16_t *left, int bd) { \ | 722 | 21.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 21.8k | } |
aom_highbd_smooth_v_predictor_16x8_c Line | Count | Source | 721 | 28.9k | const uint16_t *left, int bd) { \ | 722 | 28.9k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 28.9k | } |
aom_highbd_smooth_v_predictor_16x32_c Line | Count | Source | 721 | 7.14k | const uint16_t *left, int bd) { \ | 722 | 7.14k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 7.14k | } |
aom_highbd_smooth_v_predictor_32x16_c Line | Count | Source | 721 | 9.02k | const uint16_t *left, int bd) { \ | 722 | 9.02k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 9.02k | } |
aom_highbd_smooth_v_predictor_32x64_c Line | Count | Source | 721 | 621 | const uint16_t *left, int bd) { \ | 722 | 621 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 621 | } |
aom_highbd_smooth_v_predictor_64x32_c Line | Count | Source | 721 | 787 | const uint16_t *left, int bd) { \ | 722 | 787 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 787 | } |
aom_highbd_smooth_v_predictor_4x16_c Line | Count | Source | 721 | 17.1k | const uint16_t *left, int bd) { \ | 722 | 17.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 17.1k | } |
aom_highbd_smooth_v_predictor_16x4_c Line | Count | Source | 721 | 27.2k | const uint16_t *left, int bd) { \ | 722 | 27.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 27.2k | } |
aom_highbd_smooth_v_predictor_8x32_c Line | Count | Source | 721 | 8.79k | const uint16_t *left, int bd) { \ | 722 | 8.79k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 8.79k | } |
aom_highbd_smooth_v_predictor_32x8_c Line | Count | Source | 721 | 10.6k | const uint16_t *left, int bd) { \ | 722 | 10.6k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 10.6k | } |
aom_highbd_smooth_v_predictor_16x64_c Line | Count | Source | 721 | 1.46k | const uint16_t *left, int bd) { \ | 722 | 1.46k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 1.46k | } |
aom_highbd_smooth_v_predictor_64x16_c Line | Count | Source | 721 | 709 | const uint16_t *left, int bd) { \ | 722 | 709 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 709 | } |
aom_highbd_smooth_h_predictor_4x4_c Line | Count | Source | 721 | 139k | const uint16_t *left, int bd) { \ | 722 | 139k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 139k | } |
aom_highbd_smooth_h_predictor_8x8_c Line | Count | Source | 721 | 122k | const uint16_t *left, int bd) { \ | 722 | 122k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 122k | } |
aom_highbd_smooth_h_predictor_16x16_c Line | Count | Source | 721 | 60.5k | const uint16_t *left, int bd) { \ | 722 | 60.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 60.5k | } |
aom_highbd_smooth_h_predictor_32x32_c Line | Count | Source | 721 | 42.5k | const uint16_t *left, int bd) { \ | 722 | 42.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 42.5k | } |
aom_highbd_smooth_h_predictor_64x64_c Line | Count | Source | 721 | 6.16k | const uint16_t *left, int bd) { \ | 722 | 6.16k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 6.16k | } |
aom_highbd_smooth_h_predictor_4x8_c Line | Count | Source | 721 | 37.9k | const uint16_t *left, int bd) { \ | 722 | 37.9k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 37.9k | } |
aom_highbd_smooth_h_predictor_8x4_c Line | Count | Source | 721 | 56.5k | const uint16_t *left, int bd) { \ | 722 | 56.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 56.5k | } |
aom_highbd_smooth_h_predictor_8x16_c Line | Count | Source | 721 | 22.3k | const uint16_t *left, int bd) { \ | 722 | 22.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 22.3k | } |
aom_highbd_smooth_h_predictor_16x8_c Line | Count | Source | 721 | 30.1k | const uint16_t *left, int bd) { \ | 722 | 30.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 30.1k | } |
aom_highbd_smooth_h_predictor_16x32_c Line | Count | Source | 721 | 9.22k | const uint16_t *left, int bd) { \ | 722 | 9.22k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 9.22k | } |
aom_highbd_smooth_h_predictor_32x16_c Line | Count | Source | 721 | 9.38k | const uint16_t *left, int bd) { \ | 722 | 9.38k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 9.38k | } |
aom_highbd_smooth_h_predictor_32x64_c Line | Count | Source | 721 | 858 | const uint16_t *left, int bd) { \ | 722 | 858 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 858 | } |
aom_highbd_smooth_h_predictor_64x32_c Line | Count | Source | 721 | 930 | const uint16_t *left, int bd) { \ | 722 | 930 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 930 | } |
aom_highbd_smooth_h_predictor_4x16_c Line | Count | Source | 721 | 17.8k | const uint16_t *left, int bd) { \ | 722 | 17.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 17.8k | } |
aom_highbd_smooth_h_predictor_16x4_c Line | Count | Source | 721 | 31.3k | const uint16_t *left, int bd) { \ | 722 | 31.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 31.3k | } |
aom_highbd_smooth_h_predictor_8x32_c Line | Count | Source | 721 | 8.69k | const uint16_t *left, int bd) { \ | 722 | 8.69k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 8.69k | } |
aom_highbd_smooth_h_predictor_32x8_c Line | Count | Source | 721 | 11.8k | const uint16_t *left, int bd) { \ | 722 | 11.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 11.8k | } |
aom_highbd_smooth_h_predictor_16x64_c Line | Count | Source | 721 | 2.14k | const uint16_t *left, int bd) { \ | 722 | 2.14k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 2.14k | } |
aom_highbd_smooth_h_predictor_64x16_c Line | Count | Source | 721 | 897 | const uint16_t *left, int bd) { \ | 722 | 897 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 897 | } |
aom_highbd_paeth_predictor_4x4_c Line | Count | Source | 721 | 551k | const uint16_t *left, int bd) { \ | 722 | 551k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 551k | } |
aom_highbd_paeth_predictor_8x8_c Line | Count | Source | 721 | 323k | const uint16_t *left, int bd) { \ | 722 | 323k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 323k | } |
aom_highbd_paeth_predictor_16x16_c Line | Count | Source | 721 | 214k | const uint16_t *left, int bd) { \ | 722 | 214k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 214k | } |
aom_highbd_paeth_predictor_32x32_c Line | Count | Source | 721 | 125k | const uint16_t *left, int bd) { \ | 722 | 125k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 125k | } |
aom_highbd_paeth_predictor_64x64_c Line | Count | Source | 721 | 31.4k | const uint16_t *left, int bd) { \ | 722 | 31.4k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 31.4k | } |
aom_highbd_paeth_predictor_4x8_c Line | Count | Source | 721 | 90.6k | const uint16_t *left, int bd) { \ | 722 | 90.6k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 90.6k | } |
aom_highbd_paeth_predictor_8x4_c Line | Count | Source | 721 | 138k | const uint16_t *left, int bd) { \ | 722 | 138k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 138k | } |
aom_highbd_paeth_predictor_8x16_c Line | Count | Source | 721 | 57.1k | const uint16_t *left, int bd) { \ | 722 | 57.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 57.1k | } |
aom_highbd_paeth_predictor_16x8_c Line | Count | Source | 721 | 85.3k | const uint16_t *left, int bd) { \ | 722 | 85.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 85.3k | } |
aom_highbd_paeth_predictor_16x32_c Line | Count | Source | 721 | 226k | const uint16_t *left, int bd) { \ | 722 | 226k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 226k | } |
aom_highbd_paeth_predictor_32x16_c Line | Count | Source | 721 | 21.9k | const uint16_t *left, int bd) { \ | 722 | 21.9k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 21.9k | } |
aom_highbd_paeth_predictor_32x64_c Line | Count | Source | 721 | 5.43k | const uint16_t *left, int bd) { \ | 722 | 5.43k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 5.43k | } |
aom_highbd_paeth_predictor_64x32_c Line | Count | Source | 721 | 2.87k | const uint16_t *left, int bd) { \ | 722 | 2.87k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 2.87k | } |
aom_highbd_paeth_predictor_4x16_c Line | Count | Source | 721 | 120k | const uint16_t *left, int bd) { \ | 722 | 120k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 120k | } |
aom_highbd_paeth_predictor_16x4_c Line | Count | Source | 721 | 78.5k | const uint16_t *left, int bd) { \ | 722 | 78.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 78.5k | } |
aom_highbd_paeth_predictor_8x32_c Line | Count | Source | 721 | 258k | const uint16_t *left, int bd) { \ | 722 | 258k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 258k | } |
aom_highbd_paeth_predictor_32x8_c Line | Count | Source | 721 | 28.5k | const uint16_t *left, int bd) { \ | 722 | 28.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 28.5k | } |
aom_highbd_paeth_predictor_16x64_c Line | Count | Source | 721 | 145k | const uint16_t *left, int bd) { \ | 722 | 145k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 145k | } |
aom_highbd_paeth_predictor_64x16_c Line | Count | Source | 721 | 2.67k | const uint16_t *left, int bd) { \ | 722 | 2.67k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 2.67k | } |
aom_highbd_dc_128_predictor_4x4_c Line | Count | Source | 721 | 1.13k | const uint16_t *left, int bd) { \ | 722 | 1.13k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 1.13k | } |
aom_highbd_dc_128_predictor_8x8_c Line | Count | Source | 721 | 886 | const uint16_t *left, int bd) { \ | 722 | 886 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 886 | } |
aom_highbd_dc_128_predictor_16x16_c Line | Count | Source | 721 | 639 | const uint16_t *left, int bd) { \ | 722 | 639 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 639 | } |
aom_highbd_dc_128_predictor_32x32_c Line | Count | Source | 721 | 14.8k | const uint16_t *left, int bd) { \ | 722 | 14.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 14.8k | } |
aom_highbd_dc_128_predictor_64x64_c Line | Count | Source | 721 | 6.09k | const uint16_t *left, int bd) { \ | 722 | 6.09k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 6.09k | } |
aom_highbd_dc_128_predictor_4x8_c Line | Count | Source | 721 | 222 | const uint16_t *left, int bd) { \ | 722 | 222 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 222 | } |
aom_highbd_dc_128_predictor_8x4_c Line | Count | Source | 721 | 67 | const uint16_t *left, int bd) { \ | 722 | 67 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 67 | } |
aom_highbd_dc_128_predictor_8x16_c Line | Count | Source | 721 | 514 | const uint16_t *left, int bd) { \ | 722 | 514 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 514 | } |
aom_highbd_dc_128_predictor_16x8_c Line | Count | Source | 721 | 353 | const uint16_t *left, int bd) { \ | 722 | 353 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 353 | } |
aom_highbd_dc_128_predictor_16x32_c Line | Count | Source | 721 | 2.49k | const uint16_t *left, int bd) { \ | 722 | 2.49k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 2.49k | } |
aom_highbd_dc_128_predictor_32x16_c Line | Count | Source | 721 | 364 | const uint16_t *left, int bd) { \ | 722 | 364 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 364 | } |
aom_highbd_dc_128_predictor_32x64_c Line | Count | Source | 721 | 460 | const uint16_t *left, int bd) { \ | 722 | 460 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 460 | } |
aom_highbd_dc_128_predictor_64x32_c Line | Count | Source | 721 | 569 | const uint16_t *left, int bd) { \ | 722 | 569 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 569 | } |
aom_highbd_dc_128_predictor_4x16_c Line | Count | Source | 721 | 759 | const uint16_t *left, int bd) { \ | 722 | 759 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 759 | } |
aom_highbd_dc_128_predictor_16x4_c Line | Count | Source | 721 | 44 | const uint16_t *left, int bd) { \ | 722 | 44 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 44 | } |
aom_highbd_dc_128_predictor_8x32_c Line | Count | Source | 721 | 1.14k | const uint16_t *left, int bd) { \ | 722 | 1.14k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 1.14k | } |
aom_highbd_dc_128_predictor_32x8_c Line | Count | Source | 721 | 171 | const uint16_t *left, int bd) { \ | 722 | 171 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 171 | } |
aom_highbd_dc_128_predictor_16x64_c Line | Count | Source | 721 | 1.08k | const uint16_t *left, int bd) { \ | 722 | 1.08k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 1.08k | } |
aom_highbd_dc_128_predictor_64x16_c Line | Count | Source | 721 | 27 | const uint16_t *left, int bd) { \ | 722 | 27 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 27 | } |
aom_highbd_dc_left_predictor_4x4_c Line | Count | Source | 721 | 74.2k | const uint16_t *left, int bd) { \ | 722 | 74.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 74.2k | } |
aom_highbd_dc_left_predictor_8x8_c Line | Count | Source | 721 | 11.5k | const uint16_t *left, int bd) { \ | 722 | 11.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 11.5k | } |
aom_highbd_dc_left_predictor_16x16_c Line | Count | Source | 721 | 23.9k | const uint16_t *left, int bd) { \ | 722 | 23.9k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 23.9k | } |
aom_highbd_dc_left_predictor_32x32_c Line | Count | Source | 721 | 99.7k | const uint16_t *left, int bd) { \ | 722 | 99.7k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 99.7k | } |
aom_highbd_dc_left_predictor_64x64_c Line | Count | Source | 721 | 22.7k | const uint16_t *left, int bd) { \ | 722 | 22.7k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 22.7k | } |
aom_highbd_dc_left_predictor_4x8_c Line | Count | Source | 721 | 4.90k | const uint16_t *left, int bd) { \ | 722 | 4.90k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 4.90k | } |
aom_highbd_dc_left_predictor_8x4_c Line | Count | Source | 721 | 5.64k | const uint16_t *left, int bd) { \ | 722 | 5.64k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 5.64k | } |
aom_highbd_dc_left_predictor_8x16_c Line | Count | Source | 721 | 5.64k | const uint16_t *left, int bd) { \ | 722 | 5.64k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 5.64k | } |
aom_highbd_dc_left_predictor_16x8_c Line | Count | Source | 721 | 7.56k | const uint16_t *left, int bd) { \ | 722 | 7.56k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 7.56k | } |
aom_highbd_dc_left_predictor_16x32_c Line | Count | Source | 721 | 10.0k | const uint16_t *left, int bd) { \ | 722 | 10.0k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 10.0k | } |
aom_highbd_dc_left_predictor_32x16_c Line | Count | Source | 721 | 6.73k | const uint16_t *left, int bd) { \ | 722 | 6.73k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 6.73k | } |
aom_highbd_dc_left_predictor_32x64_c Line | Count | Source | 721 | 1.46k | const uint16_t *left, int bd) { \ | 722 | 1.46k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 1.46k | } |
aom_highbd_dc_left_predictor_64x32_c Line | Count | Source | 721 | 2.06k | const uint16_t *left, int bd) { \ | 722 | 2.06k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 2.06k | } |
aom_highbd_dc_left_predictor_4x16_c Line | Count | Source | 721 | 13.4k | const uint16_t *left, int bd) { \ | 722 | 13.4k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 13.4k | } |
aom_highbd_dc_left_predictor_16x4_c Line | Count | Source | 721 | 2.22k | const uint16_t *left, int bd) { \ | 722 | 2.22k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 2.22k | } |
aom_highbd_dc_left_predictor_8x32_c Line | Count | Source | 721 | 7.96k | const uint16_t *left, int bd) { \ | 722 | 7.96k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 7.96k | } |
aom_highbd_dc_left_predictor_32x8_c Line | Count | Source | 721 | 2.20k | const uint16_t *left, int bd) { \ | 722 | 2.20k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 2.20k | } |
aom_highbd_dc_left_predictor_16x64_c Line | Count | Source | 721 | 2.64k | const uint16_t *left, int bd) { \ | 722 | 2.64k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 2.64k | } |
aom_highbd_dc_left_predictor_64x16_c Line | Count | Source | 721 | 625 | const uint16_t *left, int bd) { \ | 722 | 625 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 625 | } |
aom_highbd_dc_top_predictor_4x4_c Line | Count | Source | 721 | 38.1k | const uint16_t *left, int bd) { \ | 722 | 38.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 38.1k | } |
aom_highbd_dc_top_predictor_8x8_c Line | Count | Source | 721 | 17.7k | const uint16_t *left, int bd) { \ | 722 | 17.7k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 17.7k | } |
aom_highbd_dc_top_predictor_16x16_c Line | Count | Source | 721 | 24.2k | const uint16_t *left, int bd) { \ | 722 | 24.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 24.2k | } |
aom_highbd_dc_top_predictor_32x32_c Line | Count | Source | 721 | 75.3k | const uint16_t *left, int bd) { \ | 722 | 75.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 75.3k | } |
aom_highbd_dc_top_predictor_64x64_c Line | Count | Source | 721 | 18.8k | const uint16_t *left, int bd) { \ | 722 | 18.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 18.8k | } |
aom_highbd_dc_top_predictor_4x8_c Line | Count | Source | 721 | 25.4k | const uint16_t *left, int bd) { \ | 722 | 25.4k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 25.4k | } |
aom_highbd_dc_top_predictor_8x4_c Line | Count | Source | 721 | 10.8k | const uint16_t *left, int bd) { \ | 722 | 10.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 10.8k | } |
aom_highbd_dc_top_predictor_8x16_c Line | Count | Source | 721 | 13.2k | const uint16_t *left, int bd) { \ | 722 | 13.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 13.2k | } |
aom_highbd_dc_top_predictor_16x8_c Line | Count | Source | 721 | 7.44k | const uint16_t *left, int bd) { \ | 722 | 7.44k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 7.44k | } |
aom_highbd_dc_top_predictor_16x32_c Line | Count | Source | 721 | 19.6k | const uint16_t *left, int bd) { \ | 722 | 19.6k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 19.6k | } |
aom_highbd_dc_top_predictor_32x16_c Line | Count | Source | 721 | 4.33k | const uint16_t *left, int bd) { \ | 722 | 4.33k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 4.33k | } |
aom_highbd_dc_top_predictor_32x64_c Line | Count | Source | 721 | 5.88k | const uint16_t *left, int bd) { \ | 722 | 5.88k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 5.88k | } |
aom_highbd_dc_top_predictor_64x32_c Line | Count | Source | 721 | 768 | const uint16_t *left, int bd) { \ | 722 | 768 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 768 | } |
aom_highbd_dc_top_predictor_4x16_c Line | Count | Source | 721 | 27.8k | const uint16_t *left, int bd) { \ | 722 | 27.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 27.8k | } |
aom_highbd_dc_top_predictor_16x4_c Line | Count | Source | 721 | 6.02k | const uint16_t *left, int bd) { \ | 722 | 6.02k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 6.02k | } |
aom_highbd_dc_top_predictor_8x32_c Line | Count | Source | 721 | 3.09k | const uint16_t *left, int bd) { \ | 722 | 3.09k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 3.09k | } |
aom_highbd_dc_top_predictor_32x8_c Line | Count | Source | 721 | 4.40k | const uint16_t *left, int bd) { \ | 722 | 4.40k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 4.40k | } |
aom_highbd_dc_top_predictor_16x64_c Line | Count | Source | 721 | 482 | const uint16_t *left, int bd) { \ | 722 | 482 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 482 | } |
aom_highbd_dc_top_predictor_64x16_c Line | Count | Source | 721 | 2.02k | const uint16_t *left, int bd) { \ | 722 | 2.02k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 2.02k | } |
aom_highbd_dc_predictor_4x4_c Line | Count | Source | 721 | 2.71M | const uint16_t *left, int bd) { \ | 722 | 2.71M | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 2.71M | } |
aom_highbd_dc_predictor_8x8_c Line | Count | Source | 721 | 784k | const uint16_t *left, int bd) { \ | 722 | 784k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 784k | } |
aom_highbd_dc_predictor_16x16_c Line | Count | Source | 721 | 468k | const uint16_t *left, int bd) { \ | 722 | 468k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 468k | } |
aom_highbd_dc_predictor_32x32_c Line | Count | Source | 721 | 594k | const uint16_t *left, int bd) { \ | 722 | 594k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 594k | } |
aom_highbd_dc_predictor_64x64_c Line | Count | Source | 721 | 56.3k | const uint16_t *left, int bd) { \ | 722 | 56.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 723 | 56.3k | } |
|
724 | | |
725 | | /* clang-format off */ |
726 | | #if CONFIG_REALTIME_ONLY |
727 | | #define intra_pred_rectangular(type) \ |
728 | | intra_pred_sized(type, 4, 8) \ |
729 | | intra_pred_sized(type, 8, 4) \ |
730 | | intra_pred_sized(type, 8, 16) \ |
731 | | intra_pred_sized(type, 16, 8) \ |
732 | | intra_pred_sized(type, 16, 32) \ |
733 | | intra_pred_sized(type, 32, 16) \ |
734 | | intra_pred_sized(type, 32, 64) \ |
735 | | intra_pred_sized(type, 64, 32) \ |
736 | | intra_pred_highbd_sized(type, 4, 8) \ |
737 | | intra_pred_highbd_sized(type, 8, 4) \ |
738 | | intra_pred_highbd_sized(type, 8, 16) \ |
739 | | intra_pred_highbd_sized(type, 16, 8) \ |
740 | | intra_pred_highbd_sized(type, 16, 32) \ |
741 | | intra_pred_highbd_sized(type, 32, 16) \ |
742 | | intra_pred_highbd_sized(type, 32, 64) \ |
743 | | intra_pred_highbd_sized(type, 64, 32) |
744 | | #else |
745 | | #define intra_pred_rectangular(type) \ |
746 | | intra_pred_sized(type, 4, 8) \ |
747 | | intra_pred_sized(type, 8, 4) \ |
748 | | intra_pred_sized(type, 8, 16) \ |
749 | | intra_pred_sized(type, 16, 8) \ |
750 | | intra_pred_sized(type, 16, 32) \ |
751 | | intra_pred_sized(type, 32, 16) \ |
752 | | intra_pred_sized(type, 32, 64) \ |
753 | | intra_pred_sized(type, 64, 32) \ |
754 | | intra_pred_sized(type, 4, 16) \ |
755 | | intra_pred_sized(type, 16, 4) \ |
756 | | intra_pred_sized(type, 8, 32) \ |
757 | | intra_pred_sized(type, 32, 8) \ |
758 | | intra_pred_sized(type, 16, 64) \ |
759 | | intra_pred_sized(type, 64, 16) \ |
760 | | intra_pred_highbd_sized(type, 4, 8) \ |
761 | | intra_pred_highbd_sized(type, 8, 4) \ |
762 | | intra_pred_highbd_sized(type, 8, 16) \ |
763 | | intra_pred_highbd_sized(type, 16, 8) \ |
764 | | intra_pred_highbd_sized(type, 16, 32) \ |
765 | | intra_pred_highbd_sized(type, 32, 16) \ |
766 | | intra_pred_highbd_sized(type, 32, 64) \ |
767 | | intra_pred_highbd_sized(type, 64, 32) \ |
768 | | intra_pred_highbd_sized(type, 4, 16) \ |
769 | | intra_pred_highbd_sized(type, 16, 4) \ |
770 | | intra_pred_highbd_sized(type, 8, 32) \ |
771 | | intra_pred_highbd_sized(type, 32, 8) \ |
772 | | intra_pred_highbd_sized(type, 16, 64) \ |
773 | | intra_pred_highbd_sized(type, 64, 16) |
774 | | #endif |
775 | | |
776 | | #define intra_pred_above_4x4(type) \ |
777 | | intra_pred_sized(type, 8, 8) \ |
778 | | intra_pred_sized(type, 16, 16) \ |
779 | | intra_pred_sized(type, 32, 32) \ |
780 | | intra_pred_sized(type, 64, 64) \ |
781 | | intra_pred_highbd_sized(type, 4, 4) \ |
782 | | intra_pred_highbd_sized(type, 8, 8) \ |
783 | | intra_pred_highbd_sized(type, 16, 16) \ |
784 | | intra_pred_highbd_sized(type, 32, 32) \ |
785 | | intra_pred_highbd_sized(type, 64, 64) \ |
786 | | intra_pred_rectangular(type) |
787 | | #define intra_pred_allsizes(type) \ |
788 | | intra_pred_sized(type, 4, 4) \ |
789 | | intra_pred_above_4x4(type) |
790 | | #define intra_pred_square(type) \ |
791 | | intra_pred_sized(type, 4, 4) \ |
792 | | intra_pred_sized(type, 8, 8) \ |
793 | | intra_pred_sized(type, 16, 16) \ |
794 | | intra_pred_sized(type, 32, 32) \ |
795 | | intra_pred_sized(type, 64, 64) \ |
796 | | intra_pred_highbd_sized(type, 4, 4) \ |
797 | | intra_pred_highbd_sized(type, 8, 8) \ |
798 | | intra_pred_highbd_sized(type, 16, 16) \ |
799 | | intra_pred_highbd_sized(type, 32, 32) \ |
800 | | intra_pred_highbd_sized(type, 64, 64) |
801 | | |
802 | | intra_pred_allsizes(v) |
803 | | intra_pred_allsizes(h) |
804 | | intra_pred_allsizes(smooth) |
805 | | intra_pred_allsizes(smooth_v) |
806 | | intra_pred_allsizes(smooth_h) |
807 | | intra_pred_allsizes(paeth) |
808 | | intra_pred_allsizes(dc_128) |
809 | | intra_pred_allsizes(dc_left) |
810 | | intra_pred_allsizes(dc_top) |
811 | | intra_pred_square(dc) |
812 | | /* clang-format on */ |
813 | | #undef intra_pred_allsizes |