[Ffmpeg-cvslog] CVS: ffmpeg/libavcodec/ppc dsputil_h264_template_altivec.c, 1.3, 1.4

Michael Niedermayer michaelni
Wed Feb 22 11:07:37 CET 2006


Hi

On Tue, Feb 21, 2006 at 11:24:22PM +0100, Diego Biurrun CVS wrote:
> Update of /cvsroot/ffmpeg/ffmpeg/libavcodec/ppc
> In directory mail:/var2/tmp/cvs-serv11504/libavcodec/ppc
> 
> Modified Files:
> 	dsputil_h264_template_altivec.c 
> Log Message:
> Fix AltiVec H.264 decoding on FSF gcc.
> patch by Luca Barbatom, lu_zero aatt gentoo ddoott org

hmm, this needs to be benchmarked (on a gcc which didnt misscompile it of
course) as it adds several instructions btw, has our ppc/alitvec maintainter
agreed to this?


> -    const vector signed short v32ss = (const vector signed short)AVV(32);
> +    const vector signed short v32ss = vec_sl(vec_splat_s16(1),vec_splat_u16(5));
[...]
> -  const vector signed short v20ss = (const vector signed short)AVV(20);
> -  const vector unsigned short v5us = vec_splat_u16(5);
>    const vector signed short v5ss = vec_splat_s16(5);
> -  const vector signed short v16ss = (const vector signed short)AVV(16);
> +  const vector unsigned short v5us = vec_splat_u16(5);
> +  const vector signed short v20ss = vec_sl(vec_splat_s16(5),vec_splat_u16(2));
> +  const vector signed short v16ss = vec_sl(vec_splat_s16(1),vec_splat_u16(4));
[...]
> -  const vector signed short v20ss = (const vector signed short)AVV(20);
> +  const vector signed short v20ss = vec_sl(vec_splat_s16(5),vec_splat_u16(2));
[...]
> -  const vector signed short v16ss = (const vector signed short)AVV(16);
> +  const vector signed short v16ss = vec_sl(vec_splat_s16(1),vec_splat_u16(4));
[...]
> -  const vector signed short v20ss = (const vector signed short)AVV(20);
> +  const vector signed short v20ss = vec_sl(vec_splat_s16(5),vec_splat_u16(2));
[...]
> -  const vector signed int v512si = (const vector signed int)AVV(512);
> -  const vector unsigned int v16ui = (const vector unsigned int)AVV(16);
> +  const vector signed int v512si = vec_sl(vec_splat_s32(1),vec_splat_u32(9));
> +  const vector unsigned int v16ui = vec_sl(vec_splat_u16(1),vec_splat_u16(4));


[...]
-- 
Michael





More information about the ffmpeg-cvslog mailing list