Lines Matching refs:size
163 // for size >= 16), and multiply-accumulate into dst1 and dst3 (or
164 // dst1-dst2 and dst3-dst4 for size >= 16)
165 .macro extmla dst1, dst2, dst3, dst4, src1, src2, src3, src4, src5, src6, offset, size
168 .if \size >= 16
175 .elseif \size == 8
185 .macro extmulqadd dst1, dst2, dst3, dst4, src1, src2, src3, src4, src5, src6, offset, size
188 .if \size >= 16
195 .elseif \size == 8
202 .if \size == 4
208 .if \size >= 16
216 // Instantiate a horizontal filter function for the given size.
222 .macro do_8tap_h type, size, idx1, idx2
223 function \type\()_8tap_\size\()h_\idx1\idx2
229 // Only size >= 16 loops horizontally and needs
231 .if \size >= 16
234 // size >= 16 loads two qwords and increments x2,
235 // for size 4/8 it's enough with one qword and no
237 .if \size >= 16
244 .if \size >= 16
248 .if \size >= 16
259 .if \size >= 16
271 .if \size >= 16
275 extmla v1, v2, v24, v25, v4, v5, v6, v16, v17, v18, 1, \size
276 extmla v1, v2, v24, v25, v4, v5, v6, v16, v17, v18, 2, \size
277 extmla v1, v2, v24, v25, v4, v5, v6, v16, v17, v18, \idx1, \size
278 extmla v1, v2, v24, v25, v4, v5, v6, v16, v17, v18, 5, \size
279 extmla v1, v2, v24, v25, v4, v5, v6, v16, v17, v18, 6, \size
280 extmla v1, v2, v24, v25, v4, v5, v6, v16, v17, v18, 7, \size
281 extmulqadd v1, v2, v24, v25, v4, v5, v6, v16, v17, v18, \idx2, \size
286 .if \size >= 16
292 .if \size >= 16
297 .elseif \size == 8
309 // Store and loop horizontally (for size >= 16)
310 .if \size >= 16
324 .elseif \size == 8
327 .else // \size == 4
343 .macro do_8tap_h_size size
344 do_8tap_h put, \size, 3, 4
345 do_8tap_h avg, \size, 3, 4
346 do_8tap_h put, \size, 4, 3
347 do_8tap_h avg, \size, 4, 3
354 .macro do_8tap_h_func type, filter, offset, size
355 function ff_vp9_\type\()_\filter\()\size\()_h_neon, export=1
359 mov x5, #\size
360 .if \size >= 16
364 b.ge \type\()_8tap_\size\()h_34
365 b \type\()_8tap_\size\()h_43
370 .macro do_8tap_h_filters size
371 do_8tap_h_func put, regular, 1, \size
372 do_8tap_h_func avg, regular, 1, \size
373 do_8tap_h_func put, sharp, 2, \size
374 do_8tap_h_func avg, sharp, 2, \size
375 do_8tap_h_func put, smooth, 0, \size
376 do_8tap_h_func avg, smooth, 0, \size
627 .macro do_8tap_v_func type, filter, offset, size
628 function ff_vp9_\type\()_\filter\()\size\()_v_neon, export=1
633 mov x5, #\size
634 .if \size >= 8
644 .macro do_8tap_v_filters size
645 do_8tap_v_func put, regular, 1, \size
646 do_8tap_v_func avg, regular, 1, \size
647 do_8tap_v_func put, sharp, 2, \size
648 do_8tap_v_func avg, sharp, 2, \size
649 do_8tap_v_func put, smooth, 0, \size
650 do_8tap_v_func avg, smooth, 0, \size