ffmpeg/libswscale
Lauri Kasanen 46c5693ea3 swscale/output: Altivec-optimize yuv2plane1_8
./ffmpeg_g -f rawvideo -pix_fmt rgb24 -s hd1080 -i /dev/zero -pix_fmt yuv420p \
-f null -vframes 100 -v error -nostats -

1158 UNITS in planar1,   65528 runs,      8 skips

-cpuflags 0

19082 UNITS in planar1,   65533 runs,      3 skips

16.48 speedup ratio. On x86, SSE2 is ~7. Curiously, the Power C version
takes as many cycles as the x86 SSE2 version, yikes it's fast.

Note that this function uses VSX instructions, but is not marked so.
This is because several existing functions also make that mistake.
I'll submit a patch moving them once this is reviewed.

Signed-off-by: Lauri Kasanen <cand@gmx.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-11-26 02:56:25 +01:00
..
aarch64
arm arm: swscale: Only compile the rgb2yuv asm if .dn aliases are supported 2018-03-31 21:54:56 +03:00
ppc swscale/output: Altivec-optimize yuv2plane1_8 2018-11-26 02:56:25 +01:00
tests Merge commit '0fd0d4fd0a518e30ff23972828ad7cf7f35cfb9d' 2017-10-30 12:34:40 -03:00
x86 swscale/x86/rgb2rgb.asm : add Ivo Van Poorten name to the top of the file 2018-10-18 21:43:19 +02:00
Makefile Merge commit '92db5083077a8b0f8e1050507671b456fd155125' 2017-05-04 19:59:30 -03:00
alphablend.c
bayer_template.c
gamma.c
hscale.c
hscale_fast_bilinear.c
input.c swscale : add support for YUVA444P12 and YUVA422P12 2018-11-24 16:24:47 +01:00
libswscale.v
log2_tab.c
options.c
output.c swscale : add YA16 LE/BE output 2018-10-18 21:43:24 +02:00
rgb2rgb.c swscale/rgb : move shuffle func shuffle_bytes_1230, shuffle_bytes_3012, shuffle_bytes_3210 in order to add SIMD 2018-03-24 20:22:02 +01:00
rgb2rgb.h swscale/rgb2rgb : cosmetic, move shuffle_bytes func declaration 2018-03-24 20:22:17 +01:00
rgb2rgb_template.c lsws/rgb2rgb_template: Do not compile unneeded shuffle functions on big-endian. 2018-06-10 03:22:59 +02:00
slice.c lsws/slice: Move a misplaced const. 2017-03-08 00:33:21 +01:00
swscale.c swscale/swscale : small cosmetic 2018-08-22 11:36:15 +02:00
swscale.h
swscale_internal.h libswscale: Adds conversions from/to float gray format. 2018-08-14 18:22:39 +02:00
swscale_unscaled.c swscale/swscale_unscaled : rename packed_16bpc_bswap 2018-10-24 21:21:20 +02:00
swscaleres.rc
utils.c swscale : add support for YUVA444P12 and YUVA422P12 2018-11-24 16:24:47 +01:00
version.h Bump minor version for master after 4.1 branchpoint 2018-11-02 00:53:07 +01:00
vscale.c
yuv2rgb.c lsws/yuv2rgb: Fix yuva2rgb32 on big endian hardware. 2017-10-29 14:53:57 +01:00