[xiph-commits] r11547 - branches/theora-playtime/lib

illiminable at svn.xiph.org illiminable at svn.xiph.org
Fri Jun 9 02:36:33 PDT 2006


Author: illiminable
Date: 2006-06-09 02:36:29 -0700 (Fri, 09 Jun 2006)
New Revision: 11547

Modified:
   branches/theora-playtime/lib/scan.c
Log:
* Tidy up RowDiffSCan and ApplyPakLowPass_Vectorised functions

Modified: branches/theora-playtime/lib/scan.c
===================================================================
--- branches/theora-playtime/lib/scan.c	2006-06-09 09:22:10 UTC (rev 11546)
+++ branches/theora-playtime/lib/scan.c	2006-06-09 09:36:29 UTC (rev 11547)
@@ -695,9 +695,8 @@
 {
 
 #if 0
-    //static __declspec(align(16)) unsigned char temp[8];
-    //static unsigned char* temp_ptr = temp;
-    int i;
+
+  int i;
   for (i = 0; i < 8; i++)
   {
       unsigned char * SrcPtr1 = SrcPtr - 1;
@@ -726,7 +725,7 @@
               (ogg_uint32_t)SrcPtr2[2 + i]   ) >> 3 );
   }
 
-  //return temp_ptr;
+
 #else
 
   /*                                                            
@@ -793,6 +792,8 @@
     static unsigned char* Low6WordsMaskPtr = (unsigned char*)Low6WordsMask;
     long    stride = ppi->PlaneStride;
     unsigned char* SrcPtrTopLeft = SrcPtr - stride - 1;
+
+
     __asm {
         align           16
 
@@ -858,9 +859,6 @@
             /* Clear the high 32 bits in the first register */
             pand        xmm1, xmm7
 
-            /* Create the inverse mask -- xmm6 = ~xmm7 */
-            //pxor        xmm6, xmm7
-
             /* Clear the low 6 bytes of the second register */
             pand        xmm2, xmm6
 
@@ -868,11 +866,8 @@
                 in each of the eight 3x3 adjacent blocks */
             por         xmm1, xmm2
 
-            
 
 
-
-
         /***************************************/
         /* BOTTOM ROW OF THE 8 SURROUNDING PIXELS */
         /***************************************/
@@ -888,11 +883,8 @@
 
         movq        xmm5, QWORD PTR [esi]
         movq        xmm2, QWORD PTR [esi + 2]       /* this one partly overlaps */
-        //movdqa      xmm7, [eax]
 
 
-
-
         /* Expand to 16 bits */
         punpcklbw   xmm5, xmm0
         punpcklbw   xmm2, xmm0
@@ -928,9 +920,6 @@
             /* Clear the high 32 bits in the first register */
             pand        xmm5, xmm7
 
-            /* Create the inverse mask -- xmm6 = ~xmm7 */
-            //pxor        xmm6, xmm7
-
             /* Clear the low 6 bytes of the second register */
             pand        xmm2, xmm6
 
@@ -984,14 +973,11 @@
             /* Clear the high 32 bits in the first register */
             pand        xmm1, xmm7
 
-            /* Create the inverse mask -- xmm6 = ~xmm7 */
-            //pxor        xmm6, xmm7
-
             /* Clear the low 6 bytes of the second register */
             pand        xmm2, xmm6
 
-            /* First register now contains all 8 triple sums ie. the sum of the top 3 pixels
-                in each of the eight 3x3 adjacent blocks */
+            /* First register now contains the sum of the left and right pixel
+                for each of the eight 3x3 adjacent blocks */
             por         xmm1, xmm2
 
 
@@ -1003,14 +989,10 @@
         /* Divide by 8 */
         psrlw           xmm1, 3
 
+        /* Write it into temp[0..16] */
         movdqa          [edi], xmm1
-
-
-
     }
 
-  
-
 #endif
 }
 



More information about the commits mailing list