Hello community,
here is the log from the commit of package xorg-x11-driver-video
checked in at Mon Jul 21 15:55:13 CEST 2008.
--------
--- xorg-x11-driver-video/xorg-x11-driver-video.changes 2008-07-14 15:40:53.000000000 +0200
+++ xorg-x11-driver-video/xorg-x11-driver-video.changes 2008-07-19 15:30:41.492934000 +0200
@@ -1,0 +2,6 @@
+Sat Jul 19 15:29:58 CEST 2008 - sndirsch@suse.de
+
+- xf86-video-vmware 10.16.3
+ * minor release, which includes a couple of Xv fixes
+
+-------------------------------------------------------------------
Old:
----
xf86-video-vmware-10.16.2.tar.bz2
New:
----
xf86-video-vmware-10.16.3.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xorg-x11-driver-video.spec ++++++
--- /var/tmp/diff_new_pack.T17784/_old 2008-07-21 15:53:19.000000000 +0200
+++ /var/tmp/diff_new_pack.T17784/_new 2008-07-21 15:53:19.000000000 +0200
@@ -15,7 +15,7 @@
BuildRequires: Mesa-devel libdrm-devel pkgconfig xorg-x11-proto-devel xorg-x11-server-sdk
Url: http://xorg.freedesktop.org/
Version: 7.3
-Release: 149
+Release: 153
License: X11/MIT
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Group: System/X11/Servers/XF86_4
@@ -56,7 +56,7 @@
Source38: xf86-video-vesa-2.0.0.tar.bz2
Source39: xf86-video-vga-X11R7.1-4.1.0.tar.bz2
Source40: xf86-video-via-0.2.2.tar.bz2
-Source41: xf86-video-vmware-10.16.2.tar.bz2
+Source41: xf86-video-vmware-10.16.3.tar.bz2
Source42: xf86-video-voodoo-1.2.0.tar.bz2
Source43: xf86-video-impact-0.2.0.tar.bz2
Source44: HALlib-4.1.tar.gz
@@ -267,6 +267,9 @@
/var/lib/hardware/ids/20.%{name}
%changelog
+* Sat Jul 19 2008 sndirsch@suse.de
+- xf86-video-vmware 10.16.3
+ * minor release, which includes a couple of Xv fixes
* Mon Jul 14 2008 sndirsch@suse.de
- no longer use XAA as default for intel driver; Intel upstream
developers no longer support it
++++++ xf86-video-vmware-10.16.2.tar.bz2 -> xf86-video-vmware-10.16.3.tar.bz2 ++++++
++++ 7240 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-vmware-10.16.2/config.h.in new/xf86-video-vmware-10.16.3/config.h.in
--- old/xf86-video-vmware-10.16.2/config.h.in 2008-06-12 23:30:06.000000000 +0200
+++ new/xf86-video-vmware-10.16.3/config.h.in 2008-07-18 22:59:56.000000000 +0200
@@ -56,6 +56,15 @@
/* Define to the version of this package. */
#undef PACKAGE_VERSION
+/* Major version of this package */
+#undef PACKAGE_VERSION_MAJOR
+
+/* Minor version of this package */
+#undef PACKAGE_VERSION_MINOR
+
+/* Patch version of this package */
+#undef PACKAGE_VERSION_PATCHLEVEL
+
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-vmware-10.16.2/configure.ac new/xf86-video-vmware-10.16.3/configure.ac
--- old/xf86-video-vmware-10.16.2/configure.ac 2008-06-12 23:28:19.000000000 +0200
+++ new/xf86-video-vmware-10.16.3/configure.ac 2008-07-18 23:00:31.000000000 +0200
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-vmware],
- 10.16.2,
+ 10.16.3,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-vmware)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-vmware-10.16.2/missing new/xf86-video-vmware-10.16.3/missing
--- old/xf86-video-vmware-10.16.2/missing 2008-03-17 07:40:58.000000000 +0100
+++ new/xf86-video-vmware-10.16.3/missing 2008-07-18 22:59:57.000000000 +0200
@@ -1,9 +1,9 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-scriptversion=2006-05-10.23
+scriptversion=2005-06-08.21
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
# Free Software Foundation, Inc.
# Originally by Fran,cois Pinard , 1996.
@@ -33,8 +33,6 @@
fi
run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
# In the cases where this matters, `missing' is being run in the
# srcdir already.
@@ -46,7 +44,7 @@
msg="missing on your system"
-case $1 in
+case "$1" in
--run)
# Try to run requested program, and just exit if it succeeds.
run=
@@ -79,7 +77,6 @@
aclocal touch file \`aclocal.m4'
autoconf touch file \`configure'
autoheader touch file \`config.h.in'
- autom4te touch the output file, or create a stub one
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
@@ -109,7 +106,7 @@
# Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect
# the program).
-case $1 in
+case "$1" in
lex|yacc)
# Not GNU programs, they don't have --version.
;;
@@ -138,7 +135,7 @@
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
-case $1 in
+case "$1" in
aclocal*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
@@ -167,7 +164,7 @@
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
- case $f in
+ case "$f" in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
@@ -195,8 +192,8 @@
You can get \`$1' as part of \`Autoconf' from any GNU
archive site."
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
+ test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
if test -f "$file"; then
touch $file
else
@@ -217,25 +214,25 @@
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
- if test $# -ne 1; then
+ if [ $# -ne 1 ]; then
eval LASTARG="\${$#}"
- case $LASTARG in
+ case "$LASTARG" in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if test -f "$SRCFILE"; then
+ if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" y.tab.c
fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if test -f "$SRCFILE"; then
+ if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" y.tab.h
fi
;;
esac
fi
- if test ! -f y.tab.h; then
+ if [ ! -f y.tab.h ]; then
echo >y.tab.h
fi
- if test ! -f y.tab.c; then
+ if [ ! -f y.tab.c ]; then
echo 'main() { return 0; }' >y.tab.c
fi
;;
@@ -247,18 +244,18 @@
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
rm -f lex.yy.c
- if test $# -ne 1; then
+ if [ $# -ne 1 ]; then
eval LASTARG="\${$#}"
- case $LASTARG in
+ case "$LASTARG" in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if test -f "$SRCFILE"; then
+ if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" lex.yy.c
fi
;;
esac
fi
- if test ! -f lex.yy.c; then
+ if [ ! -f lex.yy.c ]; then
echo 'main() { return 0; }' >lex.yy.c
fi
;;
@@ -270,9 +267,11 @@
\`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site."
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
+ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ if test -z "$file"; then
+ file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
+ fi
+ if [ -f "$file" ]; then
touch $file
else
test -z "$file" || exec >$file
@@ -290,17 +289,11 @@
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
# The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
# ... or it is the one specified with @setfilename ...
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '
- /^@setfilename/{
- s/.* \([^ ]*\) *$/\1/
- p
- q
- }' $infile`
+ file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
# ... or it is derived from the source name (dir/f.texi becomes f.info)
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
fi
@@ -324,13 +317,13 @@
fi
firstarg="$1"
if shift; then
- case $firstarg in
+ case "$firstarg" in
*o*)
firstarg=`echo "$firstarg" | sed s/o//`
tar "$firstarg" "$@" && exit 0
;;
esac
- case $firstarg in
+ case "$firstarg" in
*h*)
firstarg=`echo "$firstarg" | sed s/h//`
tar "$firstarg" "$@" && exit 0
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-vmware-10.16.2/src/svga_overlay.h new/xf86-video-vmware-10.16.3/src/svga_overlay.h
--- old/xf86-video-vmware-10.16.2/src/svga_overlay.h 2008-04-19 00:02:27.000000000 +0200
+++ new/xf86-video-vmware-10.16.3/src/svga_overlay.h 2008-07-18 22:58:58.000000000 +0200
@@ -17,6 +17,7 @@
#define VMWARE_FOURCC_YV12 0x32315659 /* 'Y' 'V' '1' '2' */
#define VMWARE_FOURCC_YUY2 0x32595559 /* 'Y' 'U' 'Y' '2' */
+#define VMWARE_FOURCC_UYVY 0x59565955 /* 'U' 'Y' 'V' 'Y' */
#define SVGA_ESCAPE_VMWARE_VIDEO 0x00020000
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-vmware-10.16.2/src/vmware.c new/xf86-video-vmware-10.16.3/src/vmware.c
--- old/xf86-video-vmware-10.16.2/src/vmware.c 2008-06-12 23:28:56.000000000 +0200
+++ new/xf86-video-vmware-10.16.3/src/vmware.c 2008-07-18 23:00:45.000000000 +0200
@@ -83,7 +83,7 @@
#define VMWARE_DRIVER_NAME "vmware"
#define VMWARE_MAJOR_VERSION 10
#define VMWARE_MINOR_VERSION 16
-#define VMWARE_PATCHLEVEL 2
+#define VMWARE_PATCHLEVEL 3
#define VMWARE_DRIVER_VERSION \
(VMWARE_MAJOR_VERSION * 65536 + VMWARE_MINOR_VERSION * 256 + VMWARE_PATCHLEVEL)
#define VMWARE_DRIVER_VERSION_STRING \
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-vmware-10.16.2/src/vmwarevideo.c new/xf86-video-vmware-10.16.3/src/vmwarevideo.c
--- old/xf86-video-vmware-10.16.2/src/vmwarevideo.c 2008-04-22 21:05:18.000000000 +0200
+++ new/xf86-video-vmware-10.16.3/src/vmwarevideo.c 2008-07-18 22:58:58.000000000 +0200
@@ -59,9 +59,9 @@
#define VMWARE_VID_NUM_PORTS 1
/*
- * Using green as the default colorKey
+ * Using a dark shade as the default colorKey
*/
-#define VMWARE_VIDEO_COLORKEY 0x00ff00
+#define VMWARE_VIDEO_COLORKEY 0x100701
/*
* Maximum dimensions
@@ -87,14 +87,15 @@
{ 24, TrueColor}
};
-#define VMWARE_VID_NUM_IMAGES 2
+#define VMWARE_VID_NUM_IMAGES 3
static XF86ImageRec vmwareVideoImages[] =
{
XVIMAGE_YV12,
- XVIMAGE_YUY2
+ XVIMAGE_YUY2,
+ XVIMAGE_UYVY
};
-#define VMWARE_VID_NUM_ATTRIBUTES 1
+#define VMWARE_VID_NUM_ATTRIBUTES 2
static XF86AttributeRec vmwareVideoAttributes[] =
{
{
@@ -102,6 +103,12 @@
0x000000,
0xffffff,
"XV_COLORKEY"
+ },
+ {
+ XvGettable | XvSettable,
+ 0,
+ 1,
+ "XV_AUTOPAINT_COLORKEY"
}
};
@@ -147,7 +154,7 @@
int (*play)(ScrnInfoPtr, struct VMWAREVideoRec *,
short, short, short, short, short,
short, short, short, int, unsigned char*,
- short, short);
+ short, short, RegionPtr);
/*
* Offscreen memory region used to pass video data to the host.
*/
@@ -156,7 +163,9 @@
uint8 currBuf;
uint32 size;
uint32 colorKey;
+ Bool isAutoPaintColorkey;
uint32 flags;
+ BoxRec position;
VMWAREVideoFmtData *fmt_priv;
};
@@ -202,7 +211,8 @@
short src_x, short src_y, short drw_x,
short drw_y, short src_w, short src_h,
short drw_w, short drw_h, int format,
- unsigned char *buf, short width, short height);
+ unsigned char *buf, short width,
+ short height, RegionPtr clipBoxes);
static int vmwareVideoInitAttributes(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid,
int format, unsigned short width,
unsigned short height);
@@ -211,11 +221,13 @@
short drw_y, short src_w, short src_h,
short drw_w, short drw_h, int format,
unsigned char *buf, short width,
- short height);
+ short height, RegionPtr clipBoxes);
static void vmwareVideoFlush(VMWAREPtr pVMWARE, uint32 streamId);
static void vmwareVideoSetOneReg(VMWAREPtr pVMWARE, uint32 streamId,
uint32 regId, uint32 value);
static void vmwareVideoEndStream(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid);
+static Bool vmwareVideoMoved(VMWAREVideoPtr pVid, short drw_x,
+ short drw_y, short drw_w, short drw_h);
/*
* Offscreen memory manager functions
@@ -557,6 +569,7 @@
pPriv[i].play = vmwareVideoInitStream;
pPriv[i].flags = SVGA_VIDEO_FLAG_COLORKEY;
pPriv[i].colorKey = VMWARE_VIDEO_COLORKEY;
+ pPriv[i].isAutoPaintColorkey = TRUE;
adaptor->pPortPrivates[i].ptr = &pPriv[i];
}
pVMWARE->videoStreams = du;
@@ -607,7 +620,8 @@
short src_x, short src_y, short drw_x,
short drw_y, short src_w, short src_h,
short drw_w, short drw_h, int format,
- unsigned char *buf, short width, short height)
+ unsigned char *buf, short width,
+ short height, RegionPtr clipBoxes)
{
VMWAREPtr pVMWARE = VMWAREPTR(pScrn);
int i;
@@ -646,12 +660,21 @@
}
pVid->currBuf = 0;
+ pVid->position.x1 = drw_x;
+ pVid->position.y1 = drw_y;
+ pVid->position.x2 = drw_w;
+ pVid->position.y2 = drw_h;
+
+ if (pVid->isAutoPaintColorkey) {
+ xf86XVFillKeyHelper(pScrn->pScreen, pVid->colorKey, clipBoxes);
+ }
+
VmwareLog(("Got offscreen region, offset %d, size %d "
"(yuv size in bytes: %d)\n",
pVid->fbarea->offset, pVid->fbarea->size, pVid->size));
return pVid->play(pScrn, pVid, src_x, src_y, drw_x, drw_y, src_w, src_h,
- drw_w, drw_h, format, buf, width, height);
+ drw_w, drw_h, format, buf, width, height, clipBoxes);
}
@@ -719,7 +742,7 @@
short drw_y, short src_w, short src_h,
short drw_w, short drw_h, int format,
unsigned char *buf, short width,
- short height)
+ short height, RegionPtr clipBoxes)
{
VMWAREPtr pVMWARE = VMWAREPTR(pScrn);
uint32 *fifoItem;
@@ -744,7 +767,27 @@
struct _cmdSetRegs cmdSetRegs;
struct _item *items;
+ int size;
+ VMWAREVideoFmtData *fmtData;
+ unsigned short w, h;
+
+ w = width;
+ h = height;
+ fmtData = pVid->fmt_priv;
+
+ size = vmwareQueryImageAttributes(pScrn, format, &w, &h,
+ fmtData->pitches, fmtData->offsets);
+ if (size > pVid->size) {
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Increase in size of Xv video "
+ "frame streamId:%d.\n", pVid->streamId);
+ vmwareStopVideo(pScrn, pVid, TRUE);
+ return pVid->play(pScrn, pVid, src_x, src_y, drw_x, drw_y, src_w,
+ src_h, drw_w, drw_h, format, buf, width, height,
+ clipBoxes);
+ }
+
+ pVid->size = size;
memcpy(pVid->bufs[pVid->currBuf].data, buf, pVid->size);
cmdSetRegs.cmd = SVGA_CMD_ESCAPE;
@@ -763,8 +806,8 @@
pVid->bufs[pVid->currBuf].dataOffset;
items[SVGA_VIDEO_SIZE].value = pVid->size;
items[SVGA_VIDEO_FORMAT].value = format;
- items[SVGA_VIDEO_WIDTH].value = width;
- items[SVGA_VIDEO_HEIGHT].value = height;
+ items[SVGA_VIDEO_WIDTH].value = w;
+ items[SVGA_VIDEO_HEIGHT].value = h;
items[SVGA_VIDEO_SRC_X].value = src_x;
items[SVGA_VIDEO_SRC_Y].value = src_y;
items[SVGA_VIDEO_SRC_WIDTH].value = src_w;
@@ -777,7 +820,7 @@
items[SVGA_VIDEO_FLAGS].value = pVid->flags;
for (i = 0, regId = SVGA_VIDEO_PITCH_1; i < 3; i++, regId++) {
- items[regId].value = pVid->fmt_priv->pitches[i];
+ items[regId].value = fmtData->pitches[i];
}
fifoItem = (uint32 *) &cmdSetRegs;
@@ -785,9 +828,23 @@
vmwareWriteWordToFIFO(pVMWARE, fifoItem[i]);
}
+ if (pVid->isAutoPaintColorkey &&
+ vmwareVideoMoved(pVid, drw_x, drw_y, drw_w, drw_h)) {
+ xf86XVFillKeyHelper(pScrn->pScreen, pVid->colorKey, clipBoxes);
+ }
+
vmwareVideoFlush(pVMWARE, pVid->streamId);
+ /*
+ * Update the position of the video frame.
+ */
+ pVid->position.x1 = drw_x;
+ pVid->position.y1 = drw_y;
+ pVid->position.x2 = drw_w;
+ pVid->position.y2 = drw_h;
+
pVid->currBuf = ++pVid->currBuf & (VMWARE_VID_NUM_BUFFERS - 1);
+
return Success;
}
@@ -914,6 +971,7 @@
static void vmwareVideoEndStream(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid)
{
uint32 id, colorKey, flags;
+ Bool isAutoPaintColorkey;
if (pVid->fmt_priv) {
free(pVid->fmt_priv);
@@ -932,11 +990,41 @@
id = pVid->streamId;
colorKey = pVid->colorKey;
flags = pVid->flags;
+ isAutoPaintColorkey = pVid->isAutoPaintColorkey;
+
memset(pVid, 0, sizeof(*pVid));
+
pVid->streamId = id;
pVid->play = vmwareVideoInitStream;
pVid->colorKey = colorKey;
pVid->flags = flags;
+ pVid->isAutoPaintColorkey = isAutoPaintColorkey;
+}
+
+
+/*
+ *-----------------------------------------------------------------------------
+ *
+ * vmwareVideoMoved --
+ *
+ * Detects whether the video frame has changed its position.
+ *
+ * Results:
+ * TRUE if the position has changed, FALSE otherwise.
+ *
+ * Side effects:
+ * None.
+ *
+ *-----------------------------------------------------------------------------
+ */
+
+static Bool vmwareVideoMoved(VMWAREVideoPtr pVid, short drw_x,
+ short drw_y, short drw_w, short drw_h)
+{
+ return !(pVid->position.x1 == drw_x &&
+ pVid->position.y1 == drw_y &&
+ pVid->position.x2 == drw_w &&
+ pVid->position.y2 == drw_h);
}
@@ -989,7 +1077,7 @@
}
return pVid->play(pScrn, pVid, src_x, src_y, drw_x, drw_y, src_w, src_h,
- drw_w, drw_h, format, buf, width, height);
+ drw_w, drw_h, format, buf, width, height, clipBoxes);
}
@@ -1022,6 +1110,7 @@
return;
}
if (!Cleanup) {
+ VmwareLog(("vmwareStopVideo: Cleanup is FALSE.\n"));
return;
}
vmwareVideoSetOneReg(pVMWARE, pVid->streamId,
@@ -1095,6 +1184,7 @@
}
size += tmp;
break;
+ case FOURCC_UYVY:
case FOURCC_YUY2:
size = *width * 2;
if (pitches) {
@@ -1133,12 +1223,18 @@
{
VMWAREVideoPtr pVid = (VMWAREVideoPtr) data;
Atom xvColorKey = MAKE_ATOM("XV_COLORKEY");
+ Atom xvAutoPaint = MAKE_ATOM("XV_AUTOPAINT_COLORKEY");
if (attribute == xvColorKey) {
+ VmwareLog(("Set colorkey:0x%x\n", value));
pVid->colorKey = value;
+ } else if (attribute == xvAutoPaint) {
+ VmwareLog(("Set autoPaint: %s\n", value? "TRUE": "FALSE"));
+ pVid->isAutoPaintColorkey = value;
} else {
return XvBadAlloc;
}
+
return Success;
}
@@ -1166,12 +1262,16 @@
{
VMWAREVideoPtr pVid = (VMWAREVideoPtr) data;
Atom xvColorKey = MAKE_ATOM("XV_COLORKEY");
+ Atom xvAutoPaint = MAKE_ATOM("XV_AUTOPAINT_COLORKEY");
if (attribute == xvColorKey) {
*value = pVid->colorKey;
+ } else if (attribute == xvAutoPaint) {
+ *value = pVid->isAutoPaintColorkey;
} else {
return XvBadAlloc;
}
+
return Success;
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org