[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-video-cvs
Subject:    [Video-cvs] sitelib basesurf.cpp,1.30,1.31
From:       gwright () helixcommunity ! org
Date:       2007-03-08 22:36:50
Message-ID: 200703082237.l28MbJsq021516 () dombackupmx2 ! xen ! 10east ! com
[Download RAW message or body]

Update of /cvsroot/video/sitelib
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv2647

Modified Files:
	basesurf.cpp 
Log Message:

Project
=======
Atlas and presentation features demo.

Synopsis
========
The new presentation features demo (complicated SMIL) was having
trouble showing the video sometimes if overlays where on.

Also, I added some support for addition color control work. This
will be used by my diffs to splay to add keyboard support for
color controls.

Fix
===
Unix has never used the FillColorKey() routine used by other
platforms since XVideo will automatically fill in the color key
for you. However, it appears that with very complicated presentations,
it can sometimes get confused and do the wrong thing. So, I am turning
on usage of that routine for unix now. This should not affect performance
since we do not fill the color key except when we really have to.

I removed some debug printfs that are now noisy because of the above
change.

I fixed a problem when we checked for hardware color controls. There is
still some work to be done here. It all works fine for simple video,
but for the presentation feature demo, it is hard to determine which
YUV site is going to get the overlay and hardware color controls. I
can still looking into that, but with this diff it is still better then
it was.


Files Modified
==============
video/sitelib/basesurf.cpp
video/sitelib/platform/unix/unixsite.cpp
video/sitelib/platform/unix/unixsurf.cpp

Branch(s)
=========
HEAD only.
Project
=======
Atlas and presentation features demo.

Synopsis
========
The new presentation features demo (complicated SMIL) was having
trouble showing the video sometimes if overlays where on.

Also, I added some support for addition color control work. This
will be used by my diffs to splay to add keyboard support for
color controls.

Fix
===
Unix has never used the FillColorKey() routine used by other
platforms since XVideo will automatically fill in the color key
for you. However, it appears that with very complicated presentations,
it can sometimes get confused and do the wrong thing. So, I am turning
on usage of that routine for unix now. This should not affect performance
since we do not fill the color key except when we really have to.

I removed some debug printfs that are now noisy because of the above
change.

I fixed a problem when we checked for hardware color controls. There is
still some work to be done here. It all works fine for simple video,
but for the presentation feature demo, it is hard to determine which
YUV site is going to get the overlay and hardware color controls. I
can still looking into that, but with this diff it is still better then
it was.


Files Modified
==============
video/sitelib/basesurf.cpp
video/sitelib/platform/unix/unixsite.cpp
video/sitelib/platform/unix/unixsurf.cpp

Branch(s)
=========
HEAD only.


Index: basesurf.cpp
===================================================================
RCS file: /cvsroot/video/sitelib/basesurf.cpp,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- basesurf.cpp	27 Jan 2007 00:42:57 -0000	1.30
+++ basesurf.cpp	8 Mar 2007 22:36:47 -0000	1.31
@@ -3720,12 +3720,22 @@
         return;
 
     m_bNeedColorKeyFilled = FALSE;
+    
     //XXXgfw, this is not needed on unix because our overlay support
     //automatically fills the window with the color key....
+    
+    //XXXgfw Well, this turns out to be mostly true. With our new fancy
+    //presentation-feature SMIL demo we have a problem where the video can not
+    //be seen until you see the player. This is the only case I have seen where
+    //the automatic drawing of the color key by X11 is not sufficient. So, I am
+    //enabling the color-key rectangle-fill code below. I may also turn off the
+    //auto-color-key-fill code in XVideo so that we don't have 2 different
+    //pieces of code blt'ing the color key at the same time.
 
+    
 //XXXgfw when we have time we should make this work in a more
 //cross platform way.
-#if !defined(_UNIX) || defined(_MAC_UNIX)
+//#if !defined(_UNIX) || defined(_MAC_UNIX)
     CBaseRootSurface* pSurface = m_pSite->GetRootSurface();
 
     pSurface->LockCompMutex();
@@ -3747,10 +3757,10 @@
         FillColorKey(hdc);
         _ReleaseDC(pWindow, hdc);
     }
-#else
+//#else
     //Unix fillcolorkey here....
     //_UnixFillColorKey();
-#endif
+//#endif
 }
 
 INT32 CBaseSurface::GetOverlayColor()


_______________________________________________
Video-cvs mailing list
Video-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/video-cvs

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic