ffmpeg/libswscale
Ramiro Polla a1bfaa0e78 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>
2026-03-30 11:38:35 +00:00
..
aarch64 swscale/aarch64: introduce tool to enumerate sws_ops for NEON backend 2026-03-30 11:38:35 +00:00
arm all: fix typos found by codespell 2025-08-03 13:48:47 +02:00
loongarch swscale/loongarch: fix LASX YUV2RGB residual for multi-row slices 2026-03-02 13:14:07 +00:00
ppc swscale/swscale_internal: Move altivec parts to ppc/ 2026-02-28 09:56:01 +01:00
riscv swscale/range_convert: saturate output instead of limiting input 2024-12-05 21:10:29 +01:00
tests swscale/aarch64: introduce tool to enumerate sws_ops for NEON backend 2026-03-30 11:38:35 +00:00
vulkan swscale/ops: simplify SwsOpList.order_src/dst 2026-03-29 09:39:09 +00:00
x86 swscale/ops_chain: simplify ff_sws_compile_op_tables() with int index 2026-03-29 12:13:40 +02:00
alphablend.c swscale/alphablend: don't overread alpha plane on subsampled odd size 2025-07-31 11:32:20 +00:00
bayer_template.c swscale/internal: constify SwsFunc 2024-10-07 19:51:34 +02:00
cms.c all: fix typos found by codespell 2025-08-03 13:48:47 +02:00
cms.h swscale/utils: split off format code into new file 2025-03-14 19:50:44 +01:00
csputils.c swscale/csputils: Remove unused ff_sws_matrix3x3_rmul() 2025-04-03 06:04:57 +02:00
csputils.h swscale/csputils: Remove unused ff_sws_matrix3x3_rmul() 2025-04-03 06:04:57 +02:00
filters.c swscale/filters: write new filter LUT generation code 2026-03-28 18:50:13 +01:00
filters.h swscale/filters: write new filter LUT generation code 2026-03-28 18:50:13 +01:00
format.c swscale/ops: add min/max to SwsDitherOp 2026-03-29 12:10:38 +02:00
format.h swscale/format: add helper function to get "default" SwsFormat 2026-03-28 16:48:13 +00:00
gamma.c swscale: rename SwsContext to SwsInternal 2024-10-24 22:50:00 +02:00
graph.c swscale/graph: add scaling ops when required 2026-03-28 18:50:14 +01:00
graph.h swscale/graph: add way to roll back passes 2026-03-28 18:50:13 +01:00
half2float.c swscale/input: add rgbaf16 input support 2022-08-19 22:09:36 +02:00
hscale.c swscale/range_convert: fix mpeg ranges in yuv range conversion for non-8-bit pixel formats 2024-12-05 21:10:29 +01:00
hscale_fast_bilinear.c swscale: rename SwsContext to SwsInternal 2024-10-24 22:50:00 +02:00
input.c Revert "swscale: add support for 10/12-bit grayscale MSB pixfmts" 2025-11-06 21:46:41 +01:00
libswscale.v build: Change structure of the linker version script templates 2016-05-29 16:43:11 +02:00
log2_tab.c lsws: duplicate ff_log2_tab 2014-08-12 20:52:21 +02:00
lut3d.c swscale/lut3d: remove unused function 2025-07-22 19:56:34 +02:00
lut3d.h swscale/utils: split off format code into new file 2025-03-14 19:50:44 +01:00
Makefile swscale/aarch64: introduce tool to enumerate sws_ops for NEON backend 2026-03-30 11:38:35 +00:00
ops.c swscale/ops: keep track of correct dither min/max 2026-03-29 12:13:11 +02:00
ops.h swscale/ops: add min/max to SwsDitherOp 2026-03-29 12:10:38 +02:00
ops_backend.c swscale/ops_chain: simplify ff_sws_compile_op_tables() with int index 2026-03-29 12:13:40 +02:00
ops_backend.h swscale/ops_backend: add support for SWS_OP_FILTER_V 2026-03-28 18:50:14 +01:00
ops_chain.c swscale/ops_chain: simplify ff_sws_compile_op_tables() with int index 2026-03-29 12:13:40 +02:00
ops_chain.h swscale/ops_chain: simplify ff_sws_compile_op_tables() with int index 2026-03-29 12:13:40 +02:00
ops_dispatch.c swscale/ops: simplify SwsOpList.order_src/dst 2026-03-29 09:39:09 +00:00
ops_dispatch.h swscale/ops_dispatch: compute input x offset map for SwsOpExec 2026-03-28 18:50:14 +01:00
ops_internal.h swscale/ops: add helper function to split filter subpasses 2026-03-28 18:50:13 +01:00
ops_memcpy.c swscale/ops: add filter kernel to SwsReadWriteOp 2026-03-28 18:50:13 +01:00
ops_optimizer.c swscale/ops_optimizer: check COMP_GARBAGE instead of next->comps.unused 2026-03-29 09:39:09 +00:00
ops_tmpl_common.c swscale/ops_backend: add support for SWS_OP_FILTER_H 2026-03-28 18:50:14 +01:00
ops_tmpl_float.c swscale/ops_backend: add support for SWS_OP_FILTER_H 2026-03-28 18:50:14 +01:00
ops_tmpl_int.c swscale/ops_backend: add support for SWS_OP_FILTER_H 2026-03-28 18:50:14 +01:00
options.c swscale: add enum SwsScaler, SwsContext.scaler to replace legacy flags 2026-03-12 22:09:04 +01:00
output.c swscale/output: fix integer overflows in chroma in yuv2rgba64_X_c_template() 2026-03-13 02:51:19 +01:00
rgb2rgb.c swscale/rgb2rgb: Remove set-but-unused functions 2026-03-01 23:45:11 +00:00
rgb2rgb.h swscale/rgb2rgb: Remove set-but-unused functions 2026-03-01 23:45:11 +00:00
rgb2rgb_template.c swscale/rgb2rgb: Remove set-but-unused functions 2026-03-01 23:45:11 +00:00
slice.c swscale/slice: fix init of 32 bpc planes 2024-12-16 12:21:55 +01:00
swscale.c swscale/graph: allow setup() to return an error code 2026-03-12 21:02:48 +00:00
swscale.h swscale/filters: write new filter LUT generation code 2026-03-28 18:50:13 +01:00
swscale_internal.h swscale: explicitly track if a context is "legacy" or not 2026-03-06 19:06:33 +01:00
swscale_unscaled.c swscale/unscaled: fix planarCopyWrapper for float formats with same endianness 2026-03-09 08:22:58 +00:00
swscaleres.rc
utils.c swscale: add enum SwsScaler, SwsContext.scaler to replace legacy flags 2026-03-12 22:09:04 +01:00
version.c lib*/version: Use static_assert for static asserts 2024-03-31 00:08:42 +01:00
version.h swscale: add enum SwsScaler, SwsContext.scaler to replace legacy flags 2026-03-12 22:09:04 +01:00
version_major.h libs: bump major version for all libraries 2025-03-28 14:44:34 -03:00
vscale.c swscale/internal: group user-facing options together 2024-11-21 12:49:56 +01:00
yuv2rgb.c swscale/aarch64: add NEON YUV420P/YUV422P/YUVA420P to RGB conversion 2026-03-02 13:14:07 +00:00