On Sat, Apr 26, 2025 at 07:41:14PM +0200, Niklas Haas wrote:
> From: Niklas Haas <g...@haasn.dev>
> 
> This will serve as a reference for the SIMD backends to come. That said,
> with auto-vectorization enabled, the performance of this is not atrocious, and
> can often beat even the old SIMD.
> 
> In theory, we can dramatically speed it up by using GCC vectors instead of
> arrays, but the performance gains from this are too dependent on exact GCC
> versions and flags, so it practice it's not a substitute for a SIMD
> implementation.
> ---
>  libswscale/Makefile          |   6 +
>  libswscale/ops.c             |   3 +
>  libswscale/ops.h             |   2 -
>  libswscale/ops_backend.c     | 101 ++++++
>  libswscale/ops_backend.h     | 181 +++++++++++
>  libswscale/ops_tmpl_common.c | 176 ++++++++++
>  libswscale/ops_tmpl_float.c  | 255 +++++++++++++++
>  libswscale/ops_tmpl_int.c    | 609 +++++++++++++++++++++++++++++++++++
>  8 files changed, 1331 insertions(+), 2 deletions(-)
>  create mode 100644 libswscale/ops_backend.c
>  create mode 100644 libswscale/ops_backend.h
>  create mode 100644 libswscale/ops_tmpl_common.c
>  create mode 100644 libswscale/ops_tmpl_float.c
>  create mode 100644 libswscale/ops_tmpl_int.c

arm breaker

CC      libswscale/ops_backend.o
In file included from src/libswscale/ops_backend.c:21:0:
src/libswscale/ops_tmpl_int.c:492:12: error: initializer element is not constant
         fn(op_read_planar1),
            ^
src/libswscale/ops_backend.h:78:27: note: in definition of macro ‘bitfn2’
 #define bitfn2(name, ext) name ## _ ## ext
                           ^~~~
src/libswscale/ops_backend.h:82:19: note: in expansion of macro ‘bitfn’
 #define fn(name)  bitfn(name, FN_SUFFIX)
                   ^~~~~
src/libswscale/ops_tmpl_int.c:492:9: note: in expansion of macro ‘fn’
         fn(op_read_planar1),
         ^~
src/libswscale/ops_tmpl_int.c:492:12: note: (near initialization for 
‘op_table_int_u8.entries[0]’)
         fn(op_read_planar1),
            ^
src/libswscale/ops_backend.h:78:27: note: in definition of macro ‘bitfn2’
 #define bitfn2(name, ext) name ## _ ## ext
                           ^~~~
src/libswscale/ops_backend.h:82:19: note: in expansion of macro ‘bitfn’
 #define fn(name)  bitfn(name, FN_SUFFIX)
                   ^~~~~
src/libswscale/ops_tmpl_int.c:492:9: note: in expansion of macro ‘fn’
         fn(op_read_planar1),
         ^~
src/libswscale/ops_tmpl_int.c:493:12: error: initializer element is not constant
         fn(op_read_planar2),
            ^
src/libswscale/ops_backend.h:78:27: note: in definition of macro ‘bitfn2’
 #define bitfn2(name, ext) name ## _ ## ext
                           ^~~~
src/libswscale/ops_backend.h:82:19: note: in expansion of macro ‘bitfn’
 #define fn(name)  bitfn(name, FN_SUFFIX)
                   ^~~~~
src/libswscale/ops_tmpl_int.c:493:9: note: in expansion of macro ‘fn’
         fn(op_read_planar2),
         ^~
src/libswscale/ops_tmpl_int.c:493:12: note: (near initialization for 
‘op_table_int_u8.entries[1]’)

................

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

In a rich man's house there is no place to spit but his face.
-- Diogenes of Sinope

Attachment: signature.asc
Description: PGP signature

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to