swscale/ppc: VSX-optimize yuv2rgb_full_X
authorLauri Kasanen <cand@gmx.com>
Mon, 1 Apr 2019 10:32:37 +0000 (13:32 +0300)
committerLauri Kasanen <cand@gmx.com>
Sun, 7 Apr 2019 06:20:34 +0000 (09:20 +0300)
commit8607e29fa3d4e88496279067ab2ed8022219e644
tree91b4061fe6bf14c29092cea2d4fe983b3887ac62
parent3256e949be7b2cdda95d64d2b33fff2adcc9e41d
swscale/ppc: VSX-optimize yuv2rgb_full_X

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

32-bit mul, power8 only.

~6.4x speedup:

rgb24
 214278 UNITS in yuv2packedX,   16384 runs,      0 skips
  33249 UNITS in yuv2packedX,   16384 runs,      0 skips
bgr24
 214616 UNITS in yuv2packedX,   16384 runs,      0 skips
  33233 UNITS in yuv2packedX,   16384 runs,      0 skips
rgba
 214517 UNITS in yuv2packedX,   16384 runs,      0 skips
  33271 UNITS in yuv2packedX,   16384 runs,      0 skips
bgra
 214973 UNITS in yuv2packedX,   16384 runs,      0 skips
  33397 UNITS in yuv2packedX,   16384 runs,      0 skips
argb
 214613 UNITS in yuv2packedX,   16384 runs,      0 skips
  33310 UNITS in yuv2packedX,   16384 runs,      0 skips
bgra
 214637 UNITS in yuv2packedX,   16384 runs,      0 skips
  33330 UNITS in yuv2packedX,   16384 runs,      0 skips
libswscale/ppc/swscale_vsx.c