cosmetics: Remove trailing whitespace.
[ffmpeg.git] / libswscale / yuv2rgb_altivec.c
index 72e418e8dafcd1c45c948087e804976a3f332de2..60cc0a4ac14cc70ae36ec32c56c068a49784e1c8 100644 (file)
@@ -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 @@ DEFCSP420_CVT (yuv2_abgr, out_abgr)
 #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 @@ static int altivec_yuv2_bgra32 (SwsContext *c,
        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 @@ static int altivec_yuv2_bgra32 (SwsContext *c,
        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 @@ static int altivec_uyvy_rgb32 (SwsContext *c,
 */
 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;