[FFmpeg-devel] [PATCH] Moves yuv2yuvX_sse3 to yasm, unrolls main loop and other small optimizations for ~20% speedup. AVX2 version is ready and tested, although local tests show a significant speed-up in this function using avx2, swscale code slows down overall probably due cpu frequency scaling.

Michael Niedermayer michael at niedermayer.cc
Thu Oct 22 20:35:00 EEST 2020

On Thu, Oct 22, 2020 at 09:43:53AM +0200, Alan Kelly wrote:
> Other functions to be ported to avx2 have been identified and are on
> the todo list.
> ---
>  libswscale/x86/Makefile     |   1 +
>  libswscale/x86/swscale.c    |  72 +++----------------------
>  libswscale/x86/yuv2yuvX.asm | 105 ++++++++++++++++++++++++++++++++++++
>  3 files changed, 112 insertions(+), 66 deletions(-)
>  create mode 100644 libswscale/x86/yuv2yuvX.asm


./ffmpeg -i ~/vlcticket/5887/Cruise\ 2012_07_29_19_02_16.wmv  -an -vcodec mjpeg -vf scale=800:600:interl=1  -qscale 1 out.avi

(the output file has artifacts at the left side)

input is maybe here:

Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Its not that you shouldnt use gotos but rather that you should write
readable code and code with gotos often but not always is less readable
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20201022/caf51841/attachment.sig>

More information about the ffmpeg-devel mailing list