[FFmpeg-devel] [patch 2/4] Fix bug for POWERLE: libavcodec/ppc/me_cmp.c

Michael Niedermayer michaelni at gmx.at
Fri Nov 7 12:44:21 CET 2014


On Fri, Nov 07, 2014 at 05:37:43PM +0800, rongyan wrote:
[...]

> @@ -88,11 +49,9 @@ static int sad16_x2_altivec(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2,
>          /* Read unaligned pixels into our vectors. The vectors are as follows:
>           * pix1v: pix1[0] - pix1[15]
>           * pix2v: pix2[0] - pix2[15]      pix2iv: pix2[1] - pix2[16] */
> -        vector unsigned char pix1v  = vec_ld(0,  pix1);
> -        vector unsigned char pix2l  = vec_ld(0,  pix2);
> -        vector unsigned char pix2r  = vec_ld(16, pix2);
> -        vector unsigned char pix2v  = vec_perm(pix2l, pix2r, perm1);
> -        vector unsigned char pix2iv = vec_perm(pix2l, pix2r, perm2);
> +        vector unsigned char pix1v  = VEC_LD(0,  pix1);
> +        vector unsigned char pix2v  = VEC_LD(0,  pix2);
> +        vector unsigned char pix2iv = VEC_LD(1,  pix2);
>  
>          /* Calculate the average vector. */
>          vector unsigned char avgv = vec_avg(pix2v, pix2iv);

this would add vec_perm vec_ld and vec_lvsl to
vector unsigned char pix1v  = vec_ld(0,  pix1);
for big endian, which would slow it down

[...]

-- 
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20141107/79f18deb/attachment.asc>


More information about the ffmpeg-devel mailing list