[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