/src/aom/aom_dsp/intrapred.c
Line | Count | Source |
1 | | /* |
2 | | * Copyright (c) 2016, Alliance for Open Media. All rights reserved. |
3 | | * |
4 | | * This source code is subject to the terms of the BSD 2 Clause License and |
5 | | * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License |
6 | | * was not distributed with this source code in the LICENSE file, you can |
7 | | * obtain it at www.aomedia.org/license/software. If the Alliance for Open |
8 | | * Media Patent License 1.0 was not distributed with this source code in the |
9 | | * PATENTS file, you can obtain it at www.aomedia.org/license/patent. |
10 | | */ |
11 | | |
12 | | #include <assert.h> |
13 | | #include <math.h> |
14 | | |
15 | | #include "config/aom_config.h" |
16 | | #include "config/aom_dsp_rtcd.h" |
17 | | |
18 | | #include "aom_dsp/aom_dsp_common.h" |
19 | | #include "aom_dsp/intrapred_common.h" |
20 | | #include "aom_mem/aom_mem.h" |
21 | | #include "aom_ports/bitops.h" |
22 | | |
23 | | static inline void v_predictor(uint8_t *dst, ptrdiff_t stride, int bw, int bh, |
24 | 948k | const uint8_t *above, const uint8_t *left) { |
25 | 948k | int r; |
26 | 948k | (void)left; |
27 | | |
28 | 11.8M | for (r = 0; r < bh; r++) { |
29 | 10.8M | memcpy(dst, above, bw); |
30 | 10.8M | dst += stride; |
31 | 10.8M | } |
32 | 948k | } |
33 | | |
34 | | static inline void h_predictor(uint8_t *dst, ptrdiff_t stride, int bw, int bh, |
35 | 1.33M | const uint8_t *above, const uint8_t *left) { |
36 | 1.33M | int r; |
37 | 1.33M | (void)above; |
38 | | |
39 | 15.2M | for (r = 0; r < bh; r++) { |
40 | 13.9M | memset(dst, left[r], bw); |
41 | 13.9M | dst += stride; |
42 | 13.9M | } |
43 | 1.33M | } |
44 | | |
45 | 7.95G | static inline int abs_diff(int a, int b) { return (a > b) ? a - b : b - a; } |
46 | | |
47 | | static inline uint16_t paeth_predictor_single(uint16_t left, uint16_t top, |
48 | 2.65G | uint16_t top_left) { |
49 | 2.65G | const int base = top + left - top_left; |
50 | 2.65G | const int p_left = abs_diff(base, left); |
51 | 2.65G | const int p_top = abs_diff(base, top); |
52 | 2.65G | const int p_top_left = abs_diff(base, top_left); |
53 | | |
54 | | // Return nearest to base of left, top and top_left. |
55 | 2.65G | return (p_left <= p_top && p_left <= p_top_left) ? left |
56 | 2.65G | : (p_top <= p_top_left) ? top |
57 | 551M | : top_left; |
58 | 2.65G | } |
59 | | |
60 | | static inline void paeth_predictor(uint8_t *dst, ptrdiff_t stride, int bw, |
61 | | int bh, const uint8_t *above, |
62 | 4.98M | const uint8_t *left) { |
63 | 4.98M | int r, c; |
64 | 4.98M | const uint8_t ytop_left = above[-1]; |
65 | | |
66 | 72.1M | for (r = 0; r < bh; r++) { |
67 | 1.17G | for (c = 0; c < bw; c++) |
68 | 1.11G | dst[c] = (uint8_t)paeth_predictor_single(left[r], above[c], ytop_left); |
69 | 67.2M | dst += stride; |
70 | 67.2M | } |
71 | 4.98M | } |
72 | | |
73 | | // Some basic checks on weights for smooth predictor. |
74 | | #define sm_weights_sanity_checks(weights_w, weights_h, weights_scale, \ |
75 | | pred_scale) \ |
76 | 9.35M | assert(weights_w[0] < weights_scale); \ |
77 | 9.35M | assert(weights_h[0] < weights_scale); \ |
78 | 9.35M | assert(weights_scale - weights_w[bw - 1] < weights_scale); \ |
79 | 9.35M | assert(weights_scale - weights_h[bh - 1] < weights_scale); \ |
80 | 9.35M | assert(pred_scale < 31) // ensures no overflow when calculating predictor. |
81 | | |
82 | 2.01G | #define divide_round(value, bits) (((value) + (1 << ((bits) - 1))) >> (bits)) |
83 | | |
84 | | static inline void smooth_predictor(uint8_t *dst, ptrdiff_t stride, int bw, |
85 | | int bh, const uint8_t *above, |
86 | 2.78M | const uint8_t *left) { |
87 | 2.78M | const uint8_t below_pred = left[bh - 1]; // estimated by bottom-left pixel |
88 | 2.78M | const uint8_t right_pred = above[bw - 1]; // estimated by top-right pixel |
89 | 2.78M | const uint8_t *const sm_weights_w = smooth_weights + bw - 4; |
90 | 2.78M | const uint8_t *const sm_weights_h = smooth_weights + bh - 4; |
91 | | // scale = 2 * 2^SMOOTH_WEIGHT_LOG2_SCALE |
92 | 2.78M | const int log2_scale = 1 + SMOOTH_WEIGHT_LOG2_SCALE; |
93 | 2.78M | const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE); |
94 | 11.1M | sm_weights_sanity_checks(sm_weights_w, sm_weights_h, scale, |
95 | 2.78M | log2_scale + sizeof(*dst)); |
96 | 2.78M | int r; |
97 | 35.0M | for (r = 0; r < bh; ++r) { |
98 | 32.2M | int c; |
99 | 628M | for (c = 0; c < bw; ++c) { |
100 | 596M | const uint8_t pixels[] = { above[c], below_pred, left[r], right_pred }; |
101 | 596M | const uint8_t weights[] = { sm_weights_h[r], scale - sm_weights_h[r], |
102 | 596M | sm_weights_w[c], scale - sm_weights_w[c] }; |
103 | 596M | uint32_t this_pred = 0; |
104 | 596M | int i; |
105 | 596M | assert(scale >= sm_weights_h[r] && scale >= sm_weights_w[c]); |
106 | 2.98G | for (i = 0; i < 4; ++i) { |
107 | 2.38G | this_pred += weights[i] * pixels[i]; |
108 | 2.38G | } |
109 | 596M | dst[c] = divide_round(this_pred, log2_scale); |
110 | 596M | } |
111 | 32.2M | dst += stride; |
112 | 32.2M | } |
113 | 2.78M | } |
114 | | |
115 | | static inline void smooth_v_predictor(uint8_t *dst, ptrdiff_t stride, int bw, |
116 | | int bh, const uint8_t *above, |
117 | 887k | const uint8_t *left) { |
118 | 887k | const uint8_t below_pred = left[bh - 1]; // estimated by bottom-left pixel |
119 | 887k | const uint8_t *const sm_weights = smooth_weights + bh - 4; |
120 | | // scale = 2^SMOOTH_WEIGHT_LOG2_SCALE |
121 | 887k | const int log2_scale = SMOOTH_WEIGHT_LOG2_SCALE; |
122 | 887k | const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE); |
123 | 3.55M | sm_weights_sanity_checks(sm_weights, sm_weights, scale, |
124 | 887k | log2_scale + sizeof(*dst)); |
125 | | |
126 | 887k | int r; |
127 | 12.1M | for (r = 0; r < bh; r++) { |
128 | 11.2M | int c; |
129 | 245M | for (c = 0; c < bw; ++c) { |
130 | 234M | const uint8_t pixels[] = { above[c], below_pred }; |
131 | 234M | const uint8_t weights[] = { sm_weights[r], scale - sm_weights[r] }; |
132 | 234M | uint32_t this_pred = 0; |
133 | 234M | assert(scale >= sm_weights[r]); |
134 | 234M | int i; |
135 | 703M | for (i = 0; i < 2; ++i) { |
136 | 469M | this_pred += weights[i] * pixels[i]; |
137 | 469M | } |
138 | 234M | dst[c] = divide_round(this_pred, log2_scale); |
139 | 234M | } |
140 | 11.2M | dst += stride; |
141 | 11.2M | } |
142 | 887k | } |
143 | | |
144 | | static inline void smooth_h_predictor(uint8_t *dst, ptrdiff_t stride, int bw, |
145 | | int bh, const uint8_t *above, |
146 | 1.31M | const uint8_t *left) { |
147 | 1.31M | const uint8_t right_pred = above[bw - 1]; // estimated by top-right pixel |
148 | 1.31M | const uint8_t *const sm_weights = smooth_weights + bw - 4; |
149 | | // scale = 2^SMOOTH_WEIGHT_LOG2_SCALE |
150 | 1.31M | const int log2_scale = SMOOTH_WEIGHT_LOG2_SCALE; |
151 | 1.31M | const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE); |
152 | 5.25M | sm_weights_sanity_checks(sm_weights, sm_weights, scale, |
153 | 1.31M | log2_scale + sizeof(*dst)); |
154 | | |
155 | 1.31M | int r; |
156 | 16.6M | for (r = 0; r < bh; r++) { |
157 | 15.3M | int c; |
158 | 294M | for (c = 0; c < bw; ++c) { |
159 | 279M | const uint8_t pixels[] = { left[r], right_pred }; |
160 | 279M | const uint8_t weights[] = { sm_weights[c], scale - sm_weights[c] }; |
161 | 279M | uint32_t this_pred = 0; |
162 | 279M | assert(scale >= sm_weights[c]); |
163 | 279M | int i; |
164 | 837M | for (i = 0; i < 2; ++i) { |
165 | 558M | this_pred += weights[i] * pixels[i]; |
166 | 558M | } |
167 | 279M | dst[c] = divide_round(this_pred, log2_scale); |
168 | 279M | } |
169 | 15.3M | dst += stride; |
170 | 15.3M | } |
171 | 1.31M | } |
172 | | |
173 | | static inline void dc_128_predictor(uint8_t *dst, ptrdiff_t stride, int bw, |
174 | | int bh, const uint8_t *above, |
175 | 40.6k | const uint8_t *left) { |
176 | 40.6k | int r; |
177 | 40.6k | (void)above; |
178 | 40.6k | (void)left; |
179 | | |
180 | 989k | for (r = 0; r < bh; r++) { |
181 | 948k | memset(dst, 128, bw); |
182 | 948k | dst += stride; |
183 | 948k | } |
184 | 40.6k | } |
185 | | |
186 | | static inline void dc_left_predictor(uint8_t *dst, ptrdiff_t stride, int bw, |
187 | | int bh, const uint8_t *above, |
188 | 386k | const uint8_t *left) { |
189 | 386k | int i, r, expected_dc, sum = 0; |
190 | 386k | (void)above; |
191 | | |
192 | 6.38M | for (i = 0; i < bh; i++) sum += left[i]; |
193 | 386k | expected_dc = (sum + (bh >> 1)) / bh; |
194 | | |
195 | 6.38M | for (r = 0; r < bh; r++) { |
196 | 6.00M | memset(dst, expected_dc, bw); |
197 | 6.00M | dst += stride; |
198 | 6.00M | } |
199 | 386k | } |
200 | | |
201 | | static inline void dc_top_predictor(uint8_t *dst, ptrdiff_t stride, int bw, |
202 | | int bh, const uint8_t *above, |
203 | 1.08M | const uint8_t *left) { |
204 | 1.08M | int i, r, expected_dc, sum = 0; |
205 | 1.08M | (void)left; |
206 | | |
207 | 21.6M | for (i = 0; i < bw; i++) sum += above[i]; |
208 | 1.08M | expected_dc = (sum + (bw >> 1)) / bw; |
209 | | |
210 | 22.6M | for (r = 0; r < bh; r++) { |
211 | 21.5M | memset(dst, expected_dc, bw); |
212 | 21.5M | dst += stride; |
213 | 21.5M | } |
214 | 1.08M | } |
215 | | |
216 | | static inline void dc_predictor(uint8_t *dst, ptrdiff_t stride, int bw, int bh, |
217 | 7.78M | const uint8_t *above, const uint8_t *left) { |
218 | 7.78M | int i, r, expected_dc, sum = 0; |
219 | 7.78M | const int count = bw + bh; |
220 | | |
221 | 99.5M | for (i = 0; i < bw; i++) { |
222 | 91.7M | sum += above[i]; |
223 | 91.7M | } |
224 | 99.5M | for (i = 0; i < bh; i++) { |
225 | 91.7M | sum += left[i]; |
226 | 91.7M | } |
227 | | |
228 | 7.78M | expected_dc = (sum + (count >> 1)) / count; |
229 | | |
230 | 99.5M | for (r = 0; r < bh; r++) { |
231 | 91.7M | memset(dst, expected_dc, bw); |
232 | 91.7M | dst += stride; |
233 | 91.7M | } |
234 | 7.78M | } |
235 | | |
236 | | static inline int divide_using_multiply_shift(int num, int shift1, |
237 | 7.08M | int multiplier, int shift2) { |
238 | 7.08M | const int interm = num >> shift1; |
239 | 7.08M | return interm * multiplier >> shift2; |
240 | 7.08M | } |
241 | | |
242 | | // The constants (multiplier and shifts) for a given block size are obtained |
243 | | // as follows: |
244 | | // - Let sum_w_h = block width + block height. |
245 | | // - Shift 'sum_w_h' right until we reach an odd number. Let the number of |
246 | | // shifts for that block size be called 'shift1' (see the parameter in |
247 | | // dc_predictor_rect() function), and let the odd number be 'd'. [d has only 2 |
248 | | // possible values: d = 3 for a 1:2 rect block and d = 5 for a 1:4 rect |
249 | | // block]. |
250 | | // - Find multipliers for (i) dividing by 3, and (ii) dividing by 5, |
251 | | // using the "Algorithm 1" in: |
252 | | // http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1467632 |
253 | | // by ensuring that m + n = 16 (in that algorithm). This ensures that our 2nd |
254 | | // shift will be 16, regardless of the block size. |
255 | | |
256 | | // Note: For low bitdepth, assembly code may be optimized by using smaller |
257 | | // constants for smaller block sizes, where the range of the 'sum' is |
258 | | // restricted to fewer bits. |
259 | | |
260 | 2.82M | #define DC_MULTIPLIER_1X2 0x5556 |
261 | 1.38M | #define DC_MULTIPLIER_1X4 0x3334 |
262 | | |
263 | 4.20M | #define DC_SHIFT2 16 |
264 | | |
265 | | static inline void dc_predictor_rect(uint8_t *dst, ptrdiff_t stride, int bw, |
266 | | int bh, const uint8_t *above, |
267 | | const uint8_t *left, int shift1, |
268 | 4.20M | int multiplier) { |
269 | 4.20M | int sum = 0; |
270 | | |
271 | 55.6M | for (int i = 0; i < bw; i++) { |
272 | 51.4M | sum += above[i]; |
273 | 51.4M | } |
274 | 53.1M | for (int i = 0; i < bh; i++) { |
275 | 48.9M | sum += left[i]; |
276 | 48.9M | } |
277 | | |
278 | 4.20M | const int expected_dc = divide_using_multiply_shift( |
279 | 4.20M | sum + ((bw + bh) >> 1), shift1, multiplier, DC_SHIFT2); |
280 | 4.20M | assert(expected_dc < (1 << 8)); |
281 | | |
282 | 53.1M | for (int r = 0; r < bh; r++) { |
283 | 48.9M | memset(dst, expected_dc, bw); |
284 | 48.9M | dst += stride; |
285 | 48.9M | } |
286 | 4.20M | } |
287 | | |
288 | | #undef DC_SHIFT2 |
289 | | |
290 | | void aom_dc_predictor_4x8_c(uint8_t *dst, ptrdiff_t stride, |
291 | 605k | const uint8_t *above, const uint8_t *left) { |
292 | 605k | dc_predictor_rect(dst, stride, 4, 8, above, left, 2, DC_MULTIPLIER_1X2); |
293 | 605k | } |
294 | | |
295 | | void aom_dc_predictor_8x4_c(uint8_t *dst, ptrdiff_t stride, |
296 | 772k | const uint8_t *above, const uint8_t *left) { |
297 | 772k | dc_predictor_rect(dst, stride, 8, 4, above, left, 2, DC_MULTIPLIER_1X2); |
298 | 772k | } |
299 | | |
300 | | #if !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER |
301 | | void aom_dc_predictor_4x16_c(uint8_t *dst, ptrdiff_t stride, |
302 | 355k | const uint8_t *above, const uint8_t *left) { |
303 | 355k | dc_predictor_rect(dst, stride, 4, 16, above, left, 2, DC_MULTIPLIER_1X4); |
304 | 355k | } |
305 | | |
306 | | void aom_dc_predictor_16x4_c(uint8_t *dst, ptrdiff_t stride, |
307 | 514k | const uint8_t *above, const uint8_t *left) { |
308 | 514k | dc_predictor_rect(dst, stride, 16, 4, above, left, 2, DC_MULTIPLIER_1X4); |
309 | 514k | } |
310 | | #endif // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER |
311 | | |
312 | | void aom_dc_predictor_8x16_c(uint8_t *dst, ptrdiff_t stride, |
313 | 451k | const uint8_t *above, const uint8_t *left) { |
314 | 451k | dc_predictor_rect(dst, stride, 8, 16, above, left, 3, DC_MULTIPLIER_1X2); |
315 | 451k | } |
316 | | |
317 | | void aom_dc_predictor_16x8_c(uint8_t *dst, ptrdiff_t stride, |
318 | 603k | const uint8_t *above, const uint8_t *left) { |
319 | 603k | dc_predictor_rect(dst, stride, 16, 8, above, left, 3, DC_MULTIPLIER_1X2); |
320 | 603k | } |
321 | | |
322 | | #if !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER |
323 | | void aom_dc_predictor_8x32_c(uint8_t *dst, ptrdiff_t stride, |
324 | 255k | const uint8_t *above, const uint8_t *left) { |
325 | 255k | dc_predictor_rect(dst, stride, 8, 32, above, left, 3, DC_MULTIPLIER_1X4); |
326 | 255k | } |
327 | | |
328 | | void aom_dc_predictor_32x8_c(uint8_t *dst, ptrdiff_t stride, |
329 | 228k | const uint8_t *above, const uint8_t *left) { |
330 | 228k | dc_predictor_rect(dst, stride, 32, 8, above, left, 3, DC_MULTIPLIER_1X4); |
331 | 228k | } |
332 | | #endif // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER |
333 | | |
334 | | void aom_dc_predictor_16x32_c(uint8_t *dst, ptrdiff_t stride, |
335 | 194k | const uint8_t *above, const uint8_t *left) { |
336 | 194k | dc_predictor_rect(dst, stride, 16, 32, above, left, 4, DC_MULTIPLIER_1X2); |
337 | 194k | } |
338 | | |
339 | | void aom_dc_predictor_32x16_c(uint8_t *dst, ptrdiff_t stride, |
340 | 186k | const uint8_t *above, const uint8_t *left) { |
341 | 186k | dc_predictor_rect(dst, stride, 32, 16, above, left, 4, DC_MULTIPLIER_1X2); |
342 | 186k | } |
343 | | |
344 | | #if !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER |
345 | | void aom_dc_predictor_16x64_c(uint8_t *dst, ptrdiff_t stride, |
346 | 20.6k | const uint8_t *above, const uint8_t *left) { |
347 | 20.6k | dc_predictor_rect(dst, stride, 16, 64, above, left, 4, DC_MULTIPLIER_1X4); |
348 | 20.6k | } |
349 | | |
350 | | void aom_dc_predictor_64x16_c(uint8_t *dst, ptrdiff_t stride, |
351 | 9.00k | const uint8_t *above, const uint8_t *left) { |
352 | 9.00k | dc_predictor_rect(dst, stride, 64, 16, above, left, 4, DC_MULTIPLIER_1X4); |
353 | 9.00k | } |
354 | | #endif // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER |
355 | | |
356 | | void aom_dc_predictor_32x64_c(uint8_t *dst, ptrdiff_t stride, |
357 | 6.23k | const uint8_t *above, const uint8_t *left) { |
358 | 6.23k | dc_predictor_rect(dst, stride, 32, 64, above, left, 5, DC_MULTIPLIER_1X2); |
359 | 6.23k | } |
360 | | |
361 | | void aom_dc_predictor_64x32_c(uint8_t *dst, ptrdiff_t stride, |
362 | 5.92k | const uint8_t *above, const uint8_t *left) { |
363 | 5.92k | dc_predictor_rect(dst, stride, 64, 32, above, left, 5, DC_MULTIPLIER_1X2); |
364 | 5.92k | } |
365 | | |
366 | | #undef DC_MULTIPLIER_1X2 |
367 | | #undef DC_MULTIPLIER_1X4 |
368 | | |
369 | | #if CONFIG_AV1_HIGHBITDEPTH |
370 | | |
371 | | static inline void highbd_v_predictor(uint16_t *dst, ptrdiff_t stride, int bw, |
372 | | int bh, const uint16_t *above, |
373 | 786k | const uint16_t *left, int bd) { |
374 | 786k | int r; |
375 | 786k | (void)left; |
376 | 786k | (void)bd; |
377 | 9.55M | for (r = 0; r < bh; r++) { |
378 | 8.76M | memcpy(dst, above, bw * sizeof(uint16_t)); |
379 | 8.76M | dst += stride; |
380 | 8.76M | } |
381 | 786k | } |
382 | | |
383 | | static inline void highbd_h_predictor(uint16_t *dst, ptrdiff_t stride, int bw, |
384 | | int bh, const uint16_t *above, |
385 | 1.23M | const uint16_t *left, int bd) { |
386 | 1.23M | int r; |
387 | 1.23M | (void)above; |
388 | 1.23M | (void)bd; |
389 | 13.5M | for (r = 0; r < bh; r++) { |
390 | 12.3M | aom_memset16(dst, left[r], bw); |
391 | 12.3M | dst += stride; |
392 | 12.3M | } |
393 | 1.23M | } |
394 | | |
395 | | static inline void highbd_paeth_predictor(uint16_t *dst, ptrdiff_t stride, |
396 | | int bw, int bh, const uint16_t *above, |
397 | 6.23M | const uint16_t *left, int bd) { |
398 | 6.23M | int r, c; |
399 | 6.23M | const uint16_t ytop_left = above[-1]; |
400 | 6.23M | (void)bd; |
401 | | |
402 | 94.1M | for (r = 0; r < bh; r++) { |
403 | 1.62G | for (c = 0; c < bw; c++) |
404 | 1.54G | dst[c] = paeth_predictor_single(left[r], above[c], ytop_left); |
405 | 87.9M | dst += stride; |
406 | 87.9M | } |
407 | 6.23M | } |
408 | | |
409 | | static inline void highbd_smooth_predictor(uint16_t *dst, ptrdiff_t stride, |
410 | | int bw, int bh, |
411 | | const uint16_t *above, |
412 | 2.48M | const uint16_t *left, int bd) { |
413 | 2.48M | (void)bd; |
414 | 2.48M | const uint16_t below_pred = left[bh - 1]; // estimated by bottom-left pixel |
415 | 2.48M | const uint16_t right_pred = above[bw - 1]; // estimated by top-right pixel |
416 | 2.48M | const uint8_t *const sm_weights_w = smooth_weights + bw - 4; |
417 | 2.48M | const uint8_t *const sm_weights_h = smooth_weights + bh - 4; |
418 | | // scale = 2 * 2^SMOOTH_WEIGHT_LOG2_SCALE |
419 | 2.48M | const int log2_scale = 1 + SMOOTH_WEIGHT_LOG2_SCALE; |
420 | 2.48M | const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE); |
421 | 9.92M | sm_weights_sanity_checks(sm_weights_w, sm_weights_h, scale, |
422 | 2.48M | log2_scale + sizeof(*dst)); |
423 | 2.48M | int r; |
424 | 29.1M | for (r = 0; r < bh; ++r) { |
425 | 26.6M | int c; |
426 | 521M | for (c = 0; c < bw; ++c) { |
427 | 494M | const uint16_t pixels[] = { above[c], below_pred, left[r], right_pred }; |
428 | 494M | const uint8_t weights[] = { sm_weights_h[r], scale - sm_weights_h[r], |
429 | 494M | sm_weights_w[c], scale - sm_weights_w[c] }; |
430 | 494M | uint32_t this_pred = 0; |
431 | 494M | int i; |
432 | 494M | assert(scale >= sm_weights_h[r] && scale >= sm_weights_w[c]); |
433 | 2.47G | for (i = 0; i < 4; ++i) { |
434 | 1.97G | this_pred += weights[i] * pixels[i]; |
435 | 1.97G | } |
436 | 494M | dst[c] = divide_round(this_pred, log2_scale); |
437 | 494M | } |
438 | 26.6M | dst += stride; |
439 | 26.6M | } |
440 | 2.48M | } |
441 | | |
442 | | static inline void highbd_smooth_v_predictor(uint16_t *dst, ptrdiff_t stride, |
443 | | int bw, int bh, |
444 | | const uint16_t *above, |
445 | 800k | const uint16_t *left, int bd) { |
446 | 800k | (void)bd; |
447 | 800k | const uint16_t below_pred = left[bh - 1]; // estimated by bottom-left pixel |
448 | 800k | const uint8_t *const sm_weights = smooth_weights + bh - 4; |
449 | | // scale = 2^SMOOTH_WEIGHT_LOG2_SCALE |
450 | 800k | const int log2_scale = SMOOTH_WEIGHT_LOG2_SCALE; |
451 | 800k | const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE); |
452 | 3.20M | sm_weights_sanity_checks(sm_weights, sm_weights, scale, |
453 | 800k | log2_scale + sizeof(*dst)); |
454 | | |
455 | 800k | int r; |
456 | 10.3M | for (r = 0; r < bh; r++) { |
457 | 9.55M | int c; |
458 | 201M | for (c = 0; c < bw; ++c) { |
459 | 191M | const uint16_t pixels[] = { above[c], below_pred }; |
460 | 191M | const uint8_t weights[] = { sm_weights[r], scale - sm_weights[r] }; |
461 | 191M | uint32_t this_pred = 0; |
462 | 191M | assert(scale >= sm_weights[r]); |
463 | 191M | int i; |
464 | 574M | for (i = 0; i < 2; ++i) { |
465 | 383M | this_pred += weights[i] * pixels[i]; |
466 | 383M | } |
467 | 191M | dst[c] = divide_round(this_pred, log2_scale); |
468 | 191M | } |
469 | 9.55M | dst += stride; |
470 | 9.55M | } |
471 | 800k | } |
472 | | |
473 | | static inline void highbd_smooth_h_predictor(uint16_t *dst, ptrdiff_t stride, |
474 | | int bw, int bh, |
475 | | const uint16_t *above, |
476 | 1.08M | const uint16_t *left, int bd) { |
477 | 1.08M | (void)bd; |
478 | 1.08M | const uint16_t right_pred = above[bw - 1]; // estimated by top-right pixel |
479 | 1.08M | const uint8_t *const sm_weights = smooth_weights + bw - 4; |
480 | | // scale = 2^SMOOTH_WEIGHT_LOG2_SCALE |
481 | 1.08M | const int log2_scale = SMOOTH_WEIGHT_LOG2_SCALE; |
482 | 1.08M | const uint16_t scale = (1 << SMOOTH_WEIGHT_LOG2_SCALE); |
483 | 4.33M | sm_weights_sanity_checks(sm_weights, sm_weights, scale, |
484 | 1.08M | log2_scale + sizeof(*dst)); |
485 | | |
486 | 1.08M | int r; |
487 | 12.7M | for (r = 0; r < bh; r++) { |
488 | 11.6M | int c; |
489 | 228M | for (c = 0; c < bw; ++c) { |
490 | 216M | const uint16_t pixels[] = { left[r], right_pred }; |
491 | 216M | const uint8_t weights[] = { sm_weights[c], scale - sm_weights[c] }; |
492 | 216M | uint32_t this_pred = 0; |
493 | 216M | assert(scale >= sm_weights[c]); |
494 | 216M | int i; |
495 | 649M | for (i = 0; i < 2; ++i) { |
496 | 433M | this_pred += weights[i] * pixels[i]; |
497 | 433M | } |
498 | 216M | dst[c] = divide_round(this_pred, log2_scale); |
499 | 216M | } |
500 | 11.6M | dst += stride; |
501 | 11.6M | } |
502 | 1.08M | } |
503 | | |
504 | | static inline void highbd_dc_128_predictor(uint16_t *dst, ptrdiff_t stride, |
505 | | int bw, int bh, |
506 | | const uint16_t *above, |
507 | 79.1k | const uint16_t *left, int bd) { |
508 | 79.1k | int r; |
509 | 79.1k | (void)above; |
510 | 79.1k | (void)left; |
511 | | |
512 | 2.26M | for (r = 0; r < bh; r++) { |
513 | 2.18M | aom_memset16(dst, 128 << (bd - 8), bw); |
514 | 2.18M | dst += stride; |
515 | 2.18M | } |
516 | 79.1k | } |
517 | | |
518 | | static inline void highbd_dc_left_predictor(uint16_t *dst, ptrdiff_t stride, |
519 | | int bw, int bh, |
520 | | const uint16_t *above, |
521 | 484k | const uint16_t *left, int bd) { |
522 | 484k | int i, r, expected_dc, sum = 0; |
523 | 484k | (void)above; |
524 | 484k | (void)bd; |
525 | | |
526 | 8.45M | for (i = 0; i < bh; i++) sum += left[i]; |
527 | 484k | expected_dc = (sum + (bh >> 1)) / bh; |
528 | | |
529 | 8.45M | for (r = 0; r < bh; r++) { |
530 | 7.97M | aom_memset16(dst, expected_dc, bw); |
531 | 7.97M | dst += stride; |
532 | 7.97M | } |
533 | 484k | } |
534 | | |
535 | | static inline void highbd_dc_top_predictor(uint16_t *dst, ptrdiff_t stride, |
536 | | int bw, int bh, |
537 | | const uint16_t *above, |
538 | 1.12M | const uint16_t *left, int bd) { |
539 | 1.12M | int i, r, expected_dc, sum = 0; |
540 | 1.12M | (void)left; |
541 | 1.12M | (void)bd; |
542 | | |
543 | 23.2M | for (i = 0; i < bw; i++) sum += above[i]; |
544 | 1.12M | expected_dc = (sum + (bw >> 1)) / bw; |
545 | | |
546 | 25.2M | for (r = 0; r < bh; r++) { |
547 | 24.0M | aom_memset16(dst, expected_dc, bw); |
548 | 24.0M | dst += stride; |
549 | 24.0M | } |
550 | 1.12M | } |
551 | | |
552 | | static inline void highbd_dc_predictor(uint16_t *dst, ptrdiff_t stride, int bw, |
553 | | int bh, const uint16_t *above, |
554 | 8.68M | const uint16_t *left, int bd) { |
555 | 8.68M | int i, r, expected_dc, sum = 0; |
556 | 8.68M | const int count = bw + bh; |
557 | 8.68M | (void)bd; |
558 | | |
559 | 98.2M | for (i = 0; i < bw; i++) { |
560 | 89.5M | sum += above[i]; |
561 | 89.5M | } |
562 | 98.2M | for (i = 0; i < bh; i++) { |
563 | 89.5M | sum += left[i]; |
564 | 89.5M | } |
565 | | |
566 | 8.68M | expected_dc = (sum + (count >> 1)) / count; |
567 | | |
568 | 98.2M | for (r = 0; r < bh; r++) { |
569 | 89.5M | aom_memset16(dst, expected_dc, bw); |
570 | 89.5M | dst += stride; |
571 | 89.5M | } |
572 | 8.68M | } |
573 | | |
574 | | // Obtained similarly as DC_MULTIPLIER_1X2 and DC_MULTIPLIER_1X4 above, but |
575 | | // assume 2nd shift of 17 bits instead of 16. |
576 | | // Note: Strictly speaking, 2nd shift needs to be 17 only when: |
577 | | // - bit depth == 12, and |
578 | | // - bw + bh is divisible by 5 (as opposed to divisible by 3). |
579 | | // All other cases can use half the multipliers with a shift of 16 instead. |
580 | | // This special optimization can be used when writing assembly code. |
581 | 1.96M | #define HIGHBD_DC_MULTIPLIER_1X2 0xAAAB |
582 | | // Note: This constant is odd, but a smaller even constant (0x199a) with the |
583 | | // appropriate shift should work for neon in 8/10-bit. |
584 | 904k | #define HIGHBD_DC_MULTIPLIER_1X4 0x6667 |
585 | | |
586 | 2.87M | #define HIGHBD_DC_SHIFT2 17 |
587 | | |
588 | | static inline void highbd_dc_predictor_rect(uint16_t *dst, ptrdiff_t stride, |
589 | | int bw, int bh, |
590 | | const uint16_t *above, |
591 | | const uint16_t *left, int bd, |
592 | 2.87M | int shift1, uint32_t multiplier) { |
593 | 2.87M | int sum = 0; |
594 | 2.87M | (void)bd; |
595 | | |
596 | 33.9M | for (int i = 0; i < bw; i++) { |
597 | 31.0M | sum += above[i]; |
598 | 31.0M | } |
599 | 34.8M | for (int i = 0; i < bh; i++) { |
600 | 32.0M | sum += left[i]; |
601 | 32.0M | } |
602 | | |
603 | 2.87M | const int expected_dc = divide_using_multiply_shift( |
604 | 2.87M | sum + ((bw + bh) >> 1), shift1, multiplier, HIGHBD_DC_SHIFT2); |
605 | 2.87M | assert(expected_dc < (1 << bd)); |
606 | | |
607 | 34.8M | for (int r = 0; r < bh; r++) { |
608 | 32.0M | aom_memset16(dst, expected_dc, bw); |
609 | 32.0M | dst += stride; |
610 | 32.0M | } |
611 | 2.87M | } |
612 | | |
613 | | #undef HIGHBD_DC_SHIFT2 |
614 | | |
615 | | void aom_highbd_dc_predictor_4x8_c(uint16_t *dst, ptrdiff_t stride, |
616 | | const uint16_t *above, const uint16_t *left, |
617 | 546k | int bd) { |
618 | 546k | highbd_dc_predictor_rect(dst, stride, 4, 8, above, left, bd, 2, |
619 | 546k | HIGHBD_DC_MULTIPLIER_1X2); |
620 | 546k | } |
621 | | |
622 | | void aom_highbd_dc_predictor_8x4_c(uint16_t *dst, ptrdiff_t stride, |
623 | | const uint16_t *above, const uint16_t *left, |
624 | 728k | int bd) { |
625 | 728k | highbd_dc_predictor_rect(dst, stride, 8, 4, above, left, bd, 2, |
626 | 728k | HIGHBD_DC_MULTIPLIER_1X2); |
627 | 728k | } |
628 | | |
629 | | #if !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER |
630 | | void aom_highbd_dc_predictor_4x16_c(uint16_t *dst, ptrdiff_t stride, |
631 | | const uint16_t *above, const uint16_t *left, |
632 | 240k | int bd) { |
633 | 240k | highbd_dc_predictor_rect(dst, stride, 4, 16, above, left, bd, 2, |
634 | 240k | HIGHBD_DC_MULTIPLIER_1X4); |
635 | 240k | } |
636 | | |
637 | | void aom_highbd_dc_predictor_16x4_c(uint16_t *dst, ptrdiff_t stride, |
638 | | const uint16_t *above, const uint16_t *left, |
639 | 317k | int bd) { |
640 | 317k | highbd_dc_predictor_rect(dst, stride, 16, 4, above, left, bd, 2, |
641 | 317k | HIGHBD_DC_MULTIPLIER_1X4); |
642 | 317k | } |
643 | | #endif // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER |
644 | | |
645 | | void aom_highbd_dc_predictor_8x16_c(uint16_t *dst, ptrdiff_t stride, |
646 | | const uint16_t *above, const uint16_t *left, |
647 | 227k | int bd) { |
648 | 227k | highbd_dc_predictor_rect(dst, stride, 8, 16, above, left, bd, 3, |
649 | 227k | HIGHBD_DC_MULTIPLIER_1X2); |
650 | 227k | } |
651 | | |
652 | | void aom_highbd_dc_predictor_16x8_c(uint16_t *dst, ptrdiff_t stride, |
653 | | const uint16_t *above, const uint16_t *left, |
654 | 270k | int bd) { |
655 | 270k | highbd_dc_predictor_rect(dst, stride, 16, 8, above, left, bd, 3, |
656 | 270k | HIGHBD_DC_MULTIPLIER_1X2); |
657 | 270k | } |
658 | | |
659 | | #if !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER |
660 | | void aom_highbd_dc_predictor_8x32_c(uint16_t *dst, ptrdiff_t stride, |
661 | | const uint16_t *above, const uint16_t *left, |
662 | 212k | int bd) { |
663 | 212k | highbd_dc_predictor_rect(dst, stride, 8, 32, above, left, bd, 3, |
664 | 212k | HIGHBD_DC_MULTIPLIER_1X4); |
665 | 212k | } |
666 | | |
667 | | void aom_highbd_dc_predictor_32x8_c(uint16_t *dst, ptrdiff_t stride, |
668 | | const uint16_t *above, const uint16_t *left, |
669 | 110k | int bd) { |
670 | 110k | highbd_dc_predictor_rect(dst, stride, 32, 8, above, left, bd, 3, |
671 | 110k | HIGHBD_DC_MULTIPLIER_1X4); |
672 | 110k | } |
673 | | #endif // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER |
674 | | |
675 | | void aom_highbd_dc_predictor_16x32_c(uint16_t *dst, ptrdiff_t stride, |
676 | | const uint16_t *above, |
677 | 97.8k | const uint16_t *left, int bd) { |
678 | 97.8k | highbd_dc_predictor_rect(dst, stride, 16, 32, above, left, bd, 4, |
679 | 97.8k | HIGHBD_DC_MULTIPLIER_1X2); |
680 | 97.8k | } |
681 | | |
682 | | void aom_highbd_dc_predictor_32x16_c(uint16_t *dst, ptrdiff_t stride, |
683 | | const uint16_t *above, |
684 | 87.7k | const uint16_t *left, int bd) { |
685 | 87.7k | highbd_dc_predictor_rect(dst, stride, 32, 16, above, left, bd, 4, |
686 | 87.7k | HIGHBD_DC_MULTIPLIER_1X2); |
687 | 87.7k | } |
688 | | |
689 | | #if !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER |
690 | | void aom_highbd_dc_predictor_16x64_c(uint16_t *dst, ptrdiff_t stride, |
691 | | const uint16_t *above, |
692 | 15.0k | const uint16_t *left, int bd) { |
693 | 15.0k | highbd_dc_predictor_rect(dst, stride, 16, 64, above, left, bd, 4, |
694 | 15.0k | HIGHBD_DC_MULTIPLIER_1X4); |
695 | 15.0k | } |
696 | | |
697 | | void aom_highbd_dc_predictor_64x16_c(uint16_t *dst, ptrdiff_t stride, |
698 | | const uint16_t *above, |
699 | 8.14k | const uint16_t *left, int bd) { |
700 | 8.14k | highbd_dc_predictor_rect(dst, stride, 64, 16, above, left, bd, 4, |
701 | 8.14k | HIGHBD_DC_MULTIPLIER_1X4); |
702 | 8.14k | } |
703 | | #endif // !CONFIG_REALTIME_ONLY || CONFIG_AV1_DECODER |
704 | | |
705 | | void aom_highbd_dc_predictor_32x64_c(uint16_t *dst, ptrdiff_t stride, |
706 | | const uint16_t *above, |
707 | 5.04k | const uint16_t *left, int bd) { |
708 | 5.04k | highbd_dc_predictor_rect(dst, stride, 32, 64, above, left, bd, 5, |
709 | 5.04k | HIGHBD_DC_MULTIPLIER_1X2); |
710 | 5.04k | } |
711 | | |
712 | | void aom_highbd_dc_predictor_64x32_c(uint16_t *dst, ptrdiff_t stride, |
713 | | const uint16_t *above, |
714 | 5.03k | const uint16_t *left, int bd) { |
715 | 5.03k | highbd_dc_predictor_rect(dst, stride, 64, 32, above, left, bd, 5, |
716 | 5.03k | HIGHBD_DC_MULTIPLIER_1X2); |
717 | 5.03k | } |
718 | | |
719 | | #undef HIGHBD_DC_MULTIPLIER_1X2 |
720 | | #undef HIGHBD_DC_MULTIPLIER_1X4 |
721 | | #endif // CONFIG_AV1_HIGHBITDEPTH |
722 | | |
723 | | // This serves as a wrapper function, so that all the prediction functions |
724 | | // can be unified and accessed as a pointer array. Note that the boundary |
725 | | // above and left are not necessarily used all the time. |
726 | | #define intra_pred_sized(type, width, height) \ |
727 | | void aom_##type##_predictor_##width##x##height##_c( \ |
728 | | uint8_t *dst, ptrdiff_t stride, const uint8_t *above, \ |
729 | 21.5M | const uint8_t *left) { \ |
730 | 21.5M | type##_predictor(dst, stride, width, height, above, left); \ |
731 | 21.5M | } Line | Count | Source | 729 | 217k | const uint8_t *left) { \ | 730 | 217k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 217k | } |
Line | Count | Source | 729 | 174k | const uint8_t *left) { \ | 730 | 174k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 174k | } |
Line | Count | Source | 729 | 91.5k | const uint8_t *left) { \ | 730 | 91.5k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 91.5k | } |
Line | Count | Source | 729 | 88.4k | const uint8_t *left) { \ | 730 | 88.4k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 88.4k | } |
Line | Count | Source | 729 | 6.24k | const uint8_t *left) { \ | 730 | 6.24k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 6.24k | } |
Line | Count | Source | 729 | 65.6k | const uint8_t *left) { \ | 730 | 65.6k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 65.6k | } |
Line | Count | Source | 729 | 90.8k | const uint8_t *left) { \ | 730 | 90.8k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 90.8k | } |
Line | Count | Source | 729 | 34.4k | const uint8_t *left) { \ | 730 | 34.4k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 34.4k | } |
Line | Count | Source | 729 | 49.1k | const uint8_t *left) { \ | 730 | 49.1k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 49.1k | } |
Line | Count | Source | 729 | 15.4k | const uint8_t *left) { \ | 730 | 15.4k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 15.4k | } |
Line | Count | Source | 729 | 14.0k | const uint8_t *left) { \ | 730 | 14.0k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 14.0k | } |
Line | Count | Source | 729 | 987 | const uint8_t *left) { \ | 730 | 987 | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 987 | } |
Line | Count | Source | 729 | 753 | const uint8_t *left) { \ | 730 | 753 | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 753 | } |
Line | Count | Source | 729 | 24.9k | const uint8_t *left) { \ | 730 | 24.9k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 24.9k | } |
Line | Count | Source | 729 | 39.2k | const uint8_t *left) { \ | 730 | 39.2k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 39.2k | } |
Line | Count | Source | 729 | 13.6k | const uint8_t *left) { \ | 730 | 13.6k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 13.6k | } |
Line | Count | Source | 729 | 18.0k | const uint8_t *left) { \ | 730 | 18.0k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 18.0k | } |
Line | Count | Source | 729 | 1.91k | const uint8_t *left) { \ | 730 | 1.91k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 1.91k | } |
Line | Count | Source | 729 | 968 | const uint8_t *left) { \ | 730 | 968 | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 968 | } |
Line | Count | Source | 729 | 349k | const uint8_t *left) { \ | 730 | 349k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 349k | } |
Line | Count | Source | 729 | 249k | const uint8_t *left) { \ | 730 | 249k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 249k | } |
Line | Count | Source | 729 | 128k | const uint8_t *left) { \ | 730 | 128k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 128k | } |
Line | Count | Source | 729 | 89.7k | const uint8_t *left) { \ | 730 | 89.7k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 89.7k | } |
Line | Count | Source | 729 | 7.67k | const uint8_t *left) { \ | 730 | 7.67k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 7.67k | } |
Line | Count | Source | 729 | 97.8k | const uint8_t *left) { \ | 730 | 97.8k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 97.8k | } |
Line | Count | Source | 729 | 138k | const uint8_t *left) { \ | 730 | 138k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 138k | } |
Line | Count | Source | 729 | 42.9k | const uint8_t *left) { \ | 730 | 42.9k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 42.9k | } |
Line | Count | Source | 729 | 62.1k | const uint8_t *left) { \ | 730 | 62.1k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 62.1k | } |
Line | Count | Source | 729 | 17.6k | const uint8_t *left) { \ | 730 | 17.6k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 17.6k | } |
Line | Count | Source | 729 | 19.9k | const uint8_t *left) { \ | 730 | 19.9k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 19.9k | } |
Line | Count | Source | 729 | 862 | const uint8_t *left) { \ | 730 | 862 | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 862 | } |
Line | Count | Source | 729 | 1.01k | const uint8_t *left) { \ | 730 | 1.01k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 1.01k | } |
Line | Count | Source | 729 | 32.2k | const uint8_t *left) { \ | 730 | 32.2k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 32.2k | } |
Line | Count | Source | 729 | 49.2k | const uint8_t *left) { \ | 730 | 49.2k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 49.2k | } |
Line | Count | Source | 729 | 18.7k | const uint8_t *left) { \ | 730 | 18.7k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 18.7k | } |
Line | Count | Source | 729 | 21.5k | const uint8_t *left) { \ | 730 | 21.5k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 21.5k | } |
Line | Count | Source | 729 | 2.28k | const uint8_t *left) { \ | 730 | 2.28k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 2.28k | } |
Line | Count | Source | 729 | 1.39k | const uint8_t *left) { \ | 730 | 1.39k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 1.39k | } |
aom_smooth_predictor_4x4_c Line | Count | Source | 729 | 592k | const uint8_t *left) { \ | 730 | 592k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 592k | } |
aom_smooth_predictor_8x8_c Line | Count | Source | 729 | 585k | const uint8_t *left) { \ | 730 | 585k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 585k | } |
aom_smooth_predictor_16x16_c Line | Count | Source | 729 | 334k | const uint8_t *left) { \ | 730 | 334k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 334k | } |
aom_smooth_predictor_32x32_c Line | Count | Source | 729 | 190k | const uint8_t *left) { \ | 730 | 190k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 190k | } |
aom_smooth_predictor_64x64_c Line | Count | Source | 729 | 26.3k | const uint8_t *left) { \ | 730 | 26.3k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 26.3k | } |
aom_smooth_predictor_4x8_c Line | Count | Source | 729 | 139k | const uint8_t *left) { \ | 730 | 139k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 139k | } |
aom_smooth_predictor_8x4_c Line | Count | Source | 729 | 196k | const uint8_t *left) { \ | 730 | 196k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 196k | } |
aom_smooth_predictor_8x16_c Line | Count | Source | 729 | 120k | const uint8_t *left) { \ | 730 | 120k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 120k | } |
aom_smooth_predictor_16x8_c Line | Count | Source | 729 | 166k | const uint8_t *left) { \ | 730 | 166k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 166k | } |
aom_smooth_predictor_16x32_c Line | Count | Source | 729 | 46.4k | const uint8_t *left) { \ | 730 | 46.4k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 46.4k | } |
aom_smooth_predictor_32x16_c Line | Count | Source | 729 | 47.1k | const uint8_t *left) { \ | 730 | 47.1k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 47.1k | } |
aom_smooth_predictor_32x64_c Line | Count | Source | 729 | 4.21k | const uint8_t *left) { \ | 730 | 4.21k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 4.21k | } |
aom_smooth_predictor_64x32_c Line | Count | Source | 729 | 3.19k | const uint8_t *left) { \ | 730 | 3.19k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 3.19k | } |
aom_smooth_predictor_4x16_c Line | Count | Source | 729 | 83.5k | const uint8_t *left) { \ | 730 | 83.5k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 83.5k | } |
aom_smooth_predictor_16x4_c Line | Count | Source | 729 | 136k | const uint8_t *left) { \ | 730 | 136k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 136k | } |
aom_smooth_predictor_8x32_c Line | Count | Source | 729 | 46.4k | const uint8_t *left) { \ | 730 | 46.4k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 46.4k | } |
aom_smooth_predictor_32x8_c Line | Count | Source | 729 | 58.9k | const uint8_t *left) { \ | 730 | 58.9k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 58.9k | } |
aom_smooth_predictor_16x64_c Line | Count | Source | 729 | 5.72k | const uint8_t *left) { \ | 730 | 5.72k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 5.72k | } |
aom_smooth_predictor_64x16_c Line | Count | Source | 729 | 3.73k | const uint8_t *left) { \ | 730 | 3.73k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 3.73k | } |
aom_smooth_v_predictor_4x4_c Line | Count | Source | 729 | 165k | const uint8_t *left) { \ | 730 | 165k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 165k | } |
aom_smooth_v_predictor_8x8_c Line | Count | Source | 729 | 176k | const uint8_t *left) { \ | 730 | 176k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 176k | } |
aom_smooth_v_predictor_16x16_c Line | Count | Source | 729 | 80.3k | const uint8_t *left) { \ | 730 | 80.3k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 80.3k | } |
aom_smooth_v_predictor_32x32_c Line | Count | Source | 729 | 97.1k | const uint8_t *left) { \ | 730 | 97.1k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 97.1k | } |
aom_smooth_v_predictor_64x64_c Line | Count | Source | 729 | 10.3k | const uint8_t *left) { \ | 730 | 10.3k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 10.3k | } |
aom_smooth_v_predictor_4x8_c Line | Count | Source | 729 | 41.1k | const uint8_t *left) { \ | 730 | 41.1k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 41.1k | } |
aom_smooth_v_predictor_8x4_c Line | Count | Source | 729 | 63.6k | const uint8_t *left) { \ | 730 | 63.6k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 63.6k | } |
aom_smooth_v_predictor_8x16_c Line | Count | Source | 729 | 40.1k | const uint8_t *left) { \ | 730 | 40.1k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 40.1k | } |
aom_smooth_v_predictor_16x8_c Line | Count | Source | 729 | 56.8k | const uint8_t *left) { \ | 730 | 56.8k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 56.8k | } |
aom_smooth_v_predictor_16x32_c Line | Count | Source | 729 | 16.6k | const uint8_t *left) { \ | 730 | 16.6k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 16.6k | } |
aom_smooth_v_predictor_32x16_c Line | Count | Source | 729 | 20.0k | const uint8_t *left) { \ | 730 | 20.0k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 20.0k | } |
aom_smooth_v_predictor_32x64_c Line | Count | Source | 729 | 1.24k | const uint8_t *left) { \ | 730 | 1.24k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 1.24k | } |
aom_smooth_v_predictor_64x32_c Line | Count | Source | 729 | 1.31k | const uint8_t *left) { \ | 730 | 1.31k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 1.31k | } |
aom_smooth_v_predictor_4x16_c Line | Count | Source | 729 | 28.8k | const uint8_t *left) { \ | 730 | 28.8k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 28.8k | } |
aom_smooth_v_predictor_16x4_c Line | Count | Source | 729 | 45.8k | const uint8_t *left) { \ | 730 | 45.8k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 45.8k | } |
aom_smooth_v_predictor_8x32_c Line | Count | Source | 729 | 16.2k | const uint8_t *left) { \ | 730 | 16.2k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 16.2k | } |
aom_smooth_v_predictor_32x8_c Line | Count | Source | 729 | 22.4k | const uint8_t *left) { \ | 730 | 22.4k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 22.4k | } |
aom_smooth_v_predictor_16x64_c Line | Count | Source | 729 | 1.90k | const uint8_t *left) { \ | 730 | 1.90k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 1.90k | } |
aom_smooth_v_predictor_64x16_c Line | Count | Source | 729 | 1.69k | const uint8_t *left) { \ | 730 | 1.69k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 1.69k | } |
aom_smooth_h_predictor_4x4_c Line | Count | Source | 729 | 286k | const uint8_t *left) { \ | 730 | 286k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 286k | } |
aom_smooth_h_predictor_8x8_c Line | Count | Source | 729 | 255k | const uint8_t *left) { \ | 730 | 255k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 255k | } |
aom_smooth_h_predictor_16x16_c Line | Count | Source | 729 | 176k | const uint8_t *left) { \ | 730 | 176k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 176k | } |
aom_smooth_h_predictor_32x32_c Line | Count | Source | 729 | 99.4k | const uint8_t *left) { \ | 730 | 99.4k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 99.4k | } |
aom_smooth_h_predictor_64x64_c Line | Count | Source | 729 | 9.40k | const uint8_t *left) { \ | 730 | 9.40k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 9.40k | } |
aom_smooth_h_predictor_4x8_c Line | Count | Source | 729 | 61.6k | const uint8_t *left) { \ | 730 | 61.6k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 61.6k | } |
aom_smooth_h_predictor_8x4_c Line | Count | Source | 729 | 89.6k | const uint8_t *left) { \ | 730 | 89.6k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 89.6k | } |
aom_smooth_h_predictor_8x16_c Line | Count | Source | 729 | 57.5k | const uint8_t *left) { \ | 730 | 57.5k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 57.5k | } |
aom_smooth_h_predictor_16x8_c Line | Count | Source | 729 | 75.0k | const uint8_t *left) { \ | 730 | 75.0k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 75.0k | } |
aom_smooth_h_predictor_16x32_c Line | Count | Source | 729 | 21.6k | const uint8_t *left) { \ | 730 | 21.6k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 21.6k | } |
aom_smooth_h_predictor_32x16_c Line | Count | Source | 729 | 23.5k | const uint8_t *left) { \ | 730 | 23.5k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 23.5k | } |
aom_smooth_h_predictor_32x64_c Line | Count | Source | 729 | 1.35k | const uint8_t *left) { \ | 730 | 1.35k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 1.35k | } |
aom_smooth_h_predictor_64x32_c Line | Count | Source | 729 | 1.04k | const uint8_t *left) { \ | 730 | 1.04k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 1.04k | } |
aom_smooth_h_predictor_4x16_c Line | Count | Source | 729 | 38.1k | const uint8_t *left) { \ | 730 | 38.1k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 38.1k | } |
aom_smooth_h_predictor_16x4_c Line | Count | Source | 729 | 62.1k | const uint8_t *left) { \ | 730 | 62.1k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 62.1k | } |
aom_smooth_h_predictor_8x32_c Line | Count | Source | 729 | 22.6k | const uint8_t *left) { \ | 730 | 22.6k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 22.6k | } |
aom_smooth_h_predictor_32x8_c Line | Count | Source | 729 | 28.5k | const uint8_t *left) { \ | 730 | 28.5k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 28.5k | } |
aom_smooth_h_predictor_16x64_c Line | Count | Source | 729 | 2.24k | const uint8_t *left) { \ | 730 | 2.24k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 2.24k | } |
aom_smooth_h_predictor_64x16_c Line | Count | Source | 729 | 1.09k | const uint8_t *left) { \ | 730 | 1.09k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 1.09k | } |
aom_paeth_predictor_4x4_c Line | Count | Source | 729 | 1.01M | const uint8_t *left) { \ | 730 | 1.01M | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 1.01M | } |
aom_paeth_predictor_8x8_c Line | Count | Source | 729 | 1.02M | const uint8_t *left) { \ | 730 | 1.02M | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 1.02M | } |
aom_paeth_predictor_16x16_c Line | Count | Source | 729 | 756k | const uint8_t *left) { \ | 730 | 756k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 756k | } |
aom_paeth_predictor_32x32_c Line | Count | Source | 729 | 332k | const uint8_t *left) { \ | 730 | 332k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 332k | } |
aom_paeth_predictor_64x64_c Line | Count | Source | 729 | 30.6k | const uint8_t *left) { \ | 730 | 30.6k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 30.6k | } |
aom_paeth_predictor_4x8_c Line | Count | Source | 729 | 194k | const uint8_t *left) { \ | 730 | 194k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 194k | } |
aom_paeth_predictor_8x4_c Line | Count | Source | 729 | 275k | const uint8_t *left) { \ | 730 | 275k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 275k | } |
aom_paeth_predictor_8x16_c Line | Count | Source | 729 | 149k | const uint8_t *left) { \ | 730 | 149k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 149k | } |
aom_paeth_predictor_16x8_c Line | Count | Source | 729 | 204k | const uint8_t *left) { \ | 730 | 204k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 204k | } |
aom_paeth_predictor_16x32_c Line | Count | Source | 729 | 152k | const uint8_t *left) { \ | 730 | 152k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 152k | } |
aom_paeth_predictor_32x16_c Line | Count | Source | 729 | 55.7k | const uint8_t *left) { \ | 730 | 55.7k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 55.7k | } |
aom_paeth_predictor_32x64_c Line | Count | Source | 729 | 19.3k | const uint8_t *left) { \ | 730 | 19.3k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 19.3k | } |
aom_paeth_predictor_64x32_c Line | Count | Source | 729 | 2.12k | const uint8_t *left) { \ | 730 | 2.12k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 2.12k | } |
aom_paeth_predictor_4x16_c Line | Count | Source | 729 | 200k | const uint8_t *left) { \ | 730 | 200k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 200k | } |
aom_paeth_predictor_16x4_c Line | Count | Source | 729 | 164k | const uint8_t *left) { \ | 730 | 164k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 164k | } |
aom_paeth_predictor_8x32_c Line | Count | Source | 729 | 305k | const uint8_t *left) { \ | 730 | 305k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 305k | } |
aom_paeth_predictor_32x8_c Line | Count | Source | 729 | 63.1k | const uint8_t *left) { \ | 730 | 63.1k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 63.1k | } |
aom_paeth_predictor_16x64_c Line | Count | Source | 729 | 35.8k | const uint8_t *left) { \ | 730 | 35.8k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 35.8k | } |
aom_paeth_predictor_64x16_c Line | Count | Source | 729 | 3.06k | const uint8_t *left) { \ | 730 | 3.06k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 3.06k | } |
aom_dc_128_predictor_4x4_c Line | Count | Source | 729 | 9.78k | const uint8_t *left) { \ | 730 | 9.78k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 9.78k | } |
aom_dc_128_predictor_8x8_c Line | Count | Source | 729 | 3.57k | const uint8_t *left) { \ | 730 | 3.57k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 3.57k | } |
aom_dc_128_predictor_16x16_c Line | Count | Source | 729 | 402 | const uint8_t *left) { \ | 730 | 402 | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 402 | } |
aom_dc_128_predictor_32x32_c Line | Count | Source | 729 | 12.4k | const uint8_t *left) { \ | 730 | 12.4k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 12.4k | } |
aom_dc_128_predictor_64x64_c Line | Count | Source | 729 | 4.56k | const uint8_t *left) { \ | 730 | 4.56k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 4.56k | } |
aom_dc_128_predictor_4x8_c Line | Count | Source | 729 | 595 | const uint8_t *left) { \ | 730 | 595 | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 595 | } |
aom_dc_128_predictor_8x4_c Line | Count | Source | 729 | 188 | const uint8_t *left) { \ | 730 | 188 | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 188 | } |
aom_dc_128_predictor_8x16_c Line | Count | Source | 729 | 417 | const uint8_t *left) { \ | 730 | 417 | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 417 | } |
aom_dc_128_predictor_16x8_c Line | Count | Source | 729 | 2.43k | const uint8_t *left) { \ | 730 | 2.43k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 2.43k | } |
aom_dc_128_predictor_16x32_c Line | Count | Source | 729 | 1.76k | const uint8_t *left) { \ | 730 | 1.76k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 1.76k | } |
aom_dc_128_predictor_32x16_c Line | Count | Source | 729 | 1.63k | const uint8_t *left) { \ | 730 | 1.63k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 1.63k | } |
aom_dc_128_predictor_32x64_c Line | Count | Source | 729 | 278 | const uint8_t *left) { \ | 730 | 278 | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 278 | } |
aom_dc_128_predictor_64x32_c Line | Count | Source | 729 | 250 | const uint8_t *left) { \ | 730 | 250 | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 250 | } |
aom_dc_128_predictor_4x16_c Line | Count | Source | 729 | 391 | const uint8_t *left) { \ | 730 | 391 | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 391 | } |
aom_dc_128_predictor_16x4_c Line | Count | Source | 729 | 41 | const uint8_t *left) { \ | 730 | 41 | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 41 | } |
aom_dc_128_predictor_8x32_c Line | Count | Source | 729 | 808 | const uint8_t *left) { \ | 730 | 808 | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 808 | } |
aom_dc_128_predictor_32x8_c Line | Count | Source | 729 | 1.04k | const uint8_t *left) { \ | 730 | 1.04k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 1.04k | } |
aom_dc_128_predictor_16x64_c Line | Count | Source | 729 | 71 | const uint8_t *left) { \ | 730 | 71 | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 71 | } |
aom_dc_128_predictor_64x16_c Line | Count | Source | 729 | 14 | const uint8_t *left) { \ | 730 | 14 | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 14 | } |
aom_dc_left_predictor_4x4_c Line | Count | Source | 729 | 180k | const uint8_t *left) { \ | 730 | 180k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 180k | } |
aom_dc_left_predictor_8x8_c Line | Count | Source | 729 | 15.9k | const uint8_t *left) { \ | 730 | 15.9k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 15.9k | } |
aom_dc_left_predictor_16x16_c Line | Count | Source | 729 | 21.2k | const uint8_t *left) { \ | 730 | 21.2k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 21.2k | } |
aom_dc_left_predictor_32x32_c Line | Count | Source | 729 | 81.2k | const uint8_t *left) { \ | 730 | 81.2k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 81.2k | } |
aom_dc_left_predictor_64x64_c Line | Count | Source | 729 | 15.7k | const uint8_t *left) { \ | 730 | 15.7k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 15.7k | } |
aom_dc_left_predictor_4x8_c Line | Count | Source | 729 | 4.76k | const uint8_t *left) { \ | 730 | 4.76k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 4.76k | } |
aom_dc_left_predictor_8x4_c Line | Count | Source | 729 | 12.2k | const uint8_t *left) { \ | 730 | 12.2k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 12.2k | } |
aom_dc_left_predictor_8x16_c Line | Count | Source | 729 | 4.66k | const uint8_t *left) { \ | 730 | 4.66k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 4.66k | } |
aom_dc_left_predictor_16x8_c Line | Count | Source | 729 | 11.9k | const uint8_t *left) { \ | 730 | 11.9k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 11.9k | } |
aom_dc_left_predictor_16x32_c Line | Count | Source | 729 | 6.82k | const uint8_t *left) { \ | 730 | 6.82k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 6.82k | } |
aom_dc_left_predictor_32x16_c Line | Count | Source | 729 | 9.82k | const uint8_t *left) { \ | 730 | 9.82k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 9.82k | } |
aom_dc_left_predictor_32x64_c Line | Count | Source | 729 | 1.08k | const uint8_t *left) { \ | 730 | 1.08k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 1.08k | } |
aom_dc_left_predictor_64x32_c Line | Count | Source | 729 | 2.60k | const uint8_t *left) { \ | 730 | 2.60k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 2.60k | } |
aom_dc_left_predictor_4x16_c Line | Count | Source | 729 | 6.06k | const uint8_t *left) { \ | 730 | 6.06k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 6.06k | } |
aom_dc_left_predictor_16x4_c Line | Count | Source | 729 | 2.08k | const uint8_t *left) { \ | 730 | 2.08k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 2.08k | } |
aom_dc_left_predictor_8x32_c Line | Count | Source | 729 | 6.30k | const uint8_t *left) { \ | 730 | 6.30k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 6.30k | } |
aom_dc_left_predictor_32x8_c Line | Count | Source | 729 | 2.23k | const uint8_t *left) { \ | 730 | 2.23k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 2.23k | } |
aom_dc_left_predictor_16x64_c Line | Count | Source | 729 | 1.40k | const uint8_t *left) { \ | 730 | 1.40k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 1.40k | } |
aom_dc_left_predictor_64x16_c Line | Count | Source | 729 | 435 | const uint8_t *left) { \ | 730 | 435 | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 435 | } |
aom_dc_top_predictor_4x4_c Line | Count | Source | 729 | 193k | const uint8_t *left) { \ | 730 | 193k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 193k | } |
aom_dc_top_predictor_8x8_c Line | Count | Source | 729 | 71.5k | const uint8_t *left) { \ | 730 | 71.5k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 71.5k | } |
aom_dc_top_predictor_16x16_c Line | Count | Source | 729 | 94.4k | const uint8_t *left) { \ | 730 | 94.4k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 94.4k | } |
aom_dc_top_predictor_32x32_c Line | Count | Source | 729 | 298k | const uint8_t *left) { \ | 730 | 298k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 298k | } |
aom_dc_top_predictor_64x64_c Line | Count | Source | 729 | 31.8k | const uint8_t *left) { \ | 730 | 31.8k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 31.8k | } |
aom_dc_top_predictor_4x8_c Line | Count | Source | 729 | 63.0k | const uint8_t *left) { \ | 730 | 63.0k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 63.0k | } |
aom_dc_top_predictor_8x4_c Line | Count | Source | 729 | 33.4k | const uint8_t *left) { \ | 730 | 33.4k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 33.4k | } |
aom_dc_top_predictor_8x16_c Line | Count | Source | 729 | 61.4k | const uint8_t *left) { \ | 730 | 61.4k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 61.4k | } |
aom_dc_top_predictor_16x8_c Line | Count | Source | 729 | 26.3k | const uint8_t *left) { \ | 730 | 26.3k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 26.3k | } |
aom_dc_top_predictor_16x32_c Line | Count | Source | 729 | 69.1k | const uint8_t *left) { \ | 730 | 69.1k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 69.1k | } |
aom_dc_top_predictor_32x16_c Line | Count | Source | 729 | 34.2k | const uint8_t *left) { \ | 730 | 34.2k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 34.2k | } |
aom_dc_top_predictor_32x64_c Line | Count | Source | 729 | 11.1k | const uint8_t *left) { \ | 730 | 11.1k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 11.1k | } |
aom_dc_top_predictor_64x32_c Line | Count | Source | 729 | 5.11k | const uint8_t *left) { \ | 730 | 5.11k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 5.11k | } |
aom_dc_top_predictor_4x16_c Line | Count | Source | 729 | 9.82k | const uint8_t *left) { \ | 730 | 9.82k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 9.82k | } |
aom_dc_top_predictor_16x4_c Line | Count | Source | 729 | 15.5k | const uint8_t *left) { \ | 730 | 15.5k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 15.5k | } |
aom_dc_top_predictor_8x32_c Line | Count | Source | 729 | 30.0k | const uint8_t *left) { \ | 730 | 30.0k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 30.0k | } |
aom_dc_top_predictor_32x8_c Line | Count | Source | 729 | 28.5k | const uint8_t *left) { \ | 730 | 28.5k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 28.5k | } |
aom_dc_top_predictor_16x64_c Line | Count | Source | 729 | 2.13k | const uint8_t *left) { \ | 730 | 2.13k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 2.13k | } |
aom_dc_top_predictor_64x16_c Line | Count | Source | 729 | 4.62k | const uint8_t *left) { \ | 730 | 4.62k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 4.62k | } |
Line | Count | Source | 729 | 3.26M | const uint8_t *left) { \ | 730 | 3.26M | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 3.26M | } |
Line | Count | Source | 729 | 2.09M | const uint8_t *left) { \ | 730 | 2.09M | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 2.09M | } |
Line | Count | Source | 729 | 1.11M | const uint8_t *left) { \ | 730 | 1.11M | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 1.11M | } |
Line | Count | Source | 729 | 1.22M | const uint8_t *left) { \ | 730 | 1.22M | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 1.22M | } |
Line | Count | Source | 729 | 75.9k | const uint8_t *left) { \ | 730 | 75.9k | type##_predictor(dst, stride, width, height, above, left); \ | 731 | 75.9k | } |
|
732 | | |
733 | | #if CONFIG_AV1_HIGHBITDEPTH |
734 | | #define intra_pred_highbd_sized(type, width, height) \ |
735 | | void aom_highbd_##type##_predictor_##width##x##height##_c( \ |
736 | | uint16_t *dst, ptrdiff_t stride, const uint16_t *above, \ |
737 | 22.9M | const uint16_t *left, int bd) { \ |
738 | 22.9M | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ |
739 | 22.9M | } aom_highbd_v_predictor_4x4_c Line | Count | Source | 737 | 233k | const uint16_t *left, int bd) { \ | 738 | 233k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 233k | } |
aom_highbd_v_predictor_8x8_c Line | Count | Source | 737 | 140k | const uint16_t *left, int bd) { \ | 738 | 140k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 140k | } |
aom_highbd_v_predictor_16x16_c Line | Count | Source | 737 | 73.2k | const uint16_t *left, int bd) { \ | 738 | 73.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 73.2k | } |
aom_highbd_v_predictor_32x32_c Line | Count | Source | 737 | 73.2k | const uint16_t *left, int bd) { \ | 738 | 73.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 73.2k | } |
aom_highbd_v_predictor_64x64_c Line | Count | Source | 737 | 7.31k | const uint16_t *left, int bd) { \ | 738 | 7.31k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 7.31k | } |
aom_highbd_v_predictor_4x8_c Line | Count | Source | 737 | 50.1k | const uint16_t *left, int bd) { \ | 738 | 50.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 50.1k | } |
aom_highbd_v_predictor_8x4_c Line | Count | Source | 737 | 71.6k | const uint16_t *left, int bd) { \ | 738 | 71.6k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 71.6k | } |
aom_highbd_v_predictor_8x16_c Line | Count | Source | 737 | 21.1k | const uint16_t *left, int bd) { \ | 738 | 21.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 21.1k | } |
aom_highbd_v_predictor_16x8_c Line | Count | Source | 737 | 25.8k | const uint16_t *left, int bd) { \ | 738 | 25.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 25.8k | } |
aom_highbd_v_predictor_16x32_c Line | Count | Source | 737 | 10.7k | const uint16_t *left, int bd) { \ | 738 | 10.7k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 10.7k | } |
aom_highbd_v_predictor_32x16_c Line | Count | Source | 737 | 9.08k | const uint16_t *left, int bd) { \ | 738 | 9.08k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 9.08k | } |
aom_highbd_v_predictor_32x64_c Line | Count | Source | 737 | 1.07k | const uint16_t *left, int bd) { \ | 738 | 1.07k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 1.07k | } |
aom_highbd_v_predictor_64x32_c Line | Count | Source | 737 | 618 | const uint16_t *left, int bd) { \ | 738 | 618 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 618 | } |
aom_highbd_v_predictor_4x16_c Line | Count | Source | 737 | 16.3k | const uint16_t *left, int bd) { \ | 738 | 16.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 16.3k | } |
aom_highbd_v_predictor_16x4_c Line | Count | Source | 737 | 28.6k | const uint16_t *left, int bd) { \ | 738 | 28.6k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 28.6k | } |
aom_highbd_v_predictor_8x32_c Line | Count | Source | 737 | 10.8k | const uint16_t *left, int bd) { \ | 738 | 10.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 10.8k | } |
aom_highbd_v_predictor_32x8_c Line | Count | Source | 737 | 10.7k | const uint16_t *left, int bd) { \ | 738 | 10.7k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 10.7k | } |
aom_highbd_v_predictor_16x64_c Line | Count | Source | 737 | 1.39k | const uint16_t *left, int bd) { \ | 738 | 1.39k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 1.39k | } |
aom_highbd_v_predictor_64x16_c Line | Count | Source | 737 | 1.18k | const uint16_t *left, int bd) { \ | 738 | 1.18k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 1.18k | } |
aom_highbd_h_predictor_4x4_c Line | Count | Source | 737 | 399k | const uint16_t *left, int bd) { \ | 738 | 399k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 399k | } |
aom_highbd_h_predictor_8x8_c Line | Count | Source | 737 | 226k | const uint16_t *left, int bd) { \ | 738 | 226k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 226k | } |
aom_highbd_h_predictor_16x16_c Line | Count | Source | 737 | 123k | const uint16_t *left, int bd) { \ | 738 | 123k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 123k | } |
aom_highbd_h_predictor_32x32_c Line | Count | Source | 737 | 71.4k | const uint16_t *left, int bd) { \ | 738 | 71.4k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 71.4k | } |
aom_highbd_h_predictor_64x64_c Line | Count | Source | 737 | 10.1k | const uint16_t *left, int bd) { \ | 738 | 10.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 10.1k | } |
aom_highbd_h_predictor_4x8_c Line | Count | Source | 737 | 82.3k | const uint16_t *left, int bd) { \ | 738 | 82.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 82.3k | } |
aom_highbd_h_predictor_8x4_c Line | Count | Source | 737 | 118k | const uint16_t *left, int bd) { \ | 738 | 118k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 118k | } |
aom_highbd_h_predictor_8x16_c Line | Count | Source | 737 | 31.0k | const uint16_t *left, int bd) { \ | 738 | 31.0k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 31.0k | } |
aom_highbd_h_predictor_16x8_c Line | Count | Source | 737 | 42.3k | const uint16_t *left, int bd) { \ | 738 | 42.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 42.3k | } |
aom_highbd_h_predictor_16x32_c Line | Count | Source | 737 | 12.0k | const uint16_t *left, int bd) { \ | 738 | 12.0k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 12.0k | } |
aom_highbd_h_predictor_32x16_c Line | Count | Source | 737 | 14.7k | const uint16_t *left, int bd) { \ | 738 | 14.7k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 14.7k | } |
aom_highbd_h_predictor_32x64_c Line | Count | Source | 737 | 1.00k | const uint16_t *left, int bd) { \ | 738 | 1.00k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 1.00k | } |
aom_highbd_h_predictor_64x32_c Line | Count | Source | 737 | 1.04k | const uint16_t *left, int bd) { \ | 738 | 1.04k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 1.04k | } |
aom_highbd_h_predictor_4x16_c Line | Count | Source | 737 | 23.3k | const uint16_t *left, int bd) { \ | 738 | 23.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 23.3k | } |
aom_highbd_h_predictor_16x4_c Line | Count | Source | 737 | 42.6k | const uint16_t *left, int bd) { \ | 738 | 42.6k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 42.6k | } |
aom_highbd_h_predictor_8x32_c Line | Count | Source | 737 | 15.5k | const uint16_t *left, int bd) { \ | 738 | 15.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 15.5k | } |
aom_highbd_h_predictor_32x8_c Line | Count | Source | 737 | 16.1k | const uint16_t *left, int bd) { \ | 738 | 16.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 16.1k | } |
aom_highbd_h_predictor_16x64_c Line | Count | Source | 737 | 2.06k | const uint16_t *left, int bd) { \ | 738 | 2.06k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 2.06k | } |
aom_highbd_h_predictor_64x16_c Line | Count | Source | 737 | 1.58k | const uint16_t *left, int bd) { \ | 738 | 1.58k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 1.58k | } |
aom_highbd_smooth_predictor_4x4_c Line | Count | Source | 737 | 723k | const uint16_t *left, int bd) { \ | 738 | 723k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 723k | } |
aom_highbd_smooth_predictor_8x8_c Line | Count | Source | 737 | 503k | const uint16_t *left, int bd) { \ | 738 | 503k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 503k | } |
aom_highbd_smooth_predictor_16x16_c Line | Count | Source | 737 | 267k | const uint16_t *left, int bd) { \ | 738 | 267k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 267k | } |
aom_highbd_smooth_predictor_32x32_c Line | Count | Source | 737 | 152k | const uint16_t *left, int bd) { \ | 738 | 152k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 152k | } |
aom_highbd_smooth_predictor_64x64_c Line | Count | Source | 737 | 25.0k | const uint16_t *left, int bd) { \ | 738 | 25.0k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 25.0k | } |
aom_highbd_smooth_predictor_4x8_c Line | Count | Source | 737 | 132k | const uint16_t *left, int bd) { \ | 738 | 132k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 132k | } |
aom_highbd_smooth_predictor_8x4_c Line | Count | Source | 737 | 193k | const uint16_t *left, int bd) { \ | 738 | 193k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 193k | } |
aom_highbd_smooth_predictor_8x16_c Line | Count | Source | 737 | 79.2k | const uint16_t *left, int bd) { \ | 738 | 79.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 79.2k | } |
aom_highbd_smooth_predictor_16x8_c Line | Count | Source | 737 | 99.5k | const uint16_t *left, int bd) { \ | 738 | 99.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 99.5k | } |
aom_highbd_smooth_predictor_16x32_c Line | Count | Source | 737 | 31.1k | const uint16_t *left, int bd) { \ | 738 | 31.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 31.1k | } |
aom_highbd_smooth_predictor_32x16_c Line | Count | Source | 737 | 33.5k | const uint16_t *left, int bd) { \ | 738 | 33.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 33.5k | } |
aom_highbd_smooth_predictor_32x64_c Line | Count | Source | 737 | 5.56k | const uint16_t *left, int bd) { \ | 738 | 5.56k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 5.56k | } |
aom_highbd_smooth_predictor_64x32_c Line | Count | Source | 737 | 4.51k | const uint16_t *left, int bd) { \ | 738 | 4.51k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 4.51k | } |
aom_highbd_smooth_predictor_4x16_c Line | Count | Source | 737 | 57.1k | const uint16_t *left, int bd) { \ | 738 | 57.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 57.1k | } |
aom_highbd_smooth_predictor_16x4_c Line | Count | Source | 737 | 95.0k | const uint16_t *left, int bd) { \ | 738 | 95.0k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 95.0k | } |
aom_highbd_smooth_predictor_8x32_c Line | Count | Source | 737 | 33.4k | const uint16_t *left, int bd) { \ | 738 | 33.4k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 33.4k | } |
aom_highbd_smooth_predictor_32x8_c Line | Count | Source | 737 | 35.2k | const uint16_t *left, int bd) { \ | 738 | 35.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 35.2k | } |
aom_highbd_smooth_predictor_16x64_c Line | Count | Source | 737 | 5.27k | const uint16_t *left, int bd) { \ | 738 | 5.27k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 5.27k | } |
aom_highbd_smooth_predictor_64x16_c Line | Count | Source | 737 | 3.71k | const uint16_t *left, int bd) { \ | 738 | 3.71k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 3.71k | } |
aom_highbd_smooth_v_predictor_4x4_c Line | Count | Source | 737 | 196k | const uint16_t *left, int bd) { \ | 738 | 196k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 196k | } |
aom_highbd_smooth_v_predictor_8x8_c Line | Count | Source | 737 | 146k | const uint16_t *left, int bd) { \ | 738 | 146k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 146k | } |
aom_highbd_smooth_v_predictor_16x16_c Line | Count | Source | 737 | 94.1k | const uint16_t *left, int bd) { \ | 738 | 94.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 94.1k | } |
aom_highbd_smooth_v_predictor_32x32_c Line | Count | Source | 737 | 76.7k | const uint16_t *left, int bd) { \ | 738 | 76.7k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 76.7k | } |
aom_highbd_smooth_v_predictor_64x64_c Line | Count | Source | 737 | 8.65k | const uint16_t *left, int bd) { \ | 738 | 8.65k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 8.65k | } |
aom_highbd_smooth_v_predictor_4x8_c Line | Count | Source | 737 | 46.6k | const uint16_t *left, int bd) { \ | 738 | 46.6k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 46.6k | } |
aom_highbd_smooth_v_predictor_8x4_c Line | Count | Source | 737 | 64.4k | const uint16_t *left, int bd) { \ | 738 | 64.4k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 64.4k | } |
aom_highbd_smooth_v_predictor_8x16_c Line | Count | Source | 737 | 28.2k | const uint16_t *left, int bd) { \ | 738 | 28.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 28.2k | } |
aom_highbd_smooth_v_predictor_16x8_c Line | Count | Source | 737 | 33.1k | const uint16_t *left, int bd) { \ | 738 | 33.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 33.1k | } |
aom_highbd_smooth_v_predictor_16x32_c Line | Count | Source | 737 | 11.8k | const uint16_t *left, int bd) { \ | 738 | 11.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 11.8k | } |
aom_highbd_smooth_v_predictor_32x16_c Line | Count | Source | 737 | 11.6k | const uint16_t *left, int bd) { \ | 738 | 11.6k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 11.6k | } |
aom_highbd_smooth_v_predictor_32x64_c Line | Count | Source | 737 | 1.33k | const uint16_t *left, int bd) { \ | 738 | 1.33k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 1.33k | } |
aom_highbd_smooth_v_predictor_64x32_c Line | Count | Source | 737 | 1.11k | const uint16_t *left, int bd) { \ | 738 | 1.11k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 1.11k | } |
aom_highbd_smooth_v_predictor_4x16_c Line | Count | Source | 737 | 20.4k | const uint16_t *left, int bd) { \ | 738 | 20.4k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 20.4k | } |
aom_highbd_smooth_v_predictor_16x4_c Line | Count | Source | 737 | 31.4k | const uint16_t *left, int bd) { \ | 738 | 31.4k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 31.4k | } |
aom_highbd_smooth_v_predictor_8x32_c Line | Count | Source | 737 | 11.4k | const uint16_t *left, int bd) { \ | 738 | 11.4k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 11.4k | } |
aom_highbd_smooth_v_predictor_32x8_c Line | Count | Source | 737 | 12.9k | const uint16_t *left, int bd) { \ | 738 | 12.9k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 12.9k | } |
aom_highbd_smooth_v_predictor_16x64_c Line | Count | Source | 737 | 1.62k | const uint16_t *left, int bd) { \ | 738 | 1.62k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 1.62k | } |
aom_highbd_smooth_v_predictor_64x16_c Line | Count | Source | 737 | 1.22k | const uint16_t *left, int bd) { \ | 738 | 1.22k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 1.22k | } |
aom_highbd_smooth_h_predictor_4x4_c Line | Count | Source | 737 | 333k | const uint16_t *left, int bd) { \ | 738 | 333k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 333k | } |
aom_highbd_smooth_h_predictor_8x8_c Line | Count | Source | 737 | 201k | const uint16_t *left, int bd) { \ | 738 | 201k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 201k | } |
aom_highbd_smooth_h_predictor_16x16_c Line | Count | Source | 737 | 114k | const uint16_t *left, int bd) { \ | 738 | 114k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 114k | } |
aom_highbd_smooth_h_predictor_32x32_c Line | Count | Source | 737 | 76.3k | const uint16_t *left, int bd) { \ | 738 | 76.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 76.3k | } |
aom_highbd_smooth_h_predictor_64x64_c Line | Count | Source | 737 | 10.1k | const uint16_t *left, int bd) { \ | 738 | 10.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 10.1k | } |
aom_highbd_smooth_h_predictor_4x8_c Line | Count | Source | 737 | 57.9k | const uint16_t *left, int bd) { \ | 738 | 57.9k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 57.9k | } |
aom_highbd_smooth_h_predictor_8x4_c Line | Count | Source | 737 | 82.6k | const uint16_t *left, int bd) { \ | 738 | 82.6k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 82.6k | } |
aom_highbd_smooth_h_predictor_8x16_c Line | Count | Source | 737 | 35.5k | const uint16_t *left, int bd) { \ | 738 | 35.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 35.5k | } |
aom_highbd_smooth_h_predictor_16x8_c Line | Count | Source | 737 | 40.4k | const uint16_t *left, int bd) { \ | 738 | 40.4k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 40.4k | } |
aom_highbd_smooth_h_predictor_16x32_c Line | Count | Source | 737 | 13.8k | const uint16_t *left, int bd) { \ | 738 | 13.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 13.8k | } |
aom_highbd_smooth_h_predictor_32x16_c Line | Count | Source | 737 | 14.3k | const uint16_t *left, int bd) { \ | 738 | 14.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 14.3k | } |
aom_highbd_smooth_h_predictor_32x64_c Line | Count | Source | 737 | 1.57k | const uint16_t *left, int bd) { \ | 738 | 1.57k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 1.57k | } |
aom_highbd_smooth_h_predictor_64x32_c Line | Count | Source | 737 | 1.10k | const uint16_t *left, int bd) { \ | 738 | 1.10k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 1.10k | } |
aom_highbd_smooth_h_predictor_4x16_c Line | Count | Source | 737 | 24.2k | const uint16_t *left, int bd) { \ | 738 | 24.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 24.2k | } |
aom_highbd_smooth_h_predictor_16x4_c Line | Count | Source | 737 | 40.8k | const uint16_t *left, int bd) { \ | 738 | 40.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 40.8k | } |
aom_highbd_smooth_h_predictor_8x32_c Line | Count | Source | 737 | 14.0k | const uint16_t *left, int bd) { \ | 738 | 14.0k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 14.0k | } |
aom_highbd_smooth_h_predictor_32x8_c Line | Count | Source | 737 | 16.1k | const uint16_t *left, int bd) { \ | 738 | 16.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 16.1k | } |
aom_highbd_smooth_h_predictor_16x64_c Line | Count | Source | 737 | 2.01k | const uint16_t *left, int bd) { \ | 738 | 2.01k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 2.01k | } |
aom_highbd_smooth_h_predictor_64x16_c Line | Count | Source | 737 | 1.24k | const uint16_t *left, int bd) { \ | 738 | 1.24k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 1.24k | } |
aom_highbd_paeth_predictor_4x4_c Line | Count | Source | 737 | 941k | const uint16_t *left, int bd) { \ | 738 | 941k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 941k | } |
aom_highbd_paeth_predictor_8x8_c Line | Count | Source | 737 | 1.14M | const uint16_t *left, int bd) { \ | 738 | 1.14M | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 1.14M | } |
aom_highbd_paeth_predictor_16x16_c Line | Count | Source | 737 | 2.08M | const uint16_t *left, int bd) { \ | 738 | 2.08M | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 2.08M | } |
aom_highbd_paeth_predictor_32x32_c Line | Count | Source | 737 | 488k | const uint16_t *left, int bd) { \ | 738 | 488k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 488k | } |
aom_highbd_paeth_predictor_64x64_c Line | Count | Source | 737 | 23.5k | const uint16_t *left, int bd) { \ | 738 | 23.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 23.5k | } |
aom_highbd_paeth_predictor_4x8_c Line | Count | Source | 737 | 205k | const uint16_t *left, int bd) { \ | 738 | 205k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 205k | } |
aom_highbd_paeth_predictor_8x4_c Line | Count | Source | 737 | 293k | const uint16_t *left, int bd) { \ | 738 | 293k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 293k | } |
aom_highbd_paeth_predictor_8x16_c Line | Count | Source | 737 | 116k | const uint16_t *left, int bd) { \ | 738 | 116k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 116k | } |
aom_highbd_paeth_predictor_16x8_c Line | Count | Source | 737 | 137k | const uint16_t *left, int bd) { \ | 738 | 137k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 137k | } |
aom_highbd_paeth_predictor_16x32_c Line | Count | Source | 737 | 145k | const uint16_t *left, int bd) { \ | 738 | 145k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 145k | } |
aom_highbd_paeth_predictor_32x16_c Line | Count | Source | 737 | 48.8k | const uint16_t *left, int bd) { \ | 738 | 48.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 48.8k | } |
aom_highbd_paeth_predictor_32x64_c Line | Count | Source | 737 | 23.2k | const uint16_t *left, int bd) { \ | 738 | 23.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 23.2k | } |
aom_highbd_paeth_predictor_64x32_c Line | Count | Source | 737 | 3.08k | const uint16_t *left, int bd) { \ | 738 | 3.08k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 3.08k | } |
aom_highbd_paeth_predictor_4x16_c Line | Count | Source | 737 | 193k | const uint16_t *left, int bd) { \ | 738 | 193k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 193k | } |
aom_highbd_paeth_predictor_16x4_c Line | Count | Source | 737 | 125k | const uint16_t *left, int bd) { \ | 738 | 125k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 125k | } |
aom_highbd_paeth_predictor_8x32_c Line | Count | Source | 737 | 158k | const uint16_t *left, int bd) { \ | 738 | 158k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 158k | } |
aom_highbd_paeth_predictor_32x8_c Line | Count | Source | 737 | 56.4k | const uint16_t *left, int bd) { \ | 738 | 56.4k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 56.4k | } |
aom_highbd_paeth_predictor_16x64_c Line | Count | Source | 737 | 39.1k | const uint16_t *left, int bd) { \ | 738 | 39.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 39.1k | } |
aom_highbd_paeth_predictor_64x16_c Line | Count | Source | 737 | 3.30k | const uint16_t *left, int bd) { \ | 738 | 3.30k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 3.30k | } |
aom_highbd_dc_128_predictor_4x4_c Line | Count | Source | 737 | 13.6k | const uint16_t *left, int bd) { \ | 738 | 13.6k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 13.6k | } |
aom_highbd_dc_128_predictor_8x8_c Line | Count | Source | 737 | 5.32k | const uint16_t *left, int bd) { \ | 738 | 5.32k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 5.32k | } |
aom_highbd_dc_128_predictor_16x16_c Line | Count | Source | 737 | 6.76k | const uint16_t *left, int bd) { \ | 738 | 6.76k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 6.76k | } |
aom_highbd_dc_128_predictor_32x32_c Line | Count | Source | 737 | 32.9k | const uint16_t *left, int bd) { \ | 738 | 32.9k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 32.9k | } |
aom_highbd_dc_128_predictor_64x64_c Line | Count | Source | 737 | 9.64k | const uint16_t *left, int bd) { \ | 738 | 9.64k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 9.64k | } |
aom_highbd_dc_128_predictor_4x8_c Line | Count | Source | 737 | 626 | const uint16_t *left, int bd) { \ | 738 | 626 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 626 | } |
aom_highbd_dc_128_predictor_8x4_c Line | Count | Source | 737 | 81 | const uint16_t *left, int bd) { \ | 738 | 81 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 81 | } |
aom_highbd_dc_128_predictor_8x16_c Line | Count | Source | 737 | 131 | const uint16_t *left, int bd) { \ | 738 | 131 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 131 | } |
aom_highbd_dc_128_predictor_16x8_c Line | Count | Source | 737 | 146 | const uint16_t *left, int bd) { \ | 738 | 146 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 146 | } |
aom_highbd_dc_128_predictor_16x32_c Line | Count | Source | 737 | 2.80k | const uint16_t *left, int bd) { \ | 738 | 2.80k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 2.80k | } |
aom_highbd_dc_128_predictor_32x16_c Line | Count | Source | 737 | 3.16k | const uint16_t *left, int bd) { \ | 738 | 3.16k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 3.16k | } |
aom_highbd_dc_128_predictor_32x64_c Line | Count | Source | 737 | 1.29k | const uint16_t *left, int bd) { \ | 738 | 1.29k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 1.29k | } |
aom_highbd_dc_128_predictor_64x32_c Line | Count | Source | 737 | 278 | const uint16_t *left, int bd) { \ | 738 | 278 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 278 | } |
aom_highbd_dc_128_predictor_4x16_c Line | Count | Source | 737 | 170 | const uint16_t *left, int bd) { \ | 738 | 170 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 170 | } |
aom_highbd_dc_128_predictor_16x4_c Line | Count | Source | 737 | 132 | const uint16_t *left, int bd) { \ | 738 | 132 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 132 | } |
aom_highbd_dc_128_predictor_8x32_c Line | Count | Source | 737 | 1.84k | const uint16_t *left, int bd) { \ | 738 | 1.84k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 1.84k | } |
aom_highbd_dc_128_predictor_32x8_c Line | Count | Source | 737 | 91 | const uint16_t *left, int bd) { \ | 738 | 91 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 91 | } |
aom_highbd_dc_128_predictor_16x64_c Line | Count | Source | 737 | 39 | const uint16_t *left, int bd) { \ | 738 | 39 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 39 | } |
aom_highbd_dc_128_predictor_64x16_c Line | Count | Source | 737 | 18 | const uint16_t *left, int bd) { \ | 738 | 18 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 18 | } |
aom_highbd_dc_left_predictor_4x4_c Line | Count | Source | 737 | 186k | const uint16_t *left, int bd) { \ | 738 | 186k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 186k | } |
aom_highbd_dc_left_predictor_8x8_c Line | Count | Source | 737 | 22.5k | const uint16_t *left, int bd) { \ | 738 | 22.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 22.5k | } |
aom_highbd_dc_left_predictor_16x16_c Line | Count | Source | 737 | 27.6k | const uint16_t *left, int bd) { \ | 738 | 27.6k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 27.6k | } |
aom_highbd_dc_left_predictor_32x32_c Line | Count | Source | 737 | 105k | const uint16_t *left, int bd) { \ | 738 | 105k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 105k | } |
aom_highbd_dc_left_predictor_64x64_c Line | Count | Source | 737 | 22.4k | const uint16_t *left, int bd) { \ | 738 | 22.4k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 22.4k | } |
aom_highbd_dc_left_predictor_4x8_c Line | Count | Source | 737 | 10.5k | const uint16_t *left, int bd) { \ | 738 | 10.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 10.5k | } |
aom_highbd_dc_left_predictor_8x4_c Line | Count | Source | 737 | 19.4k | const uint16_t *left, int bd) { \ | 738 | 19.4k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 19.4k | } |
aom_highbd_dc_left_predictor_8x16_c Line | Count | Source | 737 | 4.85k | const uint16_t *left, int bd) { \ | 738 | 4.85k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 4.85k | } |
aom_highbd_dc_left_predictor_16x8_c Line | Count | Source | 737 | 25.5k | const uint16_t *left, int bd) { \ | 738 | 25.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 25.5k | } |
aom_highbd_dc_left_predictor_16x32_c Line | Count | Source | 737 | 6.54k | const uint16_t *left, int bd) { \ | 738 | 6.54k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 6.54k | } |
aom_highbd_dc_left_predictor_32x16_c Line | Count | Source | 737 | 18.6k | const uint16_t *left, int bd) { \ | 738 | 18.6k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 18.6k | } |
aom_highbd_dc_left_predictor_32x64_c Line | Count | Source | 737 | 1.38k | const uint16_t *left, int bd) { \ | 738 | 1.38k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 1.38k | } |
aom_highbd_dc_left_predictor_64x32_c Line | Count | Source | 737 | 4.43k | const uint16_t *left, int bd) { \ | 738 | 4.43k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 4.43k | } |
aom_highbd_dc_left_predictor_4x16_c Line | Count | Source | 737 | 9.32k | const uint16_t *left, int bd) { \ | 738 | 9.32k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 9.32k | } |
aom_highbd_dc_left_predictor_16x4_c Line | Count | Source | 737 | 3.69k | const uint16_t *left, int bd) { \ | 738 | 3.69k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 3.69k | } |
aom_highbd_dc_left_predictor_8x32_c Line | Count | Source | 737 | 10.5k | const uint16_t *left, int bd) { \ | 738 | 10.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 10.5k | } |
aom_highbd_dc_left_predictor_32x8_c Line | Count | Source | 737 | 2.51k | const uint16_t *left, int bd) { \ | 738 | 2.51k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 2.51k | } |
aom_highbd_dc_left_predictor_16x64_c Line | Count | Source | 737 | 1.17k | const uint16_t *left, int bd) { \ | 738 | 1.17k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 1.17k | } |
aom_highbd_dc_left_predictor_64x16_c Line | Count | Source | 737 | 513 | const uint16_t *left, int bd) { \ | 738 | 513 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 513 | } |
aom_highbd_dc_top_predictor_4x4_c Line | Count | Source | 737 | 170k | const uint16_t *left, int bd) { \ | 738 | 170k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 170k | } |
aom_highbd_dc_top_predictor_8x8_c Line | Count | Source | 737 | 61.7k | const uint16_t *left, int bd) { \ | 738 | 61.7k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 61.7k | } |
aom_highbd_dc_top_predictor_16x16_c Line | Count | Source | 737 | 66.3k | const uint16_t *left, int bd) { \ | 738 | 66.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 66.3k | } |
aom_highbd_dc_top_predictor_32x32_c Line | Count | Source | 737 | 362k | const uint16_t *left, int bd) { \ | 738 | 362k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 362k | } |
aom_highbd_dc_top_predictor_64x64_c Line | Count | Source | 737 | 30.3k | const uint16_t *left, int bd) { \ | 738 | 30.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 30.3k | } |
aom_highbd_dc_top_predictor_4x8_c Line | Count | Source | 737 | 77.2k | const uint16_t *left, int bd) { \ | 738 | 77.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 77.2k | } |
aom_highbd_dc_top_predictor_8x4_c Line | Count | Source | 737 | 31.0k | const uint16_t *left, int bd) { \ | 738 | 31.0k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 31.0k | } |
aom_highbd_dc_top_predictor_8x16_c Line | Count | Source | 737 | 70.3k | const uint16_t *left, int bd) { \ | 738 | 70.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 70.3k | } |
aom_highbd_dc_top_predictor_16x8_c Line | Count | Source | 737 | 26.1k | const uint16_t *left, int bd) { \ | 738 | 26.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 26.1k | } |
aom_highbd_dc_top_predictor_16x32_c Line | Count | Source | 737 | 69.2k | const uint16_t *left, int bd) { \ | 738 | 69.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 69.2k | } |
aom_highbd_dc_top_predictor_32x16_c Line | Count | Source | 737 | 31.1k | const uint16_t *left, int bd) { \ | 738 | 31.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 31.1k | } |
aom_highbd_dc_top_predictor_32x64_c Line | Count | Source | 737 | 22.3k | const uint16_t *left, int bd) { \ | 738 | 22.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 22.3k | } |
aom_highbd_dc_top_predictor_64x32_c Line | Count | Source | 737 | 2.28k | const uint16_t *left, int bd) { \ | 738 | 2.28k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 2.28k | } |
aom_highbd_dc_top_predictor_4x16_c Line | Count | Source | 737 | 8.37k | const uint16_t *left, int bd) { \ | 738 | 8.37k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 8.37k | } |
aom_highbd_dc_top_predictor_16x4_c Line | Count | Source | 737 | 20.9k | const uint16_t *left, int bd) { \ | 738 | 20.9k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 20.9k | } |
aom_highbd_dc_top_predictor_8x32_c Line | Count | Source | 737 | 43.8k | const uint16_t *left, int bd) { \ | 738 | 43.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 43.8k | } |
aom_highbd_dc_top_predictor_32x8_c Line | Count | Source | 737 | 27.9k | const uint16_t *left, int bd) { \ | 738 | 27.9k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 27.9k | } |
aom_highbd_dc_top_predictor_16x64_c Line | Count | Source | 737 | 1.83k | const uint16_t *left, int bd) { \ | 738 | 1.83k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 1.83k | } |
aom_highbd_dc_top_predictor_64x16_c Line | Count | Source | 737 | 2.42k | const uint16_t *left, int bd) { \ | 738 | 2.42k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 2.42k | } |
aom_highbd_dc_predictor_4x4_c Line | Count | Source | 737 | 5.22M | const uint16_t *left, int bd) { \ | 738 | 5.22M | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 5.22M | } |
aom_highbd_dc_predictor_8x8_c Line | Count | Source | 737 | 1.25M | const uint16_t *left, int bd) { \ | 738 | 1.25M | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 1.25M | } |
aom_highbd_dc_predictor_16x16_c Line | Count | Source | 737 | 967k | const uint16_t *left, int bd) { \ | 738 | 967k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 967k | } |
aom_highbd_dc_predictor_32x32_c Line | Count | Source | 737 | 1.12M | const uint16_t *left, int bd) { \ | 738 | 1.12M | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 1.12M | } |
aom_highbd_dc_predictor_64x64_c Line | Count | Source | 737 | 109k | const uint16_t *left, int bd) { \ | 738 | 109k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 739 | 109k | } |
|
740 | | #else // !CONFIG_AV1_HIGHBITDEPTH |
741 | | #define intra_pred_highbd_sized(type, width, height) |
742 | | #endif // CONFIG_AV1_HIGHBITDEPTH |
743 | | |
744 | | /* clang-format off */ |
745 | | #if CONFIG_REALTIME_ONLY && !CONFIG_AV1_DECODER |
746 | | #define intra_pred_rectangular(type) \ |
747 | | intra_pred_sized(type, 4, 8) \ |
748 | | intra_pred_sized(type, 8, 4) \ |
749 | | intra_pred_sized(type, 8, 16) \ |
750 | | intra_pred_sized(type, 16, 8) \ |
751 | | intra_pred_sized(type, 16, 32) \ |
752 | | intra_pred_sized(type, 32, 16) \ |
753 | | intra_pred_sized(type, 32, 64) \ |
754 | | intra_pred_sized(type, 64, 32) \ |
755 | | intra_pred_highbd_sized(type, 4, 8) \ |
756 | | intra_pred_highbd_sized(type, 8, 4) \ |
757 | | intra_pred_highbd_sized(type, 8, 16) \ |
758 | | intra_pred_highbd_sized(type, 16, 8) \ |
759 | | intra_pred_highbd_sized(type, 16, 32) \ |
760 | | intra_pred_highbd_sized(type, 32, 16) \ |
761 | | intra_pred_highbd_sized(type, 32, 64) \ |
762 | | intra_pred_highbd_sized(type, 64, 32) |
763 | | #else |
764 | | #define intra_pred_rectangular(type) \ |
765 | | intra_pred_sized(type, 4, 8) \ |
766 | | intra_pred_sized(type, 8, 4) \ |
767 | | intra_pred_sized(type, 8, 16) \ |
768 | | intra_pred_sized(type, 16, 8) \ |
769 | | intra_pred_sized(type, 16, 32) \ |
770 | | intra_pred_sized(type, 32, 16) \ |
771 | | intra_pred_sized(type, 32, 64) \ |
772 | | intra_pred_sized(type, 64, 32) \ |
773 | | intra_pred_sized(type, 4, 16) \ |
774 | | intra_pred_sized(type, 16, 4) \ |
775 | | intra_pred_sized(type, 8, 32) \ |
776 | | intra_pred_sized(type, 32, 8) \ |
777 | | intra_pred_sized(type, 16, 64) \ |
778 | | intra_pred_sized(type, 64, 16) \ |
779 | | intra_pred_highbd_sized(type, 4, 8) \ |
780 | | intra_pred_highbd_sized(type, 8, 4) \ |
781 | | intra_pred_highbd_sized(type, 8, 16) \ |
782 | | intra_pred_highbd_sized(type, 16, 8) \ |
783 | | intra_pred_highbd_sized(type, 16, 32) \ |
784 | | intra_pred_highbd_sized(type, 32, 16) \ |
785 | | intra_pred_highbd_sized(type, 32, 64) \ |
786 | | intra_pred_highbd_sized(type, 64, 32) \ |
787 | | intra_pred_highbd_sized(type, 4, 16) \ |
788 | | intra_pred_highbd_sized(type, 16, 4) \ |
789 | | intra_pred_highbd_sized(type, 8, 32) \ |
790 | | intra_pred_highbd_sized(type, 32, 8) \ |
791 | | intra_pred_highbd_sized(type, 16, 64) \ |
792 | | intra_pred_highbd_sized(type, 64, 16) |
793 | | #endif // CONFIG_REALTIME_ONLY && !CONFIG_AV1_DECODER |
794 | | |
795 | | #define intra_pred_above_4x4(type) \ |
796 | | intra_pred_sized(type, 8, 8) \ |
797 | | intra_pred_sized(type, 16, 16) \ |
798 | | intra_pred_sized(type, 32, 32) \ |
799 | | intra_pred_sized(type, 64, 64) \ |
800 | | intra_pred_highbd_sized(type, 4, 4) \ |
801 | | intra_pred_highbd_sized(type, 8, 8) \ |
802 | | intra_pred_highbd_sized(type, 16, 16) \ |
803 | | intra_pred_highbd_sized(type, 32, 32) \ |
804 | | intra_pred_highbd_sized(type, 64, 64) \ |
805 | | intra_pred_rectangular(type) |
806 | | #define intra_pred_allsizes(type) \ |
807 | | intra_pred_sized(type, 4, 4) \ |
808 | | intra_pred_above_4x4(type) |
809 | | #define intra_pred_square(type) \ |
810 | | intra_pred_sized(type, 4, 4) \ |
811 | | intra_pred_sized(type, 8, 8) \ |
812 | | intra_pred_sized(type, 16, 16) \ |
813 | | intra_pred_sized(type, 32, 32) \ |
814 | | intra_pred_sized(type, 64, 64) \ |
815 | | intra_pred_highbd_sized(type, 4, 4) \ |
816 | | intra_pred_highbd_sized(type, 8, 8) \ |
817 | | intra_pred_highbd_sized(type, 16, 16) \ |
818 | | intra_pred_highbd_sized(type, 32, 32) \ |
819 | | intra_pred_highbd_sized(type, 64, 64) |
820 | | |
821 | | intra_pred_allsizes(v) |
822 | | intra_pred_allsizes(h) |
823 | | intra_pred_allsizes(smooth) |
824 | | intra_pred_allsizes(smooth_v) |
825 | | intra_pred_allsizes(smooth_h) |
826 | | intra_pred_allsizes(paeth) |
827 | | intra_pred_allsizes(dc_128) |
828 | | intra_pred_allsizes(dc_left) |
829 | | intra_pred_allsizes(dc_top) |
830 | | intra_pred_square(dc) |
831 | | /* clang-format on */ |
832 | | #undef intra_pred_allsizes |