swscale/aarch64: introduce tool to enumerate sws_ops for NEON backend

The NEON sws_ops backend will use a build-time code generator for the
various operation functions it needs to implement. This build time code
generator (ops_asmgen) will need a list of the operations that must be
implemented. This commit adds a tool (sws_ops_aarch64) that generates
such a list (ops_entries.c).

The list is generated by iterating over all possible conversion
combinations and collecting the parameters for each NEON assembly
function that has to be implemented, defined by an unique set of
parameters derived from SwsOp. Whenever swscale evolves, with improved
optimization passes, new pixel formats, or improvements to the backend
itself, this file (ops_entries.c) should be regenerated by running:
    $ make sws_ops_entries_aarch64

Sponsored-by: Sovereign Tech Fund
Signed-off-by: Ramiro Polla <ramiro.polla@gmail.com>
This commit is contained in:
Ramiro Polla
2026-03-10 15:40:37 +01:00
parent e54e117998
commit a1bfaa0e78
7 changed files with 1241 additions and 0 deletions

View File

@@ -16,6 +16,7 @@ libavformat/log2_tab.c
libavformat/rangecoder_dec.c
libavformat/riscv/cpu_common.c
libswresample/log2_tab.c
libswscale/aarch64/ops_entries.c
libswscale/log2_tab.c
libswscale/riscv/cpu_common.c
tools/uncoded_frame.c