[gst-devel] RGB mimetyping in gstreamer & lcs

Wim Taymans wim.taymans at chello.be
Tue Jul 15 08:46:06 CEST 2003


On Tue, 2003-07-15 at 13:14, Ronald Bultje wrote:
> Hey all,
> 
> as announced earlier, I'm currently adding bits 'n pieces to
> libcolorspace (from codecs.org) so we can actively use that instead of
> the hermes-based colorspace-plugin we're using now. This one will have
> more supported functions and will do *any* colorspace conversion without
> in-between steps. So using colorspace twice because "rgb2yuy2 isn't
> implemented" won't happen. Fortunately. ;).

Cool. I have some more pending changes to lcs (mostly rgb16 and rgb24
conversion functions along with many more testcases).

If you're going to add stuff to lcs, try to separate the lowlevel
conversion code (kernels) from the actual highlevel color conversion.

Colorspace conversion can be reduced to 

 - packed/planar format description + layout
 - bit reordering (rgb->rgb) for packed formats
 - bit unpacking + matrix multiplication, bit packing  (rgb->yuv,
   yuv->rgb).

so conversion in lcs is done by specifying a src + dest layout
(packed/planar) with a matrix multiplication (can be identity). From
there on a set of optimized kernels are selected to perform the
transformation.

Gotto discuss this a little further but I have to find some food now :)

> Ronald

Wim





More information about the gstreamer-devel mailing list