Single Board Computer for HD XVideo?

Carsten Haitzler (The Rasterman) raster at
Fri Jan 5 19:05:19 PST 2007

On Fri, 5 Jan 2007 19:47:55 +0100 Matthias Hopf <mhopf at> babbled:

> On Jan 03, 07 10:17:29 +0900, Carsten Haitzler wrote:
> > i want to be ABLE to do this:
> > 
> >
> >
> >
> >
> >
> > 
> > i want my video just a normal drawable i can use - but it just happens to
> > be in yuv colorspace. color keys do not let me arbitrarily layer, "paste",
> > blend, overlay, etc. multiple yuv pixel sources. they let me either 1.
> > boolean select video or no video (traditionally), and in some slightly more
> > advanced hardware i might be able to provide an alpha mask plane for the 1
> > video overlay that exists (and then no colorkey) with the fb contents
> > blended by a certain amount based on mask alpha value.
> I love to say that:
> That's exactly what the XV extension of Xgl can *already* do. :-)
> So let's all move to Xgl and everything's set ;)

I'd consider it - if Xgl actually would accelerate Xrender - but it doesn't
(not when rendering to a pixmap) so I see no benefit :(

> <!--
> Don't tell me about the issues here, I know them.
> -->
> > 2. use gl + fragment shader
> The way to go.

Well personally i'd prefer to go the Xrender pipeline as it's cleaner for 2D
and "the right way to go" - and the just use XV to paste my video to a pixmap
(which i can then blend to my heart's content as i see fit).

> > of the above - the gl solution always works - perfectly - as long as my card
> > supports glsl and non-power-of-2 textures (the 5500fx works but at
> > continental drift speeds with nv_rectangle textures). considering the cards
> > you need are
> We did have issues with the GeForce 5xxx series as well. I don't know
> why yet, but we're hitting a slow path there (maybe even software
> emulation - shudder).

whenever gl hits a software path, god kills a kitten. its incredibly painful
when that happens :(

doing my own yuv->rgb32 then composite vs. gl+fragment shader on a 5500fx is
about 190fps vs 0.4fps (in my benchmarker) with gl taking the... lower number
(on my 7900gtx it pulls more like 1250fps - this includes texture uploads of
y, u and v textures). i quickly dug into it and it may be that using
nv_rectangle + frag shaders ends up in a sw path (as otherwise i am using npot

> You might want to check out the updated mplayer gl output driver, it has
> several different algorithms, of which the one with 3D textures doesn't
> even need fragment shaders. I wanted to include these ideas in Xgl and
> xine for quite some time already, but didn't found enough time.

i should look. i just did it from first principles and what i could dig up
about frag shaders, multi texturing etc.. the problem i guess is then picking
the right way to do it automatically :)

though i'm beginning not to care much for "lower end cards" as frankly my
software pipeline is able to match the lower end cards on modern cpu's and have
much higher quality (unfortunately to date i have yet to see agl on a chipset be
able to do full super-sampled scaling of images (ie "perfect anisotropic" where
it literally samples the entire src pixel region and averages, per output

i'm really hoping one day we'll get that - sure it's not cheap, but it looks
MUCH better for downscaling, and having to generate mipmaps is expensive on
upload and doesn't make for good 2d squishing of images (scale a 100x100 image
down to 50x5 for example)

> Matthias
> -- 
> Matthias Hopf <mhopf at>      __        __   __
> Maxfeldstr. 5 / 90409 Nuernberg   (_   | |  (_   |__          mat at
> Phone +49-911-74053-715           __)  |_|  __)  |__  R & D

------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    raster at
Tokyo, Japan (東京 日本)

More information about the xorg mailing list