swscale/ppc: VSX-optimize yuv2rgb_full_2
authorLauri Kasanen <cand@gmx.com>
Mon, 1 Apr 2019 10:04:11 +0000 (13:04 +0300)
committerLauri Kasanen <cand@gmx.com>
Sun, 7 Apr 2019 06:20:33 +0000 (09:20 +0300)
commit3256e949be7b2cdda95d64d2b33fff2adcc9e41d
tree8920870dff6bad02466d7cbc521df987c24b7708
parent50e672bc54372f2bd228d83cc040fad8c06ad8ed
swscale/ppc: VSX-optimize yuv2rgb_full_2

./ffmpeg -f lavfi -i yuvtestsrc=duration=1:size=1200x1440 -sws_flags area \
            -s 1200x720 -f null -vframes 100 -pix_fmt $i -nostats \
            -cpuflags 0 -v error -

32-bit mul, power8 only.

~4x speedup:

rgb24
  52763 UNITS in yuv2packed2,   16384 runs,      0 skips
  13453 UNITS in yuv2packed2,   16384 runs,      0 skips
bgr24
  53144 UNITS in yuv2packed2,   16384 runs,      0 skips
  13616 UNITS in yuv2packed2,   16384 runs,      0 skips
rgba
  52796 UNITS in yuv2packed2,   16384 runs,      0 skips
  12904 UNITS in yuv2packed2,   16384 runs,      0 skips
bgra
  52732 UNITS in yuv2packed2,   16384 runs,      0 skips
  13262 UNITS in yuv2packed2,   16384 runs,      0 skips
argb
  52661 UNITS in yuv2packed2,   16384 runs,      0 skips
  12879 UNITS in yuv2packed2,   16384 runs,      0 skips
bgra
  52662 UNITS in yuv2packed2,   16384 runs,      0 skips
  12932 UNITS in yuv2packed2,   16384 runs,      0 skips
libswscale/ppc/swscale_vsx.c