FFmpeg/libswscale/ppc
Lauri Kasanen 681957b88d swscale/ppc: VSX-optimize yuv2rgb_full
./ffmpeg -f lavfi -i yuvtestsrc=duration=1:size=1200x1440 \
        -s 1200x1440 -f null -vframes 100 -pix_fmt $i -nostats \
        -cpuflags 0 -v error -

This uses 32-bit mul, so POWER8 only.

The following output formats get about 4.5x speedup:

rgb24
  39980 UNITS in yuv2packed1,   32768 runs,      0 skips
   8774 UNITS in yuv2packed1,   32768 runs,      0 skips
bgr24
  40069 UNITS in yuv2packed1,   32768 runs,      0 skips
   8772 UNITS in yuv2packed1,   32766 runs,      2 skips
rgba
  39759 UNITS in yuv2packed1,   32768 runs,      0 skips
   8681 UNITS in yuv2packed1,   32767 runs,      1 skips
bgra
  39729 UNITS in yuv2packed1,   32768 runs,      0 skips
   8696 UNITS in yuv2packed1,   32766 runs,      2 skips
argb
  39766 UNITS in yuv2packed1,   32768 runs,      0 skips
   8672 UNITS in yuv2packed1,   32766 runs,      2 skips
bgra
  39784 UNITS in yuv2packed1,   32768 runs,      0 skips
   8659 UNITS in yuv2packed1,   32767 runs,      1 skips
2019-03-27 09:05:08 +02:00
..
Makefile swscale/ppc: Move VSX-using code to its own file 2018-12-04 02:59:07 +01:00
swscale_altivec.c swscale/ppc: Clean up some mixed decl warnings 2019-03-20 10:21:53 +02:00
swscale_ppc_template.c swscale/ppc: Add av_unused to template vars only used in one includer 2019-03-20 10:21:55 +02:00
swscale_vsx.c swscale/ppc: VSX-optimize yuv2rgb_full 2019-03-27 09:05:08 +02:00
yuv2rgb_altivec.c Merge commit '0f40c9098498ad90dbbd2380eb4269015e84bde4' 2016-06-21 15:26:20 +02:00
yuv2rgb_altivec.h
yuv2yuv_altivec.c