[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