[mythtv] Re: Ticket #539: XVMC Chromakey OSD Crash

Geoffrey Kruse gkruse at gmail.com
Sat Nov 5 23:46:03 EST 2005


On Nov 3, 2005, at 7:35 AM, MythTV wrote:

> #539: XVMC Chromakey OSD Crash
> ------------------------------ 
> +---------------------------------------------
>  Reporter:  gkruse at gmail.com  |        Owner:  danielk
>      Type:  defect            |       Status:  closed
>  Priority:  minor             |    Milestone:  0.20
> Component:  mythtv            |      Version:  head
>  Severity:  medium            |   Resolution:  fixed
> ------------------------------ 
> +---------------------------------------------
> Changes (by danielk):
>
>   * resolution:  => fixed
>   * status:  reopened => closed
>
> Comment:
>
>  (In [7682]) Fixes #539.
>
>  gkruse, this is probably not what you want to hear, but the
>  ChromaKey OSD only supports 32 bit ARGB visuals.. and you
>  are using a 16 bit RGB visual.
>
>  This commit adds a check that the visual is a 32 bits visual,
>  if it is not ChromaKey OSD is not enabled. ChromaKey OSD could
>  be extended to support other visuals, but it would involve
>  creating new OSD blend functions.
>
This commit is doing something wrong.   Before this commit, I set the  
depth to 24 which gave X a pixel format of 32 bit ARGB and the  
chromakey osd worked like a charm.  after this commit I get the  
following error:

VideoOutputXv: Number of bits per pixel is 24,
but we only support ARGB 32 bbp for ChromaKeyOSD.

But really, we have a depth of 24 with an additional 8 bits for the  
alpha channel for a total of 32 bit ARGB.  In fact, I don't even  
think it is possible to set a depth of 32 for Nvidia cards so this is  
clearly checking the wrong thing.  Reverting back to the previous  
code allows Chromakey osd to function again.

Geoff

>  One could also make Qt pick a 32 bit ARGB visual if one is
>  available, but a google search reveals that this requires
>  subclassing QFrame to use a better visual, and ALWAYS using
>  the subclass to create windows. This is because Qt stores
>  the visual information in global variables, so that all Qt
>  windows in an application must use the same visual.. (Ugh!)
>  That kind of change doesn't make sense before the new MythUI
>  stuff is in place.
>
>  Until then you can probably configure X11 to pick a 32 bit ARGB
>  visual by default for the root window. QFrame uses the root
>  window's visual for the windows it creates, so this should
>  make ChromaKey OSD work for you.
>
> -- 
> Ticket URL: <http://cvs.mythtv.org/trac/ticket/539>
> MythTV <http://www.mythtv.org/>
> MythTV

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2361 bytes
Desc: not available
Url : http://mythtv.org/pipermail/mythtv-dev/attachments/20051105/3a9347ca/smime.bin


More information about the mythtv-dev mailing list