mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2026-08-10 01:48:32 +00:00
Instead of awkwardly reverse-engineering each uop to reflect it back to the corresponding SwsOp, this leverages the new compile_uops() API to directly test the uop in question. This is not only vastly simpler but also fixes several major shortcomings with the previous design, such as always having to keep the reflection code in sync for any newly added uop, or not testing uops that get translated to a packed shuffle fast path. The major downside is that arch-specific uops can now no longer be tested against the C reference unless we specifically add a C reference function for each relevant uop; and also, that the packed shuffle fast path is currently no longer tested by checkasm. (But this will be fixed by my upcoming pshufb uop series) Another downside is that this effectively disables testing for e.g. aarch64, since it does not yet use the uops architecture. $ time checkasm --test=sw_ops --repeat=10 # 1.85s -> 1.39s Signed-off-by: Niklas Haas <git@haasn.dev>