[vlc-devel] Chroma-key plugin for VLC as class broadcast client

Rémi Denis-Courmont remi at remlab.net
Mon May 4 14:52:17 CEST 2009


On Mon, 4 May 2009 12:52:24 +0200 (CEST), jpd at m2x.nl wrote:
> On Mon, May 4, 2009 12:17, R\xc3\xa9mi Denis-Courmont wrote:
>> On Mon, 4 May 2009 10:30:26 +0200 (CEST), jpd at m2x.nl wrote:
>> Err, it *is* mostly a VLC limitation at this point.
> 
> If you choose to go the (obvious) output-with-alpha route, which somehow
> completely escaped me this morning. Possibly because the problem I'm
> currently working on doesn't allow for that approach, at least AFAICS.
> 
> 
>> Sure, you need a modern X server or Windows/OSX equivalent, but that's
>> already written, available and widely deployed.
> 
> The actual hardware support is still problematic, especially in the
> free software world. I'm not sure about XP alpha support either.

Composite, Render extensions and WM support can trivially be auto-detected.
I don't see a problem here. We can also fallback to Shape, i.e. 1-bit alpha
channel, if backward compatibility is deemed worth the implementation
effort.

> Still, if the goal is to create a single output stream, such hardware
> can indeed safely be assumed for discussing the stream generator.
> 
> 
>> It gets trickier if you consider that certain outputs simply cannot do
>> that. I guess GLX and X11 can, but XVideo cannot?
> 
> Since the X11 core protocol has no alpha support,

Not sure what you mean here. My X.Org server has a 32-bits visual
(accordding to xdpyinfo). I think it's ARGB. Unfortunately, I never figured
out how to use it.

> it takes an
> XRender-aware WM and that likely implies compositing, which breaks
> XVideo too, so I don't think it's worth worrying about that.

Not worth worrying? How do you do video output module auto-detection, then?
If I'm not mistaken, the core passes the video chroma to the module via
vout_thread_t.pf_init. If that's right, it's too late for module
auto-probing to work. On the other hand, users should not have to manually
change their video output when they start/stop using alpha blending.

Currently XVideo has a higher priority than plain X11 for obvious
performance reasons. I doubt we can deprecate XVideo in favor of GLX, if
only because our GLX module is in a rather sorry state (even with my 0.9.9
fixes).

-- 
Rémi Denis-Courmont




More information about the vlc-devel mailing list