Re: Xv Overlay snapshot
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: Xv Overlay snapshot
> 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
Xv Overlay snapshot
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: GLX Overlay Visuals
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-xpert&m=101506941016681&w=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
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)
(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
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
RE: Overlay
> 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
Overlay
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