• Lauri Kasanen's avatar
    swscale/ppc: VSX-optimize yuv2rgb_full · 681957b8
    Lauri Kasanen authored
    ./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
    681957b8
Name
Last commit
Last update
..
Makefile Loading commit data...
swscale_altivec.c Loading commit data...
swscale_ppc_template.c Loading commit data...
swscale_vsx.c Loading commit data...
yuv2rgb_altivec.c Loading commit data...
yuv2rgb_altivec.h Loading commit data...
yuv2yuv_altivec.c Loading commit data...