Xv Overlay snapshot

2004-11-16 Thread Dorin Lazar
  Hello everyone,
  I am trying to obtain a snapshot of the output of an application that draws 
using hardware accelerated Xv. The application is a video player and uses YUV 
format to display and SDL - it draws using SDL_DisplayYUVOverlay function. I 
want to grab a certain snapshot and place it in another window. I tried to 
use XvGetStill but all it gives me is black output. What should be done? Is 
there any way to get that picture from the overlay to X in a window?
  Thank you,
 Dorin Lazar
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Xv Overlay snapshot

2004-11-16 Thread Loic Grenie
 Is there any way to get that picture from the overlay to X in a window?

Not necessarily, the RAMDAC might be the only part of the computer that
 sees the RGB data. The YUV data is probably stored somewhere in video
  memory, but as far as I remember there is no standard way to ask the driver
  a copy of it.

   Loïc
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Xv Overlay snapshot

2004-11-16 Thread Mark Vojkovich
On Tue, 16 Nov 2004, Dorin Lazar wrote:

   Hello everyone,
   I am trying to obtain a snapshot of the output of an application that draws
 using hardware accelerated Xv. The application is a video player and uses YUV
 format to display and SDL - it draws using SDL_DisplayYUVOverlay function. I
 want to grab a certain snapshot and place it in another window. I tried to
 use XvGetStill but all it gives me is black output. What should be done? Is
 there any way to get that picture from the overlay to X in a window?

   There is no mechanism to get that data from the overlay.


Mark.

___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: GLX Overlay Visuals

2004-01-04 Thread Andrew C Aitchison
On Thu, 1 Jan 2004, Stanko Juzbasic wrote:

 Hello,
 
 I am trying to convince Apple for quite a number of months to include 
 Overlay visuals' support in their X11 server.
 
 Does xfree86 standard allow for overlay visual planes, or this feature 
 only belongs to commercial X11 servers (such as the one in the SGI 
 visualization workstations)?

A few XFree86 drivers support overlay visuals (overlay planes as in 
XAllocColorPlanes are a different feature), but the thread
http://marc.theaimsgroup.com/?l=xfree-xpertm=101506941016681w=2
suggests that XFree86 OpenGL doesn't support the level attribute.

The reason that only a few drivers (mga and glint are the most 
significant) support overlay visuals is that most hardware doesn't have 
framebuffers with overlay bits in each pixel.
In particular (at least last time I looked) the Radeon and nVidia chips
didn't have the sort of framebuffer which would allow us to reuse the
code used by the mga and glint drivers. Thus Apple may not have the
hardware which would make adding the feature easy.

I'm not saying that video or texture overlays couldn't be used to
implement GLX Overlay Visuals, but we have never considered trying.

-- 
Andrew C. Aitchison Cambridge
[EMAIL PROTECTED]

___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


GLX Overlay Visuals

2004-01-01 Thread Stanko Juzbasic
Hello,

I am trying to convince Apple for quite a number of months to include 
Overlay visuals' support in their X11 server.

Does xfree86 standard allow for overlay visual planes, or this feature 
only belongs to commercial X11 servers (such as the one in the SGI 
visualization workstations)?

Thanks in advance,

Stanko

___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Options to enable Overlay visuals (Bug 22)

2003-05-31 Thread Andrew C Aitchison
(This has nothing to do with video overlays or the XVideo extension).

The chips, glint and mga drivers support overlay visuals;
the chips 8bit over 16, and the other two 8bit over 24.

On 27 April 1999 the options to enable these were changed
to standardize the name (OVERLAY), and switched from
booleans to strings 8,16/16,8 or 8,24/24,8
(as appropriate for each driver).
This also allowed
Option OVERLAY
with no string, but not
Option OVERLAY 
(empty string) to enable overlays.
This has proved confusing to document (see bug 22).

Was the intention that 8,24 and 24,8 would
select different default (root window) visuals ?
At first glance it would seem sensible to make the drivers do that
(checking for conflicts with the Visual keyword, and command line
option -cc), but in practice broken apps mean that most people using 
overlays have to use them with the 8bit visual as the default.
Therefore it seems sensible to allow a form of the option which
means turn it on and do the obvious thing rather than force th user to 
select which way round to put the visuals.

Personally I'd like to revert to a boolean which turns overlays on,
defaulting to the 8bit visual as default.
Anyone who anyone desires a different root window visual should use
the Visual keyword, or the -cc command line option.

-- 
Andrew C. Aitchison Cambridge
[EMAIL PROTECTED]

___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Overlay

2003-02-21 Thread Luugi Marsan




Thank you for your help.


Derek Lukasik wrote:

  
Hello,

I've been going through how Xserver implements Overlay. I still find 
information on this very limited. So I'm hoping that this thread will 
enlighten me more about this.

First of all the Chips and Technologies driver implements 
overlay using 2 different framebuffers. Unfortunatly I can't get my hands on one to 
see how it works. But here's my questions:

Let's say you have 2 different visuals. One PseudoColor and one 
TrueColor. You have an application that runs only in 
PseudoColor.  As I understand the 8 bit app will be drawn on the overlay 
surface. I need to confirm on how does it know where to draw itself. For example, when I 
move the window with a border that is TrueColor. How does it get 
updated? How does it know where to display the overlay surface?


  
  
The app doesn't know anything about how to draw itself.  All the
work happens in the driver.  All the app has to know is that it is
rendering to a depth 8 PseudoColor surface.  The driver must look at
requests coming from clients, note that they're targeted at the
overlay surface, and fulfill the request appropriately.

When you mention moving a window with a TrueColor border, I assume you're
referring to the window manager decorations as the border.  A single
window in X cannot have a border with a different depth.  A parent window
can have children with different depths, however.  That is usually the
situation with a window manager.  When you move the parent window, its
children (in whatever layer) move as well.

  
  
The color key concept is confusing for me. For example: the 
driver has  index 255 to be the color key. What does that mean for an 8 bit app? 
Anything with color index 255 will be transparent? Or does that mean 
that anything with that color index will be visible?


  
  
Overlay is typically implemented by reserving one index in the PseudoColor
palette for transparency.  This allows clients to render transparency
if they wish.  That index is usually 255.  It is indicated by the
SERVER_OVERLAY_VISUALS property.  Clients should decode that property to
determine that transparent index value.  The property tells you which visuals
are overlay visuals and for each, what type of transparency they implement
(as well as the transparent index).

The X server may present multiple overlay visuals.  One visual may implement
transparency whereas another may not (again look at the SERVER_OVERLAY_VISUALS
property).  The point here is that within the same class of visual, you
may encounter both overlay opaque (no transparency) and overlay transparent
visuals.  A client should choose the appropriate visual dependent upon their
needs (i.e. if they don't want transparency, don't select a visual with transparency
enabled).  Not all drivers implement this functionality.  Most implement only
transparent visuals.  So, when you get to that last entry (usually 255), you
start seeing through to the image planes.

  
  
There's overlay for diplaying an 8 bit app on a 24 bit surface. But 
there's also overlay when you want draw something over something you 
don't want to destroy. By reserving color cells for 
overlay.  It doesn't seem the same kind of overlay.

  
  
Not sure what you're asking here.  Are you referring to the different types
of overlay implementation?  Where some drivers implement overlay within the
alpha channel of the image planes verses those that use an entirely independent
surface?

Does anyone have some more apps that experiment with colormaps and
overlays?

L




Overlay

2003-02-20 Thread Luugi Marsan
Hello,

I've been going through how Xserver implements Overlay. I still find 
information on this very limited. So I'm hoping that this thread will 
enlighten me more about this.

First of all the Chips and Technologies driver implements overlay using 
2 different framebuffers. Unfortunatly I can't get my hands on one to 
see how it works. But here's my questions:

Let's say you have 2 different visuals. One PseudoColor and one 
TrueColor. You have an application that runs only in PseudoColor.  As I 
understand the 8 bit app will be drawn on the overlay surface. I need to 
confirm on how does it know where to draw itself. For example, when I 
move the window with a border that is TrueColor. How does it get 
updated? How does it know where to display the overlay surface?

The color key concept is confusing for me. For example: the driver has  
index 255 to be the color key. What does that mean for an 8 bit app? 
Anything with color index 255 will be transparent? Or does that mean 
that anything with that color index will be visible?

There's overlay for diplaying an 8 bit app on a 24 bit surface. But 
there's also overlay when you want draw something over something you 
don't want to destroy. By reserving color cells for overlay.It doesn't 
seem the same kind of overlay.


Luugi

___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


RE: Overlay

2003-02-20 Thread Derek Lukasik
 Hello,
 
 I've been going through how Xserver implements Overlay. I still find 
 information on this very limited. So I'm hoping that this thread will 
 enlighten me more about this.
 
 First of all the Chips and Technologies driver implements 
 overlay using 2 different framebuffers. Unfortunatly I can't get my hands on one to 
 see how it works. But here's my questions:
 
 Let's say you have 2 different visuals. One PseudoColor and one 
 TrueColor. You have an application that runs only in 
 PseudoColor.  As I understand the 8 bit app will be drawn on the overlay 
 surface. I need to confirm on how does it know where to draw itself. For example, 
when I 
 move the window with a border that is TrueColor. How does it get 
 updated? How does it know where to display the overlay surface?
 

The app doesn't know anything about how to draw itself.  All the
work happens in the driver.  All the app has to know is that it is
rendering to a depth 8 PseudoColor surface.  The driver must look at
requests coming from clients, note that they're targeted at the
overlay surface, and fulfill the request appropriately.

When you mention moving a window with a TrueColor border, I assume you're
referring to the window manager decorations as the border.  A single
window in X cannot have a border with a different depth.  A parent window
can have children with different depths, however.  That is usually the
situation with a window manager.  When you move the parent window, its
children (in whatever layer) move as well.

 The color key concept is confusing for me. For example: the 
 driver has  index 255 to be the color key. What does that mean for an 8 bit app? 
 Anything with color index 255 will be transparent? Or does that mean 
 that anything with that color index will be visible?
 

Overlay is typically implemented by reserving one index in the PseudoColor
palette for transparency.  This allows clients to render transparency
if they wish.  That index is usually 255.  It is indicated by the
SERVER_OVERLAY_VISUALS property.  Clients should decode that property to
determine that transparent index value.  The property tells you which visuals
are overlay visuals and for each, what type of transparency they implement
(as well as the transparent index).

The X server may present multiple overlay visuals.  One visual may implement
transparency whereas another may not (again look at the SERVER_OVERLAY_VISUALS
property).  The point here is that within the same class of visual, you
may encounter both overlay opaque (no transparency) and overlay transparent
visuals.  A client should choose the appropriate visual dependent upon their
needs (i.e. if they don't want transparency, don't select a visual with transparency
enabled).  Not all drivers implement this functionality.  Most implement only
transparent visuals.  So, when you get to that last entry (usually 255), you
start seeing through to the image planes.

 There's overlay for diplaying an 8 bit app on a 24 bit surface. But 
 there's also overlay when you want draw something over something you 
 don't want to destroy. By reserving color cells for 
 overlay.  It doesn't seem the same kind of overlay.

Not sure what you're asking here.  Are you referring to the different types
of overlay implementation?  Where some drivers implement overlay within the
alpha channel of the image planes verses those that use an entirely independent
surface?

Derek

___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel