[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