[FFmpeg-devel] [PATCH] Moves yuv2yuvX_sse3 to yasm, unrolls main loop and other small optimizations for ~20% speedup.

Alan Kelly alankelly at google.com
Mon Jan 11 11:28:17 EET 2021


It's a bug in the patch. The tail not processed by the sse3/avx2 version is
done by the mmx version. I used offset to account for the src pixels
already processed, however, dither is modified if offset is not 0. In cases
where there is a tail and offset is 0, this bug appears. I am working on a
solution.

On Sun, Jan 10, 2021 at 4:26 PM Michael Niedermayer <michael at niedermayer.cc>
wrote:

> On Thu, Jan 07, 2021 at 10:41:19AM +0100, Alan Kelly wrote:
> > ---
> >  Replaces mova with movdqu due to alignment issues
> >  libswscale/x86/Makefile     |   1 +
> >  libswscale/x86/swscale.c    | 106 +++++++++-----------------------
> >  libswscale/x86/yuv2yuvX.asm | 117 ++++++++++++++++++++++++++++++++++++
> >  tests/checkasm/sw_scale.c   |  98 ++++++++++++++++++++++++++++++
> >  4 files changed, 246 insertions(+), 76 deletions(-)
> >  create mode 100644 libswscale/x86/yuv2yuvX.asm
>
> I have one / some ? cases where this changes output
>  ./ffmpeg -i utvideo-yuv422p10le_UQY2_crc32-A431CD5F.avi -bitexact avi.avi
>
>  i dont know if theres a decoder bug or bug in the patch or something else
>
> -rw-r----- 1 michael michael 246218 Jan 10 16:23 avi.avi
> -rw-r----- 1 michael michael 245824 Jan 10 16:23 avi-ref.avi
>
> file should be at:
> https://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket4044/
>
> [...]
> --
> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> In a rich man's house there is no place to spit but his face.
> -- Diogenes of Sinope
> _______________________________________________
> 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