Re: [FFmpeg-devel] [PATCH] swscale/ppc: Move VSX-using code to its own file

2018-12-11 Thread Michael Niedermayer
On Tue, Dec 11, 2018 at 09:10:02AM +0200, Lauri Kasanen wrote:
> On Thu, 6 Dec 2018 21:47:18 +0100
> Michael Niedermayer  wrote:
> 
> > On Tue, Dec 04, 2018 at 02:27:22PM +0100, Michael Niedermayer wrote:
> > > > > > On Mon, Dec 03, 2018 at 09:24:47AM +0200, Lauri Kasanen wrote:
> > > > > > > Also ping on "swscale/output: VSX-optimize
> > > > > > > nbps yuv2plane1".
> > > > > > 
> > > > > > This IIUC has not been tested on BE yet
> > > > > > 
> > > > > > my ppc emulation setup is a bit broken and my ppc hw ive not tried 
> > > > > > using
> > > > > > since years and it was not in good shape last i used it.
> > > > > > So i cant just quickly test this ...
> > > these are more suggestions than i expected :)
> > > but i just got cross build working again and i also just eliminated a
> > > mysterious ld.so related segfault
> > > ATM iam re rerunning fate with a freshly rebuilt qemu
> > > (the past one had an issue with altivec)
> > 
> > i have cross build with ppc and qemu partly working
> > but it appears gcc or something is just buggy
> 
> Hi,
> 
> Carl Eugen Hoyos reported that it builds fine on BE, the guards being
> in correct place not to affect BE. How are things on your side?

a small number of tests fail independant of this patch, i had no time to
look into these failures.
Ill apply the patch

thanks

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Many things microsoft did are stupid, but not doing something just because
microsoft did it is even more stupid. If everything ms did were stupid they
would be bankrupt already.


signature.asc
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] swscale/ppc: Move VSX-using code to its own file

2018-12-10 Thread Lauri Kasanen
On Thu, 6 Dec 2018 21:47:18 +0100
Michael Niedermayer  wrote:

> On Tue, Dec 04, 2018 at 02:27:22PM +0100, Michael Niedermayer wrote:
> > > > > On Mon, Dec 03, 2018 at 09:24:47AM +0200, Lauri Kasanen wrote:
> > > > > > Also ping on "swscale/output: VSX-optimize
> > > > > > nbps yuv2plane1".
> > > > > 
> > > > > This IIUC has not been tested on BE yet
> > > > > 
> > > > > my ppc emulation setup is a bit broken and my ppc hw ive not tried 
> > > > > using
> > > > > since years and it was not in good shape last i used it.
> > > > > So i cant just quickly test this ...
> > these are more suggestions than i expected :)
> > but i just got cross build working again and i also just eliminated a
> > mysterious ld.so related segfault
> > ATM iam re rerunning fate with a freshly rebuilt qemu
> > (the past one had an issue with altivec)
> 
> i have cross build with ppc and qemu partly working
> but it appears gcc or something is just buggy

Hi,

Carl Eugen Hoyos reported that it builds fine on BE, the guards being
in correct place not to affect BE. How are things on your side?

- Lauri
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] swscale/ppc: Move VSX-using code to its own file

2018-12-06 Thread Carl Eugen Hoyos
2018-11-26 13:24 GMT+01:00, Lauri Kasanen :
> Passes fate on LE (with "lavc/jrevdct: Avoid an aliasing violation"
> applied). Can anyone test BE?

> diff --git a/libswscale/ppc/swscale_vsx.c b/libswscale/ppc/swscale_vsx.c
> new file mode 100644
> index 000..853b587
> --- /dev/null
> +++ b/libswscale/ppc/swscale_vsx.c
> @@ -0,0 +1,164 @@
> +/*
> + * AltiVec-enhanced yuv2yuvX
> + *
> + * Copyright (C) 2004 Romain Dolbeau 
> + * based on the equivalent C code in swscale.c
> + *
> + * This file is part of FFmpeg.
> + *
> + * FFmpeg is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU Lesser General Public
> + * License as published by the Free Software Foundation; either
> + * version 2.1 of the License, or (at your option) any later version.
> + *
> + * FFmpeg is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> + * Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with FFmpeg; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
> USA
> + */
> +
> +#include 
> +
> +#include "config.h"
> +#include "libswscale/swscale.h"
> +#include "libswscale/swscale_internal.h"
> +#include "libavutil/attributes.h"
> +#include "libavutil/cpu.h"
> +#include "yuv2rgb_altivec.h"
> +#include "libavutil/ppc/util_altivec.h"
> +

> +#if HAVE_VSX
> +#define vzero vec_splat_s32(0)
> +
> +#if !HAVE_BIGENDIAN

I changed these two if's and the ones on the bottom of the file into "if 1"
and tested on Power7 Linux BE, fate passes (and fails if I break the
function).
Problem is that HAVE_VSX is 0 on that system. How can this be fixed?

Carl Eugen
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] swscale/ppc: Move VSX-using code to its own file

2018-12-06 Thread Michael Niedermayer
On Tue, Dec 04, 2018 at 02:27:22PM +0100, Michael Niedermayer wrote:
> On Tue, Dec 04, 2018 at 11:00:34AM +0100, Dominik 'Rathann' Mierzejewski 
> wrote:
> > On Tuesday, 04 December 2018 at 08:10, Lauri Kasanen wrote:
> > > On Tue, 4 Dec 2018 03:21:30 +0100
> > > Michael Niedermayer  wrote:
> > > 
> > > > On Mon, Dec 03, 2018 at 09:24:47AM +0200, Lauri Kasanen wrote:
> > > > > Also ping on "swscale/output: VSX-optimize
> > > > > nbps yuv2plane1".
> > > > 
> > > > This IIUC has not been tested on BE yet
> > > > 
> > > > my ppc emulation setup is a bit broken and my ppc hw ive not tried using
> > > > since years and it was not in good shape last i used it.
> > > > So i cant just quickly test this ...
> > > 
> > > Raptor offers free POWER9 VMs to open source projects. Since you're the
> > > leader of ffmpeg, if you asked, I'm sure they'd give one or two for
> > > ffmpeg build and fate testing.
> > > 
> > > Ref
> > > https://mobile.twitter.com/RaptorCompSys/status/1067018060777832449?p=v
> > > https://mobile.twitter.com/RaptorCompSys/status/1067029086273486848?p=v
> > > 
> > > "We offer free access to cloud VPS for libre software projects in
> > > partnership with @Integricloud, would that help?"
> > > 
> > > "Contact sa...@integricloud.com and tell them what you want to use a
> > > VPS or two for. They will generally grant access to the resources."
> > > 
> > > (I'm developing on a POWER8 VM intended for devs, but ordered a
> > > Blackbird from the cyber monday sale ;))
> > 
> > Red Hat also offers Power 8 VMs, both BE and LE, to open source projects:
> > http://research.redhat.com/powerlinux-openpower-development-hosting/
> 
> these are more suggestions than i expected :)
> but i just got cross build working again and i also just eliminated a
> mysterious ld.so related segfault
> ATM iam re rerunning fate with a freshly rebuilt qemu
> (the past one had an issue with altivec)

i have cross build with ppc and qemu partly working
but it appears gcc or something is just buggy
for example this:
#include 

main() {
float f = 0.0/0.0;
printf("%f\n", floor(f));
}

produces:
510423550381407695195061911147652317184.00

but if build with -O1 it produces this:
nan

thats with powerpc-linux-gnu-gcc-4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.1) 4.8.4

also
gcc -O1 behaves different from litterally listing all the options that -O1
is documented to turn on

the remaining issues are:
make: *** [fate-eval] Error 1
make: *** [fate-filter-tremolo] Error 1
make: *** [fate-filter-refcmp-psnr-rgb] Error 1
make: *** [fate-parseutils] Error 1

where eval and parseutils appear to be issues with non finite numbers
not sure iam missing something ...

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The real ebay dictionary, page 1
"Used only once"- "Some unspecified defect prevented a second use"
"In good condition" - "Can be repaird by experienced expert"
"As is" - "You wouldnt want it even if you were payed for it, if you knew ..."


signature.asc
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] swscale/ppc: Move VSX-using code to its own file

2018-12-04 Thread Michael Niedermayer
On Tue, Dec 04, 2018 at 11:00:34AM +0100, Dominik 'Rathann' Mierzejewski wrote:
> On Tuesday, 04 December 2018 at 08:10, Lauri Kasanen wrote:
> > On Tue, 4 Dec 2018 03:21:30 +0100
> > Michael Niedermayer  wrote:
> > 
> > > On Mon, Dec 03, 2018 at 09:24:47AM +0200, Lauri Kasanen wrote:
> > > > Also ping on "swscale/output: VSX-optimize
> > > > nbps yuv2plane1".
> > > 
> > > This IIUC has not been tested on BE yet
> > > 
> > > my ppc emulation setup is a bit broken and my ppc hw ive not tried using
> > > since years and it was not in good shape last i used it.
> > > So i cant just quickly test this ...
> > 
> > Raptor offers free POWER9 VMs to open source projects. Since you're the
> > leader of ffmpeg, if you asked, I'm sure they'd give one or two for
> > ffmpeg build and fate testing.
> > 
> > Ref
> > https://mobile.twitter.com/RaptorCompSys/status/1067018060777832449?p=v
> > https://mobile.twitter.com/RaptorCompSys/status/1067029086273486848?p=v
> > 
> > "We offer free access to cloud VPS for libre software projects in
> > partnership with @Integricloud, would that help?"
> > 
> > "Contact sa...@integricloud.com and tell them what you want to use a
> > VPS or two for. They will generally grant access to the resources."
> > 
> > (I'm developing on a POWER8 VM intended for devs, but ordered a
> > Blackbird from the cyber monday sale ;))
> 
> Red Hat also offers Power 8 VMs, both BE and LE, to open source projects:
> http://research.redhat.com/powerlinux-openpower-development-hosting/

these are more suggestions than i expected :)
but i just got cross build working again and i also just eliminated a
mysterious ld.so related segfault
ATM iam re rerunning fate with a freshly rebuilt qemu
(the past one had an issue with altivec)

so maybe ill be able to build and test ppc BE locally soon ... or maybe not;)

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Breaking DRM is a little like attempting to break through a door even
though the window is wide open and the only thing in the house is a bunch
of things you dont want and which you would get tomorrow for free anyway


signature.asc
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] swscale/ppc: Move VSX-using code to its own file

2018-12-04 Thread Dominik 'Rathann' Mierzejewski
On Tuesday, 04 December 2018 at 08:10, Lauri Kasanen wrote:
> On Tue, 4 Dec 2018 03:21:30 +0100
> Michael Niedermayer  wrote:
> 
> > On Mon, Dec 03, 2018 at 09:24:47AM +0200, Lauri Kasanen wrote:
> > > Also ping on "swscale/output: VSX-optimize
> > > nbps yuv2plane1".
> > 
> > This IIUC has not been tested on BE yet
> > 
> > my ppc emulation setup is a bit broken and my ppc hw ive not tried using
> > since years and it was not in good shape last i used it.
> > So i cant just quickly test this ...
> 
> Raptor offers free POWER9 VMs to open source projects. Since you're the
> leader of ffmpeg, if you asked, I'm sure they'd give one or two for
> ffmpeg build and fate testing.
> 
> Ref
> https://mobile.twitter.com/RaptorCompSys/status/1067018060777832449?p=v
> https://mobile.twitter.com/RaptorCompSys/status/1067029086273486848?p=v
> 
> "We offer free access to cloud VPS for libre software projects in
> partnership with @Integricloud, would that help?"
> 
> "Contact sa...@integricloud.com and tell them what you want to use a
> VPS or two for. They will generally grant access to the resources."
> 
> (I'm developing on a POWER8 VM intended for devs, but ordered a
> Blackbird from the cyber monday sale ;))

Red Hat also offers Power 8 VMs, both BE and LE, to open source projects:
http://research.redhat.com/powerlinux-openpower-development-hosting/

Regards,
Dominik
-- 
Fedora   https://getfedora.org  |  RPMFusion   http://rpmfusion.org
There should be a science of discontent. People need hard times and
oppression to develop psychic muscles.
-- from "Collected Sayings of Muad'Dib" by the Princess Irulan
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] swscale/ppc: Move VSX-using code to its own file

2018-12-03 Thread Lauri Kasanen
On Tue, 4 Dec 2018 03:21:30 +0100
Michael Niedermayer  wrote:

> On Mon, Dec 03, 2018 at 09:24:47AM +0200, Lauri Kasanen wrote:
> > Also ping on "swscale/output: VSX-optimize
> > nbps yuv2plane1".
> 
> This IIUC has not been tested on BE yet
> 
> my ppc emulation setup is a bit broken and my ppc hw ive not tried using
> since years and it was not in good shape last i used it.
> So i cant just quickly test this ...

Raptor offers free POWER9 VMs to open source projects. Since you're the
leader of ffmpeg, if you asked, I'm sure they'd give one or two for
ffmpeg build and fate testing.

Ref
https://mobile.twitter.com/RaptorCompSys/status/1067018060777832449?p=v
https://mobile.twitter.com/RaptorCompSys/status/1067029086273486848?p=v

"We offer free access to cloud VPS for libre software projects in
partnership with @Integricloud, would that help?"

"Contact sa...@integricloud.com and tell them what you want to use a
VPS or two for. They will generally grant access to the resources."

(I'm developing on a POWER8 VM intended for devs, but ordered a
Blackbird from the cyber monday sale ;))

- Lauri
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] swscale/ppc: Move VSX-using code to its own file

2018-12-03 Thread Michael Niedermayer
On Mon, Dec 03, 2018 at 09:24:47AM +0200, Lauri Kasanen wrote:
> On Fri, 30 Nov 2018 14:05:26 +0200
[...]
> Also ping on "swscale/output: VSX-optimize
> nbps yuv2plane1".

This IIUC has not been tested on BE yet

my ppc emulation setup is a bit broken and my ppc hw ive not tried using
since years and it was not in good shape last i used it.
So i cant just quickly test this ...

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The real ebay dictionary, page 1
"Used only once"- "Some unspecified defect prevented a second use"
"In good condition" - "Can be repaird by experienced expert"
"As is" - "You wouldnt want it even if you were payed for it, if you knew ..."


signature.asc
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] swscale/ppc: Move VSX-using code to its own file

2018-12-03 Thread Michael Niedermayer
On Mon, Dec 03, 2018 at 09:24:47AM +0200, Lauri Kasanen wrote:
> On Fri, 30 Nov 2018 14:05:26 +0200
> Lauri Kasanen  wrote:
> 
> > On Fri, 30 Nov 2018 12:30:58 +0300
> > Michael Kostylev  wrote:
> > > 
> > > >> Passes fate on LE (with "lavc/jrevdct: Avoid an aliasing violation" 
> > > >> applied). Can anyone test BE?
> > > >
> > > > Ping.
> > > 
> > > FATE becomes green as much as possible, I haven't performed any 
> > > benchmarking though.
> > 
> > Thanks for testing. This patch is not expected to change performance,
> > it's just moving functions around and putting them under proper VSX
> > guards.
> 
> Could this patch be applied? 

will apply

thx


> Also ping on "swscale/output: VSX-optimize
> nbps yuv2plane1".
> 
> - Lauri
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

You can kill me, but you cannot change the truth.


signature.asc
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] swscale/ppc: Move VSX-using code to its own file

2018-12-02 Thread Lauri Kasanen
On Fri, 30 Nov 2018 14:05:26 +0200
Lauri Kasanen  wrote:

> On Fri, 30 Nov 2018 12:30:58 +0300
> Michael Kostylev  wrote:
> > 
> > >> Passes fate on LE (with "lavc/jrevdct: Avoid an aliasing violation" 
> > >> applied). Can anyone test BE?
> > >
> > > Ping.
> > 
> > FATE becomes green as much as possible, I haven't performed any 
> > benchmarking though.
> 
> Thanks for testing. This patch is not expected to change performance,
> it's just moving functions around and putting them under proper VSX
> guards.

Could this patch be applied? Also ping on "swscale/output: VSX-optimize
nbps yuv2plane1".

- Lauri
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] swscale/ppc: Move VSX-using code to its own file

2018-11-30 Thread Lauri Kasanen
On Fri, 30 Nov 2018 12:30:58 +0300
Michael Kostylev  wrote:

> 
> >> Passes fate on LE (with "lavc/jrevdct: Avoid an aliasing violation" 
> >> applied). Can anyone test BE?
> >
> > Ping.
> 
> FATE becomes green as much as possible, I haven't performed any benchmarking 
> though.

Thanks for testing. This patch is not expected to change performance,
it's just moving functions around and putting them under proper VSX
guards.

- Lauri

PS: Your mail did not make it to the list, was it meant for me only?
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] swscale/ppc: Move VSX-using code to its own file

2018-11-29 Thread Lauri Kasanen
On Mon, 26 Nov 2018 14:24:15 +0200
Lauri Kasanen  wrote:

> Passes fate on LE (with "lavc/jrevdct: Avoid an aliasing violation" applied). 
> Can anyone test BE?

Ping.

- Lauri
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH] swscale/ppc: Move VSX-using code to its own file

2018-11-26 Thread Lauri Kasanen
Passes fate on LE (with "lavc/jrevdct: Avoid an aliasing violation" applied). 
Can anyone test BE?

Signed-off-by: Lauri Kasanen 
---
 libswscale/ppc/Makefile   |   1 +
 libswscale/ppc/swscale_altivec.c  | 291 ++
 libswscale/ppc/swscale_ppc_template.c | 217 +
 libswscale/ppc/swscale_vsx.c  | 164 +++
 libswscale/swscale_internal.h |   1 +
 5 files changed, 393 insertions(+), 281 deletions(-)
 create mode 100644 libswscale/ppc/swscale_ppc_template.c
 create mode 100644 libswscale/ppc/swscale_vsx.c

diff --git a/libswscale/ppc/Makefile b/libswscale/ppc/Makefile
index d1b596e..0a31a30 100644
--- a/libswscale/ppc/Makefile
+++ b/libswscale/ppc/Makefile
@@ -1,3 +1,4 @@
 OBJS += ppc/swscale_altivec.o   \
 ppc/yuv2rgb_altivec.o   \
 ppc/yuv2yuv_altivec.o   \
+ppc/swscale_vsx.o
diff --git a/libswscale/ppc/swscale_altivec.c b/libswscale/ppc/swscale_altivec.c
index 8c6056d..1d2b2fa 100644
--- a/libswscale/ppc/swscale_altivec.c
+++ b/libswscale/ppc/swscale_altivec.c
@@ -31,21 +31,14 @@
 #include "yuv2rgb_altivec.h"
 #include "libavutil/ppc/util_altivec.h"
 
-#if HAVE_ALTIVEC
+#if HAVE_ALTIVEC && HAVE_BIGENDIAN
 #define vzero vec_splat_s32(0)
 
-#if HAVE_BIGENDIAN
 #define  GET_LS(a,b,c,s) {\
 vector signed short l2  = vec_ld(((b) << 1) + 16, s);\
 ls  = vec_perm(a, l2, c);\
 a = l2;\
 }
-#else
-#define  GET_LS(a,b,c,s) {\
-ls  = a;\
-a = vec_vsx_ld(((b) << 1)  + 16, s);\
-}
-#endif
 
 #define yuv2planeX_8(d1, d2, l1, src, x, perm, filter) do {\
 vector signed short ls;\
@@ -59,7 +52,6 @@
 d2 = vec_add(d2, vf2);\
 } while (0)
 
-#if HAVE_BIGENDIAN
 #define LOAD_FILTER(vf,f) {\
 vector unsigned char perm0 = vec_lvsl(joffset, f);\
 vf = vec_ld(joffset, f);\
@@ -69,89 +61,7 @@
 p = vec_lvsl(xoffset, s);\
 ll1   = vec_ld(xoffset, s);\
 }
-#else
-#define LOAD_FILTER(vf,f) {\
-vf = vec_vsx_ld(joffset, f);\
-}
-#define LOAD_L1(ll1,s,p){\
-ll1  = vec_vsx_ld(xoffset, s);\
-}
-#endif
-
-static void yuv2planeX_16_altivec(const int16_t *filter, int filterSize,
-  const int16_t **src, uint8_t *dest,
-  const uint8_t *dither, int offset, int x)
-{
-register int i, j;
-LOCAL_ALIGNED(16, int, val, [16]);
-vector signed int vo1, vo2, vo3, vo4;
-vector unsigned short vs1, vs2;
-vector unsigned char vf;
-vector unsigned int altivec_vectorShiftInt19 =
-vec_add(vec_splat_u32(10), vec_splat_u32(9));
-
-for (i = 0; i < 16; i++)
-val[i] = dither[(x + i + offset) & 7] << 12;
-
-vo1 = vec_ld(0,  val);
-vo2 = vec_ld(16, val);
-vo3 = vec_ld(32, val);
-vo4 = vec_ld(48, val);
-
-for (j = 0; j < filterSize; j++) {
-unsigned int joffset=j<<1;
-unsigned int xoffset=x<<1;
-vector unsigned char perm;
-vector signed short l1,vLumFilter;
-LOAD_FILTER(vLumFilter,filter);
-vLumFilter = vec_splat(vLumFilter, 0);
-LOAD_L1(l1,src[j],perm);
-yuv2planeX_8(vo1, vo2, l1, src[j], x, perm, vLumFilter);
-yuv2planeX_8(vo3, vo4, l1, src[j], x + 8, perm, vLumFilter);
-}
-
-vo1 = vec_sra(vo1, altivec_vectorShiftInt19);
-vo2 = vec_sra(vo2, altivec_vectorShiftInt19);
-vo3 = vec_sra(vo3, altivec_vectorShiftInt19);
-vo4 = vec_sra(vo4, altivec_vectorShiftInt19);
-vs1 = vec_packsu(vo1, vo2);
-vs2 = vec_packsu(vo3, vo4);
-vf  = vec_packsu(vs1, vs2);
-VEC_ST(vf, 0, dest);
-}
-
-
-static inline void yuv2planeX_u(const int16_t *filter, int filterSize,
-const int16_t **src, uint8_t *dest, int dstW,
-const uint8_t *dither, int offset, int x)
-{
-int i, j;
-
-for (i = x; i < dstW; i++) {
-int t = dither[(i + offset) & 7] << 12;
-for (j = 0; j < filterSize; j++)
-t += src[j][i] * filter[j];
-dest[i] = av_clip_uint8(t >> 19);
-}
-}
-
-static void yuv2planeX_altivec(const int16_t *filter, int filterSize,
-   const int16_t **src, uint8_t *dest, int dstW,
-   const uint8_t *dither, int offset)
-{
-int dst_u = -(uintptr_t)dest & 15;
-int i;
-
-yuv2planeX_u(filter, filterSize, src, dest, dst_u, dither, offset, 0);
-
-for (i = dst_u; i < dstW - 15; i += 16)
-yuv2planeX_16_altivec(filter, filterSize, src, dest + i, dither,
-  offset, i);
-
-yuv2planeX_u(filter, filterSize, src, dest, dstW, dither, offset, i);
-}
 
-#if HAVE_BIGENDIAN
 // The 3 above is 2 (filterSize == 4) + 1 (sizeof(short) == 2).
 
 // The neat trick: We only care for half the elements,
@@ -187,191 +97,12 @@ stati