ffmpeg/libswscale/tests
Niklas Haas 812b5654ae swscale/tests/sws_ops: use SWS_SCALE_BILINEAR for printing ops lists
This actually changes the behavior vs SWS_SCALE_POINT, because point scaling
is bit-exact and thus implies a different set of optimizations.

Ideally, we would still try and somehow merge this with tests/swscale.c to
allow testing a different set of scalers; but I still don't have a good idea
for how to accomplish that here.

As it stands, results in additional extra dithering steps in almost all
filters involving scaling, e.g.:

 rgb24 16x16 -> rgb24 16x32:
   [ u8 +++X] SWS_OP_READ         : 3 elem(s) packed >> 0
     min: {0 0 0 _}, max: {255 255 255 _}
-  [ u8 +++X] SWS_OP_FILTER_V     : 16 -> 32 point (1 taps)
+  [ u8 ...X] SWS_OP_FILTER_V     : 16 -> 32 bilinear (2 taps)
     min: {0 0 0 _}, max: {255 255 255 _}
+  [f32 ...X] SWS_OP_DITHER       : 16x16 matrix + {0 3 2 -1}
+    min: {1/512 1/512 1/512 _}, max: {255.998047 255.998047 255.998047 _}
+  [f32 ...X] SWS_OP_MIN          : x <= {255 255 255 _}
+    min: {1/512 1/512 1/512 _}, max: {255 255 255 _}
   [f32 +++X] SWS_OP_CONVERT      : f32 -> u8
     min: {0 0 0 _}, max: {255 255 255 _}
   [ u8 XXXX] SWS_OP_WRITE        : 3 elem(s) packed >> 0
     (X = unused, z = byteswapped, + = exact, 0 = zero)

Signed-off-by: Niklas Haas <git@haasn.dev>
2026-05-17 10:41:34 +00:00
..
.gitignore swscale/tests/.gitignore: Add sws_ops_aarch64 2026-03-30 14:31:25 +02:00
colorspace.c swscale: Add proper ff_ prefix to init functions 2016-07-16 17:38:37 +02:00
floatimg_cmp.c swscale: add support for new 10/12 bit MSB formats 2025-07-11 17:49:58 +02:00
pixdesc_query.c swscale: introduce isSwappedChroma 2022-01-04 19:39:22 -06:00
sws_ops.c swscale/tests/sws_ops: use SWS_SCALE_BILINEAR for printing ops lists 2026-05-17 10:41:34 +00:00
sws_ops_aarch64.c swscale/aarch64: introduce tool to enumerate sws_ops for NEON backend 2026-03-30 11:38:35 +00:00
swscale.c swscale/tests/swscale: log test parameters on loss error 2026-05-15 14:12:48 +00:00