[xiph-cvs] cvs commit: vp32/CoreLibs/CDXV/vpxblit/mac/ppcasm bct00.s bct00av.c bct10.s bct10av.c

Mauricio Piacentini mauricio at xiph.org
Sat Jul 26 17:07:09 PDT 2003



mauricio    03/07/26 20:07:09

  Modified:    Codecs/qt_macosx/Mac/Include dxlqt_OSXconfig.r dxlqt_codec.r
               Codecs/quicktime/Generic dxlqt_codec.r
               Codecs/quicktime/mac/include vp3qt_config.r
               CoreLibs/CDXV/vpxblit/mac/ppcasm bct00.s bct00av.c bct10.s
                        bct10av.c
  Log:
  checkin to allow transparency when playing movies in the Dock. Assembly patch submitted by Steve Nicolai. Tested and verified under MacOS9 and OSX, bumps version number to allow auto update. Binary codecs will be checked in to the ftp server.

Revision  Changes    Path
1.4       +1 -1      vp32/Codecs/qt_macosx/Mac/Include/dxlqt_OSXconfig.r

Index: dxlqt_OSXconfig.r
===================================================================
RCS file: /usr/local/cvsroot/vp32/Codecs/qt_macosx/Mac/Include/dxlqt_OSXconfig.r,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- dxlqt_OSXconfig.r	8 May 2003 21:38:14 -0000	1.3
+++ dxlqt_OSXconfig.r	27 Jul 2003 00:07:08 -0000	1.4
@@ -11728,7 +11728,7 @@
         $"0000 0000 0014 00A2 A95A C002 4E29 0000"            /* .......¢©ZÀ.N).. */
         $"0000 0000 0014 00A2 B6AE C002 4E29 0000"            /* .......¢¶®À.N).. */
         $"0000 00A0 010E 00B0 0186 8810 5665 7273"            /* ... ...°.†ˆ.Vers */
-	$"696F 6E3A 2033 2E32 2E32 2E30 0000 0000"            /* ion: 3.2.2.0.... */
+	$"696F 6E3A 2033 2E32 2E32 2E30 0000 0000"            /* ion: 3.2.7.0.... */
         $"0000 0014 00A2 0186 C002 4E29"                      /* .....¢.†À.N) */
 };
 

<p><p>1.6       +2 -2      vp32/Codecs/qt_macosx/Mac/Include/dxlqt_codec.r

Index: dxlqt_codec.r
===================================================================
RCS file: /usr/local/cvsroot/vp32/Codecs/qt_macosx/Mac/Include/dxlqt_codec.r,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- dxlqt_codec.r	8 May 2003 21:38:15 -0000	1.5
+++ dxlqt_codec.r	27 Jul 2003 00:07:08 -0000	1.6
@@ -41,8 +41,8 @@
 //*************************************************************************
 //	Version INFO
 //*************************************************************************
-#define SHORTVERSIONSTRING "3.2.6.1"
-#define LONGVERSIONSTRING "On2 VP3 Video Codec 3.2.6.1\nOn2 Technologies, The Duck Corporation 2001\nXiph.Org 2003"
+#define SHORTVERSIONSTRING "3.2.7.0"
+#define LONGVERSIONSTRING "On2 VP3 Video Codec 3.2.7.0\nOn2 Technologies, The Duck Corporation 2001\nXiph.Org 2003"
 
  resource 'vers' (1, purgeable) {
     0x03, 0x21, final, 0x03, verUS,

<p><p>1.5       +2 -2      vp32/Codecs/quicktime/Generic/dxlqt_codec.r

Index: dxlqt_codec.r
===================================================================
RCS file: /usr/local/cvsroot/vp32/Codecs/quicktime/Generic/dxlqt_codec.r,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- dxlqt_codec.r	8 May 2003 21:38:16 -0000	1.4
+++ dxlqt_codec.r	27 Jul 2003 00:07:08 -0000	1.5
@@ -39,8 +39,8 @@
 //*************************************************************************
 //	Version INFO
 //*************************************************************************
-#define SHORTVERSIONSTRING "3.2.6.1"
-#define LONGVERSIONSTRING "VP3 Video Codec 3.2.6.1\nOn2 Technologies, The Duck Corporation 2001\nXiph.Org 2003"
+#define SHORTVERSIONSTRING "3.2.7.0"
+#define LONGVERSIONSTRING "VP3 Video Codec 3.2.7.0\nOn2 Technologies, The Duck Corporation 2001\nXiph.Org 2003"
 
  resource 'vers' (1, purgeable) {
     0x03, 0x20, final, 0x03, verUS,

<p><p>1.4       +1 -1      vp32/Codecs/quicktime/mac/include/vp3qt_config.r

Index: vp3qt_config.r
===================================================================
RCS file: /usr/local/cvsroot/vp32/Codecs/quicktime/mac/include/vp3qt_config.r,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- vp3qt_config.r	8 May 2003 21:38:16 -0000	1.3
+++ vp3qt_config.r	27 Jul 2003 00:07:08 -0000	1.4
@@ -11380,7 +11380,7 @@
         $"0000 0000 0014 00A2 A95A C002 4E29 0000"            /* .......¢©ZÀ.N).. */
         $"0000 0000 0014 00A2 B6AE C002 4E29 0000"            /* .......¢¶®À.N).. */
         $"0000 00A0 0124 00AF 0186 8810 5665 7273"            /* ... .$.¯.†ˆ.Vers */
-	$"696F 6E3A 2033 2E32 2E32 2E30 0000 0000"            /* ion: 3.2.2.0.... */
+	$"696F 6E3A 2033 2E32 2E32 2E30 0000 0000"            /* ion: 3.2.7.0.... */
         $"0000 0014 00A2 0186 C002 4E29 0000 0000"            /* .....¢.†À.N).... */
         $"00E6 0014 018F 0180 8000"                           /* .æ....€€. */
 };

<p><p>1.2       +10 -8     vp32/CoreLibs/CDXV/vpxblit/mac/ppcasm/bct00.s

Index: bct00.s
===================================================================
RCS file: /usr/local/cvsroot/vp32/CoreLibs/CDXV/vpxblit/mac/ppcasm/bct00.s,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- bct00.s	6 Sep 2001 14:57:34 -0000	1.1
+++ bct00.s	27 Jul 2003 00:07:09 -0000	1.2
@@ -94,17 +94,18 @@
     rlwinm      r27,r13,17,23,30        ;get y1 * 2
 
     lhax        r22,r9,r22              ;Y0
-	xor			r12,r12,r12				;used to mask alpha
+	addis       r12,0,65280             ;r12 = 0xff000000 for solid alpha
 
     lhax        r24,r11,r24             ;CrforG
-    add         r28,r26,r22             ;R0
     add         r29,r25,r22             ;B0
+    add         r28,r26,r22             ;R0
 
-    lbzx        r28,r28,r20             ;get the real R0
+    lbzx        r29,r29,r20             ;get the real B0
     add         r23,r23,r24             ;CrforG + CbforG
 
-    lbzx        r29,r29,r20             ;get the real B0
+    lbzx        r28,r28,r20             ;get the real R0
     subf        r22,r23,r22             ;G0
+    or          r29,r29,r12             ;set alpha to 0xff
 
     lbzx        r0,r22,r20              ;get the real G0
     insrwi      r29,r28,8,8             ;insert R0
@@ -146,17 +147,18 @@
     rlwinm      r27,r13,1,23,30         ;get y3 * 2
 
     lhax        r22,r9,r22              ;Y0
-	xor			r12,r12,r12
+	addis       r12,0,65280             ;r12 = 0xff000000 for solid alpha
 
     lhax        r24,r11,r24             ;CrforG
-    add         r28,r26,r22             ;R0
     add         r29,r25,r22             ;B0
+    add         r28,r26,r22             ;R0
 
-    lbzx        r28,r28,r20             ;get the real R0
+    lbzx        r29,r29,r20             ;get the real B0
     add         r23,r23,r24             ;CrforG + CbforG
 
-    lbzx        r29,r29,r20             ;get the real B0
+    lbzx        r28,r28,r20             ;get the real R0
     subf        r22,r23,r22             ;G0
+    or          r29,r29,r12             ;set alpha to 0xff
 
     lbzx        r0,r22,r20              ;get the real G0
     insrwi      r29,r28,8,8             ;insert R0

<p><p>1.2       +11 -1     vp32/CoreLibs/CDXV/vpxblit/mac/ppcasm/bct00av.c

Index: bct00av.c
===================================================================
RCS file: /usr/local/cvsroot/vp32/CoreLibs/CDXV/vpxblit/mac/ppcasm/bct00av.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- bct00av.c	6 Sep 2001 14:57:34 -0000	1.1
+++ bct00av.c	27 Jul 2003 00:07:09 -0000	1.2
@@ -17,6 +17,7 @@
 
 void bct00av(unsigned char *_ptrScreen, int thisPitch, YUV_BUFFER_CONFIG *src)
 {
+	register vector unsigned int alpha = (vector unsigned int)(0xff000000, 0xff000000, 0xff000000, 0xff000000);
 
         /* only use this loop if the dest starts on a 16byte boundary and the pitch is a multiple of 16 */
         if((!((unsigned long)_ptrScreen & 0xf)) && !(thisPitch & 0xf))
@@ -152,12 +153,13 @@
 //			lvsr		v10,r3,r26									//store alignment vector
                         vsubshs		v14,v14,v12									//almost second g's
 //			vperm		v21,v21,v21,v10
+			vor         v21,v21,alpha
 
                         vsubshs		v14,v14,v11									//second g's
                         vmrglh		v20,v8,v20									//0 r g b 0 r g b 0 r g b 0 r g b
 
-
                         stvx 		v21,r3,r26
+			vor         v20,v20,alpha
 //			vperm		v20,v20,v20,v10
                         addi		r26,r26,16
                         
@@ -176,11 +178,13 @@
                         vmrghh		v12,v11,v14									//0 r g b 0 r g b 0 r g b 0 r g b
                         
                         vmrglh		v11,v11,v14									//0 r g b 0 r g b 0 r g b 0 r g b
+			vor         v12,v12,alpha
 //			lvsr		v10,r3,r26									//store alignment vector
 
 //			vperm		v12,v12,v12,v10
                         
                         stvx 		v12,r3,r26
+			vor         v11,v11,alpha
 //			vperm		v11,v11,v11,v10
                         addi		r26,r26,16
 
@@ -341,6 +345,7 @@
                         vperm		v21,v21,v21,v10
 
                         vsubshs		v14,v14,v11									//second g's
+			vor         v21,v21,alpha
                         vmrglh		v20,v8,v20									//0 r g b 0 r g b 0 r g b 0 r g b
 
 
@@ -352,6 +357,8 @@
                         vpkshus		v15,v15,v15									//8 r's
                         addi		r26,r26,4
                         
+			vor         v20,v20,alpha
+			
                         stvewx		v21,r3,r26									//pixel 2
                         vpkshus		v16,v16,v16									//8 b's
                         addi		r26,r26,4
@@ -379,11 +386,14 @@
                         lvsr		v10,r3,r26									//store alignment vector
                         vperm		v12,v12,v12,v10
                         
+			vor         v12,v12,alpha
+			
                         stvewx		v12,r3,r26									//pixel 8
                         vperm		v11,v11,v11,v10
                         addi		r26,r26,4
 
                         stvewx		v12,r3,r26									//pixel 9
+			vor         v11,v11,alpha
                         addi		r26,r26,4
                         
                         stvewx		v12,r3,r26									//pixel 10

<p><p>1.2       +10 -8     vp32/CoreLibs/CDXV/vpxblit/mac/ppcasm/bct10.s

Index: bct10.s
===================================================================
RCS file: /usr/local/cvsroot/vp32/CoreLibs/CDXV/vpxblit/mac/ppcasm/bct10.s,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- bct10.s	6 Sep 2001 14:57:34 -0000	1.1
+++ bct10.s	27 Jul 2003 00:07:09 -0000	1.2
@@ -94,17 +94,18 @@
     rlwinm      r27,r13,17,23,30        ;get y1 * 2
 
     lhax        r22,r9,r22              ;Y0
-	xor			r12,r12,r12				;used to mask alpha
+	addis       r12,0,65280             ;r12 = 0xff000000 for solid alpha 
 
     lhax        r24,r11,r24             ;CrforG
-    add         r28,r26,r22             ;R0
     add         r29,r25,r22             ;B0
+    add         r28,r26,r22             ;R0
 
-    lbzx        r28,r28,r20             ;get the real R0
+    lbzx        r29,r29,r20             ;get the real B0
     add         r23,r23,r24             ;CrforG + CbforG
 
-    lbzx        r29,r29,r20             ;get the real B0
+    lbzx        r28,r28,r20             ;get the real R0
     subf        r22,r23,r22             ;G0
+    or          r29,r29,r12             ;set alpha to 0xff
 
     lbzx        r0,r22,r20              ;get the real G0
     insrwi      r29,r28,8,8             ;insert R0
@@ -152,17 +153,18 @@
     rlwinm      r27,r13,1,23,30         ;get y3 * 2
 
     lhax        r22,r9,r22              ;Y0
-	xor			r12,r12,r12
+	addis       r12,0,65280             ;r12 = 0xff000000 for solid alpha 
 
     lhax        r24,r11,r24             ;CrforG
-    add         r28,r26,r22             ;R0
     add         r29,r25,r22             ;B0
+    add         r28,r26,r22             ;R0
 
-    lbzx        r28,r28,r20             ;get the real R0
+    lbzx        r29,r29,r20             ;get the real B0
     add         r23,r23,r24             ;CrforG + CbforG
 
-    lbzx        r29,r29,r20             ;get the real B0
+    lbzx        r28,r28,r20             ;get the real R0
     subf        r22,r23,r22             ;G0
+    or          r29,r29,r12             ;set alpha to 0xff
 
     lbzx        r0,r22,r20              ;get the real G0
     insrwi      r29,r28,8,8             ;insert R0

<p><p>1.2       +30 -2     vp32/CoreLibs/CDXV/vpxblit/mac/ppcasm/bct10av.c

Index: bct10av.c
===================================================================
RCS file: /usr/local/cvsroot/vp32/CoreLibs/CDXV/vpxblit/mac/ppcasm/bct10av.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- bct10av.c	6 Sep 2001 14:57:34 -0000	1.1
+++ bct10av.c	27 Jul 2003 00:07:09 -0000	1.2
@@ -17,6 +17,7 @@
 
 void bct10av(unsigned char *_ptrScreen, int thisPitch, YUV_BUFFER_CONFIG *src)
 {
+	register vector unsigned int alpha = (vector unsigned int)(0xff000000, 0xff000000, 0xff000000, 0xff000000);
 
         /* only use this loop if the dest starts on a 16byte boundary and the pitch is a multiple of 16 */
         if((!((unsigned long)_ptrScreen & 0xf)) && !(thisPitch & 0xf))
@@ -155,10 +156,14 @@
                         vsubshs		v14,v14,v11									//second g's
                         vmrghw		v10,v21,v21									//double h pixels
                         
+			vor         v10,v10,alpha
+			
                         stvx 		v10,r3,r26
                         vmrglw		v21,v21,v21									//double l pixels
                         addi		r26,r26,16
                         
+			vor         v21,v21,alpha
+			
                         stvx 		v21,r3,r26
                         vpkshus		v15,v15,v15									//8 r's
                         addi		r26,r26,16
@@ -170,11 +175,14 @@
                         vmrghw		v10,v20,v20									//double h pixels
 
                         vmrglw		v20,v20,v20									//double l pixels
+			vor         v10,v10,alpha
 
                         stvx 		v10,r3,r26
                         vmrghb		v11,v7,v15									//0 r 0 r 0 r 0 r 0 r 0 r 0 r 0 r
                         addi		r26,r26,16
                         
+			vor         v20,v20,alpha
+			
                         stvx 		v20,r3,r26
                         vmrghb		v14,v14,v16									//g b g b g b g b g b g b g b g b 
                         addi		r26,r26,16
@@ -184,18 +192,26 @@
                         vmrglh		v11,v11,v14									//0 r g b 0 r g b 0 r g b 0 r g b
                         
                         vmrghw		v10,v12,v12									//double h pixels
+			
+			vor         v10,v10,alpha
 
                         stvx 		v10,r3,r26
                         vmrglw		v12,v12,v12									//double l pixels
                         addi		r26,r26,16
+			
+			vor         v12,v12,alpha
 
                         stvx 		v12,r3,r26
                         vmrghw		v10,v11,v11									//double h pixels
                         addi		r26,r26,16
+			
+			vor         v10,v10,alpha
 
                         stvx 		v10,r3,r26
                         vmrglw		v11,v11,v11									//double l pixels
                         addi		r26,r26,16
+			
+			vor         v11,v11,alpha
 
                         stvx 		v11,r3,r26
                         addi		r26,r26,16
@@ -361,6 +377,8 @@
 
                         vperm		v21,v21,v21,v10
                         vperm		v8,v8,v8,v10
+			
+			vor         v21,v21,alpha
 
                         stvewx		v21,r3,r26									//pixel 0
 //			vperm		v20,v20,v20,v10
@@ -377,6 +395,8 @@
                         stvewx		v21,r3,r26									//pixel 3
                         vpkshus		v14,v14,v14									//8 g's
                         addi		r26,r26,4
+			
+			vor         v8,v8,alpha
 
                         stvewx		v8,r3,r26									//pixel 4
                         vmrghb		v11,v7,v15									//0 r 0 r 0 r 0 r 0 r 0 r 0 r 0 r
@@ -401,6 +421,8 @@
                         vmrghw		v20,v20,v20							
 
                         vperm		v20,v20,v20,v10
+			
+			vor         v20,v20,alpha
 
                         stvewx		v20,r3,r26									//pixel 8
                         vperm		v9,v9,v9,v10
@@ -408,6 +430,7 @@
                         addi		r26,r26,4
 
                         stvewx		v20,r3,r26									//pixel 9
+			vor         v9,v9,alpha
                         addi		r26,r26,4
 
                         stvewx		v20,r3,r26									//pixel 10
@@ -433,7 +456,9 @@
                         lvsr		v10,r3,r26									//store alignment vector
 
                         vperm		v12,v12,v12,v10
-//
+
+			vor         v12,v12,alpha
+			
                         stvewx		v12,r3,r26									//pixel 16
                         vperm		v8,v8,v8,v10
 //			vperm		v11,v11,v11,v10
@@ -448,6 +473,7 @@
                         addi		r26,r26,4
 
                         stvewx		v12,r3,r26									//pixel 19
+			vor         v8,v8,alpha
                         addi		r26,r26,4
 
                         stvewx		v8,r3,r26									//pixel 20
@@ -466,13 +492,15 @@
                         lvsr		v10,r3,r26									//store alignment vector
 
                         vperm		v11,v11,v11,v10
-//
+
+			vor         v11,v11,alpha
 
                         stvewx		v11,r3,r26									//pixel 24
                         vperm		v9,v9,v9,v10
                         addi		r26,r26,4
 
                         stvewx		v11,r3,r26									//pixel 25
+			vor         v9,v9,alpha
                         addi		r26,r26,4
 
                         stvewx		v11,r3,r26									//pixel 26

<p><p>--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'cvs-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the commits mailing list