[gst-devel] I420 + alpha

Jan Schmidt thaytan at mad.scientist.com
Thu Mar 17 10:52:07 CET 2005


On Thu, 2005-03-17 at 13:19 +0100, Benjamin Otte wrote:
> On Wed, 16 Mar 2005, Gergely Nagy wrote:
> 
> > In our application, we have an I420 format source, which I need to
> > modifiy (blend stuff on it), and pass it to theoraenc, which wants I420.
> >
> > Right now, I need to convert the whole thing to AYUV, and then back.
> > This results in significantly more resource usage and it takes a lot of
> > time.
> >
> > To solve this, I'd like to have a new format, which is essentially I420
> > with a full-size alpha plane appended (appended, because then it is easy
> > to strip, or simply ignore).
> >
> > This way, I could make our application able to work without any kind of
> > expensive colorspace conversions, and could use the same buffer the
> > first element in the pipeline gave me. In my experience, this makes the
> > whole thing significantly faster.
> >
> > Question is, how should I call this new format? I thought of A420, but
> > people here might have better ideas.
> >
> stupid question:
> Does a format that does this already exist somewhere?
> It sounds like a reasonable format to have to me and if it were already
> existing somewhere we could just use that name.
> 
> Although converting from I420 to AYUV and back shouldn't really be that
> performance-reducing, or is it?
> 

(720*576*1.5 + 720*576*4) * 30.0 = 65.25MB/s memory bandwidth. Even on
my Athlon 2000, that's about 10% of the memory bandwidth for each
conversion.

Caching isn't going to help much, because even 1 frame is too big, so
even on a fast machine, you don't want to do too many of them in any
pipeline.

J.
-- 
Jan Schmidt <thaytan at mad.scientist.com>





More information about the gstreamer-devel mailing list