[FFmpeg-devel] [PATCH v8 14/18] swscale/ops_memcpy: add 'memcpy' backend for plane->plane copies
Niklas Haas
ffmpeg at haasn.xyz
Mon Jul 14 11:51:15 EEST 2025
On Sun, 13 Jul 2025 19:04:21 +0200 Alexander Strasser via ffmpeg-devel <ffmpeg-devel at ffmpeg.org> wrote:
> On 2025-07-12 12:44 +0200, Niklas Haas wrote:
> > From: Niklas Haas <git at haasn.dev>
> >
> > Provides a generic fast path for any operation list that can be decomposed
> > into a series of memcpy and memset operations.
> >
> > 25% faster than the x86 backend for yuv444p -> yuva444p
> > 33% faster than the x86 backend for gray -> yuvj444p
> > ---
> > libswscale/Makefile | 1 +
> > libswscale/ops.c | 2 +
> > libswscale/ops_memcpy.c | 132 ++++++++++++++++++++++++++++++++++++++++
> > 3 files changed, 135 insertions(+)
> > create mode 100644 libswscale/ops_memcpy.c
> >
> > diff --git a/libswscale/Makefile b/libswscale/Makefile
> > index d3cb7bc555..0fed799542 100644
> > --- a/libswscale/Makefile
> > +++ b/libswscale/Makefile
> > @@ -18,6 +18,7 @@ OBJS = alphablend.o \
> > ops.o \
> > ops_backend.o \
> > ops_chain.o \
> > + ops_memcpy.o \
> > ops_optimizer.o \
> > options.o \
> > output.o \
> > diff --git a/libswscale/ops.c b/libswscale/ops.c
> > index 2d8f9e6084..76423f631e 100644
> > --- a/libswscale/ops.c
> > +++ b/libswscale/ops.c
> > @@ -28,8 +28,10 @@
> > #include "ops_internal.h"
> >
> > extern SwsOpBackend backend_c;
> > +extern SwsOpBackend backend_murder;
> >
> > const SwsOpBackend * const ff_sws_op_backends[] = {
> > + &backend_murder,
> > &backend_c,
> > NULL
> > };
> > diff --git a/libswscale/ops_memcpy.c b/libswscale/ops_memcpy.c
> > new file mode 100644
> > index 0000000000..ef4784faa4
> > --- /dev/null
> > +++ b/libswscale/ops_memcpy.c
> [...]
> > +
> > +SwsOpBackend backend_murder = {
> > + .name = "memcpy",
> > + .compile = compile,
> > +};
>
> Is this intentional?
> While everything is name `memcpy` the variables are namend `_murder`?
It's an (IMO) harmless joke. I can remove it if you'd prefer.
>
>
> Alexander
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list