ffmpeg/libswscale
DROOdotFOO cc7c567920 swscale/aarch64/yuv2rgb_neon: add BE 16bpp output formats
BE counterparts to the LE paths in 2e142e52ae; pack adds rev16 before
store. nv12/nv21 paths are added but bench-only (no C ref, same as
2e142e52ae).

Test Name                              A55-gcc           M1-clang             A76-gcc
-------------------------------------------------------------------------------------
yuv420p_rgb565be_1920_neon    15086.1 ( 3.91x)    5507.0 ( 4.34x)    19229.1 ( 2.02x)
yuv420p_bgr565be_1920_neon    15291.7 ( 3.84x)    5476.9 ( 4.37x)    19229.4 ( 2.02x)
yuv420p_rgb555be_1920_neon    15091.5 ( 3.67x)    5569.0 ( 3.97x)    19229.3 ( 1.90x)
yuv420p_bgr555be_1920_neon    15298.6 ( 3.62x)    5600.6 ( 3.98x)    19228.8 ( 1.90x)
yuv422p_rgb565be_1920_neon    16862.3 ( 4.00x)    6378.8 ( 4.64x)    22110.3 ( 2.07x)
yuv422p_bgr565be_1920_neon    17139.3 ( 3.93x)    6448.1 ( 4.50x)    22104.1 ( 2.07x)
yuv422p_rgb555be_1920_neon    16853.3 ( 3.98x)    6468.8 ( 4.12x)    22106.4 ( 1.98x)
yuv422p_bgr555be_1920_neon    17202.2 ( 3.89x)    6467.0 ( 4.12x)    22110.2 ( 1.98x)
yuva420p_rgb565be_1920_neon   15050.2 ( 3.92x)    5452.5 ( 4.39x)    19229.5 ( 2.02x)
yuva420p_bgr565be_1920_neon   15346.6 ( 3.84x)    5462.4 ( 4.36x)    19228.9 ( 2.02x)
yuva420p_rgb555be_1920_neon   15050.8 ( 3.69x)    5463.3 ( 3.95x)    19228.6 ( 1.90x)
yuva420p_bgr555be_1920_neon   15352.8 ( 3.61x)    5543.6 ( 3.89x)    19228.6 ( 1.90x)

Co-authored-by: Ramiro Polla <ramiro.polla@gmail.com>
Signed-off-by: DROOdotFOO <drew@axol.io>
2026-06-10 17:54:20 +00:00
..
aarch64 swscale/aarch64/yuv2rgb_neon: add BE 16bpp output formats 2026-06-10 17:54:20 +00:00
arm libswscale/arm: Switch consistent indentation to common style 2026-04-29 13:49:27 +03: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/tests/sws_ops: fix uops leak on translate success path 2026-06-10 07:48:37 +00:00
vulkan swscale/ops: make compile() take const SwsOpList * 2026-06-09 18:27:20 +02:00
x86 swscale/x86: use correct HOSTCC_E flag instead of CC_E 2026-06-10 15:04:50 +00: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 swscale: replace fall-through comments 2026-04-28 12:29:37 +00: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: hard-code radius for trivial kernels 2026-05-11 19:59:39 +02:00
filters.h swscale/filters: write new filter LUT generation code 2026-03-28 18:50:13 +01:00
format.c swscale/format: generalize ff_test_fmt() to take SwsBackend 2026-06-03 21:39:55 +00:00
format.h swscale/format: generalize ff_test_fmt() to take SwsBackend 2026-06-03 21:39:55 +00:00
framepool.c swscale: add FFFramePool and use it for allocating planes 2026-04-10 15:12:18 +02:00
gamma.c swscale: rename SwsContext to SwsInternal 2024-10-24 22:50:00 +02:00
graph.c swscale/graph: prefer ops backend for floating point formats 2026-06-05 22:37:18 +02:00
graph.h swscale/graph: add metadata about backends in use 2026-06-03 21:39:55 +00: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 swscale/input: fix rgbf32 input (add half input functions) 2026-06-05 22:33:58 +02:00
libswscale.v
log2_tab.c
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/ops_backend: delete ops-based C backend 2026-06-09 18:27:20 +02:00
ops.c swscale/ops_backend: delete ops-based C backend 2026-06-09 18:27:20 +02:00
ops.h swscale/ops: remove unused function ff_sws_enum_ops() 2026-06-09 01:10:57 +02:00
ops_chain.c swscale/ops_chain: remove dead code 2026-06-09 18:27:20 +02:00
ops_chain.h swscale/ops_chain: remove dead code 2026-06-09 18:27:20 +02:00
ops_dispatch.c swscale/graph: add metadata about backends in use 2026-06-03 21:39:55 +00:00
ops_dispatch.h swscale/ops: make compile() take const SwsOpList * 2026-06-09 18:27:20 +02:00
ops_internal.h swscale/ops: move ff_sws_compile_pass() and friends to ops_dispatch.h 2026-05-15 18:53:05 +02:00
ops_memcpy.c swscale/ops: make compile() take const SwsOpList * 2026-06-09 18:27:20 +02:00
ops_optimizer.c swscale/ops_optimizer: don't push scale past truncating conversions 2026-05-17 10:41:34 +00:00
options.c swscale: add new SwsContext.backends option 2026-06-03 21:39:55 +00:00
output.c swscale/output: avoid signed overflow in yuv2rgba64_1 alpha 2026-06-05 01:15:22 +00: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_template: use unsigned for <<24 2026-06-05 01:14:02 +00:00
slice.c swscale/slice: fix init of 32 bpc planes 2024-12-16 12:21:55 +01:00
swscale.c swscale/format: generalize ff_test_fmt() to take SwsBackend 2026-06-03 21:39:55 +00:00
swscale.h swscale/graph: only prefer unstable backends with SWS_UNSTABLE 2026-06-03 21:39:55 +00:00
swscale_internal.h swscale: add new SwsContext.backends option 2026-06-03 21:39:55 +00:00
swscale_unscaled.c swscale/swscale_unscaled: disable unscaled copy from yaf32be to grayf32be 2026-06-05 22:33:37 +02:00
swscaleres.rc
uops.c swscale/uops: add SWS_UOP_MOVE for optimal register-register swizzles 2026-06-09 18:27:20 +02:00
uops.h swscale/uops: add SWS_UOP_MOVE for optimal register-register swizzles 2026-06-09 18:27:20 +02:00
uops_backend.c swscale/ops: make compile() take const SwsOpList * 2026-06-09 18:27:20 +02:00
uops_macros.h swscale/uops: add SWS_UOP_MOVE for optimal register-register swizzles 2026-06-09 18:27:20 +02:00
uops_tmpl.c swscale/uops: parametrize filter op result type 2026-06-09 18:27:20 +02:00
uops_tmpl.h swscale/uops_tmpl: move attributes before static keyword 2026-06-10 16:27:58 +02:00
utils.c swscale/utils: improve check for float formats that will be converted to uint16_t 2026-06-05 22:31:09 +02:00
version.c lib*/version: Use static_assert for static asserts 2024-03-31 00:08:42 +01:00
version.h swscale: add new SwsContext.backends option 2026-06-03 21:39:55 +00: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/yuv2rgb: add explicit BE/LE 565/555 cases 2026-06-10 17:54:20 +00:00