Commit 05d3983277 for ffmpeg
commit 05d3983277a7fed5e07163179fd270f8e12a8d6c
Author: Ramiro Polla <ramiro.polla@gmail.com>
Date: Mon Oct 19 15:46:53 2026 +0200
swscale/ops_dispatch: record CPU flags on passes
Copy the informative CPU flags of the compiled op list to the pass, so
that tests can tell which implementation a conversion ended up using.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Ramiro Polla <ramiro.polla@gmail.com>
diff --git a/libswscale/graph.h b/libswscale/graph.h
index 7380a991ce..e1e2a79547 100644
--- a/libswscale/graph.h
+++ b/libswscale/graph.h
@@ -92,6 +92,7 @@ struct SwsPass {
*/
SwsPassFunc run;
SwsBackend backend; /* backend this pass is using, or 0 */
+ int cpu_flags; /* CPU flags used by the backend (informative) */
enum AVPixelFormat format; /* new pixel format */
int lines; /* pass dispatch size */
int slice_h; /* filter granularity */
diff --git a/libswscale/ops_dispatch.c b/libswscale/ops_dispatch.c
index bfc776c43a..129251daf1 100644
--- a/libswscale/ops_dispatch.c
+++ b/libswscale/ops_dispatch.c
@@ -571,7 +571,8 @@ static int compile_single(const CompileArgs *args, const SwsOpList *ops,
input, 0, c.slice_align, c.func_opaque,
NULL, c.priv, c.free, output);
if (ret >= 0) {
- (*output)->backend = c.backend->flags;
+ (*output)->backend = c.backend->flags;
+ (*output)->cpu_flags = c.cpu_flags;
op_list_get_plane_copy(ops, *output);
ff_sws_pass_link_output(*output, link);
}
@@ -689,7 +690,8 @@ static int compile_single(const CompileArgs *args, const SwsOpList *ops,
if (ret < 0)
return ret;
- (*output)->backend = comp->backend->flags;
+ (*output)->backend = comp->backend->flags;
+ (*output)->cpu_flags = comp->cpu_flags;
op_list_get_plane_copy(ops, *output);
ff_sws_pass_link_output(*output, link);
align_pass(*output, comp->block_size, comp->over_write, p->pixel_bits_out);