[vlc-devel] Re: Fwd: [Possible endian bug in video_chrome/video_output]

Alexander Gall gall at switch.ch
Tue Apr 25 17:47:29 CEST 2006


On Sun, 23 Apr 2006 16:48:59 +0200, Benjamin Pracht <bigben+spam at videolan.org> said:

> Le lundi 03 avril 2006 à 15:47 +0200, Alexander Gall a écrit :
>> 
>> I'm not sure where exactly these are set for opengl.  If it's in
>> modules/video_output/opengl.c, then the problem is obvious, because
>> the values are just set statically, instead of read from the
>> capabilities of the output device.

> This (bit mask and overflow) has been fixed in trunk.

Thanks.  Now almost everything works, but see below.

>> 
>> Finally, the same problem needs to be fixed for the xvideo and glx
>> output modules as well.
>> 

> Not really... glx uses the opengl module to make the actual work, and
> xvideo doesn't use RGB chromas anyway. RV15 and RV16 chroma conversions,

Actually, there is no xvideo extension for my Sun graphics hardware.
I reported it anyway because I wasn't sure what exactly happens when
vlc can't find the extension (fall back to x11?).  I suppose you can
ignore this part.

> used by the x11 module were wrong too indeed. This has also been fixed.
> If you still have issues with xvideo, the problem must be somewhere
> else. Some more informations (device xvideo capabilities, chroma VLC is
> using, precise description of the problem (missing color, inverted
> color, etc) would really help too... Btw, xvideo works well on linux PPC
> (at least with a xvideo device supporting the i420 chroma). 

With the latest fixes, I'm left with one problem.  I have one display
with two screens served by different graphics cards.  The card that
serves screen #0 offers a number of visuals, the default being

  visual:
    visual id:    0x27
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff, 0xff00, 0xff0000
    significant bits in color specification:    8 bits

I supplied the full output of xdpyinfo in my original posting
<http://www.via.ecp.fr/via/ml/vlc-devel/2006-02/msg00542.html>.

Screen #1 has a single visual

  visual:
    visual id:    0x36
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits

Everything works perfectly on this screen.  However, when I use the
x11 or glx output modules on screen #0, the masks that vlc choses are

red:    0x00000007
green:  0x00000038
blue:   0x000000c0

instead of

red:    0x000000ff
green:  0x0000ff00
blue:   0x00ff0000

as per the visual that is in use on this screen (but the opengl module
is working fine).  The output is OK when I hardcode these masks, so
all that's left to do is to get vlc to chose the correct masks in all
cases.  Note that there are two visuals with 3-bit masks

  visual:
    visual id:    0x22
    class:    StaticColor
    depth:    8 planes
    available colormap entries:    256
    red, green, blue masks:    0x7, 0x38, 0xc0
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x25
    class:    TrueColor
    depth:    8 planes
    available colormap entries:    8 per subfield
    red, green, blue masks:    0x7, 0x38, 0xc0
    significant bits in color specification:    8 bits

but these are not in use.  

--
Alex

-- 
This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html



More information about the vlc-devel mailing list