/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 | 196M | 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 | 65.6M | uint16_t top_left) { |
51 | 65.6M | const int base = top + left - top_left; |
52 | 65.6M | const int p_left = abs_diff(base, left); |
53 | 65.6M | const int p_top = abs_diff(base, top); |
54 | 65.6M | const int p_top_left = abs_diff(base, top_left); |
55 | | |
56 | | // Return nearest to base of left, top and top_left. |
57 | 65.6M | return (p_left <= p_top && p_left <= p_top_left) ? left |
58 | 65.6M | : (p_top <= p_top_left) ? top |
59 | 16.8M | : top_left; |
60 | 65.6M | } |
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 | 1.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 | 20.7k | const uint16_t *left, int bd) { |
241 | 20.7k | int r; |
242 | 20.7k | (void)left; |
243 | 20.7k | (void)bd; |
244 | 736k | for (r = 0; r < bh; r++) { |
245 | 716k | memcpy(dst, above, bw * sizeof(uint16_t)); |
246 | 716k | dst += stride; |
247 | 716k | } |
248 | 20.7k | } |
249 | | |
250 | | static INLINE void highbd_h_predictor(uint16_t *dst, ptrdiff_t stride, int bw, |
251 | | int bh, const uint16_t *above, |
252 | 22.9k | const uint16_t *left, int bd) { |
253 | 22.9k | int r; |
254 | 22.9k | (void)above; |
255 | 22.9k | (void)bd; |
256 | 789k | for (r = 0; r < bh; r++) { |
257 | 766k | avm_memset16(dst, left[r], bw); |
258 | 766k | dst += stride; |
259 | 766k | } |
260 | 22.9k | } |
261 | | |
262 | | static INLINE void highbd_paeth_predictor(uint16_t *dst, ptrdiff_t stride, |
263 | | int bw, int bh, const uint16_t *above, |
264 | 139k | const uint16_t *left, int bd) { |
265 | 139k | int r, c; |
266 | 139k | const uint16_t ytop_left = above[-1]; |
267 | 139k | (void)bd; |
268 | | |
269 | 2.77M | for (r = 0; r < bh; r++) { |
270 | 68.2M | for (c = 0; c < bw; c++) |
271 | 65.6M | dst[c] = paeth_predictor_single(left[r], above[c], ytop_left); |
272 | 2.63M | dst += stride; |
273 | 2.63M | } |
274 | 139k | } |
275 | | |
276 | 608M | #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 | 399k | const uint16_t *left, int bd) { |
287 | 399k | (void)bd; |
288 | 399k | const uint16_t bl = left[bh]; // estimated by bottom-left pixel |
289 | 399k | const uint16_t tr = above[bw]; // estimated by top-right pixel |
290 | | |
291 | 399k | uint16_t *pred = dst; |
292 | 399k | const int scale = |
293 | 399k | ROUND_POWER_OF_TWO((blk_size_log2[bh] - 2 + blk_size_log2[bw] - 2), 2); |
294 | 399k | assert(scale >= 0 && scale <= BLEND_WEIGHT_MAX - 1); |
295 | 7.16M | for (int r = 0; r < bh; r++) { |
296 | 6.76M | const int s_top = |
297 | 6.76M | BLEND_WEIGHT_MAX >> |
298 | 6.76M | AVMMIN(blk_size_log2[BLEND_WEIGHT_MAX << 1], ((r << 1) >> scale)); |
299 | 6.76M | const uint16_t l = left[r]; |
300 | 200M | for (int c = 0; c < bw; c++) { |
301 | 193M | const int s_left = |
302 | 193M | BLEND_WEIGHT_MAX >> |
303 | 193M | AVMMIN(blk_size_log2[BLEND_WEIGHT_MAX << 1], ((c << 1) >> scale)); |
304 | 193M | const uint16_t top = above[c]; |
305 | 193M | const int blend_max_log2 = blk_size_log2[BLEND_WEIGHT_MAX]; |
306 | 193M | uint16_t predv = |
307 | 193M | bl + divide_round(((int16_t)above[c] - (int16_t)bl) * (bh - 1 - r), |
308 | 193M | blk_size_log2[bh]); |
309 | 193M | uint16_t predh = |
310 | 193M | tr + divide_round(((int16_t)left[r] - (int16_t)tr) * (bw - 1 - c), |
311 | 193M | blk_size_log2[bw]); |
312 | 193M | predv = predv + divide_round(((int16_t)top - (int16_t)predv) * s_top, |
313 | 193M | (blend_max_log2 + 1)); |
314 | 193M | assert(predv < (1 << bd)); |
315 | 193M | predh = predh + divide_round(((int16_t)l - (int16_t)predh) * s_left, |
316 | 193M | (blend_max_log2 + 1)); |
317 | 193M | assert(predh < (1 << bd)); |
318 | 193M | pred[c] = divide_round((predv + predh), 1); |
319 | 193M | assert(pred[c] < (1 << bd)); |
320 | 193M | } |
321 | 6.76M | pred += stride; |
322 | 6.76M | } |
323 | 399k | } |
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 | 122k | const uint16_t *left, int bd) { |
329 | 122k | (void)bd; |
330 | 122k | const uint16_t bl = left[bh]; // estimated by bottom-left pixel |
331 | | |
332 | 122k | uint16_t *pred = dst; |
333 | 122k | const int scale = |
334 | 122k | ROUND_POWER_OF_TWO((blk_size_log2[bh] - 2 + blk_size_log2[bw] - 2), 2); |
335 | 122k | assert(scale >= 0 && scale <= BLEND_WEIGHT_MAX - 1); |
336 | 2.25M | for (int r = 0; r < bh; ++r) { |
337 | 2.13M | const int s_top = |
338 | 2.13M | BLEND_WEIGHT_MAX >> |
339 | 2.13M | AVMMIN(blk_size_log2[BLEND_WEIGHT_MAX << 1], ((r << 1) >> scale)); |
340 | 69.6M | for (int c = 0; c < bw; ++c) { |
341 | 67.5M | const uint16_t top = above[c]; |
342 | 67.5M | const int blend_max_log2 = blk_size_log2[BLEND_WEIGHT_MAX]; |
343 | 67.5M | uint16_t predv = |
344 | 67.5M | bl + divide_round(((int16_t)above[c] - (int16_t)bl) * (bh - 1 - r), |
345 | 67.5M | blk_size_log2[bh]); |
346 | 67.5M | pred[c] = predv + divide_round(((int16_t)top - (int16_t)predv) * s_top, |
347 | 67.5M | (blend_max_log2 + 1)); |
348 | 67.5M | assert(pred[c] < (1 << bd)); |
349 | 67.5M | } |
350 | 2.13M | pred += stride; |
351 | 2.13M | } |
352 | 122k | } |
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 | 134k | const uint16_t *left, int bd) { |
358 | 134k | (void)bd; |
359 | 134k | const uint16_t tr = above[bw]; // estimated by top-right pixel |
360 | | |
361 | 134k | uint16_t *pred = dst; |
362 | 134k | const int scale = |
363 | 134k | ROUND_POWER_OF_TWO((blk_size_log2[bh] - 2 + blk_size_log2[bw] - 2), 2); |
364 | 134k | assert(scale >= 0 && scale <= BLEND_WEIGHT_MAX - 1); |
365 | 2.46M | for (int r = 0; r < bh; r++) { |
366 | 2.32M | const uint16_t l = left[r]; |
367 | 75.3M | for (int c = 0; c < bw; c++) { |
368 | 73.0M | const int s_left = |
369 | 73.0M | BLEND_WEIGHT_MAX >> |
370 | 73.0M | AVMMIN(blk_size_log2[BLEND_WEIGHT_MAX << 1], ((c << 1) >> scale)); |
371 | 73.0M | const int blend_max_log2 = blk_size_log2[BLEND_WEIGHT_MAX]; |
372 | 73.0M | uint16_t predh = |
373 | 73.0M | tr + divide_round(((int16_t)left[r] - (int16_t)tr) * (bw - 1 - c), |
374 | 73.0M | blk_size_log2[bw]); |
375 | 73.0M | pred[c] = predh + divide_round(((int16_t)l - (int16_t)predh) * s_left, |
376 | 73.0M | (blend_max_log2 + 1)); |
377 | 73.0M | assert(pred[c] < (1 << bd)); |
378 | 73.0M | } |
379 | 2.32M | pred += stride; |
380 | 2.32M | } |
381 | 134k | } |
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 | 23.3k | const uint16_t *left, int bd) { |
387 | 23.3k | int r; |
388 | 23.3k | (void)above; |
389 | 23.3k | (void)left; |
390 | | |
391 | 1.38M | for (r = 0; r < bh; r++) { |
392 | 1.35M | avm_memset16(dst, 128 << (bd - 8), bw); |
393 | 1.35M | dst += stride; |
394 | 1.35M | } |
395 | 23.3k | } |
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 | 22.9k | const uint16_t *left, int bd) { |
401 | 22.9k | int i, r, expected_dc, sum = 0; |
402 | 22.9k | (void)above; |
403 | 22.9k | (void)bd; |
404 | | |
405 | 1.20M | for (i = 0; i < bh; i++) sum += left[i]; |
406 | 22.9k | expected_dc = (sum + (bh >> 1)) / bh; |
407 | | |
408 | 1.16M | for (r = 0; r < bh; r++) { |
409 | 1.14M | avm_memset16(dst, expected_dc, bw); |
410 | 1.14M | dst += stride; |
411 | 1.14M | } |
412 | 22.9k | } |
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 | 68.2k | const uint16_t *left, int bd) { |
418 | 68.2k | int i, r, expected_dc, sum = 0; |
419 | 68.2k | (void)left; |
420 | 68.2k | (void)bd; |
421 | | |
422 | 3.13M | for (i = 0; i < bw; i++) sum += above[i]; |
423 | 68.2k | expected_dc = (sum + (bw >> 1)) / bw; |
424 | | |
425 | 2.45M | for (r = 0; r < bh; r++) { |
426 | 2.38M | avm_memset16(dst, expected_dc, bw); |
427 | 2.38M | dst += stride; |
428 | 2.38M | } |
429 | 68.2k | } |
430 | | |
431 | | static INLINE void highbd_dc_predictor(uint16_t *dst, ptrdiff_t stride, int bw, |
432 | | int bh, const uint16_t *above, |
433 | 31.6k | const uint16_t *left, int bd) { |
434 | 31.6k | int i, r, expected_dc, sum = 0; |
435 | 31.6k | const int count = bw + bh; |
436 | 31.6k | (void)bd; |
437 | | |
438 | 2.05M | for (i = 0; i < bw; i++) { |
439 | 2.02M | sum += above[i]; |
440 | 2.02M | } |
441 | 2.05M | for (i = 0; i < bh; i++) { |
442 | 2.02M | sum += left[i]; |
443 | 2.02M | } |
444 | | |
445 | 31.6k | expected_dc = (sum + (count >> 1)) / count; |
446 | | |
447 | 2.04M | for (r = 0; r < bh; r++) { |
448 | 2.00M | avm_memset16(dst, expected_dc, bw); |
449 | 2.00M | dst += stride; |
450 | 2.00M | } |
451 | 31.6k | } |
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 | 27.3k | const uint16_t *left, int bd) { |
466 | 27.3k | int r, c; |
467 | 27.3k | (void)above; |
468 | 27.3k | (void)bd; |
469 | | |
470 | 27.3k | int len = bw >> 2; |
471 | 27.3k | const uint8_t weights_index = size_to_weights_index[bw >> 3]; |
472 | 27.3k | const uint8_t *weights = ibp_weights[weights_index]; |
473 | 1.18M | for (r = 0; r < bh; r++) { |
474 | 14.0M | for (c = 0; c < len; c++) { |
475 | 12.8M | int val = ROUND_POWER_OF_TWO( |
476 | 12.8M | left[r] * (IBP_WEIGHT_REF - weights[c]) + dst[c] * weights[c], |
477 | 12.8M | IBP_WEIGHT_SHIFT); |
478 | 12.8M | dst[c] = val; |
479 | 12.8M | } |
480 | 1.15M | dst += stride; |
481 | 1.15M | } |
482 | 27.3k | } |
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 | 83.5k | const uint16_t *left, int bd) { |
488 | 83.5k | int r, c; |
489 | 83.5k | (void)left; |
490 | 83.5k | (void)bd; |
491 | | |
492 | 83.5k | int len = bh >> 2; |
493 | 83.5k | const uint8_t weights_index = size_to_weights_index[bh >> 3]; |
494 | 83.5k | const uint8_t *weights = ibp_weights[weights_index]; |
495 | 794k | for (r = 0; r < len; r++) { |
496 | 33.7M | for (c = 0; c < bw; c++) { |
497 | 33.0M | int val = ROUND_POWER_OF_TWO( |
498 | 33.0M | above[c] * (IBP_WEIGHT_REF - weights[r]) + dst[c] * weights[r], |
499 | 33.0M | IBP_WEIGHT_SHIFT); |
500 | 33.0M | dst[c] = val; |
501 | 33.0M | } |
502 | 711k | dst += stride; |
503 | 711k | } |
504 | 83.5k | } |
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 | 249k | const uint16_t *left, int bd) { |
510 | 249k | int r, c; |
511 | 249k | (void)bd; |
512 | | |
513 | 249k | uint16_t *orig_dst = dst; |
514 | 249k | int len_h = bh >> 2; |
515 | 249k | int len_w = bw >> 2; |
516 | 249k | int row_start = 0; |
517 | 249k | int col_start = 0; |
518 | 249k | if (bw >= bh) |
519 | 171k | row_start = len_h; |
520 | 77.9k | else |
521 | 77.9k | col_start = len_w; |
522 | 249k | uint8_t weights_index = size_to_weights_index[bh >> 3]; |
523 | 249k | const uint8_t *weights = ibp_weights[weights_index]; |
524 | 1.77M | for (r = 0; r < len_h; r++) { |
525 | 49.7M | for (c = col_start; c < bw; c++) { |
526 | 48.2M | int val = ROUND_POWER_OF_TWO( |
527 | 48.2M | above[c] * (IBP_WEIGHT_REF - weights[r]) + dst[c] * weights[r], |
528 | 48.2M | IBP_WEIGHT_SHIFT); |
529 | 48.2M | dst[c] = val; |
530 | 48.2M | } |
531 | 1.52M | dst += stride; |
532 | 1.52M | } |
533 | 249k | dst = orig_dst + row_start * stride; |
534 | 249k | weights_index = size_to_weights_index[bw >> 3]; |
535 | 249k | weights = ibp_weights[weights_index]; |
536 | 5.39M | for (r = row_start; r < bh; r++) { |
537 | 44.9M | for (c = 0; c < len_w; c++) { |
538 | 39.8M | int val = ROUND_POWER_OF_TWO( |
539 | 39.8M | left[r] * (IBP_WEIGHT_REF - weights[c]) + dst[c] * weights[c], |
540 | 39.8M | IBP_WEIGHT_SHIFT); |
541 | 39.8M | dst[c] = val; |
542 | 39.8M | } |
543 | 5.14M | dst += stride; |
544 | 5.14M | } |
545 | 249k | } |
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 | 170k | const uint16_t *left, int bd) { |
656 | 170k | int sum = 0; |
657 | | |
658 | 3.58M | for (int i = 0; i < bw; i++) { |
659 | 3.41M | sum += above[i]; |
660 | 3.41M | } |
661 | 3.80M | for (int i = 0; i < bh; i++) { |
662 | 3.63M | sum += left[i]; |
663 | 3.63M | } |
664 | | |
665 | 170k | int16_t shift = 0; |
666 | 170k | uint16_t scale = resolve_divisor_32(bw + bh, &shift); |
667 | 170k | uint16_t rounding = 1 << shift >> 1; |
668 | 170k | const int expected_dc = |
669 | 170k | clip_pixel_highbd((sum * scale + rounding) >> shift, bd); |
670 | | |
671 | 3.79M | for (int r = 0; r < bh; r++) { |
672 | 3.62M | avm_memset16(dst, expected_dc, bw); |
673 | 3.62M | dst += stride; |
674 | 3.62M | } |
675 | 170k | } |
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 | 28.9k | int bd) { |
694 | 28.9k | highbd_dc_predictor_rect(dst, stride, 4, 16, above, left, bd); |
695 | 28.9k | } |
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 | 27.6k | int bd) { |
700 | 27.6k | highbd_dc_predictor_rect(dst, stride, 16, 4, above, left, bd); |
701 | 27.6k | } |
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 | 25.8k | int bd) { |
718 | 25.8k | highbd_dc_predictor_rect(dst, stride, 8, 32, above, left, bd); |
719 | 25.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 | 32.8k | int bd) { |
724 | 32.8k | highbd_dc_predictor_rect(dst, stride, 32, 8, above, left, bd); |
725 | 32.8k | } |
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 | 6.82k | const uint16_t *left, int bd) { |
742 | 6.82k | highbd_dc_predictor_rect(dst, stride, 16, 64, above, left, bd); |
743 | 6.82k | } |
744 | | |
745 | | void avm_highbd_dc_predictor_64x16_c(uint16_t *dst, ptrdiff_t stride, |
746 | | const uint16_t *above, |
747 | 6.03k | const uint16_t *left, int bd) { |
748 | 6.03k | highbd_dc_predictor_rect(dst, stride, 64, 16, above, left, bd); |
749 | 6.03k | } |
750 | | |
751 | | void avm_highbd_dc_predictor_32x64_c(uint16_t *dst, ptrdiff_t stride, |
752 | | const uint16_t *above, |
753 | 7.38k | const uint16_t *left, int bd) { |
754 | 7.38k | highbd_dc_predictor_rect(dst, stride, 32, 64, above, left, bd); |
755 | 7.38k | } |
756 | | |
757 | | void avm_highbd_dc_predictor_64x32_c(uint16_t *dst, ptrdiff_t stride, |
758 | | const uint16_t *above, |
759 | 6.30k | const uint16_t *left, int bd) { |
760 | 6.30k | highbd_dc_predictor_rect(dst, stride, 64, 32, above, left, bd); |
761 | 6.30k | } |
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 | 14.3k | int bd) { |
766 | 14.3k | highbd_dc_predictor_rect(dst, stride, 4, 32, above, left, bd); |
767 | 14.3k | } |
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 | 8.18k | int bd) { |
772 | 8.18k | highbd_dc_predictor_rect(dst, stride, 32, 4, above, left, bd); |
773 | 8.18k | } |
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 | 2.77k | int bd) { |
778 | 2.77k | highbd_dc_predictor_rect(dst, stride, 8, 64, above, left, bd); |
779 | 2.77k | } |
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 | 1.81k | int bd) { |
784 | 1.81k | highbd_dc_predictor_rect(dst, stride, 64, 8, above, left, bd); |
785 | 1.81k | } |
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.37k | int bd) { |
790 | 1.37k | highbd_dc_predictor_rect(dst, stride, 4, 64, above, left, bd); |
791 | 1.37k | } |
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 | 91 | int bd) { |
796 | 91 | highbd_dc_predictor_rect(dst, stride, 64, 4, above, left, bd); |
797 | 91 | } |
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 | 1.34M | const uint16_t *left, int bd) { \ |
813 | 1.34M | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ |
814 | 1.34M | } 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 | 5.54k | const uint16_t *left, int bd) { \ | 813 | 5.54k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 5.54k | } |
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 | 1.17k | const uint16_t *left, int bd) { \ | 813 | 1.17k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.17k | } |
avm_highbd_v_predictor_64x32_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_4x16_c Line | Count | Source | 812 | 2.08k | const uint16_t *left, int bd) { \ | 813 | 2.08k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.08k | } |
avm_highbd_v_predictor_16x4_c Line | Count | Source | 812 | 2.49k | const uint16_t *left, int bd) { \ | 813 | 2.49k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.49k | } |
avm_highbd_v_predictor_8x32_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_v_predictor_32x8_c Line | Count | Source | 812 | 1.97k | const uint16_t *left, int bd) { \ | 813 | 1.97k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.97k | } |
avm_highbd_v_predictor_16x64_c Line | Count | Source | 812 | 781 | const uint16_t *left, int bd) { \ | 813 | 781 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 781 | } |
avm_highbd_v_predictor_64x16_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_v_predictor_4x32_c Line | Count | Source | 812 | 698 | const uint16_t *left, int bd) { \ | 813 | 698 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 698 | } |
avm_highbd_v_predictor_32x4_c Line | Count | Source | 812 | 625 | const uint16_t *left, int bd) { \ | 813 | 625 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 625 | } |
avm_highbd_v_predictor_8x64_c Line | Count | Source | 812 | 293 | const uint16_t *left, int bd) { \ | 813 | 293 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 293 | } |
avm_highbd_v_predictor_64x8_c Line | Count | Source | 812 | 238 | const uint16_t *left, int bd) { \ | 813 | 238 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 238 | } |
avm_highbd_v_predictor_4x64_c Line | Count | Source | 812 | 149 | const uint16_t *left, int bd) { \ | 813 | 149 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 149 | } |
avm_highbd_v_predictor_64x4_c Line | Count | Source | 812 | 68 | const uint16_t *left, int bd) { \ | 813 | 68 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 68 | } |
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 | 6.58k | const uint16_t *left, int bd) { \ | 813 | 6.58k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 6.58k | } |
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 | 973 | const uint16_t *left, int bd) { \ | 813 | 973 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 973 | } |
avm_highbd_h_predictor_64x32_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_h_predictor_4x16_c Line | Count | Source | 812 | 2.11k | const uint16_t *left, int bd) { \ | 813 | 2.11k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.11k | } |
avm_highbd_h_predictor_16x4_c Line | Count | Source | 812 | 2.33k | const uint16_t *left, int bd) { \ | 813 | 2.33k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.33k | } |
avm_highbd_h_predictor_8x32_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_h_predictor_32x8_c Line | Count | Source | 812 | 3.80k | const uint16_t *left, int bd) { \ | 813 | 3.80k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.80k | } |
avm_highbd_h_predictor_16x64_c Line | Count | Source | 812 | 556 | const uint16_t *left, int bd) { \ | 813 | 556 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 556 | } |
avm_highbd_h_predictor_64x16_c Line | Count | Source | 812 | 878 | const uint16_t *left, int bd) { \ | 813 | 878 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 878 | } |
avm_highbd_h_predictor_4x32_c Line | Count | Source | 812 | 681 | const uint16_t *left, int bd) { \ | 813 | 681 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 681 | } |
avm_highbd_h_predictor_32x4_c Line | Count | Source | 812 | 539 | const uint16_t *left, int bd) { \ | 813 | 539 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 539 | } |
avm_highbd_h_predictor_8x64_c Line | Count | Source | 812 | 423 | const uint16_t *left, int bd) { \ | 813 | 423 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 423 | } |
avm_highbd_h_predictor_64x8_c Line | Count | Source | 812 | 438 | const uint16_t *left, int bd) { \ | 813 | 438 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 438 | } |
avm_highbd_h_predictor_4x64_c Line | Count | Source | 812 | 234 | const uint16_t *left, int bd) { \ | 813 | 234 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 234 | } |
avm_highbd_h_predictor_64x4_c Line | Count | Source | 812 | 24 | const uint16_t *left, int bd) { \ | 813 | 24 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 24 | } |
avm_highbd_smooth_predictor_4x4_c Line | Count | Source | 812 | 118k | const uint16_t *left, int bd) { \ | 813 | 118k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 118k | } |
avm_highbd_smooth_predictor_8x8_c Line | Count | Source | 812 | 23.8k | const uint16_t *left, int bd) { \ | 813 | 23.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 23.8k | } |
avm_highbd_smooth_predictor_16x16_c Line | Count | Source | 812 | 27.0k | const uint16_t *left, int bd) { \ | 813 | 27.0k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 27.0k | } |
avm_highbd_smooth_predictor_32x32_c Line | Count | Source | 812 | 34.7k | const uint16_t *left, int bd) { \ | 813 | 34.7k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 34.7k | } |
avm_highbd_smooth_predictor_64x64_c Line | Count | Source | 812 | 24.7k | const uint16_t *left, int bd) { \ | 813 | 24.7k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 24.7k | } |
avm_highbd_smooth_predictor_4x8_c Line | Count | Source | 812 | 15.5k | const uint16_t *left, int bd) { \ | 813 | 15.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 15.5k | } |
avm_highbd_smooth_predictor_8x4_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_predictor_8x16_c Line | Count | Source | 812 | 15.5k | const uint16_t *left, int bd) { \ | 813 | 15.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 15.5k | } |
avm_highbd_smooth_predictor_16x8_c Line | Count | Source | 812 | 22.3k | const uint16_t *left, int bd) { \ | 813 | 22.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 22.3k | } |
avm_highbd_smooth_predictor_16x32_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_predictor_32x16_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_smooth_predictor_32x64_c Line | Count | Source | 812 | 5.09k | const uint16_t *left, int bd) { \ | 813 | 5.09k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 5.09k | } |
avm_highbd_smooth_predictor_64x32_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_smooth_predictor_4x16_c Line | Count | Source | 812 | 7.62k | const uint16_t *left, int bd) { \ | 813 | 7.62k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 7.62k | } |
avm_highbd_smooth_predictor_16x4_c Line | Count | Source | 812 | 10.2k | const uint16_t *left, int bd) { \ | 813 | 10.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 10.2k | } |
avm_highbd_smooth_predictor_8x32_c Line | Count | Source | 812 | 7.59k | const uint16_t *left, int bd) { \ | 813 | 7.59k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 7.59k | } |
avm_highbd_smooth_predictor_32x8_c Line | Count | Source | 812 | 9.22k | const uint16_t *left, int bd) { \ | 813 | 9.22k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 9.22k | } |
avm_highbd_smooth_predictor_16x64_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_smooth_predictor_64x16_c Line | Count | Source | 812 | 7.15k | const uint16_t *left, int bd) { \ | 813 | 7.15k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 7.15k | } |
avm_highbd_smooth_predictor_4x32_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_predictor_32x4_c Line | Count | Source | 812 | 3.37k | const uint16_t *left, int bd) { \ | 813 | 3.37k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.37k | } |
avm_highbd_smooth_predictor_8x64_c Line | Count | Source | 812 | 1.17k | const uint16_t *left, int bd) { \ | 813 | 1.17k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.17k | } |
avm_highbd_smooth_predictor_64x8_c Line | Count | Source | 812 | 1.19k | const uint16_t *left, int bd) { \ | 813 | 1.19k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.19k | } |
avm_highbd_smooth_predictor_4x64_c Line | Count | Source | 812 | 721 | const uint16_t *left, int bd) { \ | 813 | 721 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 721 | } |
avm_highbd_smooth_predictor_64x4_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_smooth_v_predictor_4x4_c Line | Count | Source | 812 | 36.8k | const uint16_t *left, int bd) { \ | 813 | 36.8k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 36.8k | } |
avm_highbd_smooth_v_predictor_8x8_c Line | Count | Source | 812 | 8.37k | const uint16_t *left, int bd) { \ | 813 | 8.37k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 8.37k | } |
avm_highbd_smooth_v_predictor_16x16_c Line | Count | Source | 812 | 7.88k | const uint16_t *left, int bd) { \ | 813 | 7.88k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 7.88k | } |
avm_highbd_smooth_v_predictor_32x32_c Line | Count | Source | 812 | 8.32k | const uint16_t *left, int bd) { \ | 813 | 8.32k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 8.32k | } |
avm_highbd_smooth_v_predictor_64x64_c Line | Count | Source | 812 | 9.05k | const uint16_t *left, int bd) { \ | 813 | 9.05k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 9.05k | } |
avm_highbd_smooth_v_predictor_4x8_c Line | Count | Source | 812 | 3.79k | const uint16_t *left, int bd) { \ | 813 | 3.79k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.79k | } |
avm_highbd_smooth_v_predictor_8x4_c Line | Count | Source | 812 | 3.71k | const uint16_t *left, int bd) { \ | 813 | 3.71k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.71k | } |
avm_highbd_smooth_v_predictor_8x16_c Line | Count | Source | 812 | 5.38k | const uint16_t *left, int bd) { \ | 813 | 5.38k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 5.38k | } |
avm_highbd_smooth_v_predictor_16x8_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_v_predictor_16x32_c Line | Count | Source | 812 | 3.91k | const uint16_t *left, int bd) { \ | 813 | 3.91k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.91k | } |
avm_highbd_smooth_v_predictor_32x16_c Line | Count | Source | 812 | 6.19k | const uint16_t *left, int bd) { \ | 813 | 6.19k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 6.19k | } |
avm_highbd_smooth_v_predictor_32x64_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_smooth_v_predictor_64x32_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_smooth_v_predictor_4x16_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_v_predictor_16x4_c Line | Count | Source | 812 | 3.22k | const uint16_t *left, int bd) { \ | 813 | 3.22k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.22k | } |
avm_highbd_smooth_v_predictor_8x32_c Line | Count | Source | 812 | 2.11k | const uint16_t *left, int bd) { \ | 813 | 2.11k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.11k | } |
avm_highbd_smooth_v_predictor_32x8_c Line | Count | Source | 812 | 3.46k | const uint16_t *left, int bd) { \ | 813 | 3.46k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.46k | } |
avm_highbd_smooth_v_predictor_16x64_c Line | Count | Source | 812 | 1.46k | const uint16_t *left, int bd) { \ | 813 | 1.46k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.46k | } |
avm_highbd_smooth_v_predictor_64x16_c Line | Count | Source | 812 | 2.21k | const uint16_t *left, int bd) { \ | 813 | 2.21k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.21k | } |
avm_highbd_smooth_v_predictor_4x32_c Line | Count | Source | 812 | 1.84k | const uint16_t *left, int bd) { \ | 813 | 1.84k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.84k | } |
avm_highbd_smooth_v_predictor_32x4_c Line | Count | Source | 812 | 578 | const uint16_t *left, int bd) { \ | 813 | 578 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 578 | } |
avm_highbd_smooth_v_predictor_8x64_c Line | Count | Source | 812 | 443 | const uint16_t *left, int bd) { \ | 813 | 443 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 443 | } |
avm_highbd_smooth_v_predictor_64x8_c Line | Count | Source | 812 | 414 | const uint16_t *left, int bd) { \ | 813 | 414 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 414 | } |
avm_highbd_smooth_v_predictor_4x64_c Line | Count | Source | 812 | 99 | const uint16_t *left, int bd) { \ | 813 | 99 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 99 | } |
avm_highbd_smooth_v_predictor_64x4_c Line | Count | Source | 812 | 208 | const uint16_t *left, int bd) { \ | 813 | 208 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 208 | } |
avm_highbd_smooth_h_predictor_4x4_c Line | Count | Source | 812 | 35.4k | const uint16_t *left, int bd) { \ | 813 | 35.4k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 35.4k | } |
avm_highbd_smooth_h_predictor_8x8_c Line | Count | Source | 812 | 9.75k | const uint16_t *left, int bd) { \ | 813 | 9.75k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 9.75k | } |
avm_highbd_smooth_h_predictor_16x16_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_smooth_h_predictor_32x32_c Line | Count | Source | 812 | 7.30k | const uint16_t *left, int bd) { \ | 813 | 7.30k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 7.30k | } |
avm_highbd_smooth_h_predictor_64x64_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_4x8_c Line | Count | Source | 812 | 4.94k | const uint16_t *left, int bd) { \ | 813 | 4.94k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4.94k | } |
avm_highbd_smooth_h_predictor_8x4_c Line | Count | Source | 812 | 5.55k | const uint16_t *left, int bd) { \ | 813 | 5.55k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 5.55k | } |
avm_highbd_smooth_h_predictor_8x16_c Line | Count | Source | 812 | 6.84k | const uint16_t *left, int bd) { \ | 813 | 6.84k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 6.84k | } |
avm_highbd_smooth_h_predictor_16x8_c Line | Count | Source | 812 | 8.32k | const uint16_t *left, int bd) { \ | 813 | 8.32k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 8.32k | } |
avm_highbd_smooth_h_predictor_16x32_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_h_predictor_32x16_c Line | Count | Source | 812 | 6.10k | const uint16_t *left, int bd) { \ | 813 | 6.10k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 6.10k | } |
avm_highbd_smooth_h_predictor_32x64_c Line | Count | Source | 812 | 1.56k | const uint16_t *left, int bd) { \ | 813 | 1.56k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.56k | } |
avm_highbd_smooth_h_predictor_64x32_c Line | Count | Source | 812 | 2.33k | const uint16_t *left, int bd) { \ | 813 | 2.33k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.33k | } |
avm_highbd_smooth_h_predictor_4x16_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_smooth_h_predictor_16x4_c Line | Count | Source | 812 | 2.67k | const uint16_t *left, int bd) { \ | 813 | 2.67k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.67k | } |
avm_highbd_smooth_h_predictor_8x32_c Line | Count | Source | 812 | 2.54k | const uint16_t *left, int bd) { \ | 813 | 2.54k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.54k | } |
avm_highbd_smooth_h_predictor_32x8_c Line | Count | Source | 812 | 3.52k | const uint16_t *left, int bd) { \ | 813 | 3.52k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.52k | } |
avm_highbd_smooth_h_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_smooth_h_predictor_64x16_c Line | Count | Source | 812 | 2.29k | const uint16_t *left, int bd) { \ | 813 | 2.29k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.29k | } |
avm_highbd_smooth_h_predictor_4x32_c Line | Count | Source | 812 | 947 | const uint16_t *left, int bd) { \ | 813 | 947 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 947 | } |
avm_highbd_smooth_h_predictor_32x4_c Line | Count | Source | 812 | 1.10k | const uint16_t *left, int bd) { \ | 813 | 1.10k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.10k | } |
avm_highbd_smooth_h_predictor_8x64_c Line | Count | Source | 812 | 506 | const uint16_t *left, int bd) { \ | 813 | 506 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 506 | } |
avm_highbd_smooth_h_predictor_64x8_c Line | Count | Source | 812 | 1.57k | const uint16_t *left, int bd) { \ | 813 | 1.57k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.57k | } |
avm_highbd_smooth_h_predictor_4x64_c Line | Count | Source | 812 | 38 | const uint16_t *left, int bd) { \ | 813 | 38 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 38 | } |
avm_highbd_smooth_h_predictor_64x4_c Line | Count | Source | 812 | 171 | const uint16_t *left, int bd) { \ | 813 | 171 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 171 | } |
avm_highbd_paeth_predictor_4x4_c Line | Count | Source | 812 | 29.3k | const uint16_t *left, int bd) { \ | 813 | 29.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 29.3k | } |
avm_highbd_paeth_predictor_8x8_c Line | Count | Source | 812 | 9.79k | const uint16_t *left, int bd) { \ | 813 | 9.79k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 9.79k | } |
avm_highbd_paeth_predictor_16x16_c Line | Count | Source | 812 | 9.63k | const uint16_t *left, int bd) { \ | 813 | 9.63k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 9.63k | } |
avm_highbd_paeth_predictor_32x32_c Line | Count | Source | 812 | 9.93k | const uint16_t *left, int bd) { \ | 813 | 9.93k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 9.93k | } |
avm_highbd_paeth_predictor_64x64_c Line | Count | Source | 812 | 8.45k | const uint16_t *left, int bd) { \ | 813 | 8.45k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 8.45k | } |
avm_highbd_paeth_predictor_4x8_c Line | Count | Source | 812 | 6.85k | const uint16_t *left, int bd) { \ | 813 | 6.85k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 6.85k | } |
avm_highbd_paeth_predictor_8x4_c Line | Count | Source | 812 | 5.06k | const uint16_t *left, int bd) { \ | 813 | 5.06k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 5.06k | } |
avm_highbd_paeth_predictor_8x16_c Line | Count | Source | 812 | 4.53k | const uint16_t *left, int bd) { \ | 813 | 4.53k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4.53k | } |
avm_highbd_paeth_predictor_16x8_c Line | Count | Source | 812 | 9.31k | const uint16_t *left, int bd) { \ | 813 | 9.31k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 9.31k | } |
avm_highbd_paeth_predictor_16x32_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_paeth_predictor_32x16_c Line | Count | Source | 812 | 5.97k | const uint16_t *left, int bd) { \ | 813 | 5.97k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 5.97k | } |
avm_highbd_paeth_predictor_32x64_c Line | Count | Source | 812 | 2.74k | const uint16_t *left, int bd) { \ | 813 | 2.74k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.74k | } |
avm_highbd_paeth_predictor_64x32_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_4x16_c Line | Count | Source | 812 | 3.16k | const uint16_t *left, int bd) { \ | 813 | 3.16k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.16k | } |
avm_highbd_paeth_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_paeth_predictor_8x32_c Line | Count | Source | 812 | 4.70k | const uint16_t *left, int bd) { \ | 813 | 4.70k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4.70k | } |
avm_highbd_paeth_predictor_32x8_c Line | Count | Source | 812 | 3.44k | const uint16_t *left, int bd) { \ | 813 | 3.44k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.44k | } |
avm_highbd_paeth_predictor_16x64_c Line | Count | Source | 812 | 3.18k | const uint16_t *left, int bd) { \ | 813 | 3.18k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.18k | } |
avm_highbd_paeth_predictor_64x16_c Line | Count | Source | 812 | 2.42k | const uint16_t *left, int bd) { \ | 813 | 2.42k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.42k | } |
avm_highbd_paeth_predictor_4x32_c Line | Count | Source | 812 | 1.13k | const uint16_t *left, int bd) { \ | 813 | 1.13k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.13k | } |
avm_highbd_paeth_predictor_32x4_c Line | Count | Source | 812 | 4.60k | const uint16_t *left, int bd) { \ | 813 | 4.60k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4.60k | } |
avm_highbd_paeth_predictor_8x64_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_paeth_predictor_64x8_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_paeth_predictor_4x64_c Line | Count | Source | 812 | 1.46k | const uint16_t *left, int bd) { \ | 813 | 1.46k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.46k | } |
avm_highbd_paeth_predictor_64x4_c Line | Count | Source | 812 | 186 | const uint16_t *left, int bd) { \ | 813 | 186 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 186 | } |
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 | 19.5k | const uint16_t *left, int bd) { \ | 813 | 19.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 19.5k | } |
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 | 968 | const uint16_t *left, int bd) { \ | 813 | 968 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 968 | } |
avm_highbd_dc_128_predictor_64x32_c Line | Count | Source | 812 | 352 | const uint16_t *left, int bd) { \ | 813 | 352 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 352 | } |
avm_highbd_dc_128_predictor_4x16_c Line | Count | Source | 812 | 4 | const uint16_t *left, int bd) { \ | 813 | 4 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4 | } |
avm_highbd_dc_128_predictor_16x4_c Line | Count | Source | 812 | 111 | const uint16_t *left, int bd) { \ | 813 | 111 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 111 | } |
avm_highbd_dc_128_predictor_8x32_c Line | Count | Source | 812 | 143 | const uint16_t *left, int bd) { \ | 813 | 143 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 143 | } |
avm_highbd_dc_128_predictor_32x8_c Line | Count | Source | 812 | 99 | const uint16_t *left, int bd) { \ | 813 | 99 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 99 | } |
avm_highbd_dc_128_predictor_16x64_c Line | Count | Source | 812 | 1.59k | const uint16_t *left, int bd) { \ | 813 | 1.59k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.59k | } |
avm_highbd_dc_128_predictor_64x16_c Line | Count | Source | 812 | 274 | const uint16_t *left, int bd) { \ | 813 | 274 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 274 | } |
avm_highbd_dc_128_predictor_4x32_c Line | Count | Source | 812 | 86 | const uint16_t *left, int bd) { \ | 813 | 86 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 86 | } |
avm_highbd_dc_128_predictor_32x4_c Line | Count | Source | 812 | 111 | const uint16_t *left, int bd) { \ | 813 | 111 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 111 | } |
avm_highbd_dc_128_predictor_8x64_c Line | Count | Source | 812 | 29 | const uint16_t *left, int bd) { \ | 813 | 29 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 29 | } |
avm_highbd_dc_128_predictor_64x8_c Line | Count | Source | 812 | 4 | const uint16_t *left, int bd) { \ | 813 | 4 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4 | } |
avm_highbd_dc_128_predictor_4x64_c Line | Count | Source | 812 | 35 | const uint16_t *left, int bd) { \ | 813 | 35 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 35 | } |
avm_highbd_dc_128_predictor_64x4_c Line | Count | Source | 812 | 8 | const uint16_t *left, int bd) { \ | 813 | 8 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 8 | } |
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 | 11.2k | const uint16_t *left, int bd) { \ | 813 | 11.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 11.2k | } |
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 | 514 | const uint16_t *left, int bd) { \ | 813 | 514 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 514 | } |
avm_highbd_dc_left_predictor_64x32_c Line | Count | Source | 812 | 827 | const uint16_t *left, int bd) { \ | 813 | 827 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 827 | } |
avm_highbd_dc_left_predictor_4x16_c Line | Count | Source | 812 | 271 | const uint16_t *left, int bd) { \ | 813 | 271 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 271 | } |
avm_highbd_dc_left_predictor_16x4_c Line | Count | Source | 812 | 1.80k | const uint16_t *left, int bd) { \ | 813 | 1.80k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.80k | } |
avm_highbd_dc_left_predictor_8x32_c Line | Count | Source | 812 | 780 | const uint16_t *left, int bd) { \ | 813 | 780 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 780 | } |
avm_highbd_dc_left_predictor_32x8_c Line | Count | Source | 812 | 930 | const uint16_t *left, int bd) { \ | 813 | 930 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 930 | } |
avm_highbd_dc_left_predictor_16x64_c Line | Count | Source | 812 | 4.95k | const uint16_t *left, int bd) { \ | 813 | 4.95k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4.95k | } |
avm_highbd_dc_left_predictor_64x16_c Line | Count | Source | 812 | 440 | const uint16_t *left, int bd) { \ | 813 | 440 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 440 | } |
avm_highbd_dc_left_predictor_4x32_c Line | Count | Source | 812 | 468 | const uint16_t *left, int bd) { \ | 813 | 468 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 468 | } |
avm_highbd_dc_left_predictor_32x4_c Line | Count | Source | 812 | 386 | const uint16_t *left, int bd) { \ | 813 | 386 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 386 | } |
avm_highbd_dc_left_predictor_8x64_c Line | Count | Source | 812 | 140 | const uint16_t *left, int bd) { \ | 813 | 140 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 140 | } |
avm_highbd_dc_left_predictor_64x8_c Line | Count | Source | 812 | 118 | const uint16_t *left, int bd) { \ | 813 | 118 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 118 | } |
avm_highbd_dc_left_predictor_4x64_c Line | Count | Source | 812 | 140 | const uint16_t *left, int bd) { \ | 813 | 140 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 140 | } |
avm_highbd_dc_left_predictor_64x4_c Line | Count | Source | 812 | 1 | const uint16_t *left, int bd) { \ | 813 | 1 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1 | } |
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 | 22.5k | const uint16_t *left, int bd) { \ | 813 | 22.5k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 22.5k | } |
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 | 3.49k | const uint16_t *left, int bd) { \ | 813 | 3.49k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.49k | } |
avm_highbd_dc_top_predictor_64x32_c Line | Count | Source | 812 | 6.28k | const uint16_t *left, int bd) { \ | 813 | 6.28k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 6.28k | } |
avm_highbd_dc_top_predictor_4x16_c Line | Count | Source | 812 | 784 | const uint16_t *left, int bd) { \ | 813 | 784 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 784 | } |
avm_highbd_dc_top_predictor_16x4_c Line | Count | Source | 812 | 2.86k | const uint16_t *left, int bd) { \ | 813 | 2.86k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.86k | } |
avm_highbd_dc_top_predictor_8x32_c Line | Count | Source | 812 | 4.06k | const uint16_t *left, int bd) { \ | 813 | 4.06k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4.06k | } |
avm_highbd_dc_top_predictor_32x8_c Line | Count | Source | 812 | 15.2k | const uint16_t *left, int bd) { \ | 813 | 15.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 15.2k | } |
avm_highbd_dc_top_predictor_16x64_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_dc_top_predictor_64x16_c Line | Count | Source | 812 | 6.05k | const uint16_t *left, int bd) { \ | 813 | 6.05k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 6.05k | } |
avm_highbd_dc_top_predictor_4x32_c Line | Count | Source | 812 | 1.73k | const uint16_t *left, int bd) { \ | 813 | 1.73k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.73k | } |
avm_highbd_dc_top_predictor_32x4_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_dc_top_predictor_8x64_c Line | Count | Source | 812 | 186 | const uint16_t *left, int bd) { \ | 813 | 186 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 186 | } |
avm_highbd_dc_top_predictor_64x8_c Line | Count | Source | 812 | 842 | const uint16_t *left, int bd) { \ | 813 | 842 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 842 | } |
avm_highbd_dc_top_predictor_4x64_c Line | Count | Source | 812 | 299 | const uint16_t *left, int bd) { \ | 813 | 299 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 299 | } |
avm_highbd_dc_top_predictor_64x4_c Line | Count | Source | 812 | 140 | const uint16_t *left, int bd) { \ | 813 | 140 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 140 | } |
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 | 31.6k | const uint16_t *left, int bd) { \ | 813 | 31.6k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 31.6k | } |
Unexecuted instantiation: avm_highbd_ibp_dc_left_predictor_4x4_c avm_highbd_ibp_dc_left_predictor_8x8_c Line | Count | Source | 812 | 807 | const uint16_t *left, int bd) { \ | 813 | 807 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 807 | } |
avm_highbd_ibp_dc_left_predictor_16x16_c Line | Count | Source | 812 | 639 | const uint16_t *left, int bd) { \ | 813 | 639 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 639 | } |
avm_highbd_ibp_dc_left_predictor_32x32_c Line | Count | Source | 812 | 976 | const uint16_t *left, int bd) { \ | 813 | 976 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 976 | } |
avm_highbd_ibp_dc_left_predictor_64x64_c Line | Count | Source | 812 | 10.0k | const uint16_t *left, int bd) { \ | 813 | 10.0k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 10.0k | } |
avm_highbd_ibp_dc_left_predictor_4x8_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_ibp_dc_left_predictor_8x4_c Line | Count | Source | 812 | 2.57k | const uint16_t *left, int bd) { \ | 813 | 2.57k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.57k | } |
avm_highbd_ibp_dc_left_predictor_8x16_c Line | Count | Source | 812 | 277 | const uint16_t *left, int bd) { \ | 813 | 277 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 277 | } |
avm_highbd_ibp_dc_left_predictor_16x8_c Line | Count | Source | 812 | 729 | const uint16_t *left, int bd) { \ | 813 | 729 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 729 | } |
avm_highbd_ibp_dc_left_predictor_16x32_c Line | Count | Source | 812 | 763 | const uint16_t *left, int bd) { \ | 813 | 763 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 763 | } |
avm_highbd_ibp_dc_left_predictor_32x16_c Line | Count | Source | 812 | 1.10k | const uint16_t *left, int bd) { \ | 813 | 1.10k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.10k | } |
avm_highbd_ibp_dc_left_predictor_32x64_c Line | Count | Source | 812 | 490 | const uint16_t *left, int bd) { \ | 813 | 490 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 490 | } |
avm_highbd_ibp_dc_left_predictor_64x32_c Line | Count | Source | 812 | 811 | const uint16_t *left, int bd) { \ | 813 | 811 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 811 | } |
avm_highbd_ibp_dc_left_predictor_4x16_c Line | Count | Source | 812 | 126 | const uint16_t *left, int bd) { \ | 813 | 126 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 126 | } |
avm_highbd_ibp_dc_left_predictor_16x4_c Line | Count | Source | 812 | 1.18k | const uint16_t *left, int bd) { \ | 813 | 1.18k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.18k | } |
avm_highbd_ibp_dc_left_predictor_8x32_c Line | Count | Source | 812 | 310 | const uint16_t *left, int bd) { \ | 813 | 310 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 310 | } |
avm_highbd_ibp_dc_left_predictor_32x8_c Line | Count | Source | 812 | 353 | const uint16_t *left, int bd) { \ | 813 | 353 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 353 | } |
avm_highbd_ibp_dc_left_predictor_16x64_c Line | Count | Source | 812 | 4.94k | const uint16_t *left, int bd) { \ | 813 | 4.94k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4.94k | } |
avm_highbd_ibp_dc_left_predictor_64x16_c Line | Count | Source | 812 | 379 | const uint16_t *left, int bd) { \ | 813 | 379 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 379 | } |
avm_highbd_ibp_dc_left_predictor_4x32_c Line | Count | Source | 812 | 67 | const uint16_t *left, int bd) { \ | 813 | 67 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 67 | } |
avm_highbd_ibp_dc_left_predictor_32x4_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_ibp_dc_left_predictor_8x64_c Line | Count | Source | 812 | 133 | const uint16_t *left, int bd) { \ | 813 | 133 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 133 | } |
avm_highbd_ibp_dc_left_predictor_64x8_c Line | Count | Source | 812 | 73 | const uint16_t *left, int bd) { \ | 813 | 73 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 73 | } |
avm_highbd_ibp_dc_left_predictor_4x64_c Line | Count | Source | 812 | 127 | const uint16_t *left, int bd) { \ | 813 | 127 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 127 | } |
avm_highbd_ibp_dc_left_predictor_64x4_c Line | Count | Source | 812 | 1 | const uint16_t *left, int bd) { \ | 813 | 1 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1 | } |
Unexecuted instantiation: avm_highbd_ibp_dc_top_predictor_4x4_c avm_highbd_ibp_dc_top_predictor_8x8_c Line | Count | Source | 812 | 1.87k | const uint16_t *left, int bd) { \ | 813 | 1.87k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.87k | } |
avm_highbd_ibp_dc_top_predictor_16x16_c Line | Count | Source | 812 | 3.91k | const uint16_t *left, int bd) { \ | 813 | 3.91k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.91k | } |
avm_highbd_ibp_dc_top_predictor_32x32_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_ibp_dc_top_predictor_64x64_c Line | Count | Source | 812 | 20.4k | const uint16_t *left, int bd) { \ | 813 | 20.4k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 20.4k | } |
avm_highbd_ibp_dc_top_predictor_4x8_c Line | Count | Source | 812 | 890 | const uint16_t *left, int bd) { \ | 813 | 890 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 890 | } |
avm_highbd_ibp_dc_top_predictor_8x4_c Line | Count | Source | 812 | 809 | const uint16_t *left, int bd) { \ | 813 | 809 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 809 | } |
avm_highbd_ibp_dc_top_predictor_8x16_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_top_predictor_16x8_c Line | Count | Source | 812 | 2.69k | const uint16_t *left, int bd) { \ | 813 | 2.69k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.69k | } |
avm_highbd_ibp_dc_top_predictor_16x32_c Line | Count | Source | 812 | 4.61k | const uint16_t *left, int bd) { \ | 813 | 4.61k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 4.61k | } |
avm_highbd_ibp_dc_top_predictor_32x16_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_ibp_dc_top_predictor_32x64_c Line | Count | Source | 812 | 3.31k | const uint16_t *left, int bd) { \ | 813 | 3.31k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 3.31k | } |
avm_highbd_ibp_dc_top_predictor_64x32_c Line | Count | Source | 812 | 5.97k | const uint16_t *left, int bd) { \ | 813 | 5.97k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 5.97k | } |
avm_highbd_ibp_dc_top_predictor_4x16_c Line | Count | Source | 812 | 290 | const uint16_t *left, int bd) { \ | 813 | 290 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 290 | } |
avm_highbd_ibp_dc_top_predictor_16x4_c Line | Count | Source | 812 | 825 | const uint16_t *left, int bd) { \ | 813 | 825 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 825 | } |
avm_highbd_ibp_dc_top_predictor_8x32_c Line | Count | Source | 812 | 810 | const uint16_t *left, int bd) { \ | 813 | 810 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 810 | } |
avm_highbd_ibp_dc_top_predictor_32x8_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_top_predictor_16x64_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_ibp_dc_top_predictor_64x16_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_ibp_dc_top_predictor_4x32_c Line | Count | Source | 812 | 264 | const uint16_t *left, int bd) { \ | 813 | 264 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 264 | } |
avm_highbd_ibp_dc_top_predictor_32x4_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_8x64_c Line | Count | Source | 812 | 178 | const uint16_t *left, int bd) { \ | 813 | 178 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 178 | } |
avm_highbd_ibp_dc_top_predictor_64x8_c Line | Count | Source | 812 | 819 | const uint16_t *left, int bd) { \ | 813 | 819 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 819 | } |
avm_highbd_ibp_dc_top_predictor_4x64_c Line | Count | Source | 812 | 298 | const uint16_t *left, int bd) { \ | 813 | 298 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 298 | } |
avm_highbd_ibp_dc_top_predictor_64x4_c Line | Count | Source | 812 | 128 | const uint16_t *left, int bd) { \ | 813 | 128 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 128 | } |
Unexecuted instantiation: avm_highbd_ibp_dc_predictor_4x4_c avm_highbd_ibp_dc_predictor_8x8_c Line | Count | Source | 812 | 25.6k | const uint16_t *left, int bd) { \ | 813 | 25.6k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 25.6k | } |
avm_highbd_ibp_dc_predictor_16x16_c Line | Count | Source | 812 | 26.6k | const uint16_t *left, int bd) { \ | 813 | 26.6k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 26.6k | } |
avm_highbd_ibp_dc_predictor_32x32_c Line | Count | Source | 812 | 17.3k | const uint16_t *left, int bd) { \ | 813 | 17.3k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 17.3k | } |
avm_highbd_ibp_dc_predictor_64x64_c Line | Count | Source | 812 | 27.0k | const uint16_t *left, int bd) { \ | 813 | 27.0k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 27.0k | } |
avm_highbd_ibp_dc_predictor_4x8_c Line | Count | Source | 812 | 13.2k | const uint16_t *left, int bd) { \ | 813 | 13.2k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 13.2k | } |
avm_highbd_ibp_dc_predictor_8x4_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_8x16_c Line | Count | Source | 812 | 16.6k | const uint16_t *left, int bd) { \ | 813 | 16.6k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 16.6k | } |
avm_highbd_ibp_dc_predictor_16x8_c Line | Count | Source | 812 | 18.4k | const uint16_t *left, int bd) { \ | 813 | 18.4k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 18.4k | } |
avm_highbd_ibp_dc_predictor_16x32_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_ibp_dc_predictor_32x16_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_32x64_c Line | Count | Source | 812 | 6.56k | const uint16_t *left, int bd) { \ | 813 | 6.56k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 6.56k | } |
avm_highbd_ibp_dc_predictor_64x32_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_predictor_4x16_c Line | Count | Source | 812 | 5.41k | const uint16_t *left, int bd) { \ | 813 | 5.41k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 5.41k | } |
avm_highbd_ibp_dc_predictor_16x4_c Line | Count | Source | 812 | 6.33k | const uint16_t *left, int bd) { \ | 813 | 6.33k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 6.33k | } |
avm_highbd_ibp_dc_predictor_8x32_c Line | Count | Source | 812 | 7.57k | const uint16_t *left, int bd) { \ | 813 | 7.57k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 7.57k | } |
avm_highbd_ibp_dc_predictor_32x8_c Line | Count | Source | 812 | 10.0k | const uint16_t *left, int bd) { \ | 813 | 10.0k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 10.0k | } |
avm_highbd_ibp_dc_predictor_16x64_c Line | Count | Source | 812 | 6.00k | const uint16_t *left, int bd) { \ | 813 | 6.00k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 6.00k | } |
avm_highbd_ibp_dc_predictor_64x16_c Line | Count | Source | 812 | 5.30k | const uint16_t *left, int bd) { \ | 813 | 5.30k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 5.30k | } |
avm_highbd_ibp_dc_predictor_4x32_c Line | Count | Source | 812 | 5.25k | const uint16_t *left, int bd) { \ | 813 | 5.25k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 5.25k | } |
avm_highbd_ibp_dc_predictor_32x4_c Line | Count | Source | 812 | 2.58k | const uint16_t *left, int bd) { \ | 813 | 2.58k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 2.58k | } |
avm_highbd_ibp_dc_predictor_8x64_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_ibp_dc_predictor_64x8_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_ibp_dc_predictor_4x64_c Line | Count | Source | 812 | 1.35k | const uint16_t *left, int bd) { \ | 813 | 1.35k | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 1.35k | } |
avm_highbd_ibp_dc_predictor_64x4_c Line | Count | Source | 812 | 87 | const uint16_t *left, int bd) { \ | 813 | 87 | highbd_##type##_predictor(dst, stride, width, height, above, left, bd); \ | 814 | 87 | } |
|
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 |