diff libswscale/yuv2rgb_altivec.c @ 23129:9528d1ebe68f

cosmetics: Remove trailing whitespace.
author diego
date Thu, 26 Apr 2007 23:07:11 +0000
parents a14ddab18acd
children ebc55c913d73
line wrap: on
line diff
--- a/libswscale/yuv2rgb_altivec.c	Thu Apr 26 20:56:54 2007 +0000
+++ b/libswscale/yuv2rgb_altivec.c	Thu Apr 26 23:07:11 2007 +0000
@@ -59,7 +59,7 @@
 
   NOTE quartz vo driver ARGB32_to_RGB24 consumes 30% of the processor
 
-  Integrated luma prescaling adjustment for saturation/contrast/brightness adjustment. 
+  Integrated luma prescaling adjustment for saturation/contrast/brightness adjustment.
 */
 
 /*
@@ -443,105 +443,105 @@
 #if 1
 DEFCSP420_CVT (yuv2_bgra, out_bgra)
 #else
-static int altivec_yuv2_bgra32 (SwsContext *c,                                  
-				unsigned char **in, int *instrides,	   
-				int srcSliceY,	int srcSliceH,		   
-				unsigned char **oplanes, int *outstrides)  
-{									   
-  int w = c->srcW;							   
-  int h = srcSliceH;							   
-  int i,j;								   
-  int instrides_scl[3];							   
-  vector unsigned char y0,y1;						   
-									   
-  vector signed char  u,v;						   
-									   
-  vector signed short Y0,Y1,Y2,Y3;					   
-  vector signed short U,V;						   
-  vector signed short vx,ux,uvx;					   
-  vector signed short vx0,ux0,uvx0;					   
-  vector signed short vx1,ux1,uvx1;					   
-  vector signed short R0,G0,B0;						   
-  vector signed short R1,G1,B1;						   
-  vector unsigned char R,G,B;						   
-									   
-  vector unsigned char *uivP, *vivP;			   		   
-  vector unsigned char align_perm;					   
-									   
-  vector signed short 							   
-    lCY  = c->CY,							   
-    lOY  = c->OY,							   
-    lCRV = c->CRV,							   
-    lCBU = c->CBU,							   
-    lCGU = c->CGU,							   
-    lCGV = c->CGV;							   
-									   
-  vector unsigned short lCSHIFT = c->CSHIFT;				   
-									   
-  ubyte *y1i   = in[0];							   
-  ubyte *y2i   = in[0]+w;						   
-  ubyte *ui    = in[1];							   
-  ubyte *vi    = in[2];							   
-									   
-  vector unsigned char *oute						   
-    = (vector unsigned char *)						   
-        (oplanes[0]+srcSliceY*outstrides[0]);				   
-  vector unsigned char *outo						   
-    = (vector unsigned char *)						   
-        (oplanes[0]+srcSliceY*outstrides[0]+outstrides[0]);		   
-									   
-									   
-  instrides_scl[0] = instrides[0];					   
-  instrides_scl[1] = instrides[1]-w/2;  /* the loop moves ui by w/2 */	   
-  instrides_scl[2] = instrides[2]-w/2;  /* the loop moves vi by w/2 */	   
-									   
-									   
-  for (i=0;i<h/2;i++) {							   
-    vec_dstst (outo, (0x02000002|(((w*3+32)/32)<<16)), 0);                 
-    vec_dstst (oute, (0x02000002|(((w*3+32)/32)<<16)), 1);                 
-									   
-    for (j=0;j<w/16;j++) {						   
-									   
-      y0 = vec_ldl (0,y1i);						   
-      y1 = vec_ldl (0,y2i);						   
-      uivP = (vector unsigned char *)ui;				   
-      vivP = (vector unsigned char *)vi;				   
-									   
-      align_perm = vec_lvsl (0, ui);					   
-      u = (vector signed char)vec_perm (uivP[0], uivP[1], align_perm);	   
-									   
-      align_perm = vec_lvsl (0, vi);					   
+static int altivec_yuv2_bgra32 (SwsContext *c,
+				unsigned char **in, int *instrides,
+				int srcSliceY,	int srcSliceH,
+				unsigned char **oplanes, int *outstrides)
+{
+  int w = c->srcW;
+  int h = srcSliceH;
+  int i,j;
+  int instrides_scl[3];
+  vector unsigned char y0,y1;
+
+  vector signed char  u,v;
+
+  vector signed short Y0,Y1,Y2,Y3;
+  vector signed short U,V;
+  vector signed short vx,ux,uvx;
+  vector signed short vx0,ux0,uvx0;
+  vector signed short vx1,ux1,uvx1;
+  vector signed short R0,G0,B0;
+  vector signed short R1,G1,B1;
+  vector unsigned char R,G,B;
+
+  vector unsigned char *uivP, *vivP;
+  vector unsigned char align_perm;
+
+  vector signed short
+    lCY  = c->CY,
+    lOY  = c->OY,
+    lCRV = c->CRV,
+    lCBU = c->CBU,
+    lCGU = c->CGU,
+    lCGV = c->CGV;
+
+  vector unsigned short lCSHIFT = c->CSHIFT;
+
+  ubyte *y1i   = in[0];
+  ubyte *y2i   = in[0]+w;
+  ubyte *ui    = in[1];
+  ubyte *vi    = in[2];
+
+  vector unsigned char *oute
+    = (vector unsigned char *)
+        (oplanes[0]+srcSliceY*outstrides[0]);
+  vector unsigned char *outo
+    = (vector unsigned char *)
+        (oplanes[0]+srcSliceY*outstrides[0]+outstrides[0]);
+
+
+  instrides_scl[0] = instrides[0];
+  instrides_scl[1] = instrides[1]-w/2;  /* the loop moves ui by w/2 */
+  instrides_scl[2] = instrides[2]-w/2;  /* the loop moves vi by w/2 */
+
+
+  for (i=0;i<h/2;i++) {
+    vec_dstst (outo, (0x02000002|(((w*3+32)/32)<<16)), 0);
+    vec_dstst (oute, (0x02000002|(((w*3+32)/32)<<16)), 1);
+
+    for (j=0;j<w/16;j++) {
+
+      y0 = vec_ldl (0,y1i);
+      y1 = vec_ldl (0,y2i);
+      uivP = (vector unsigned char *)ui;
+      vivP = (vector unsigned char *)vi;
+
+      align_perm = vec_lvsl (0, ui);
+      u = (vector signed char)vec_perm (uivP[0], uivP[1], align_perm);
+
+      align_perm = vec_lvsl (0, vi);
       v = (vector signed char)vec_perm (vivP[0], vivP[1], align_perm);
       u  = (vector signed char)
      		vec_sub (u,(vector signed char)
 				vec_splat((vector signed char)AVV(128),0));
-      
+
       v  = (vector signed char)
       		vec_sub (v, (vector signed char)
 				vec_splat((vector signed char)AVV(128),0));
-      
-      U  = vec_unpackh (u);						   
-      V  = vec_unpackh (v);						   
-									   
-									   
-	Y0 = vec_unh (y0);						   
-	Y1 = vec_unl (y0);						   
-	Y2 = vec_unh (y1);						   
-	Y3 = vec_unl (y1);						   
-									   
-        Y0 = vec_mradds (Y0, lCY, lOY);					   
-        Y1 = vec_mradds (Y1, lCY, lOY);					   
-        Y2 = vec_mradds (Y2, lCY, lOY);					   
-        Y3 = vec_mradds (Y3, lCY, lOY);					   
-									   
-	/*   ux  = (CBU*(u<<CSHIFT)+0x4000)>>15 */			   
-	ux = vec_sl (U, lCSHIFT);					   
+
+      U  = vec_unpackh (u);
+      V  = vec_unpackh (v);
+
+
+	Y0 = vec_unh (y0);
+	Y1 = vec_unl (y0);
+	Y2 = vec_unh (y1);
+	Y3 = vec_unl (y1);
+
+        Y0 = vec_mradds (Y0, lCY, lOY);
+        Y1 = vec_mradds (Y1, lCY, lOY);
+        Y2 = vec_mradds (Y2, lCY, lOY);
+        Y3 = vec_mradds (Y3, lCY, lOY);
+
+	/*   ux  = (CBU*(u<<CSHIFT)+0x4000)>>15 */
+	ux = vec_sl (U, lCSHIFT);
 	ux = vec_mradds (ux, lCBU, (vector signed short)AVV(0));
-	ux0  = vec_mergeh (ux,ux);					   
-	ux1  = vec_mergel (ux,ux);					   
-									   
-	/* vx  = (CRV*(v<<CSHIFT)+0x4000)>>15;	*/			   
-	vx = vec_sl (V, lCSHIFT);					   
+	ux0  = vec_mergeh (ux,ux);
+	ux1  = vec_mergel (ux,ux);
+
+	/* vx  = (CRV*(v<<CSHIFT)+0x4000)>>15;	*/
+	vx = vec_sl (V, lCSHIFT);
 	vx = vec_mradds (vx, lCRV, (vector signed short)AVV(0));
 	vx0  = vec_mergeh (vx,vx);
 	vx1  = vec_mergel (vx,vx);
@@ -559,7 +559,7 @@
 	R  = vec_packclp (R0,R1);
 	G  = vec_packclp (G0,G1);
 	B  = vec_packclp (B0,B1);
-	
+
 	out_argb(R,G,B,oute);
 	R0 = vec_add (Y2,vx0);
 	G0 = vec_add (Y2,uvx0);
@@ -570,24 +570,24 @@
 	R  = vec_packclp (R0,R1);
 	G  = vec_packclp (G0,G1);
 	B  = vec_packclp (B0,B1);
-	
+
 	out_argb(R,G,B,outo);
-	y1i  += 16;							   
-	y2i  += 16;							   
+	y1i  += 16;
+	y2i  += 16;
 	ui   += 8;
-	vi   += 8;							   
-									   
-    }									   
-									   
-    outo += (outstrides[0])>>4;					           
-    oute += (outstrides[0])>>4;					           
-									   
-    ui    += instrides_scl[1];						   
-    vi    += instrides_scl[2];						   
-    y1i   += instrides_scl[0];						   
-    y2i   += instrides_scl[0];						   
-  }									   
-  return srcSliceH;							   
+	vi   += 8;
+
+    }
+
+    outo += (outstrides[0])>>4;
+    oute += (outstrides[0])>>4;
+
+    ui    += instrides_scl[1];
+    vi    += instrides_scl[2];
+    y1i   += instrides_scl[0];
+    y2i   += instrides_scl[0];
+  }
+  return srcSliceH;
 }
 
 #endif
@@ -686,15 +686,15 @@
 */
 SwsFunc yuv2rgb_init_altivec (SwsContext *c)
 {
-  if (!(c->flags & SWS_CPU_CAPS_ALTIVEC))    
+  if (!(c->flags & SWS_CPU_CAPS_ALTIVEC))
     return NULL;
 
   /*
-    and this seems not to matter too much I tried a bunch of 
+    and this seems not to matter too much I tried a bunch of
     videos with abnormal widths and mplayer crashes else where.
-    mplayer -vo x11 -rawvideo on:w=350:h=240 raw-350x240.eyuv 
+    mplayer -vo x11 -rawvideo on:w=350:h=240 raw-350x240.eyuv
     boom with X11 bad match.
-    
+
   */
   if ((c->srcW & 0xf) != 0)    return NULL;