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

Diego Biurrun CVS diego
Tue Feb 21 23:24:22 CET 2006


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


Index: dsputil_h264_template_altivec.c
===================================================================
RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/ppc/dsputil_h264_template_altivec.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- dsputil_h264_template_altivec.c	12 Jan 2006 22:43:20 -0000	1.3
+++ dsputil_h264_template_altivec.c	21 Feb 2006 22:24:19 -0000	1.4
@@ -32,7 +32,7 @@
     const vector signed short vC = vec_splat((vector signed short)vABCD, 5);
     const vector signed short vD = vec_splat((vector signed short)vABCD, 7);
     const vector signed int vzero = vec_splat_s32(0);
-    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 unsigned short v6us = vec_splat_u16(6);
 
     vector unsigned char fperm;
@@ -167,10 +167,10 @@
   const vector unsigned char permP1 = vec_lvsl(+1, src);
   const vector unsigned char permP2 = vec_lvsl(+2, src);
   const vector unsigned char permP3 = vec_lvsl(+3, src);
-  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 unsigned char dstperm = vec_lvsr(0, dst);
   const vector unsigned char neg1 = (const vector unsigned char)vec_splat_s8(-1);
   const vector unsigned char dstmask = vec_perm((const vector unsigned char)vzero, neg1, dstperm);
@@ -305,10 +305,10 @@
 
   const vector signed int vzero = vec_splat_s32(0);
   const vector unsigned char perm = vec_lvsl(0, src);
-  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 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 signed short v16ss = vec_sl(vec_splat_s16(1),vec_splat_u16(4));
   const vector unsigned char dstperm = vec_lvsr(0, dst);
   const vector unsigned char neg1 = (const vector unsigned char)vec_splat_s8(-1);
   const vector unsigned char dstmask = vec_perm((const vector unsigned char)vzero, neg1, dstperm);
@@ -421,12 +421,12 @@
   const vector unsigned char permP1 = vec_lvsl(+1, src);
   const vector unsigned char permP2 = vec_lvsl(+2, src);
   const vector unsigned char permP3 = vec_lvsl(+3, src);
-  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 unsigned int v10ui = vec_splat_u32(10);
   const vector signed short v5ss = vec_splat_s16(5);
   const vector signed short v1ss = vec_splat_s16(1);
-  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));
 
   register int align = ((((unsigned long)src) - 2) % 16);
 





More information about the ffmpeg-cvslog mailing list