On Sat, Dec 15, 2018 at 06:32:31PM +0200, Lauri Kasanen wrote: > This function wouldn't benefit from VSX instructions, and input > and output share alignment, so I put it under altivec. > > ./ffmpeg_g -f rawvideo -pix_fmt rgb24 -s hd1080 -i /dev/zero -pix_fmt > grayf32le \ > -f null -vframes 100 -v error -nostats - > > 3743 UNITS in planar1, 65495 runs, 41 skips > > -cpuflags 0 > > 23511 UNITS in planar1, 65530 runs, 6 skips > > grayf32be > > 4647 UNITS in planar1, 65449 runs, 87 skips > > -cpuflags 0 > > 28608 UNITS in planar1, 65530 runs, 6 skips > > The native speedup is 6.28133, and the bswapping one 6.15623. > Fate passes, each format tested with an image to video conversion. > > Signed-off-by: Lauri Kasanen <c...@gmx.com> > --- > > Tested on POWER8 LE. Testing on earlier ppc and/or BE appreciated. > > libswscale/ppc/swscale_altivec.c | 139 > ++++++++++++++++++++++++++++++++++++++- > 1 file changed, 137 insertions(+), 2 deletions(-)
breaks build: CC libswscale/ppc/swscale_altivec.o In file included from src/libswscale/ppc/swscale_altivec.c:103:0: src/libswscale/ppc/swscale_ppc_template.c: In function ‘yuv2planeX_16_altivec’: src/libswscale/ppc/swscale_ppc_template.c:52:215: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] yuv2planeX_8(vo1, vo2, l1, src[j], x, perm, vLumFilter); ^ In file included from src/libswscale/ppc/swscale_altivec.c:103:0: src/libswscale/ppc/swscale_ppc_template.c:53:219: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] yuv2planeX_8(vo3, vo4, l1, src[j], x + 8, perm, vLumFilter); ^ In file included from src/libswscale/ppc/swscale_altivec.c:103:0: src/libswscale/ppc/swscale_ppc_template.c: In function ‘hScale_real_altivec’: src/libswscale/ppc/swscale_ppc_template.c:189:21: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] vector signed short src_vA = // vec_unpackh sign-extends... ^ src/libswscale/ppc/swscale_ppc_template.c:196:21: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] vector signed int val_acc = vec_msums(src_vA, filter_v0, val_v); ^ src/libswscale/ppc/swscale_altivec.c: In function ‘yuv2plane1_float_altivec’: src/libswscale/ppc/swscale_altivec.c:158:80: error: expected declaration specifiers or ‘...’ before ‘(’ token const vector float vzero = (vector float) {0, 0, 0, 0}; ^ src/libswscale/ppc/swscale_altivec.c:159:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] vector uint32_t v; ^ src/libswscale/ppc/swscale_altivec.c:172:9: error: invalid parameter combination for AltiVec intrinsic vd = vec_madd(vd, vmul, vzero); ^ src/libswscale/ppc/swscale_altivec.c: In function ‘yuv2plane1_float_bswap_altivec’: src/libswscale/ppc/swscale_altivec.c:191:80: error: expected declaration specifiers or ‘...’ before ‘(’ token const vector float vzero = (vector float) {0, 0, 0, 0}; ^ src/libswscale/ppc/swscale_altivec.c:192:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] const vector uint32_t vswapbig = (vector uint32_t) {16, 16, 16, 16}; ^ src/libswscale/ppc/swscale_altivec.c:207:9: error: invalid parameter combination for AltiVec intrinsic vd = vec_madd(vd, vmul, vzero); ^ make: *** [libswscale/ppc/swscale_altivec.o] Error 1 [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB I have often repented speaking, but never of holding my tongue. -- Xenocrates
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel