[vlc-devel] Re: nodeco patch synched against 0.8.1 (rev. 9409)

Gildas Bazin gbazin at altern.org
Thu Dec 2 12:52:38 CET 2004

On Friday 26 November 2004 10:48, Marius Kjeldahl wrote:
> I've updated my "nodeco" patch which allows vlc to run without window 
> decorations together with for instance the http interface.

I just applied most of the patch. I omitted the WS_EX_TOOLWINDOW part 
because it breaks fullscreen (the windows taskbar will show over the video) 
and I couldn't see a difference without it (although I run win2k and I know 
it could have an effect on other windows versions). Could you check if it 
still works for you or try to fix the taskbar behaviour otherwise ?

> I've also added one more detail; 24 bit colour depth overlay support. I'm 
> sure this part of the patch is generic. In directx.c:DirectXFindColorkey, 
> part of the patch that deals with this is:
>      case 16:
>          *(uint16_t *)ddsd.lpSurface = 0x01;
>          break;
> +    case 24:
> +        *(uint32_t *)ddsd.lpSurface = 0x010000;
> +        break;
>      default:
>          *(uint32_t *)ddsd.lpSurface = 0x01;
>          break;
> I'm not sure if this part of the patch is generic for 24 bit support in 
> or if it is specific for the hardware I'm having trouble with (Activy 
> from Fujitsu Siemens). I also tried putting in another (more generic) 
> of figuring out the correct colorkey value by setting a pixel in the given 
> colour and then reading it back, which worked correctly for 24 bit, but 
> 32 bit at my end. Maybe the value "1" have been hardcoded elsewhere.
> So, in short, the 24 bit value of 0x010000 works on Activy boxes I'm using 
> (they have a Tvia CyberPro 5000 video chip), but I'm not sure it's 
> The 32 bit value 0x01 does not work on the same box. Since none of my 
> "normal" computers support 24 bit colour depths, I can not test to see if 
> 24 bit support has improved or not in general with this part of my patch.

24 bits colour depth overlay was supposed to be working already with the 
current code but only on little endian architectures (least significant 
byte first). I don't know why it isn't working in your case... It's like 
the memory on your graphics card is using big endian ordering.
Anyway, I've committed a change that uses 0 as the overlay colourkey for 24 
bits colour depth displays. It can be a little annoying because black is a 
commonly used colour so the video will still appear on parts of other 
windows even when it is in the background. Still better than not working 


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