/src/avm/avm_dsp/intrapred.c
Line | Count | Source |
1 | | /* |
2 | | * Copyright (c) 2021, Alliance for Open Media. All rights reserved |
3 | | * |
4 | | * This source code is subject to the terms of the BSD 3-Clause Clear License |
5 | | * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear |
6 | | * License was not distributed with this source code in the LICENSE file, you |
7 | | * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/. If the |
8 | | * Alliance for Open Media Patent License 1.0 was not distributed with this |
9 | | * source code in the PATENTS file, you can obtain it at |
10 | | * aomedia.org/license/patent-license/. |
11 | | */ |
12 | | |
13 | | #include <assert.h> |
14 | | #include <math.h> |
15 | | |
16 | | #include "config/avm_config.h" |
17 | | #include "config/avm_dsp_rtcd.h" |
18 | | |
19 | | #include "avm_dsp/avm_dsp_common.h" |
20 | | #include "avm_dsp/intrapred_common.h" |
21 | | #include "avm_mem/avm_mem.h" |
22 | | #include "avm_ports/bitops.h" |
23 | | #include "av2/common/warped_motion.h" |
24 | | |
25 | | static INLINE void v_predictor(uint8_t *dst, ptrdiff_t stride, int bw, int bh, |
26 | 0 | const uint8_t *above, const uint8_t *left) { |
27 | 0 | int r; |
28 | 0 | (void)left; |
29 | |
|
30 | 0 | for (r = 0; r < bh; r++) { |
31 | 0 | memcpy(dst, above, bw); |
32 | 0 | dst += stride; |
33 | 0 | } |
34 | 0 | } |
35 | | |
36 | | static INLINE void h_predictor(uint8_t *dst, ptrdiff_t stride, int bw, int bh, |
37 | 0 | const uint8_t *above, const uint8_t *left) { |
38 | 0 | int r; |
39 | 0 | (void)above; |
40 | |
|
41 | 0 | for (r = 0; r < bh; r++) { |
42 | 0 | memset(dst, left[r], bw); |
43 | 0 | dst += stride; |
44 | 0 | } |
45 | 0 | } |
46 | | |
47 | 308M | static INLINE int abs_diff(int a, int b) { return (a > b) ? a - b : b - a; } |
48 | | |
49 | | static INLINE uint16_t paeth_predictor_single(uint16_t left, uint16_t top, |
50 | 102M | uint16_t top_left) { |
51 | 102M | const int base = top + left - top_left; |
52 | 102M | const int p_left = abs_diff(base, left); |
53 | 102M | const int p_top = abs_diff(base, top); |
54 | 102M | const int p_top_left = abs_diff(base, top_left); |
55 | | |
56 | | // Return nearest to base of left, top and top_left. |
57 | 102M | return (p_left <= p_top && p_left <= p_top_left) ? left |
58 | 102M | : (p_top <= p_top_left) ? top |
59 | 24.4M | : top_left; |
60 | 102M | } |
61 | | |
62 | | static INLINE void paeth_predictor(uint8_t *dst, ptrdiff_t stride, int bw, |
63 | | int bh, const uint8_t *above, |
64 | 0 | const uint8_t *left) { |
65 | 0 | int r, c; |
66 | 0 | const uint8_t ytop_left = above[-1]; |
67 | |
|
68 | 0 | for (r = 0; r < bh; r++) { |
69 | 0 | for (c = 0; c < bw; c++) |
70 | 0 | dst[c] = (uint8_t)paeth_predictor_single(left[r], above[c], ytop_left); |
71 | 0 | dst += stride; |
72 | 0 | } |
73 | 0 | } |
74 | | |
75 | | // Some basic checks on weights for smooth predictor. |
76 | | #define sm_weights_sanity_checks(weights_w, weights_h, weights_scale, \ |
77 | | pred_scale) \ |
78 | 0 | assert(weights_w[0] < weights_scale); \ |
79 | 0 | assert(weights_h[0] < weights_scale); \ |
80 | 0 | assert(weights_scale - weights_w[bw - 1] < weights_scale); \ |
81 | 0 | assert(weights_scale - weights_h[bh - 1] < weights_scale); \ |
82 | 0 | assert(pred_scale < 31) // ensures no overflow when calculating predictor. |
83 | | |
84 | 2.24G | #define divide_round(value, bits) (((value) + (1 << ((bits) - 1))) >> (bits)) |
85 | | |
86 | | static INLINE void smooth_predictor(uint8_t *dst, ptrdiff_t stride, int bw, |
87 | | int bh, const uint8_t *above, |
88 | 0 | const uint8_t *left) { |
89 | 0 | const uint8_t below_pred = left[bh - 1]; // estimated by bottom-left pixel |
90 | 0 | const uint8_t right_pred = above[bw - 1]; // estimated by top-right pixel |
91 | 0 | const uint8_t *const sm_weights_w = sm_weight_arrays + bw; |
92 | 0 | const uint8_t *const sm_weights_h = sm_weight_arrays + bh; |
93 | | // scale = 2 * 2^sm_weight_log2_scale |
94 | 0 | const int log2_scale = 1 + sm_weight_log2_scale; |
95 | 0 | const uint16_t scale = (1 << sm_weight_log2_scale); |
96 | 0 | sm_weights_sanity_checks(sm_weights_w, sm_weights_h, scale, |
97 | 0 | log2_scale + sizeof(*dst)); |
98 | 0 | int r; |
99 | 0 | for (r = 0; r < bh; ++r) { |
100 | 0 | int c; |
101 | 0 | for (c = 0; c < bw; ++c) { |
102 | 0 | const uint8_t pixels[] = { above[c], below_pred, left[r], right_pred }; |
103 | 0 | const uint8_t weights[] = { sm_weights_h[r], scale - sm_weights_h[r], |
104 | 0 | sm_weights_w[c], scale - sm_weights_w[c] }; |
105 | 0 | uint32_t this_pred = 0; |
106 | 0 | int i; |
107 | 0 | assert(scale >= sm_weights_h[r] && scale >= sm_weights_w[c]); |
108 | 0 | for (i = 0; i < 4; ++i) { |
109 | 0 | this_pred += weights[i] * pixels[i]; |
110 | 0 | } |
111 | 0 | dst[c] = divide_round(this_pred, log2_scale); |
112 | 0 | } |
113 | 0 | dst += stride; |
114 | 0 | } |
115 | 0 | } |
116 | | |
117 | | static INLINE void smooth_v_predictor(uint8_t *dst, ptrdiff_t stride, int bw, |
118 | | int bh, const uint8_t *above, |
119 | 0 | const uint8_t *left) { |
120 | 0 | const uint8_t below_pred = left[bh - 1]; // estimated by bottom-left pixel |
121 | 0 | const uint8_t *const sm_weights = sm_weight_arrays + bh; |
122 | | // scale = 2^sm_weight_log2_scale |
123 | 0 | const int log2_scale = sm_weight_log2_scale; |
124 | 0 | const uint16_t scale = (1 << sm_weight_log2_scale); |
125 | 0 | sm_weights_sanity_checks(sm_weights, sm_weights, scale, |
126 | 0 | log2_scale + sizeof(*dst)); |
127 | |
|
128 | 0 | int r; |
129 | 0 | for (r = 0; r < bh; r++) { |
130 | 0 | int c; |
131 | 0 | for (c = 0; c < bw; ++c) { |
132 | 0 | const uint8_t pixels[] = { above[c], below_pred }; |
133 | 0 | const uint8_t weights[] = { sm_weights[r], scale - sm_weights[r] }; |
134 | 0 | uint32_t this_pred = 0; |
135 | 0 | assert(scale >= sm_weights[r]); |
136 | 0 | int i; |
137 | 0 | for (i = 0; i < 2; ++i) { |
138 | 0 | this_pred += weights[i] * pixels[i]; |
139 | 0 | } |
140 | 0 | dst[c] = divide_round(this_pred, log2_scale); |
141 | 0 | } |
142 | 0 | dst += stride; |
143 | 0 | } |
144 | 0 | } |
145 | | |
146 | | static INLINE void smooth_h_predictor(uint8_t *dst, ptrdiff_t stride, int bw, |
147 | | int bh, const uint8_t *above, |
148 | 0 | const uint8_t *left) { |
149 | 0 | const uint8_t right_pred = above[bw - 1]; // estimated by top-right pixel |
150 | 0 | const uint8_t *const sm_weights = sm_weight_arrays + bw; |
151 | | // scale = 2^sm_weight_log2_scale |
152 | 0 | const int log2_scale = sm_weight_log2_scale; |
153 | 0 | const uint16_t scale = (1 << sm_weight_log2_scale); |
154 | 0 | sm_weights_sanity_checks(sm_weights, sm_weights, scale, |
155 | 0 | log2_scale + sizeof(*dst)); |
156 | |
|
157 | 0 | int r; |
158 | 0 | for (r = 0; r < bh; r++) { |
159 | 0 | int c; |
160 | 0 | for (c = 0; c < bw; ++c) { |
161 | 0 | const uint8_t pixels[] = { left[r], right_pred }; |
162 | 0 | const uint8_t weights[] = { sm_weights[c], scale - sm_weights[c] }; |
163 | 0 | uint32_t this_pred = 0; |
164 | 0 | assert(scale >= sm_weights[c]); |
165 | 0 | int i; |
166 | 0 | for (i = 0; i < 2; ++i) { |
167 | 0 | this_pred += weights[i] * pixels[i]; |
168 | 0 | } |
169 | 0 | dst[c] = divide_round(this_pred, log2_scale); |
170 | 0 | } |
171 | 0 | dst += stride; |
172 | 0 | } |
173 | 0 | } |
174 | | |
175 | | static INLINE void dc_128_predictor(uint8_t *dst, ptrdiff_t stride, int bw, |
176 | | int bh, const uint8_t *above, |
177 | 0 | const uint8_t *left) { |
178 | 0 | int r; |
179 | 0 | (void)above; |
180 | 0 | (void)left; |
181 | |
|
182 | 0 | for (r = 0; r < bh; r++) { |
183 | 0 | memset(dst, 128, bw); |
184 | 0 | dst += stride; |
185 | 0 | } |
186 | 0 | } |
187 | | |
188 | | static INLINE void dc_left_predictor(uint8_t *dst, ptrdiff_t stride, int bw, |
189 | | int bh, const uint8_t *above, |
190 | 0 | const uint8_t *left) { |
191 | 0 | int i, r, expected_dc, sum = 0; |
192 | 0 | (void)above; |
193 | |
|
194 | 0 | for (i = 0; i < bh; i++) sum += left[i]; |
195 | 0 | expected_dc = (sum + (bh >> 1)) / bh; |
196 | |
|
197 | 0 | for (r = 0; r < bh; r++) { |
198 | 0 | memset(dst, expected_dc, bw); |
199 | 0 | dst += stride; |
200 | 0 | } |
201 | 0 | } |
202 | | |
203 | | static INLINE void dc_top_predictor(uint8_t *dst, ptrdiff_t stride, int bw, |
204 | | int bh, const uint8_t *above, |
205 | 0 | const uint8_t *left) { |
206 | 0 | int i, r, expected_dc, sum = 0; |
207 | 0 | (void)left; |
208 | |
|
209 | 0 | for (i = 0; i < bw; i++) sum += above[i]; |
210 | 0 | expected_dc = (sum + (bw >> 1)) / bw; |
211 | |
|
212 | 0 | for (r = 0; r < bh; r++) { |
213 | 0 | memset(dst, expected_dc, bw); |
214 | 0 | dst += stride; |
215 | 0 | } |
216 | 0 | } |
217 | | |
218 | | static INLINE void dc_predictor(uint8_t *dst, ptrdiff_t stride, int bw, int bh, |
219 | 0 | const uint8_t *above, const uint8_t *left) { |
220 | 0 | int i, r, expected_dc, sum = 0; |
221 | 0 | const int count = bw + bh; |
222 | |
|
223 | 0 | for (i = 0; i < bw; i++) { |
224 | 0 | sum += above[i]; |
225 | 0 | } |
226 | 0 | for (i = 0; i < bh; i++) { |
227 | 0 | sum += left[i]; |
228 | 0 | } |
229 | |
|
230 | 0 | expected_dc = (sum + (count >> 1)) / count; |
231 | |
|
232 | 0 | for (r = 0; r < bh; r++) { |
233 | 0 | memset(dst, expected_dc, bw); |
234 | 0 | dst += stride; |
235 | 0 | } |
236 | 0 | } |
237 | | |
238 | | static INLINE void highbd_v_predictor(uint16_t *dst, ptrdiff_t stride, int bw, |
239 | | int bh, const uint16_t *above, |
240 | 34.1k | const uint16_t *left, int bd) { |
241 | 34.1k | int r; |
242 | 34.1k | (void)left; |
243 | 34.1k | (void)bd; |
244 | 1.28M | for (r = 0; r < bh; r++) { |
245 | 1.24M | memcpy(dst, above, bw * sizeof(uint16_t)); |
246 | 1.24M | dst += stride; |
247 | 1.24M | } |
248 | 34.1k | } |
249 | | |
250 | | static INLINE void highbd_h_predictor(uint16_t *dst, ptrdiff_t stride, int bw, |
251 | | int bh, const uint16_t *above, |
252 | 37.3k | const uint16_t *left, int bd) { |
253 | 37.3k | int r; |
254 | 37.3k | (void)above; |
255 | 37.3k | (void)bd; |
256 | 1.36M | for (r = 0; r < bh; r++) { |
257 | 1.33M | avm_memset16(dst, left[r], bw); |
258 | 1.33M | dst += stride; |
259 | 1.33M | } |
260 | 37.3k | } |
261 | | |
262 | | static INLINE void highbd_paeth_predictor(uint16_t *dst, ptrdiff_t stride, |
263 | | int bw, int bh, const uint16_t *above, |
264 | 212k | const uint16_t *left, int bd) { |
265 | 212k | int r, c; |
266 | 212k | const uint16_t ytop_left = above[-1]; |
267 | 212k | (void)bd; |
268 | | |
269 | 3.82M | for (r = 0; r < bh; r++) { |
270 | 106M | for (c = 0; c < bw; c++) |
271 | 102M | dst[c] = paeth_predictor_single(left[r], above[c], ytop_left); |
272 | 3.60M | dst += stride; |
273 | 3.60M | } |
274 | 212k | } |
275 | | |
276 | 1.08G | #define BLEND_WEIGHT_MAX 32 |
277 | | static const uint8_t blk_size_log2[65] = { |
278 | | 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, |
279 | | 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, |
280 | | 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6 |
281 | | }; |
282 | | |
283 | | static INLINE void highbd_smooth_predictor(uint16_t *dst, ptrdiff_t stride, |
284 | | int bw, int bh, |
285 | | const uint16_t *above, |
286 | 728k | const uint16_t *left, int bd) { |
287 | 728k | (void)bd; |
288 | 728k | const uint16_t bl = left[bh]; // estimated by bottom-left pixel |
289 | 728k | const uint16_t tr = above[bw]; // estimated by top-right pixel |
290 | | |
291 | 728k | uint16_t *pred = dst; |
292 | 728k | const int scale = |
293 | 728k | ROUND_POWER_OF_TWO((blk_size_log2[bh] - 2 + blk_size_log2[bw] - 2), 2); |
294 | 728k | assert(scale >= 0 && scale <= BLEND_WEIGHT_MAX - 1); |
295 | 12.9M | for (int r = 0; r < bh; r++) { |
296 | 12.1M | const int s_top = |
297 | 12.1M | BLEND_WEIGHT_MAX >> |
298 | 12.1M | AVMMIN(blk_size_log2[BLEND_WEIGHT_MAX << 1], ((r << 1) >> scale)); |
299 | 12.1M | const uint16_t l = left[r]; |
300 | 369M | for (int c = 0; c < bw; c++) { |
301 | 357M | const int s_left = |
302 | 357M | BLEND_WEIGHT_MAX >> |
303 | 357M | AVMMIN(blk_size_log2[BLEND_WEIGHT_MAX << 1], ((c << 1) >> scale)); |
304 | 357M | const uint16_t top = above[c]; |
305 | 357M | const int blend_max_log2 = blk_size_log2[BLEND_WEIGHT_MAX]; |
306 | 357M | uint16_t predv = |
307 | 357M | bl + divide_round(((int16_t)above[c] - (int16_t)bl) * (bh - 1 - r), |
308 | 357M | blk_size_log2[bh]); |
309 | 357M | uint16_t predh = |
310 | 357M | tr + divide_round(((int16_t)left[r] - (int16_t)tr) * (bw - 1 - c), |
311 | 357M | blk_size_log2[bw]); |
312 | 357M | predv = predv + divide_round(((int16_t)top - (int16_t)predv) * s_top, |
313 | 357M | (blend_max_log2 + 1)); |
314 | 357M | assert(predv < (1 << bd)); |
315 | 357M | predh = predh + divide_round(((int16_t)l - (int16_t)predh) * s_left, |
316 | 357M | (blend_max_log2 + 1)); |
317 | 357M | assert(predh < (1 << bd)); |
318 | 357M | pred[c] = divide_round((predv + predh), 1); |
319 | 357M | assert(pred[c] < (1 << bd)); |
320 | 357M | } |
321 | 12.1M | pred += stride; |
322 | 12.1M | } |
323 | 728k | } |
324 | | |
325 | | static INLINE void highbd_smooth_v_predictor(uint16_t *dst, ptrdiff_t stride, |
326 | | int bw, int bh, |
327 | | const uint16_t *above, |
328 | 200k | const uint16_t *left, int bd) { |
329 | 200k | (void)bd; |
330 | 200k | const uint16_t bl = left[bh]; // estimated by bottom-left pixel |
331 | | |
332 | 200k | uint16_t *pred = dst; |
333 | 200k | const int scale = |
334 | 200k | ROUND_POWER_OF_TWO((blk_size_log2[bh] - 2 + blk_size_log2[bw] - 2), 2); |
335 | 200k | assert(scale >= 0 && scale <= BLEND_WEIGHT_MAX - 1); |
336 | 3.67M | for (int r = 0; r < bh; ++r) { |
337 | 3.47M | const int s_top = |
338 | 3.47M | BLEND_WEIGHT_MAX >> |
339 | 3.47M | AVMMIN(blk_size_log2[BLEND_WEIGHT_MAX << 1], ((r << 1) >> scale)); |
340 | 113M | for (int c = 0; c < bw; ++c) { |
341 | 109M | const uint16_t top = above[c]; |
342 | 109M | const int blend_max_log2 = blk_size_log2[BLEND_WEIGHT_MAX]; |
343 | 109M | uint16_t predv = |
344 | 109M | bl + divide_round(((int16_t)above[c] - (int16_t)bl) * (bh - 1 - r), |
345 | 109M | blk_size_log2[bh]); |
346 | 109M | pred[c] = predv + divide_round(((int16_t)top - (int16_t)predv) * s_top, |
347 | 109M | (blend_max_log2 + 1)); |
348 | 109M | assert(pred[c] < (1 << bd)); |
349 | 109M | } |
350 | 3.47M | pred += stride; |
351 | 3.47M | } |
352 | 200k | } |
353 | | |
354 | | static INLINE void highbd_smooth_h_predictor(uint16_t *dst, ptrdiff_t stride, |
355 | | int bw, int bh, |
356 | | const uint16_t *above, |
357 | 217k | const uint16_t *left, int bd) { |
358 | 217k | (void)bd; |
359 | 217k | const uint16_t tr = above[bw]; // estimated by top-right pixel |
360 | | |
361 | 217k | uint16_t *pred = dst; |
362 | 217k | const int scale = |
363 | 217k | ROUND_POWER_OF_TWO((blk_size_log2[bh] - 2 + blk_size_log2[bw] - 2), 2); |
364 | 217k | assert(scale >= 0 && scale <= BLEND_WEIGHT_MAX - 1); |
365 | 4.07M | for (int r = 0; r < bh; r++) { |
366 | 3.85M | const uint16_t l = left[r]; |
367 | 123M | for (int c = 0; c < bw; c++) { |
368 | 120M | const int s_left = |
369 | 120M | BLEND_WEIGHT_MAX >> |
370 | 120M | AVMMIN(blk_size_log2[BLEND_WEIGHT_MAX << 1], ((c << 1) >> scale)); |
371 | 120M | const int blend_max_log2 = blk_size_log2[BLEND_WEIGHT_MAX]; |
372 | 120M | uint16_t predh = |
373 | 120M | tr + divide_round(((int16_t)left[r] - (int16_t)tr) * (bw - 1 - c), |
374 | 120M | blk_size_log2[bw]); |
375 | 120M | pred[c] = predh + divide_round(((int16_t)l - (int16_t)predh) * s_left, |
376 | 120M | (blend_max_log2 + 1)); |
377 | 120M | assert(pred[c] < (1 << bd)); |
378 | 120M | } |
379 | 3.85M | pred += stride; |
380 | 3.85M | } |
381 | 217k | } |
382 | | |
383 | | static INLINE void highbd_dc_128_predictor(uint16_t *dst, ptrdiff_t stride, |
384 | | int bw, int bh, |
385 | | const uint16_t *above, |
386 | 55.5k | const uint16_t *left, int bd) { |
387 | 55.5k | int r; |
388 | 55.5k | (void)above; |
389 | 55.5k | (void)left; |
390 | | |
391 | 2.58M | for (r = 0; r < bh; r++) { |
392 | 2.53M | avm_memset16(dst, 128 << (bd - 8), bw); |
393 | 2.53M | dst += stride; |
394 | 2.53M | } |
395 | 55.5k | } |
396 | | |
397 | | static INLINE void highbd_dc_left_predictor(uint16_t *dst, ptrdiff_t stride, |
398 | | int bw, int bh, |
399 | | const uint16_t *above, |
400 | 63.6k | const uint16_t *left, int bd) { |
401 | 63.6k | int i, r, expected_dc, sum = 0; |
402 | 63.6k | (void)above; |
403 | 63.6k | (void)bd; |
404 | | |
405 | 2.92M | for (i = 0; i < bh; i++) sum += left[i]; |
406 | 63.6k | expected_dc = (sum + (bh >> 1)) / bh; |
407 | | |
408 | 2.70M | for (r = 0; r < bh; r++) { |
409 | 2.64M | avm_memset16(dst, expected_dc, bw); |
410 | 2.64M | dst += stride; |
411 | 2.64M | } |
412 | 63.6k | } |
413 | | |
414 | | static INLINE void highbd_dc_top_predictor(uint16_t *dst, ptrdiff_t stride, |
415 | | int bw, int bh, |
416 | | const uint16_t *above, |
417 | 129k | const uint16_t *left, int bd) { |
418 | 129k | int i, r, expected_dc, sum = 0; |
419 | 129k | (void)left; |
420 | 129k | (void)bd; |
421 | | |
422 | 5.47M | for (i = 0; i < bw; i++) sum += above[i]; |
423 | 129k | expected_dc = (sum + (bw >> 1)) / bw; |
424 | | |
425 | 5.10M | for (r = 0; r < bh; r++) { |
426 | 4.98M | avm_memset16(dst, expected_dc, bw); |
427 | 4.98M | dst += stride; |
428 | 4.98M | } |
429 | 129k | } |
430 | | |
431 | | static INLINE void highbd_dc_predictor(uint16_t *dst, ptrdiff_t stride, int bw, |
432 | | int bh, const uint16_t *above, |
433 | 98.5k | const uint16_t *left, int bd) { |
434 | 98.5k | int i, r, expected_dc, sum = 0; |
435 | 98.5k | const int count = bw + bh; |
436 | 98.5k | (void)bd; |
437 | | |
438 | 6.40M | for (i = 0; i < bw; i++) { |
439 | 6.30M | sum += above[i]; |
440 | 6.30M | } |
441 | 6.40M | for (i = 0; i < bh; i++) { |
442 | 6.30M | sum += left[i]; |
443 | 6.30M | } |
444 | | |
445 | 98.5k | expected_dc = (sum + (count >> 1)) / count; |
446 | | |
447 | 6.17M | for (r = 0; r < bh; r++) { |
448 | 6.07M | avm_memset16(dst, expected_dc, bw); |
449 | 6.07M | dst += stride; |
450 | 6.07M | } |
451 | 98.5k | } |
452 | | |
453 | | const uint8_t ibp_weights[5][16] = { |
454 | | { 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, |
455 | | { 86, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, |
456 | | { 77, 90, 102, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, |
457 | | { 71, 78, 86, 92, 100, 107, 114, 121, 0, 0, 0, 0, 0, 0, 0, 0 }, |
458 | | { 68, 72, 76, 79, 83, 87, 90, 94, 98, 102, 106, 109, 113, 117, 121, 124 } |
459 | | }; |
460 | | |
461 | | const uint8_t size_to_weights_index[9] = { 0, 1, 2, 0, 3, 0, 0, 0, 4 }; |
462 | | static INLINE void highbd_ibp_dc_left_predictor(uint16_t *dst, ptrdiff_t stride, |
463 | | int bw, int bh, |
464 | | const uint16_t *above, |
465 | 67.5k | const uint16_t *left, int bd) { |
466 | 67.5k | int r, c; |
467 | 67.5k | (void)above; |
468 | 67.5k | (void)bd; |
469 | | |
470 | 67.5k | int len = bw >> 2; |
471 | 67.5k | const uint8_t weights_index = size_to_weights_index[bw >> 3]; |
472 | 67.5k | const uint8_t *weights = ibp_weights[weights_index]; |
473 | 2.59M | for (r = 0; r < bh; r++) { |
474 | 35.7M | for (c = 0; c < len; c++) { |
475 | 33.2M | int val = ROUND_POWER_OF_TWO( |
476 | 33.2M | left[r] * (IBP_WEIGHT_REF - weights[c]) + dst[c] * weights[c], |
477 | 33.2M | IBP_WEIGHT_SHIFT); |
478 | 33.2M | dst[c] = val; |
479 | 33.2M | } |
480 | 2.53M | dst += stride; |
481 | 2.53M | } |
482 | 67.5k | } |
483 | | |
484 | | static INLINE void highbd_ibp_dc_top_predictor(uint16_t *dst, ptrdiff_t stride, |
485 | | int bw, int bh, |
486 | | const uint16_t *above, |
487 | 175k | const uint16_t *left, int bd) { |
488 | 175k | int r, c; |
489 | 175k | (void)left; |
490 | 175k | (void)bd; |
491 | | |
492 | 175k | int len = bh >> 2; |
493 | 175k | const uint8_t weights_index = size_to_weights_index[bh >> 3]; |
494 | 175k | const uint8_t *weights = ibp_weights[weights_index]; |
495 | 1.69M | for (r = 0; r < len; r++) { |
496 | 65.7M | for (c = 0; c < bw; c++) { |
497 | 64.2M | int val = ROUND_POWER_OF_TWO( |
498 | 64.2M | above[c] * (IBP_WEIGHT_REF - weights[r]) + dst[c] * weights[r], |
499 | 64.2M | IBP_WEIGHT_SHIFT); |
500 | 64.2M | dst[c] = val; |
501 | 64.2M | } |
502 | 1.51M | dst += stride; |
503 | 1.51M | } |
504 | 175k | } |
505 | | |
506 | | static INLINE void highbd_ibp_dc_predictor(uint16_t *dst, ptrdiff_t stride, |
507 | | int bw, int bh, |
508 | | const uint16_t *above, |
509 | 411k | const uint16_t *left, int bd) { |
510 | 411k | int r, c; |
511 | 411k | (void)bd; |
512 | | |
513 | 411k | uint16_t *orig_dst = dst; |
514 | 411k | int len_h = bh >> 2; |
515 | 411k | int len_w = bw >> 2; |
516 | 411k | int row_start = 0; |
517 | 411k | int col_start = 0; |
518 | 411k | if (bw >= bh) |
519 | 294k | row_start = len_h; |
520 | 117k | else |
521 | 117k | col_start = len_w; |
522 | 411k | uint8_t weights_index = size_to_weights_index[bh >> 3]; |
523 | 411k | const uint8_t *weights = ibp_weights[weights_index]; |
524 | 3.25M | for (r = 0; r < len_h; r++) { |
525 | 112M | for (c = col_start; c < bw; c++) { |
526 | 109M | int val = ROUND_POWER_OF_TWO( |
527 | 109M | above[c] * (IBP_WEIGHT_REF - weights[r]) + dst[c] * weights[r], |
528 | 109M | IBP_WEIGHT_SHIFT); |
529 | 109M | dst[c] = val; |
530 | 109M | } |
531 | 2.84M | dst += stride; |
532 | 2.84M | } |
533 | 411k | dst = orig_dst + row_start * stride; |
534 | 411k | weights_index = size_to_weights_index[bw >> 3]; |
535 | 411k | weights = ibp_weights[weights_index]; |
536 | 9.77M | for (r = row_start; r < bh; r++) { |
537 | 97.1M | for (c = 0; c < len_w; c++) { |
538 | 87.7M | int val = ROUND_POWER_OF_TWO( |
539 | 87.7M | left[r] * (IBP_WEIGHT_REF - weights[c]) + dst[c] * weights[c], |
540 | 87.7M | IBP_WEIGHT_SHIFT); |
541 | 87.7M | dst[c] = val; |
542 | 87.7M | } |
543 | 9.36M | dst += stride; |
544 | 9.36M | } |
545 | 411k | } |
546 | | |
547 | | static INLINE void ibp_dc_left_predictor(uint8_t *dst, ptrdiff_t stride, int bw, |
548 | | int bh, const uint8_t *above, |
549 | 0 | const uint8_t *left) { |
550 | 0 | int r, c; |
551 | 0 | (void)above; |
552 | |
|
553 | 0 | const uint8_t weights_index = size_to_weights_index[bw >> 3]; |
554 | 0 | const uint8_t *weights = ibp_weights[weights_index]; |
555 | 0 | int len = bw >> 2; |
556 | 0 | for (r = 0; r < bh; r++) { |
557 | 0 | for (c = 0; c < len; c++) { |
558 | 0 | int val = ROUND_POWER_OF_TWO( |
559 | 0 | left[r] * (IBP_WEIGHT_REF - weights[c]) + dst[c] * weights[c], |
560 | 0 | IBP_WEIGHT_SHIFT); |
561 | 0 | dst[c] = val; |
562 | 0 | } |
563 | 0 | dst += stride; |
564 | 0 | } |
565 | 0 | } |
566 | | |
567 | | static INLINE void ibp_dc_top_predictor(uint8_t *dst, ptrdiff_t stride, int bw, |
568 | | int bh, const uint8_t *above, |
569 | 0 | const uint8_t *left) { |
570 | 0 | int r, c; |
571 | 0 | (void)left; |
572 | |
|
573 | 0 | const uint8_t weights_index = size_to_weights_index[bh >> 3]; |
574 | 0 | const uint8_t *weights = ibp_weights[weights_index]; |
575 | 0 | int len = bh >> 2; |
576 | 0 | for (r = 0; r < len; r++) { |
577 | 0 | for (c = 0; c < bw; c++) { |
578 | 0 | int val = ROUND_POWER_OF_TWO( |
579 | 0 | above[c] * (IBP_WEIGHT_REF - weights[r]) + dst[c] * weights[r], |
580 | 0 | IBP_WEIGHT_SHIFT); |
581 | 0 | dst[c] = val; |
582 | 0 | } |
583 | 0 | dst += stride; |
584 | 0 | } |
585 | 0 | } |
586 | | |
587 | | static INLINE void ibp_dc_predictor(uint8_t *dst, ptrdiff_t stride, int bw, |
588 | | int bh, const uint8_t *above, |
589 | 0 | const uint8_t *left) { |
590 | 0 | int r, c; |
591 | 0 | uint8_t *orig_dst = dst; |
592 | 0 | uint8_t weights_index = size_to_weights_index[bh >> 3]; |
593 | 0 | const uint8_t *weights = ibp_weights[weights_index]; |
594 | 0 | int len_w = bw >> 2; |
595 | 0 | int len_h = bh >> 2; |
596 | 0 | int row_start = 0; |
597 | 0 | int col_start = 0; |
598 | 0 | if (bw >= bh) |
599 | 0 | row_start = len_h; |
600 | 0 | else |
601 | 0 | col_start = len_w; |
602 | 0 | for (r = 0; r < len_h; r++) { |
603 | 0 | for (c = col_start; c < bw; c++) { |
604 | 0 | int val = ROUND_POWER_OF_TWO( |
605 | 0 | above[c] * (IBP_WEIGHT_REF - weights[r]) + dst[c] * weights[r], |
606 | 0 | IBP_WEIGHT_SHIFT); |
607 | 0 | dst[c] = val; |
608 | 0 | } |
609 | 0 | dst += stride; |
610 | 0 | } |
611 | 0 | dst = orig_dst + row_start * stride; |
612 | 0 | weights_index = size_to_weights_index[bw >> 3]; |
613 | 0 | weights = ibp_weights[weights_index]; |
614 | 0 | for (r = row_start; r < bh; r++) { |
615 | 0 | for (c = 0; c < len_w; c++) { |
616 | 0 | int val = ROUND_POWER_OF_TWO( |
617 | 0 | left[r] * (IBP_WEIGHT_REF - weights[c]) + dst[c] * weights[c], |
618 | 0 | IBP_WEIGHT_SHIFT); |
619 | 0 | dst[c] = val; |
620 | 0 | } |
621 | 0 | dst += stride; |
622 | 0 | } |
623 | 0 | } |
624 | | |
625 | | // The constants (multiplier and shifts) for a given block size are obtained |
626 | | // as follows: |
627 | | // - Let sum_w_h = block width + block height. |
628 | | // - Shift 'sum_w_h' right until we reach an odd number. Let the number of |
629 | | // shifts for that block size be called 'shift1' (see the parameter in |
630 | | // dc_predictor_rect() function), and let the odd number be 'd'. |
631 | | // d has only 4 possible values: |
632 | | // * d = 3 for a 1:2 rect block, |
633 | | // * d = 5 for a 1:4 rect block, |
634 | | // * d = 9 for a 1:8 rect block, |
635 | | // * d = 17 for a 1:16 rect block, |
636 | | // - Find multipliers for dividing by 3, 5, 9 and 17 using the "Algorithm 1" in: |
637 | | // http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1467632 |
638 | | // by ensuring that m + n = 21 (in that algorithm). This ensures that our 2nd |
639 | | // shift will be 21, regardless of the block size. |
640 | | // Note: Strictly speaking, 2nd shift needs to be 21 only for bit depth = 12 |
641 | | // and rectangular blocks with ratio 1:16/16:1. |
642 | | // Other cases can use scaled-down multipliers with a smaller shifts instead. |
643 | | // This special optimization can be used when writing assembly code. |
644 | | #define HIGHBD_DC_SHIFT2 21 |
645 | | #define HIGHBD_DC_MULTIPLIER_1X2 0xAAAAB |
646 | | // Note: This constant is odd, but a smaller even constant (0x199a) with the |
647 | | // appropriate shift should work for neon in 8/10-bit. |
648 | | #define HIGHBD_DC_MULTIPLIER_1X4 0x66667 |
649 | | #define HIGHBD_DC_MULTIPLIER_1X8 0x38E39 |
650 | | #define HIGHBD_DC_MULTIPLIER_1X16 0x1E1E2 |
651 | | |
652 | | static INLINE void highbd_dc_predictor_rect(uint16_t *dst, ptrdiff_t stride, |
653 | | int bw, int bh, |
654 | | const uint16_t *above, |
655 | 253k | const uint16_t *left, int bd) { |
656 | 253k | int sum = 0; |
657 | | |
658 | 5.43M | for (int i = 0; i < bw; i++) { |
659 | 5.18M | sum += above[i]; |
660 | 5.18M | } |
661 | 5.65M | for (int i = 0; i < bh; i++) { |
662 | 5.40M | sum += left[i]; |
663 | 5.40M | } |
664 | | |
665 | 253k | int16_t shift = 0; |
666 | 253k | uint16_t scale = resolve_divisor_32(bw + bh, &shift); |
667 | 253k | uint16_t rounding = 1 << shift >> 1; |
668 | 253k | const int expected_dc = |
669 | 253k | clip_pixel_highbd((sum * scale + rounding) >> shift, bd); |
670 | | |
671 | 5.56M | for (int r = 0; r < bh; r++) { |
672 | 5.30M | avm_memset16(dst, expected_dc, bw); |
673 | 5.30M | dst += stride; |
674 | 5.30M | } |
675 | 253k | } |
676 | | |
677 | | #undef HIGHBD_DC_SHIFT2 |
678 | | |
679 | | void avm_highbd_dc_predictor_4x8_c(uint16_t *dst, ptrdiff_t stride, |
680 | | const uint16_t *above, const uint16_t *left, |
681 | 0 | int bd) { |
682 | 0 | highbd_dc_predictor_rect(dst, stride, 4, 8, above, left, bd); |
683 | 0 | } |
684 | | |
685 | | void avm_highbd_dc_predictor_8x4_c(uint16_t *dst, ptrdiff_t stride, |
686 | | const uint16_t *above, const uint16_t *left, |
687 | 0 | int bd) { |
688 | 0 | highbd_dc_predictor_rect(dst, stride, 8, 4, above, left, bd); |
689 | 0 | } |
690 | | |
691 | | void avm_highbd_dc_predictor_4x16_c(uint16_t *dst, ptrdiff_t stride, |
692 | | const uint16_t *above, const uint16_t *left, |
693 | 45.5k | int bd) { |
694 | 45.5k | highbd_dc_predictor_rect(dst, stride, 4, 16, above, left, bd); |
695 | 45.5k | } |
696 | | |
697 | | void avm_highbd_dc_predictor_16x4_c(uint16_t *dst, ptrdiff_t stride, |
698 | | const uint16_t *above, const uint16_t *left, |
699 | 38.7k | int bd) { |
700 | 38.7k | highbd_dc_predictor_rect(dst, stride, 16, 4, above, left, bd); |
701 | 38.7k | } |
702 | | |
703 | | void avm_highbd_dc_predictor_8x16_c(uint16_t *dst, ptrdiff_t stride, |
704 | | const uint16_t *above, const uint16_t *left, |
705 | 0 | int bd) { |
706 | 0 | highbd_dc_predictor_rect(dst, stride, 8, 16, above, left, bd); |
707 | 0 | } |
708 | | |
709 | | void avm_highbd_dc_predictor_16x8_c(uint16_t *dst, ptrdiff_t stride, |
710 | | const uint16_t *above, const uint16_t *left, |
711 | 0 | int bd) { |
712 | 0 | highbd_dc_predictor_rect(dst, stride, 16, 8, above, left, bd); |
713 | 0 | } |
714 | | |
715 | | void avm_highbd_dc_predictor_8x32_c(uint16_t *dst, ptrdiff_t stride, |
716 | | const uint16_t *above, const uint16_t *left, |
717 | 38.8k | int bd) { |
718 | 38.8k | highbd_dc_predictor_rect(dst, stride, 8, 32, above, left, bd); |
719 | 38.8k | } |
720 | | |
721 | | void avm_highbd_dc_predictor_32x8_c(uint16_t *dst, ptrdiff_t stride, |
722 | | const uint16_t *above, const uint16_t *left, |
723 | 47.2k | int bd) { |
724 | 47.2k | highbd_dc_predictor_rect(dst, stride, 32, 8, above, left, bd); |
725 | 47.2k | } |
726 | | |
727 | | void avm_highbd_dc_predictor_16x32_c(uint16_t *dst, ptrdiff_t stride, |
728 | | const uint16_t *above, |
729 | 0 | const uint16_t *left, int bd) { |
730 | 0 | highbd_dc_predictor_rect(dst, stride, 16, 32, above, left, bd); |
731 | 0 | } |
732 | | |
733 | | void avm_highbd_dc_predictor_32x16_c(uint16_t *dst, ptrdiff_t stride, |
734 | | const uint16_t *above, |
735 | 0 | const uint16_t *left, int bd) { |
736 | 0 | highbd_dc_predictor_rect(dst, stride, 32, 16, above, left, bd); |
737 | 0 | } |
738 | | |
739 | | void avm_highbd_dc_predictor_16x64_c(uint16_t *dst, ptrdiff_t stride, |
740 | | const uint16_t *above, |
741 | 10.9k | const uint16_t *left, int bd) { |
742 | 10.9k | highbd_dc_predictor_rect(dst, stride, 16, 64, above, left, bd); |
743 | 10.9k | } |
744 | | |
745 | | void avm_highbd_dc_predictor_64x16_c(uint16_t *dst, ptrdiff_t stride, |
746 | | const uint16_t *above, |
747 | 8.98k | const uint16_t *left, int bd) { |
748 | 8.98k | highbd_dc_predictor_rect(dst, stride, 64, 16, above, left, bd); |
749 | 8.98k | } |
750 | | |
751 | | void avm_highbd_dc_predictor_32x64_c(uint16_t *dst, ptrdiff_t stride, |
752 | | const uint16_t *above, |
753 | 10.2k | const uint16_t *left, int bd) { |
754 | 10.2k | highbd_dc_predictor_rect(dst, stride, 32, 64, above, left, bd); |
755 | 10.2k | } |
756 | | |
757 | | void avm_highbd_dc_predictor_64x32_c(uint16_t *dst, ptrdiff_t stride, |
758 | | const uint16_t *above, |
759 | 11.2k | const uint16_t *left, int bd) { |
760 | 11.2k | highbd_dc_predictor_rect(dst, stride, 64, 32, above, left, bd); |
761 | 11.2k | } |
762 | | |
763 | | void avm_highbd_dc_predictor_4x32_c(uint16_t *dst, ptrdiff_t stride, |
764 | | const uint16_t *above, const uint16_t *left, |
765 | 18.7k | int bd) { |
766 | 18.7k | highbd_dc_predictor_rect(dst, stride, 4, 32, above, left, bd); |
767 | 18.7k | } |
768 | | |
769 | | void avm_highbd_dc_predictor_32x4_c(uint16_t *dst, ptrdiff_t stride, |
770 | | const uint16_t *above, const uint16_t *left, |
771 | 13.5k | int bd) { |
772 | 13.5k | highbd_dc_predictor_rect(dst, stride, 32, 4, above, left, bd); |
773 | 13.5k | } |
774 | | |
775 | | void avm_highbd_dc_predictor_8x64_c(uint16_t *dst, ptrdiff_t stride, |
776 | | const uint16_t *above, const uint16_t *left, |
777 | 4.57k | int bd) { |
778 | 4.57k | highbd_dc_predictor_rect(dst, stride, 8, 64, above, left, bd); |
779 | 4.57k | } |
780 | | |
781 | | void avm_highbd_dc_predictor_64x8_c(uint16_t *dst, ptrdiff_t stride, |
782 | | const uint16_t *above, const uint16_t *left, |
783 | 3.04k | int bd) { |
784 | 3.04k | highbd_dc_predictor_rect(dst, stride, 64, 8, above, left, bd); |
785 | 3.04k | } |
786 | | |
787 | | void avm_highbd_dc_predictor_4x64_c(uint16_t *dst, ptrdiff_t stride, |
788 | | const uint16_t *above, const uint16_t *left, |
789 | 1.06k | int bd) { |
790 | 1.06k | highbd_dc_predictor_rect(dst, stride, 4, 64, above, left, bd); |
791 | 1.06k | } |
792 | | |
793 | | void avm_highbd_dc_predictor_64x4_c(uint16_t *dst, ptrdiff_t stride, |
794 | | const uint16_t *above, const uint16_t *left, |
795 | 235 | int bd) { |
796 | 235 | highbd_dc_predictor_rect(dst, stride, 64, 4, above, left, bd); |
797 | 235 | } |
798 | | |
799 | | // This serves as a wrapper function, so that all the prediction functions |
800 | | // can be unified and accessed as a pointer array. Note that the boundary |
801 | | // above and left are not necessarily used all the time. |
802 | | #define intra_pred_sized(type, width, height) \ |
803 | | void avm_##type##_predictor_##width##x##height##_c( \ |
804 | | uint8_t *dst, ptrdiff_t stride, const uint8_t *above, \ |
805 | 0 | const uint8_t *left) { \ |
806 | 0 | type##_predictor(dst, stride, width, height, above, left); \ |
807 | 0 | } Unexecuted instantiation: avm_v_predictor_4x4_c Unexecuted instantiation: avm_v_predictor_8x8_c Unexecuted instantiation: avm_v_predictor_16x16_c Unexecuted instantiation: avm_v_predictor_32x32_c Unexecuted instantiation: avm_v_predictor_64x64_c Unexecuted instantiation: avm_v_predictor_4x8_c Unexecuted instantiation: avm_v_predictor_8x4_c Unexecuted instantiation: avm_v_predictor_8x16_c Unexecuted instantiation: avm_v_predictor_16x8_c Unexecuted instantiation: avm_v_predictor_16x32_c Unexecuted instantiation: avm_v_predictor_32x16_c Unexecuted instantiation: avm_v_predictor_32x64_c Unexecuted instantiation: avm_v_predictor_64x32_c Unexecuted instantiation: avm_v_predictor_4x16_c Unexecuted instantiation: avm_v_predictor_16x4_c Unexecuted instantiation: avm_v_predictor_8x32_c Unexecuted instantiation: avm_v_predictor_32x8_c Unexecuted instantiation: avm_v_predictor_16x64_c Unexecuted instantiation: avm_v_predictor_64x16_c Unexecuted instantiation: avm_v_predictor_4x32_c Unexecuted instantiation: avm_v_predictor_32x4_c Unexecuted instantiation: avm_v_predictor_8x64_c Unexecuted instantiation: avm_v_predictor_64x8_c Unexecuted instantiation: avm_v_predictor_4x64_c Unexecuted instantiation: avm_v_predictor_64x4_c Unexecuted instantiation: avm_h_predictor_4x4_c Unexecuted instantiation: avm_h_predictor_8x8_c Unexecuted instantiation: avm_h_predictor_16x16_c Unexecuted instantiation: avm_h_predictor_32x32_c Unexecuted instantiation: avm_h_predictor_64x64_c Unexecuted instantiation: avm_h_predictor_4x8_c Unexecuted instantiation: avm_h_predictor_8x4_c Unexecuted instantiation: avm_h_predictor_8x16_c Unexecuted instantiation: avm_h_predictor_16x8_c Unexecuted instantiation: avm_h_predictor_16x32_c Unexecuted instantiation: avm_h_predictor_32x16_c Unexecuted instantiation: avm_h_predictor_32x64_c Unexecuted instantiation: avm_h_predictor_64x32_c Unexecuted instantiation: avm_h_predictor_4x16_c Unexecuted instantiation: avm_h_predictor_16x4_c Unexecuted instantiation: avm_h_predictor_8x32_c Unexecuted instantiation: avm_h_predictor_32x8_c Unexecuted instantiation: avm_h_predictor_16x64_c Unexecuted instantiation: avm_h_predictor_64x16_c Unexecuted instantiation: avm_h_predictor_4x32_c Unexecuted instantiation: avm_h_predictor_32x4_c Unexecuted instantiation: avm_h_predictor_8x64_c Unexecuted instantiation: avm_h_predictor_64x8_c Unexecuted instantiation: avm_h_predictor_4x64_c Unexecuted instantiation: avm_h_predictor_64x4_c Unexecuted instantiation: avm_smooth_predictor_4x4_c Unexecuted instantiation: avm_smooth_predictor_8x8_c Unexecuted instantiation: avm_smooth_predictor_16x16_c Unexecuted instantiation: avm_smooth_predictor_32x32_c Unexecuted instantiation: avm_smooth_predictor_64x64_c Unexecuted instantiation: avm_smooth_predictor_4x8_c Unexecuted instantiation: avm_smooth_predictor_8x4_c Unexecuted instantiation: avm_smooth_predictor_8x16_c Unexecuted instantiation: avm_smooth_predictor_16x8_c Unexecuted instantiation: avm_smooth_predictor_16x32_c Unexecuted instantiation: avm_smooth_predictor_32x16_c Unexecuted instantiation: avm_smooth_predictor_32x64_c Unexecuted instantiation: avm_smooth_predictor_64x32_c Unexecuted instantiation: avm_smooth_predictor_4x16_c Unexecuted instantiation: avm_smooth_predictor_16x4_c Unexecuted instantiation: avm_smooth_predictor_8x32_c Unexecuted instantiation: avm_smooth_predictor_32x8_c Unexecuted instantiation: avm_smooth_predictor_16x64_c Unexecuted instantiation: avm_smooth_predictor_64x16_c Unexecuted instantiation: avm_smooth_predictor_4x32_c Unexecuted instantiation: avm_smooth_predictor_32x4_c Unexecuted instantiation: avm_smooth_predictor_8x64_c Unexecuted instantiation: avm_smooth_predictor_64x8_c Unexecuted instantiation: avm_smooth_predictor_4x64_c Unexecuted instantiation: avm_smooth_predictor_64x4_c Unexecuted instantiation: avm_smooth_v_predictor_4x4_c Unexecuted instantiation: avm_smooth_v_predictor_8x8_c Unexecuted instantiation: avm_smooth_v_predictor_16x16_c Unexecuted instantiation: avm_smooth_v_predictor_32x32_c Unexecuted instantiation: avm_smooth_v_predictor_64x64_c Unexecuted instantiation: avm_smooth_v_predictor_4x8_c Unexecuted instantiation: avm_smooth_v_predictor_8x4_c Unexecuted instantiation: avm_smooth_v_predictor_8x16_c Unexecuted instantiation: avm_smooth_v_predictor_16x8_c Unexecuted instantiation: avm_smooth_v_predictor_16x32_c Unexecuted instantiation: avm_smooth_v_predictor_32x16_c Unexecuted instantiation: avm_smooth_v_predictor_32x64_c Unexecuted instantiation: avm_smooth_v_predictor_64x32_c Unexecuted instantiation: avm_smooth_v_predictor_4x16_c Unexecuted instantiation: avm_smooth_v_predictor_16x4_c Unexecuted instantiation: avm_smooth_v_predictor_8x32_c Unexecuted instantiation: avm_smooth_v_predictor_32x8_c Unexecuted instantiation: avm_smooth_v_predictor_16x64_c Unexecuted instantiation: avm_smooth_v_predictor_64x16_c Unexecuted instantiation: avm_smooth_v_predictor_4x32_c Unexecuted instantiation: avm_smooth_v_predictor_32x4_c Unexecuted instantiation: avm_smooth_v_predictor_8x64_c Unexecuted instantiation: avm_smooth_v_predictor_64x8_c Unexecuted instantiation: avm_smooth_v_predictor_4x64_c Unexecuted instantiation: avm_smooth_v_predictor_64x4_c Unexecuted instantiation: avm_smooth_h_predictor_4x4_c Unexecuted instantiation: avm_smooth_h_predictor_8x8_c Unexecuted instantiation: avm_smooth_h_predictor_16x16_c Unexecuted instantiation: avm_smooth_h_predictor_32x32_c Unexecuted instantiation: avm_smooth_h_predictor_64x64_c Unexecuted instantiation: avm_smooth_h_predictor_4x8_c Unexecuted instantiation: avm_smooth_h_predictor_8x4_c Unexecuted instantiation: avm_smooth_h_predictor_8x16_c Unexecuted instantiation: avm_smooth_h_predictor_16x8_c Unexecuted instantiation: avm_smooth_h_predictor_16x32_c Unexecuted instantiation: avm_smooth_h_predictor_32x16_c Unexecuted instantiation: avm_smooth_h_predictor_32x64_c Unexecuted instantiation: avm_smooth_h_predictor_64x32_c Unexecuted instantiation: avm_smooth_h_predictor_4x16_c Unexecuted instantiation: avm_smooth_h_predictor_16x4_c Unexecuted instantiation: avm_smooth_h_predictor_8x32_c Unexecuted instantiation: avm_smooth_h_predictor_32x8_c Unexecuted instantiation: avm_smooth_h_predictor_16x64_c Unexecuted instantiation: avm_smooth_h_predictor_64x16_c Unexecuted instantiation: avm_smooth_h_predictor_4x32_c Unexecuted instantiation: avm_smooth_h_predictor_32x4_c Unexecuted instantiation: avm_smooth_h_predictor_8x64_c Unexecuted instantiation: avm_smooth_h_predictor_64x8_c Unexecuted instantiation: avm_smooth_h_predictor_4x64_c Unexecuted instantiation: avm_smooth_h_predictor_64x4_c Unexecuted instantiation: avm_paeth_predictor_4x4_c Unexecuted instantiation: avm_paeth_predictor_8x8_c Unexecuted instantiation: avm_paeth_predictor_16x16_c Unexecuted instantiation: avm_paeth_predictor_32x32_c Unexecuted instantiation: avm_paeth_predictor_64x64_c Unexecuted instantiation: avm_paeth_predictor_4x8_c Unexecuted instantiation: avm_paeth_predictor_8x4_c Unexecuted instantiation: avm_paeth_predictor_8x16_c Unexecuted instantiation: avm_paeth_predictor_16x8_c Unexecuted instantiation: avm_paeth_predictor_16x32_c Unexecuted instantiation: avm_paeth_predictor_32x16_c Unexecuted instantiation: avm_paeth_predictor_32x64_c Unexecuted instantiation: avm_paeth_predictor_64x32_c Unexecuted instantiation: avm_paeth_predictor_4x16_c Unexecuted instantiation: avm_paeth_predictor_16x4_c Unexecuted instantiation: avm_paeth_predictor_8x32_c Unexecuted instantiation: avm_paeth_predictor_32x8_c Unexecuted instantiation: avm_paeth_predictor_16x64_c Unexecuted instantiation: avm_paeth_predictor_64x16_c Unexecuted instantiation: avm_paeth_predictor_4x32_c Unexecuted instantiation: avm_paeth_predictor_32x4_c Unexecuted instantiation: avm_paeth_predictor_8x64_c Unexecuted instantiation: avm_paeth_predictor_64x8_c Unexecuted instantiation: avm_paeth_predictor_4x64_c Unexecuted instantiation: avm_paeth_predictor_64x4_c Unexecuted instantiation: avm_dc_128_predictor_4x4_c Unexecuted instantiation: avm_dc_128_predictor_8x8_c Unexecuted instantiation: avm_dc_128_predictor_16x16_c Unexecuted instantiation: avm_dc_128_predictor_32x32_c Unexecuted instantiation: avm_dc_128_predictor_64x64_c Unexecuted instantiation: avm_dc_128_predictor_4x8_c Unexecuted instantiation: avm_dc_128_predictor_8x4_c Unexecuted instantiation: avm_dc_128_predictor_8x16_c Unexecuted instantiation: avm_dc_128_predictor_16x8_c Unexecuted instantiation: avm_dc_128_predictor_16x32_c Unexecuted instantiation: avm_dc_128_predictor_32x16_c Unexecuted instantiation: avm_dc_128_predictor_32x64_c Unexecuted instantiation: avm_dc_128_predictor_64x32_c Unexecuted instantiation: avm_dc_128_predictor_4x16_c Unexecuted instantiation: avm_dc_128_predictor_16x4_c Unexecuted instantiation: avm_dc_128_predictor_8x32_c Unexecuted instantiation: avm_dc_128_predictor_32x8_c Unexecuted instantiation: avm_dc_128_predictor_16x64_c Unexecuted instantiation: avm_dc_128_predictor_64x16_c Unexecuted instantiation: avm_dc_128_predictor_4x32_c Unexecuted instantiation: avm_dc_128_predictor_32x4_c Unexecuted instantiation: avm_dc_128_predictor_8x64_c Unexecuted instantiation: avm_dc_128_predictor_64x8_c Unexecuted instantiation: avm_dc_128_predictor_4x64_c Unexecuted instantiation: avm_dc_128_predictor_64x4_c Unexecuted instantiation: avm_dc_left_predictor_4x4_c Unexecuted instantiation: avm_dc_left_predictor_8x8_c Unexecuted instantiation: avm_dc_left_predictor_16x16_c Unexecuted instantiation: avm_dc_left_predictor_32x32_c Unexecuted instantiation: avm_dc_left_predictor_64x64_c Unexecuted instantiation: avm_dc_left_predictor_4x8_c Unexecuted instantiation: avm_dc_left_predictor_8x4_c Unexecuted instantiation: avm_dc_left_predictor_8x16_c Unexecuted instantiation: avm_dc_left_predictor_16x8_c Unexecuted instantiation: avm_dc_left_predictor_16x32_c Unexecuted instantiation: avm_dc_left_predictor_32x16_c Unexecuted instantiation: avm_dc_left_predictor_32x64_c Unexecuted instantiation: avm_dc_left_predictor_64x32_c Unexecuted instantiation: avm_dc_left_predictor_4x16_c Unexecuted instantiation: avm_dc_left_predictor_16x4_c Unexecuted instantiation: avm_dc_left_predictor_8x32_c Unexecuted instantiation: avm_dc_left_predictor_32x8_c Unexecuted instantiation: avm_dc_left_predictor_16x64_c Unexecuted instantiation: avm_dc_left_predictor_64x16_c Unexecuted instantiation: avm_dc_left_predictor_4x32_c Unexecuted instantiation: avm_dc_left_predictor_32x4_c Unexecuted instantiation: avm_dc_left_predictor_8x64_c Unexecuted instantiation: avm_dc_left_predictor_64x8_c Unexecuted instantiation: avm_dc_left_predictor_4x64_c Unexecuted instantiation: avm_dc_left_predictor_64x4_c Unexecuted instantiation: avm_dc_top_predictor_4x4_c Unexecuted instantiation: avm_dc_top_predictor_8x8_c Unexecuted instantiation: avm_dc_top_predictor_16x16_c Unexecuted instantiation: avm_dc_top_predictor_32x32_c Unexecuted instantiation: avm_dc_top_predictor_64x64_c Unexecuted instantiation: avm_dc_top_predictor_4x8_c Unexecuted instantiation: avm_dc_top_predictor_8x4_c Unexecuted instantiation: avm_dc_top_predictor_8x16_c Unexecuted instantiation: avm_dc_top_predictor_16x8_c Unexecuted instantiation: avm_dc_top_predictor_16x32_c Unexecuted instantiation: avm_dc_top_predictor_32x16_c Unexecuted instantiation: avm_dc_top_predictor_32x64_c Unexecuted instantiation: avm_dc_top_predictor_64x32_c Unexecuted instantiation: avm_dc_top_predictor_4x16_c Unexecuted instantiation: avm_dc_top_predictor_16x4_c Unexecuted instantiation: avm_dc_top_predictor_8x32_c Unexecuted instantiation: avm_dc_top_predictor_32x8_c Unexecuted instantiation: avm_dc_top_predictor_16x64_c Unexecuted instantiation: avm_dc_top_predictor_64x16_c Unexecuted instantiation: avm_dc_top_predictor_4x32_c Unexecuted instantiation: avm_dc_top_predictor_32x4_c Unexecuted instantiation: avm_dc_top_predictor_8x64_c Unexecuted instantiation: avm_dc_top_predictor_64x8_c Unexecuted instantiation: avm_dc_top_predictor_4x64_c Unexecuted instantiation: avm_dc_top_predictor_64x4_c Unexecuted instantiation: avm_dc_predictor_4x4_c Unexecuted instantiation: avm_dc_predictor_8x8_c Unexecuted instantiation: avm_dc_predictor_16x16_c Unexecuted instantiation: avm_dc_predictor_32x32_c Unexecuted instantiation: avm_dc_predictor_64x64_c Unexecuted instantiation: avm_ibp_dc_left_predictor_4x4_c Unexecuted instantiation: avm_ibp_dc_left_predictor_8x8_c Unexecuted instantiation: avm_ibp_dc_left_predictor_16x16_c Unexecuted instantiation: avm_ibp_dc_left_predictor_32x32_c Unexecuted instantiation: avm_ibp_dc_left_predictor_64x64_c Unexecuted instantiation: avm_ibp_dc_left_predictor_4x8_c Unexecuted instantiation: avm_ibp_dc_left_predictor_8x4_c Unexecuted instantiation: avm_ibp_dc_left_predictor_8x16_c Unexecuted instantiation: avm_ibp_dc_left_predictor_16x8_c Unexecuted instantiation: avm_ibp_dc_left_predictor_16x32_c Unexecuted instantiation: avm_ibp_dc_left_predictor_32x16_c Unexecuted instantiation: avm_ibp_dc_left_predictor_32x64_c Unexecuted instantiation: avm_ibp_dc_left_predictor_64x32_c Unexecuted instantiation: avm_ibp_dc_left_predictor_4x16_c Unexecuted instantiation: avm_ibp_dc_left_predictor_16x4_c Unexecuted instantiation: avm_ibp_dc_left_predictor_8x32_c Unexecuted instantiation: avm_ibp_dc_left_predictor_32x8_c Unexecuted instantiation: avm_ibp_dc_left_predictor_16x64_c Unexecuted instantiation: avm_ibp_dc_left_predictor_64x16_c Unexecuted instantiation: avm_ibp_dc_left_predictor_4x32_c Unexecuted instantiation: avm_ibp_dc_left_predictor_32x4_c Unexecuted instantiation: avm_ibp_dc_left_predictor_8x64_c Unexecuted instantiation: avm_ibp_dc_left_predictor_64x8_c Unexecuted instantiation: avm_ibp_dc_left_predictor_4x64_c Unexecuted instantiation: avm_ibp_dc_left_predictor_64x4_c Unexecuted instantiation: avm_ibp_dc_top_predictor_4x4_c Unexecuted instantiation: avm_ibp_dc_top_predictor_8x8_c Unexecuted instantiation: avm_ibp_dc_top_predictor_16x16_c Unexecuted instantiation: avm_ibp_dc_top_predictor_32x32_c Unexecuted instantiation: avm_ibp_dc_top_predictor_64x64_c Unexecuted instantiation: avm_ibp_dc_top_predictor_4x8_c Unexecuted instantiation: avm_ibp_dc_top_predictor_8x4_c Unexecuted instantiation: avm_ibp_dc_top_predictor_8x16_c Unexecuted instantiation: avm_ibp_dc_top_predictor_16x8_c Unexecuted instantiation: avm_ibp_dc_top_predictor_16x32_c Unexecuted instantiation: avm_ibp_dc_top_predictor_32x16_c Unexecuted instantiation: avm_ibp_dc_top_predictor_32x64_c Unexecuted instantiation: avm_ibp_dc_top_predictor_64x32_c Unexecuted instantiation: avm_ibp_dc_top_predictor_4x16_c Unexecuted instantiation: avm_ibp_dc_top_predictor_16x4_c Unexecuted instantiation: avm_ibp_dc_top_predictor_8x32_c Unexecuted instantiation: avm_ibp_dc_top_predictor_32x8_c Unexecuted instantiation: avm_ibp_dc_top_predictor_16x64_c Unexecuted instantiation: avm_ibp_dc_top_predictor_64x16_c Unexecuted instantiation: avm_ibp_dc_top_predictor_4x32_c Unexecuted instantiation: avm_ibp_dc_top_predictor_32x4_c Unexecuted instantiation: avm_ibp_dc_top_predictor_8x64_c Unexecuted instantiation: avm_ibp_dc_top_predictor_64x8_c Unexecuted instantiation: avm_ibp_dc_top_predictor_4x64_c Unexecuted instantiation: avm_ibp_dc_top_predictor_64x4_c Unexecuted instantiation: avm_ibp_dc_predictor_4x4_c Unexecuted instantiation: avm_ibp_dc_predictor_8x8_c Unexecuted instantiation: avm_ibp_dc_predictor_16x16_c Unexecuted instantiation: avm_ibp_dc_predictor_32x32_c Unexecuted instantiation: avm_ibp_dc_predictor_64x64_c Unexecuted instantiation: avm_ibp_dc_predictor_4x8_c Unexecuted instantiation: avm_ibp_dc_predictor_8x4_c Unexecuted instantiation: avm_ibp_dc_predictor_8x16_c Unexecuted instantiation: avm_ibp_dc_predictor_16x8_c Unexecuted instantiation: avm_ibp_dc_predictor_16x32_c Unexecuted instantiation: avm_ibp_dc_predictor_32x16_c Unexecuted instantiation: avm_ibp_dc_predictor_32x64_c Unexecuted instantiation: avm_ibp_dc_predictor_64x32_c Unexecuted instantiation: avm_ibp_dc_predictor_4x16_c Unexecuted instantiation: avm_ibp_dc_predictor_16x4_c Unexecuted instantiation: avm_ibp_dc_predictor_8x32_c Unexecuted instantiation: avm_ibp_dc_predictor_32x8_c Unexecuted instantiation: avm_ibp_dc_predictor_16x64_c Unexecuted instantiation: avm_ibp_dc_predictor_64x16_c Unexecuted instantiation: avm_ibp_dc_predictor_4x32_c Unexecuted instantiation: avm_ibp_dc_predictor_32x4_c Unexecuted instantiation: avm_ibp_dc_predictor_8x64_c Unexecuted instantiation: avm_ibp_dc_predictor_64x8_c Unexecuted instantiation: avm_ibp_dc_predictor_4x64_c Unexecuted instantiation: avm_ibp_dc_predictor_64x4_c |
808 | | |
809 | | #define intra_pred_highbd_sized(type, width, height) \ |
810 | | void avm_highbd_##type##_predictor_##width##x##height##_c( \ |
811 | | uint16_t *dst, ptrdiff_t stride, const uint16_t *above, \ |
812 | 2.43M | const uint16_t *left, int bd) { \ |
813 | 2.43M | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ |
814 | 2.43M | } Unexecuted instantiation: avm_highbd_v_predictor_4x4_c Unexecuted instantiation: avm_highbd_v_predictor_8x8_c Unexecuted instantiation: avm_highbd_v_predictor_16x16_c Unexecuted instantiation: avm_highbd_v_predictor_32x32_c avm_highbd_v_predictor_64x64_c Line | Count | Source | 812 | 9.60k | const uint16_t *left, int bd) { \ | 813 | 9.60k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 9.60k | } |
Unexecuted instantiation: avm_highbd_v_predictor_4x8_c Unexecuted instantiation: avm_highbd_v_predictor_8x4_c Unexecuted instantiation: avm_highbd_v_predictor_8x16_c Unexecuted instantiation: avm_highbd_v_predictor_16x8_c Unexecuted instantiation: avm_highbd_v_predictor_16x32_c Unexecuted instantiation: avm_highbd_v_predictor_32x16_c avm_highbd_v_predictor_32x64_c Line | Count | Source | 812 | 2.34k | const uint16_t *left, int bd) { \ | 813 | 2.34k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.34k | } |
avm_highbd_v_predictor_64x32_c Line | Count | Source | 812 | 1.76k | const uint16_t *left, int bd) { \ | 813 | 1.76k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.76k | } |
avm_highbd_v_predictor_4x16_c Line | Count | Source | 812 | 3.45k | const uint16_t *left, int bd) { \ | 813 | 3.45k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.45k | } |
avm_highbd_v_predictor_16x4_c Line | Count | Source | 812 | 3.39k | const uint16_t *left, int bd) { \ | 813 | 3.39k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.39k | } |
avm_highbd_v_predictor_8x32_c Line | Count | Source | 812 | 3.90k | const uint16_t *left, int bd) { \ | 813 | 3.90k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.90k | } |
avm_highbd_v_predictor_32x8_c Line | Count | Source | 812 | 2.71k | const uint16_t *left, int bd) { \ | 813 | 2.71k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.71k | } |
avm_highbd_v_predictor_16x64_c Line | Count | Source | 812 | 1.49k | const uint16_t *left, int bd) { \ | 813 | 1.49k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.49k | } |
avm_highbd_v_predictor_64x16_c Line | Count | Source | 812 | 1.85k | const uint16_t *left, int bd) { \ | 813 | 1.85k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.85k | } |
avm_highbd_v_predictor_4x32_c Line | Count | Source | 812 | 1.33k | const uint16_t *left, int bd) { \ | 813 | 1.33k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.33k | } |
avm_highbd_v_predictor_32x4_c Line | Count | Source | 812 | 916 | const uint16_t *left, int bd) { \ | 813 | 916 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 916 | } |
avm_highbd_v_predictor_8x64_c Line | Count | Source | 812 | 595 | const uint16_t *left, int bd) { \ | 813 | 595 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 595 | } |
avm_highbd_v_predictor_64x8_c Line | Count | Source | 812 | 559 | const uint16_t *left, int bd) { \ | 813 | 559 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 559 | } |
avm_highbd_v_predictor_4x64_c Line | Count | Source | 812 | 151 | const uint16_t *left, int bd) { \ | 813 | 151 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 151 | } |
avm_highbd_v_predictor_64x4_c Line | Count | Source | 812 | 77 | const uint16_t *left, int bd) { \ | 813 | 77 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 77 | } |
Unexecuted instantiation: avm_highbd_h_predictor_4x4_c Unexecuted instantiation: avm_highbd_h_predictor_8x8_c Unexecuted instantiation: avm_highbd_h_predictor_16x16_c Unexecuted instantiation: avm_highbd_h_predictor_32x32_c avm_highbd_h_predictor_64x64_c Line | Count | Source | 812 | 11.5k | const uint16_t *left, int bd) { \ | 813 | 11.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 11.5k | } |
Unexecuted instantiation: avm_highbd_h_predictor_4x8_c Unexecuted instantiation: avm_highbd_h_predictor_8x4_c Unexecuted instantiation: avm_highbd_h_predictor_8x16_c Unexecuted instantiation: avm_highbd_h_predictor_16x8_c Unexecuted instantiation: avm_highbd_h_predictor_16x32_c Unexecuted instantiation: avm_highbd_h_predictor_32x16_c avm_highbd_h_predictor_32x64_c Line | Count | Source | 812 | 2.52k | const uint16_t *left, int bd) { \ | 813 | 2.52k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.52k | } |
avm_highbd_h_predictor_64x32_c Line | Count | Source | 812 | 2.15k | const uint16_t *left, int bd) { \ | 813 | 2.15k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.15k | } |
avm_highbd_h_predictor_4x16_c Line | Count | Source | 812 | 3.39k | const uint16_t *left, int bd) { \ | 813 | 3.39k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.39k | } |
avm_highbd_h_predictor_16x4_c Line | Count | Source | 812 | 3.28k | const uint16_t *left, int bd) { \ | 813 | 3.28k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.28k | } |
avm_highbd_h_predictor_8x32_c Line | Count | Source | 812 | 3.09k | const uint16_t *left, int bd) { \ | 813 | 3.09k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.09k | } |
avm_highbd_h_predictor_32x8_c Line | Count | Source | 812 | 4.27k | const uint16_t *left, int bd) { \ | 813 | 4.27k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4.27k | } |
avm_highbd_h_predictor_16x64_c Line | Count | Source | 812 | 1.44k | const uint16_t *left, int bd) { \ | 813 | 1.44k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.44k | } |
avm_highbd_h_predictor_64x16_c Line | Count | Source | 812 | 1.48k | const uint16_t *left, int bd) { \ | 813 | 1.48k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.48k | } |
avm_highbd_h_predictor_4x32_c Line | Count | Source | 812 | 1.07k | const uint16_t *left, int bd) { \ | 813 | 1.07k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.07k | } |
avm_highbd_h_predictor_32x4_c Line | Count | Source | 812 | 948 | const uint16_t *left, int bd) { \ | 813 | 948 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 948 | } |
avm_highbd_h_predictor_8x64_c Line | Count | Source | 812 | 1.58k | const uint16_t *left, int bd) { \ | 813 | 1.58k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.58k | } |
avm_highbd_h_predictor_64x8_c Line | Count | Source | 812 | 378 | const uint16_t *left, int bd) { \ | 813 | 378 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 378 | } |
avm_highbd_h_predictor_4x64_c Line | Count | Source | 812 | 66 | const uint16_t *left, int bd) { \ | 813 | 66 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 66 | } |
avm_highbd_h_predictor_64x4_c Line | Count | Source | 812 | 34 | const uint16_t *left, int bd) { \ | 813 | 34 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 34 | } |
avm_highbd_smooth_predictor_4x4_c Line | Count | Source | 812 | 268k | const uint16_t *left, int bd) { \ | 813 | 268k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 268k | } |
avm_highbd_smooth_predictor_8x8_c Line | Count | Source | 812 | 40.1k | const uint16_t *left, int bd) { \ | 813 | 40.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 40.1k | } |
avm_highbd_smooth_predictor_16x16_c Line | Count | Source | 812 | 39.6k | const uint16_t *left, int bd) { \ | 813 | 39.6k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 39.6k | } |
avm_highbd_smooth_predictor_32x32_c Line | Count | Source | 812 | 46.3k | const uint16_t *left, int bd) { \ | 813 | 46.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 46.3k | } |
avm_highbd_smooth_predictor_64x64_c Line | Count | Source | 812 | 49.7k | const uint16_t *left, int bd) { \ | 813 | 49.7k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 49.7k | } |
avm_highbd_smooth_predictor_4x8_c Line | Count | Source | 812 | 29.4k | const uint16_t *left, int bd) { \ | 813 | 29.4k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 29.4k | } |
avm_highbd_smooth_predictor_8x4_c Line | Count | Source | 812 | 25.2k | const uint16_t *left, int bd) { \ | 813 | 25.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 25.2k | } |
avm_highbd_smooth_predictor_8x16_c Line | Count | Source | 812 | 27.1k | const uint16_t *left, int bd) { \ | 813 | 27.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 27.1k | } |
avm_highbd_smooth_predictor_16x8_c Line | Count | Source | 812 | 31.7k | const uint16_t *left, int bd) { \ | 813 | 31.7k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 31.7k | } |
avm_highbd_smooth_predictor_16x32_c Line | Count | Source | 812 | 29.8k | const uint16_t *left, int bd) { \ | 813 | 29.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 29.8k | } |
avm_highbd_smooth_predictor_32x16_c Line | Count | Source | 812 | 26.3k | const uint16_t *left, int bd) { \ | 813 | 26.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 26.3k | } |
avm_highbd_smooth_predictor_32x64_c Line | Count | Source | 812 | 11.8k | const uint16_t *left, int bd) { \ | 813 | 11.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 11.8k | } |
avm_highbd_smooth_predictor_64x32_c Line | Count | Source | 812 | 12.8k | const uint16_t *left, int bd) { \ | 813 | 12.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 12.8k | } |
avm_highbd_smooth_predictor_4x16_c Line | Count | Source | 812 | 12.5k | const uint16_t *left, int bd) { \ | 813 | 12.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 12.5k | } |
avm_highbd_smooth_predictor_16x4_c Line | Count | Source | 812 | 14.4k | const uint16_t *left, int bd) { \ | 813 | 14.4k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 14.4k | } |
avm_highbd_smooth_predictor_8x32_c Line | Count | Source | 812 | 13.5k | const uint16_t *left, int bd) { \ | 813 | 13.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 13.5k | } |
avm_highbd_smooth_predictor_32x8_c Line | Count | Source | 812 | 13.3k | const uint16_t *left, int bd) { \ | 813 | 13.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 13.3k | } |
avm_highbd_smooth_predictor_16x64_c Line | Count | Source | 812 | 11.7k | const uint16_t *left, int bd) { \ | 813 | 11.7k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 11.7k | } |
avm_highbd_smooth_predictor_64x16_c Line | Count | Source | 812 | 6.70k | const uint16_t *left, int bd) { \ | 813 | 6.70k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 6.70k | } |
avm_highbd_smooth_predictor_4x32_c Line | Count | Source | 812 | 4.84k | const uint16_t *left, int bd) { \ | 813 | 4.84k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4.84k | } |
avm_highbd_smooth_predictor_32x4_c Line | Count | Source | 812 | 6.57k | const uint16_t *left, int bd) { \ | 813 | 6.57k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 6.57k | } |
avm_highbd_smooth_predictor_8x64_c Line | Count | Source | 812 | 2.56k | const uint16_t *left, int bd) { \ | 813 | 2.56k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.56k | } |
avm_highbd_smooth_predictor_64x8_c Line | Count | Source | 812 | 2.01k | const uint16_t *left, int bd) { \ | 813 | 2.01k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.01k | } |
avm_highbd_smooth_predictor_4x64_c Line | Count | Source | 812 | 1.47k | const uint16_t *left, int bd) { \ | 813 | 1.47k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.47k | } |
avm_highbd_smooth_predictor_64x4_c Line | Count | Source | 812 | 314 | const uint16_t *left, int bd) { \ | 813 | 314 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 314 | } |
avm_highbd_smooth_v_predictor_4x4_c Line | Count | Source | 812 | 64.0k | const uint16_t *left, int bd) { \ | 813 | 64.0k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 64.0k | } |
avm_highbd_smooth_v_predictor_8x8_c Line | Count | Source | 812 | 12.0k | const uint16_t *left, int bd) { \ | 813 | 12.0k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 12.0k | } |
avm_highbd_smooth_v_predictor_16x16_c Line | Count | Source | 812 | 11.8k | const uint16_t *left, int bd) { \ | 813 | 11.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 11.8k | } |
avm_highbd_smooth_v_predictor_32x32_c Line | Count | Source | 812 | 11.1k | const uint16_t *left, int bd) { \ | 813 | 11.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 11.1k | } |
avm_highbd_smooth_v_predictor_64x64_c Line | Count | Source | 812 | 15.1k | const uint16_t *left, int bd) { \ | 813 | 15.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 15.1k | } |
avm_highbd_smooth_v_predictor_4x8_c Line | Count | Source | 812 | 7.40k | const uint16_t *left, int bd) { \ | 813 | 7.40k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 7.40k | } |
avm_highbd_smooth_v_predictor_8x4_c Line | Count | Source | 812 | 5.91k | const uint16_t *left, int bd) { \ | 813 | 5.91k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 5.91k | } |
avm_highbd_smooth_v_predictor_8x16_c Line | Count | Source | 812 | 8.28k | const uint16_t *left, int bd) { \ | 813 | 8.28k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 8.28k | } |
avm_highbd_smooth_v_predictor_16x8_c Line | Count | Source | 812 | 9.45k | const uint16_t *left, int bd) { \ | 813 | 9.45k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 9.45k | } |
avm_highbd_smooth_v_predictor_16x32_c Line | Count | Source | 812 | 7.43k | const uint16_t *left, int bd) { \ | 813 | 7.43k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 7.43k | } |
avm_highbd_smooth_v_predictor_32x16_c Line | Count | Source | 812 | 7.33k | const uint16_t *left, int bd) { \ | 813 | 7.33k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 7.33k | } |
avm_highbd_smooth_v_predictor_32x64_c Line | Count | Source | 812 | 3.02k | const uint16_t *left, int bd) { \ | 813 | 3.02k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.02k | } |
avm_highbd_smooth_v_predictor_64x32_c Line | Count | Source | 812 | 3.68k | const uint16_t *left, int bd) { \ | 813 | 3.68k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.68k | } |
avm_highbd_smooth_v_predictor_4x16_c Line | Count | Source | 812 | 3.58k | const uint16_t *left, int bd) { \ | 813 | 3.58k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.58k | } |
avm_highbd_smooth_v_predictor_16x4_c Line | Count | Source | 812 | 4.38k | const uint16_t *left, int bd) { \ | 813 | 4.38k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4.38k | } |
avm_highbd_smooth_v_predictor_8x32_c Line | Count | Source | 812 | 3.92k | const uint16_t *left, int bd) { \ | 813 | 3.92k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.92k | } |
avm_highbd_smooth_v_predictor_32x8_c Line | Count | Source | 812 | 9.39k | const uint16_t *left, int bd) { \ | 813 | 9.39k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 9.39k | } |
avm_highbd_smooth_v_predictor_16x64_c Line | Count | Source | 812 | 2.65k | const uint16_t *left, int bd) { \ | 813 | 2.65k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.65k | } |
avm_highbd_smooth_v_predictor_64x16_c Line | Count | Source | 812 | 3.96k | const uint16_t *left, int bd) { \ | 813 | 3.96k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.96k | } |
avm_highbd_smooth_v_predictor_4x32_c Line | Count | Source | 812 | 2.24k | const uint16_t *left, int bd) { \ | 813 | 2.24k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.24k | } |
avm_highbd_smooth_v_predictor_32x4_c Line | Count | Source | 812 | 1.15k | const uint16_t *left, int bd) { \ | 813 | 1.15k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.15k | } |
avm_highbd_smooth_v_predictor_8x64_c Line | Count | Source | 812 | 1.07k | const uint16_t *left, int bd) { \ | 813 | 1.07k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.07k | } |
avm_highbd_smooth_v_predictor_64x8_c Line | Count | Source | 812 | 760 | const uint16_t *left, int bd) { \ | 813 | 760 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 760 | } |
avm_highbd_smooth_v_predictor_4x64_c Line | Count | Source | 812 | 400 | const uint16_t *left, int bd) { \ | 813 | 400 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 400 | } |
avm_highbd_smooth_v_predictor_64x4_c Line | Count | Source | 812 | 259 | const uint16_t *left, int bd) { \ | 813 | 259 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 259 | } |
avm_highbd_smooth_h_predictor_4x4_c Line | Count | Source | 812 | 65.1k | const uint16_t *left, int bd) { \ | 813 | 65.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 65.1k | } |
avm_highbd_smooth_h_predictor_8x8_c Line | Count | Source | 812 | 14.6k | const uint16_t *left, int bd) { \ | 813 | 14.6k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 14.6k | } |
avm_highbd_smooth_h_predictor_16x16_c Line | Count | Source | 812 | 15.8k | const uint16_t *left, int bd) { \ | 813 | 15.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 15.8k | } |
avm_highbd_smooth_h_predictor_32x32_c Line | Count | Source | 812 | 10.3k | const uint16_t *left, int bd) { \ | 813 | 10.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 10.3k | } |
avm_highbd_smooth_h_predictor_64x64_c Line | Count | Source | 812 | 17.0k | const uint16_t *left, int bd) { \ | 813 | 17.0k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 17.0k | } |
avm_highbd_smooth_h_predictor_4x8_c Line | Count | Source | 812 | 9.04k | const uint16_t *left, int bd) { \ | 813 | 9.04k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 9.04k | } |
avm_highbd_smooth_h_predictor_8x4_c Line | Count | Source | 812 | 7.90k | const uint16_t *left, int bd) { \ | 813 | 7.90k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 7.90k | } |
avm_highbd_smooth_h_predictor_8x16_c Line | Count | Source | 812 | 10.6k | const uint16_t *left, int bd) { \ | 813 | 10.6k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 10.6k | } |
avm_highbd_smooth_h_predictor_16x8_c Line | Count | Source | 812 | 12.5k | const uint16_t *left, int bd) { \ | 813 | 12.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 12.5k | } |
avm_highbd_smooth_h_predictor_16x32_c Line | Count | Source | 812 | 9.19k | const uint16_t *left, int bd) { \ | 813 | 9.19k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 9.19k | } |
avm_highbd_smooth_h_predictor_32x16_c Line | Count | Source | 812 | 7.71k | const uint16_t *left, int bd) { \ | 813 | 7.71k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 7.71k | } |
avm_highbd_smooth_h_predictor_32x64_c Line | Count | Source | 812 | 4.14k | const uint16_t *left, int bd) { \ | 813 | 4.14k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4.14k | } |
avm_highbd_smooth_h_predictor_64x32_c Line | Count | Source | 812 | 3.77k | const uint16_t *left, int bd) { \ | 813 | 3.77k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.77k | } |
avm_highbd_smooth_h_predictor_4x16_c Line | Count | Source | 812 | 4.31k | const uint16_t *left, int bd) { \ | 813 | 4.31k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4.31k | } |
avm_highbd_smooth_h_predictor_16x4_c Line | Count | Source | 812 | 4.16k | const uint16_t *left, int bd) { \ | 813 | 4.16k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4.16k | } |
avm_highbd_smooth_h_predictor_8x32_c Line | Count | Source | 812 | 4.46k | const uint16_t *left, int bd) { \ | 813 | 4.46k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4.46k | } |
avm_highbd_smooth_h_predictor_32x8_c Line | Count | Source | 812 | 3.66k | const uint16_t *left, int bd) { \ | 813 | 3.66k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.66k | } |
avm_highbd_smooth_h_predictor_16x64_c Line | Count | Source | 812 | 2.89k | const uint16_t *left, int bd) { \ | 813 | 2.89k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.89k | } |
avm_highbd_smooth_h_predictor_64x16_c Line | Count | Source | 812 | 3.27k | const uint16_t *left, int bd) { \ | 813 | 3.27k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.27k | } |
avm_highbd_smooth_h_predictor_4x32_c Line | Count | Source | 812 | 1.91k | const uint16_t *left, int bd) { \ | 813 | 1.91k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.91k | } |
avm_highbd_smooth_h_predictor_32x4_c Line | Count | Source | 812 | 1.51k | const uint16_t *left, int bd) { \ | 813 | 1.51k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.51k | } |
avm_highbd_smooth_h_predictor_8x64_c Line | Count | Source | 812 | 944 | const uint16_t *left, int bd) { \ | 813 | 944 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 944 | } |
avm_highbd_smooth_h_predictor_64x8_c Line | Count | Source | 812 | 1.43k | const uint16_t *left, int bd) { \ | 813 | 1.43k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.43k | } |
avm_highbd_smooth_h_predictor_4x64_c Line | Count | Source | 812 | 258 | const uint16_t *left, int bd) { \ | 813 | 258 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 258 | } |
avm_highbd_smooth_h_predictor_64x4_c Line | Count | Source | 812 | 240 | const uint16_t *left, int bd) { \ | 813 | 240 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 240 | } |
avm_highbd_paeth_predictor_4x4_c Line | Count | Source | 812 | 63.9k | const uint16_t *left, int bd) { \ | 813 | 63.9k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 63.9k | } |
avm_highbd_paeth_predictor_8x8_c Line | Count | Source | 812 | 13.4k | const uint16_t *left, int bd) { \ | 813 | 13.4k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 13.4k | } |
avm_highbd_paeth_predictor_16x16_c Line | Count | Source | 812 | 12.5k | const uint16_t *left, int bd) { \ | 813 | 12.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 12.5k | } |
avm_highbd_paeth_predictor_32x32_c Line | Count | Source | 812 | 11.1k | const uint16_t *left, int bd) { \ | 813 | 11.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 11.1k | } |
avm_highbd_paeth_predictor_64x64_c Line | Count | Source | 812 | 16.5k | const uint16_t *left, int bd) { \ | 813 | 16.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 16.5k | } |
avm_highbd_paeth_predictor_4x8_c Line | Count | Source | 812 | 8.68k | const uint16_t *left, int bd) { \ | 813 | 8.68k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 8.68k | } |
avm_highbd_paeth_predictor_8x4_c Line | Count | Source | 812 | 7.11k | const uint16_t *left, int bd) { \ | 813 | 7.11k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 7.11k | } |
avm_highbd_paeth_predictor_8x16_c Line | Count | Source | 812 | 7.75k | const uint16_t *left, int bd) { \ | 813 | 7.75k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 7.75k | } |
avm_highbd_paeth_predictor_16x8_c Line | Count | Source | 812 | 15.8k | const uint16_t *left, int bd) { \ | 813 | 15.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 15.8k | } |
avm_highbd_paeth_predictor_16x32_c Line | Count | Source | 812 | 7.93k | const uint16_t *left, int bd) { \ | 813 | 7.93k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 7.93k | } |
avm_highbd_paeth_predictor_32x16_c Line | Count | Source | 812 | 7.76k | const uint16_t *left, int bd) { \ | 813 | 7.76k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 7.76k | } |
avm_highbd_paeth_predictor_32x64_c Line | Count | Source | 812 | 4.96k | const uint16_t *left, int bd) { \ | 813 | 4.96k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4.96k | } |
avm_highbd_paeth_predictor_64x32_c Line | Count | Source | 812 | 3.41k | const uint16_t *left, int bd) { \ | 813 | 3.41k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.41k | } |
avm_highbd_paeth_predictor_4x16_c Line | Count | Source | 812 | 3.77k | const uint16_t *left, int bd) { \ | 813 | 3.77k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.77k | } |
avm_highbd_paeth_predictor_16x4_c Line | Count | Source | 812 | 4.05k | const uint16_t *left, int bd) { \ | 813 | 4.05k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4.05k | } |
avm_highbd_paeth_predictor_8x32_c Line | Count | Source | 812 | 5.16k | const uint16_t *left, int bd) { \ | 813 | 5.16k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 5.16k | } |
avm_highbd_paeth_predictor_32x8_c Line | Count | Source | 812 | 4.23k | const uint16_t *left, int bd) { \ | 813 | 4.23k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4.23k | } |
avm_highbd_paeth_predictor_16x64_c Line | Count | Source | 812 | 3.59k | const uint16_t *left, int bd) { \ | 813 | 3.59k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.59k | } |
avm_highbd_paeth_predictor_64x16_c Line | Count | Source | 812 | 2.40k | const uint16_t *left, int bd) { \ | 813 | 2.40k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.40k | } |
avm_highbd_paeth_predictor_4x32_c Line | Count | Source | 812 | 1.53k | const uint16_t *left, int bd) { \ | 813 | 1.53k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.53k | } |
avm_highbd_paeth_predictor_32x4_c Line | Count | Source | 812 | 1.43k | const uint16_t *left, int bd) { \ | 813 | 1.43k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.43k | } |
avm_highbd_paeth_predictor_8x64_c Line | Count | Source | 812 | 1.83k | const uint16_t *left, int bd) { \ | 813 | 1.83k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.83k | } |
avm_highbd_paeth_predictor_64x8_c Line | Count | Source | 812 | 1.39k | const uint16_t *left, int bd) { \ | 813 | 1.39k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.39k | } |
avm_highbd_paeth_predictor_4x64_c Line | Count | Source | 812 | 1.49k | const uint16_t *left, int bd) { \ | 813 | 1.49k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.49k | } |
avm_highbd_paeth_predictor_64x4_c Line | Count | Source | 812 | 197 | const uint16_t *left, int bd) { \ | 813 | 197 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 197 | } |
Unexecuted instantiation: avm_highbd_dc_128_predictor_4x4_c Unexecuted instantiation: avm_highbd_dc_128_predictor_8x8_c Unexecuted instantiation: avm_highbd_dc_128_predictor_16x16_c Unexecuted instantiation: avm_highbd_dc_128_predictor_32x32_c avm_highbd_dc_128_predictor_64x64_c Line | Count | Source | 812 | 41.1k | const uint16_t *left, int bd) { \ | 813 | 41.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 41.1k | } |
Unexecuted instantiation: avm_highbd_dc_128_predictor_4x8_c Unexecuted instantiation: avm_highbd_dc_128_predictor_8x4_c Unexecuted instantiation: avm_highbd_dc_128_predictor_8x16_c Unexecuted instantiation: avm_highbd_dc_128_predictor_16x8_c Unexecuted instantiation: avm_highbd_dc_128_predictor_16x32_c Unexecuted instantiation: avm_highbd_dc_128_predictor_32x16_c avm_highbd_dc_128_predictor_32x64_c Line | Count | Source | 812 | 7.31k | const uint16_t *left, int bd) { \ | 813 | 7.31k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 7.31k | } |
avm_highbd_dc_128_predictor_64x32_c Line | Count | Source | 812 | 830 | const uint16_t *left, int bd) { \ | 813 | 830 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 830 | } |
avm_highbd_dc_128_predictor_4x16_c Line | Count | Source | 812 | 797 | const uint16_t *left, int bd) { \ | 813 | 797 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 797 | } |
avm_highbd_dc_128_predictor_16x4_c Line | Count | Source | 812 | 596 | const uint16_t *left, int bd) { \ | 813 | 596 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 596 | } |
avm_highbd_dc_128_predictor_8x32_c Line | Count | Source | 812 | 744 | const uint16_t *left, int bd) { \ | 813 | 744 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 744 | } |
avm_highbd_dc_128_predictor_32x8_c Line | Count | Source | 812 | 1.22k | const uint16_t *left, int bd) { \ | 813 | 1.22k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.22k | } |
avm_highbd_dc_128_predictor_16x64_c Line | Count | Source | 812 | 1.23k | const uint16_t *left, int bd) { \ | 813 | 1.23k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.23k | } |
avm_highbd_dc_128_predictor_64x16_c Line | Count | Source | 812 | 881 | const uint16_t *left, int bd) { \ | 813 | 881 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 881 | } |
avm_highbd_dc_128_predictor_4x32_c Line | Count | Source | 812 | 387 | const uint16_t *left, int bd) { \ | 813 | 387 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 387 | } |
avm_highbd_dc_128_predictor_32x4_c Line | Count | Source | 812 | 60 | const uint16_t *left, int bd) { \ | 813 | 60 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 60 | } |
avm_highbd_dc_128_predictor_8x64_c Line | Count | Source | 812 | 229 | const uint16_t *left, int bd) { \ | 813 | 229 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 229 | } |
avm_highbd_dc_128_predictor_64x8_c Line | Count | Source | 812 | 33 | const uint16_t *left, int bd) { \ | 813 | 33 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 33 | } |
avm_highbd_dc_128_predictor_4x64_c Line | Count | Source | 812 | 62 | const uint16_t *left, int bd) { \ | 813 | 62 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 62 | } |
avm_highbd_dc_128_predictor_64x4_c Line | Count | Source | 812 | 14 | const uint16_t *left, int bd) { \ | 813 | 14 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 14 | } |
Unexecuted instantiation: avm_highbd_dc_left_predictor_4x4_c Unexecuted instantiation: avm_highbd_dc_left_predictor_8x8_c Unexecuted instantiation: avm_highbd_dc_left_predictor_16x16_c Unexecuted instantiation: avm_highbd_dc_left_predictor_32x32_c avm_highbd_dc_left_predictor_64x64_c Line | Count | Source | 812 | 34.0k | const uint16_t *left, int bd) { \ | 813 | 34.0k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 34.0k | } |
Unexecuted instantiation: avm_highbd_dc_left_predictor_4x8_c Unexecuted instantiation: avm_highbd_dc_left_predictor_8x4_c Unexecuted instantiation: avm_highbd_dc_left_predictor_8x16_c Unexecuted instantiation: avm_highbd_dc_left_predictor_16x8_c Unexecuted instantiation: avm_highbd_dc_left_predictor_16x32_c Unexecuted instantiation: avm_highbd_dc_left_predictor_32x16_c avm_highbd_dc_left_predictor_32x64_c Line | Count | Source | 812 | 1.32k | const uint16_t *left, int bd) { \ | 813 | 1.32k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.32k | } |
avm_highbd_dc_left_predictor_64x32_c Line | Count | Source | 812 | 3.66k | const uint16_t *left, int bd) { \ | 813 | 3.66k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.66k | } |
avm_highbd_dc_left_predictor_4x16_c Line | Count | Source | 812 | 1.05k | const uint16_t *left, int bd) { \ | 813 | 1.05k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.05k | } |
avm_highbd_dc_left_predictor_16x4_c Line | Count | Source | 812 | 6.02k | const uint16_t *left, int bd) { \ | 813 | 6.02k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 6.02k | } |
avm_highbd_dc_left_predictor_8x32_c Line | Count | Source | 812 | 1.72k | const uint16_t *left, int bd) { \ | 813 | 1.72k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.72k | } |
avm_highbd_dc_left_predictor_32x8_c Line | Count | Source | 812 | 7.45k | const uint16_t *left, int bd) { \ | 813 | 7.45k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 7.45k | } |
avm_highbd_dc_left_predictor_16x64_c Line | Count | Source | 812 | 3.04k | const uint16_t *left, int bd) { \ | 813 | 3.04k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.04k | } |
avm_highbd_dc_left_predictor_64x16_c Line | Count | Source | 812 | 2.80k | const uint16_t *left, int bd) { \ | 813 | 2.80k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.80k | } |
avm_highbd_dc_left_predictor_4x32_c Line | Count | Source | 812 | 786 | const uint16_t *left, int bd) { \ | 813 | 786 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 786 | } |
avm_highbd_dc_left_predictor_32x4_c Line | Count | Source | 812 | 655 | const uint16_t *left, int bd) { \ | 813 | 655 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 655 | } |
avm_highbd_dc_left_predictor_8x64_c Line | Count | Source | 812 | 558 | const uint16_t *left, int bd) { \ | 813 | 558 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 558 | } |
avm_highbd_dc_left_predictor_64x8_c Line | Count | Source | 812 | 272 | const uint16_t *left, int bd) { \ | 813 | 272 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 272 | } |
avm_highbd_dc_left_predictor_4x64_c Line | Count | Source | 812 | 246 | const uint16_t *left, int bd) { \ | 813 | 246 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 246 | } |
avm_highbd_dc_left_predictor_64x4_c Line | Count | Source | 812 | 31 | const uint16_t *left, int bd) { \ | 813 | 31 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 31 | } |
Unexecuted instantiation: avm_highbd_dc_top_predictor_4x4_c Unexecuted instantiation: avm_highbd_dc_top_predictor_8x8_c Unexecuted instantiation: avm_highbd_dc_top_predictor_16x16_c Unexecuted instantiation: avm_highbd_dc_top_predictor_32x32_c avm_highbd_dc_top_predictor_64x64_c Line | Count | Source | 812 | 46.9k | const uint16_t *left, int bd) { \ | 813 | 46.9k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 46.9k | } |
Unexecuted instantiation: avm_highbd_dc_top_predictor_4x8_c Unexecuted instantiation: avm_highbd_dc_top_predictor_8x4_c Unexecuted instantiation: avm_highbd_dc_top_predictor_8x16_c Unexecuted instantiation: avm_highbd_dc_top_predictor_16x8_c Unexecuted instantiation: avm_highbd_dc_top_predictor_16x32_c Unexecuted instantiation: avm_highbd_dc_top_predictor_32x16_c avm_highbd_dc_top_predictor_32x64_c Line | Count | Source | 812 | 16.2k | const uint16_t *left, int bd) { \ | 813 | 16.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 16.2k | } |
avm_highbd_dc_top_predictor_64x32_c Line | Count | Source | 812 | 8.16k | const uint16_t *left, int bd) { \ | 813 | 8.16k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 8.16k | } |
avm_highbd_dc_top_predictor_4x16_c Line | Count | Source | 812 | 7.47k | const uint16_t *left, int bd) { \ | 813 | 7.47k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 7.47k | } |
avm_highbd_dc_top_predictor_16x4_c Line | Count | Source | 812 | 5.51k | const uint16_t *left, int bd) { \ | 813 | 5.51k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 5.51k | } |
avm_highbd_dc_top_predictor_8x32_c Line | Count | Source | 812 | 11.5k | const uint16_t *left, int bd) { \ | 813 | 11.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 11.5k | } |
avm_highbd_dc_top_predictor_32x8_c Line | Count | Source | 812 | 13.1k | const uint16_t *left, int bd) { \ | 813 | 13.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 13.1k | } |
avm_highbd_dc_top_predictor_16x64_c Line | Count | Source | 812 | 3.93k | const uint16_t *left, int bd) { \ | 813 | 3.93k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.93k | } |
avm_highbd_dc_top_predictor_64x16_c Line | Count | Source | 812 | 5.76k | const uint16_t *left, int bd) { \ | 813 | 5.76k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 5.76k | } |
avm_highbd_dc_top_predictor_4x32_c Line | Count | Source | 812 | 4.86k | const uint16_t *left, int bd) { \ | 813 | 4.86k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4.86k | } |
avm_highbd_dc_top_predictor_32x4_c Line | Count | Source | 812 | 2.60k | const uint16_t *left, int bd) { \ | 813 | 2.60k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.60k | } |
avm_highbd_dc_top_predictor_8x64_c Line | Count | Source | 812 | 657 | const uint16_t *left, int bd) { \ | 813 | 657 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 657 | } |
avm_highbd_dc_top_predictor_64x8_c Line | Count | Source | 812 | 1.67k | const uint16_t *left, int bd) { \ | 813 | 1.67k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.67k | } |
avm_highbd_dc_top_predictor_4x64_c Line | Count | Source | 812 | 225 | const uint16_t *left, int bd) { \ | 813 | 225 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 225 | } |
avm_highbd_dc_top_predictor_64x4_c Line | Count | Source | 812 | 457 | const uint16_t *left, int bd) { \ | 813 | 457 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 457 | } |
Unexecuted instantiation: avm_highbd_dc_predictor_4x4_c Unexecuted instantiation: avm_highbd_dc_predictor_8x8_c Unexecuted instantiation: avm_highbd_dc_predictor_16x16_c Unexecuted instantiation: avm_highbd_dc_predictor_32x32_c avm_highbd_dc_predictor_64x64_c Line | Count | Source | 812 | 98.5k | const uint16_t *left, int bd) { \ | 813 | 98.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 98.5k | } |
Unexecuted instantiation: avm_highbd_ibp_dc_left_predictor_4x4_c avm_highbd_ibp_dc_left_predictor_8x8_c Line | Count | Source | 812 | 1.58k | const uint16_t *left, int bd) { \ | 813 | 1.58k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.58k | } |
avm_highbd_ibp_dc_left_predictor_16x16_c Line | Count | Source | 812 | 1.47k | const uint16_t *left, int bd) { \ | 813 | 1.47k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.47k | } |
avm_highbd_ibp_dc_left_predictor_32x32_c Line | Count | Source | 812 | 2.03k | const uint16_t *left, int bd) { \ | 813 | 2.03k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.03k | } |
avm_highbd_ibp_dc_left_predictor_64x64_c Line | Count | Source | 812 | 27.2k | const uint16_t *left, int bd) { \ | 813 | 27.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 27.2k | } |
avm_highbd_ibp_dc_left_predictor_4x8_c Line | Count | Source | 812 | 736 | const uint16_t *left, int bd) { \ | 813 | 736 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 736 | } |
avm_highbd_ibp_dc_left_predictor_8x4_c Line | Count | Source | 812 | 5.43k | const uint16_t *left, int bd) { \ | 813 | 5.43k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 5.43k | } |
avm_highbd_ibp_dc_left_predictor_8x16_c Line | Count | Source | 812 | 659 | const uint16_t *left, int bd) { \ | 813 | 659 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 659 | } |
avm_highbd_ibp_dc_left_predictor_16x8_c Line | Count | Source | 812 | 3.38k | const uint16_t *left, int bd) { \ | 813 | 3.38k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.38k | } |
avm_highbd_ibp_dc_left_predictor_16x32_c Line | Count | Source | 812 | 1.14k | const uint16_t *left, int bd) { \ | 813 | 1.14k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.14k | } |
avm_highbd_ibp_dc_left_predictor_32x16_c Line | Count | Source | 812 | 2.77k | const uint16_t *left, int bd) { \ | 813 | 2.77k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.77k | } |
avm_highbd_ibp_dc_left_predictor_32x64_c Line | Count | Source | 812 | 1.14k | const uint16_t *left, int bd) { \ | 813 | 1.14k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.14k | } |
avm_highbd_ibp_dc_left_predictor_64x32_c Line | Count | Source | 812 | 3.45k | const uint16_t *left, int bd) { \ | 813 | 3.45k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.45k | } |
avm_highbd_ibp_dc_left_predictor_4x16_c Line | Count | Source | 812 | 381 | const uint16_t *left, int bd) { \ | 813 | 381 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 381 | } |
avm_highbd_ibp_dc_left_predictor_16x4_c Line | Count | Source | 812 | 4.07k | const uint16_t *left, int bd) { \ | 813 | 4.07k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4.07k | } |
avm_highbd_ibp_dc_left_predictor_8x32_c Line | Count | Source | 812 | 802 | const uint16_t *left, int bd) { \ | 813 | 802 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 802 | } |
avm_highbd_ibp_dc_left_predictor_32x8_c Line | Count | Source | 812 | 4.05k | const uint16_t *left, int bd) { \ | 813 | 4.05k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4.05k | } |
avm_highbd_ibp_dc_left_predictor_16x64_c Line | Count | Source | 812 | 2.97k | const uint16_t *left, int bd) { \ | 813 | 2.97k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.97k | } |
avm_highbd_ibp_dc_left_predictor_64x16_c Line | Count | Source | 812 | 2.47k | const uint16_t *left, int bd) { \ | 813 | 2.47k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.47k | } |
avm_highbd_ibp_dc_left_predictor_4x32_c Line | Count | Source | 812 | 330 | const uint16_t *left, int bd) { \ | 813 | 330 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 330 | } |
avm_highbd_ibp_dc_left_predictor_32x4_c Line | Count | Source | 812 | 425 | const uint16_t *left, int bd) { \ | 813 | 425 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 425 | } |
avm_highbd_ibp_dc_left_predictor_8x64_c Line | Count | Source | 812 | 510 | const uint16_t *left, int bd) { \ | 813 | 510 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 510 | } |
avm_highbd_ibp_dc_left_predictor_64x8_c Line | Count | Source | 812 | 261 | const uint16_t *left, int bd) { \ | 813 | 261 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 261 | } |
avm_highbd_ibp_dc_left_predictor_4x64_c Line | Count | Source | 812 | 221 | const uint16_t *left, int bd) { \ | 813 | 221 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 221 | } |
avm_highbd_ibp_dc_left_predictor_64x4_c Line | Count | Source | 812 | 31 | const uint16_t *left, int bd) { \ | 813 | 31 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 31 | } |
Unexecuted instantiation: avm_highbd_ibp_dc_top_predictor_4x4_c avm_highbd_ibp_dc_top_predictor_8x8_c Line | Count | Source | 812 | 5.26k | const uint16_t *left, int bd) { \ | 813 | 5.26k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 5.26k | } |
avm_highbd_ibp_dc_top_predictor_16x16_c Line | Count | Source | 812 | 8.58k | const uint16_t *left, int bd) { \ | 813 | 8.58k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 8.58k | } |
avm_highbd_ibp_dc_top_predictor_32x32_c Line | Count | Source | 812 | 16.8k | const uint16_t *left, int bd) { \ | 813 | 16.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 16.8k | } |
avm_highbd_ibp_dc_top_predictor_64x64_c Line | Count | Source | 812 | 41.0k | const uint16_t *left, int bd) { \ | 813 | 41.0k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 41.0k | } |
avm_highbd_ibp_dc_top_predictor_4x8_c Line | Count | Source | 812 | 9.98k | const uint16_t *left, int bd) { \ | 813 | 9.98k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 9.98k | } |
avm_highbd_ibp_dc_top_predictor_8x4_c Line | Count | Source | 812 | 2.62k | const uint16_t *left, int bd) { \ | 813 | 2.62k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.62k | } |
avm_highbd_ibp_dc_top_predictor_8x16_c Line | Count | Source | 812 | 12.2k | const uint16_t *left, int bd) { \ | 813 | 12.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 12.2k | } |
avm_highbd_ibp_dc_top_predictor_16x8_c Line | Count | Source | 812 | 5.67k | const uint16_t *left, int bd) { \ | 813 | 5.67k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 5.67k | } |
avm_highbd_ibp_dc_top_predictor_16x32_c Line | Count | Source | 812 | 18.5k | const uint16_t *left, int bd) { \ | 813 | 18.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 18.5k | } |
avm_highbd_ibp_dc_top_predictor_32x16_c Line | Count | Source | 812 | 8.75k | const uint16_t *left, int bd) { \ | 813 | 8.75k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 8.75k | } |
avm_highbd_ibp_dc_top_predictor_32x64_c Line | Count | Source | 812 | 13.7k | const uint16_t *left, int bd) { \ | 813 | 13.7k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 13.7k | } |
avm_highbd_ibp_dc_top_predictor_64x32_c Line | Count | Source | 812 | 7.55k | const uint16_t *left, int bd) { \ | 813 | 7.55k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 7.55k | } |
avm_highbd_ibp_dc_top_predictor_4x16_c Line | Count | Source | 812 | 2.07k | const uint16_t *left, int bd) { \ | 813 | 2.07k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.07k | } |
avm_highbd_ibp_dc_top_predictor_16x4_c Line | Count | Source | 812 | 1.08k | const uint16_t *left, int bd) { \ | 813 | 1.08k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.08k | } |
avm_highbd_ibp_dc_top_predictor_8x32_c Line | Count | Source | 812 | 3.45k | const uint16_t *left, int bd) { \ | 813 | 3.45k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.45k | } |
avm_highbd_ibp_dc_top_predictor_32x8_c Line | Count | Source | 812 | 4.56k | const uint16_t *left, int bd) { \ | 813 | 4.56k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4.56k | } |
avm_highbd_ibp_dc_top_predictor_16x64_c Line | Count | Source | 812 | 3.29k | const uint16_t *left, int bd) { \ | 813 | 3.29k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.29k | } |
avm_highbd_ibp_dc_top_predictor_64x16_c Line | Count | Source | 812 | 5.53k | const uint16_t *left, int bd) { \ | 813 | 5.53k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 5.53k | } |
avm_highbd_ibp_dc_top_predictor_4x32_c Line | Count | Source | 812 | 953 | const uint16_t *left, int bd) { \ | 813 | 953 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 953 | } |
avm_highbd_ibp_dc_top_predictor_32x4_c Line | Count | Source | 812 | 1.30k | const uint16_t *left, int bd) { \ | 813 | 1.30k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.30k | } |
avm_highbd_ibp_dc_top_predictor_8x64_c Line | Count | Source | 812 | 562 | const uint16_t *left, int bd) { \ | 813 | 562 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 562 | } |
avm_highbd_ibp_dc_top_predictor_64x8_c Line | Count | Source | 812 | 1.63k | const uint16_t *left, int bd) { \ | 813 | 1.63k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.63k | } |
avm_highbd_ibp_dc_top_predictor_4x64_c Line | Count | Source | 812 | 202 | const uint16_t *left, int bd) { \ | 813 | 202 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 202 | } |
avm_highbd_ibp_dc_top_predictor_64x4_c Line | Count | Source | 812 | 433 | const uint16_t *left, int bd) { \ | 813 | 433 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 433 | } |
Unexecuted instantiation: avm_highbd_ibp_dc_predictor_4x4_c avm_highbd_ibp_dc_predictor_8x8_c Line | Count | Source | 812 | 39.2k | const uint16_t *left, int bd) { \ | 813 | 39.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 39.2k | } |
avm_highbd_ibp_dc_predictor_16x16_c Line | Count | Source | 812 | 39.1k | const uint16_t *left, int bd) { \ | 813 | 39.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 39.1k | } |
avm_highbd_ibp_dc_predictor_32x32_c Line | Count | Source | 812 | 26.0k | const uint16_t *left, int bd) { \ | 813 | 26.0k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 26.0k | } |
avm_highbd_ibp_dc_predictor_64x64_c Line | Count | Source | 812 | 77.4k | const uint16_t *left, int bd) { \ | 813 | 77.4k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 77.4k | } |
avm_highbd_ibp_dc_predictor_4x8_c Line | Count | Source | 812 | 22.7k | const uint16_t *left, int bd) { \ | 813 | 22.7k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 22.7k | } |
avm_highbd_ibp_dc_predictor_8x4_c Line | Count | Source | 812 | 16.0k | const uint16_t *left, int bd) { \ | 813 | 16.0k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 16.0k | } |
avm_highbd_ibp_dc_predictor_8x16_c Line | Count | Source | 812 | 26.1k | const uint16_t *left, int bd) { \ | 813 | 26.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 26.1k | } |
avm_highbd_ibp_dc_predictor_16x8_c Line | Count | Source | 812 | 28.1k | const uint16_t *left, int bd) { \ | 813 | 28.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 28.1k | } |
avm_highbd_ibp_dc_predictor_16x32_c Line | Count | Source | 812 | 19.1k | const uint16_t *left, int bd) { \ | 813 | 19.1k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 19.1k | } |
avm_highbd_ibp_dc_predictor_32x16_c Line | Count | Source | 812 | 21.9k | const uint16_t *left, int bd) { \ | 813 | 21.9k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 21.9k | } |
avm_highbd_ibp_dc_predictor_32x64_c Line | Count | Source | 812 | 8.69k | const uint16_t *left, int bd) { \ | 813 | 8.69k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 8.69k | } |
avm_highbd_ibp_dc_predictor_64x32_c Line | Count | Source | 812 | 9.66k | const uint16_t *left, int bd) { \ | 813 | 9.66k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 9.66k | } |
avm_highbd_ibp_dc_predictor_4x16_c Line | Count | Source | 812 | 9.29k | const uint16_t *left, int bd) { \ | 813 | 9.29k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 9.29k | } |
avm_highbd_ibp_dc_predictor_16x4_c Line | Count | Source | 812 | 8.65k | const uint16_t *left, int bd) { \ | 813 | 8.65k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 8.65k | } |
avm_highbd_ibp_dc_predictor_8x32_c Line | Count | Source | 812 | 11.2k | const uint16_t *left, int bd) { \ | 813 | 11.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 11.2k | } |
avm_highbd_ibp_dc_predictor_32x8_c Line | Count | Source | 812 | 12.8k | const uint16_t *left, int bd) { \ | 813 | 12.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 12.8k | } |
avm_highbd_ibp_dc_predictor_16x64_c Line | Count | Source | 812 | 9.61k | const uint16_t *left, int bd) { \ | 813 | 9.61k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 9.61k | } |
avm_highbd_ibp_dc_predictor_64x16_c Line | Count | Source | 812 | 7.92k | const uint16_t *left, int bd) { \ | 813 | 7.92k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 7.92k | } |
avm_highbd_ibp_dc_predictor_4x32_c Line | Count | Source | 812 | 5.45k | const uint16_t *left, int bd) { \ | 813 | 5.45k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 5.45k | } |
avm_highbd_ibp_dc_predictor_32x4_c Line | Count | Source | 812 | 4.27k | const uint16_t *left, int bd) { \ | 813 | 4.27k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4.27k | } |
avm_highbd_ibp_dc_predictor_8x64_c Line | Count | Source | 812 | 4.18k | const uint16_t *left, int bd) { \ | 813 | 4.18k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4.18k | } |
avm_highbd_ibp_dc_predictor_64x8_c Line | Count | Source | 812 | 2.61k | const uint16_t *left, int bd) { \ | 813 | 2.61k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.61k | } |
avm_highbd_ibp_dc_predictor_4x64_c Line | Count | Source | 812 | 953 | const uint16_t *left, int bd) { \ | 813 | 953 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 953 | } |
avm_highbd_ibp_dc_predictor_64x4_c Line | Count | Source | 812 | 223 | const uint16_t *left, int bd) { \ | 813 | 223 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 223 | } |
|
815 | | |
816 | | /* clang-format off */ |
817 | | #define intra_pred_rectangular(type) \ |
818 | | intra_pred_sized(type, 4, 8) \ |
819 | | intra_pred_sized(type, 8, 4) \ |
820 | | intra_pred_sized(type, 8, 16) \ |
821 | | intra_pred_sized(type, 16, 8) \ |
822 | | intra_pred_sized(type, 16, 32) \ |
823 | | intra_pred_sized(type, 32, 16) \ |
824 | | intra_pred_sized(type, 32, 64) \ |
825 | | intra_pred_sized(type, 64, 32) \ |
826 | | intra_pred_sized(type, 4, 16) \ |
827 | | intra_pred_sized(type, 16, 4) \ |
828 | | intra_pred_sized(type, 8, 32) \ |
829 | | intra_pred_sized(type, 32, 8) \ |
830 | | intra_pred_sized(type, 16, 64) \ |
831 | | intra_pred_sized(type, 64, 16) \ |
832 | | intra_pred_sized(type, 4, 32) \ |
833 | | intra_pred_sized(type, 32, 4) \ |
834 | | intra_pred_sized(type, 8, 64) \ |
835 | | intra_pred_sized(type, 64, 8) \ |
836 | | intra_pred_sized(type, 4, 64) \ |
837 | | intra_pred_sized(type, 64, 4) \ |
838 | | intra_pred_highbd_sized(type, 4, 8) \ |
839 | | intra_pred_highbd_sized(type, 8, 4) \ |
840 | | intra_pred_highbd_sized(type, 8, 16) \ |
841 | | intra_pred_highbd_sized(type, 16, 8) \ |
842 | | intra_pred_highbd_sized(type, 16, 32) \ |
843 | | intra_pred_highbd_sized(type, 32, 16) \ |
844 | | intra_pred_highbd_sized(type, 32, 64) \ |
845 | | intra_pred_highbd_sized(type, 64, 32) \ |
846 | | intra_pred_highbd_sized(type, 4, 16) \ |
847 | | intra_pred_highbd_sized(type, 16, 4) \ |
848 | | intra_pred_highbd_sized(type, 8, 32) \ |
849 | | intra_pred_highbd_sized(type, 32, 8) \ |
850 | | intra_pred_highbd_sized(type, 16, 64) \ |
851 | | intra_pred_highbd_sized(type, 64, 16) \ |
852 | | intra_pred_highbd_sized(type, 4, 32) \ |
853 | | intra_pred_highbd_sized(type, 32, 4) \ |
854 | | intra_pred_highbd_sized(type, 8, 64) \ |
855 | | intra_pred_highbd_sized(type, 64, 8) \ |
856 | | intra_pred_highbd_sized(type, 4, 64) \ |
857 | | intra_pred_highbd_sized(type, 64, 4) |
858 | | |
859 | | #define intra_pred_above_4x4(type) \ |
860 | | intra_pred_sized(type, 8, 8) \ |
861 | | intra_pred_sized(type, 16, 16) \ |
862 | | intra_pred_sized(type, 32, 32) \ |
863 | | intra_pred_sized(type, 64, 64) \ |
864 | | intra_pred_highbd_sized(type, 4, 4) \ |
865 | | intra_pred_highbd_sized(type, 8, 8) \ |
866 | | intra_pred_highbd_sized(type, 16, 16) \ |
867 | | intra_pred_highbd_sized(type, 32, 32) \ |
868 | | intra_pred_highbd_sized(type, 64, 64) \ |
869 | | intra_pred_rectangular(type) |
870 | | #define intra_pred_allsizes(type) \ |
871 | | intra_pred_sized(type, 4, 4) \ |
872 | | intra_pred_above_4x4(type) |
873 | | #define intra_pred_square(type) \ |
874 | | intra_pred_sized(type, 4, 4) \ |
875 | | intra_pred_sized(type, 8, 8) \ |
876 | | intra_pred_sized(type, 16, 16) \ |
877 | | intra_pred_sized(type, 32, 32) \ |
878 | | intra_pred_sized(type, 64, 64) \ |
879 | | intra_pred_highbd_sized(type, 4, 4) \ |
880 | | intra_pred_highbd_sized(type, 8, 8) \ |
881 | | intra_pred_highbd_sized(type, 16, 16) \ |
882 | | intra_pred_highbd_sized(type, 32, 32) \ |
883 | | intra_pred_highbd_sized(type, 64, 64) |
884 | | |
885 | | intra_pred_allsizes(v) |
886 | | intra_pred_allsizes(h) |
887 | | intra_pred_allsizes(smooth) |
888 | | intra_pred_allsizes(smooth_v) |
889 | | intra_pred_allsizes(smooth_h) |
890 | | intra_pred_allsizes(paeth) |
891 | | intra_pred_allsizes(dc_128) |
892 | | intra_pred_allsizes(dc_left) |
893 | | intra_pred_allsizes(dc_top) |
894 | | intra_pred_square(dc) |
895 | | intra_pred_allsizes(ibp_dc_left) |
896 | | intra_pred_allsizes(ibp_dc_top) |
897 | | intra_pred_allsizes(ibp_dc) |
898 | | |
899 | | /* clang-format on */ |
900 | | #undef intra_pred_allsizes |