G200+NV12 (Re: [MPlayer-G2-dev] Darwin port)

Billy Biggs vektor at dumbterm.net
Fri May 9 01:26:08 CEST 2003


D Richard Felker III (dalias at aerifal.cx):

> On Fri, May 09, 2003 at 01:32:22AM +0200, Arpi wrote:
> > Btw Vektor mentioned scanline buffers yesterday, and I think it's a very
> > interesting approach. ie. replace plane+stride with array of scanline
> > pointers :)
> > It would allow very amazing optimizations, like DR scanlines without OSD,
> > and copy the rest. But I guess such feature won't go into g2 soon, maybe
> > into g3, or in g2 v2.0 :))
> 
> Yes, but it's only good for scanline-based filters. For example, if you want
> to apply a block-based filter (e.g. deblock, dering, telecine detection,
> anything DCT-based, etc.) you have to load a separate base pointer every 8
> pixels or so inside your inner loop, which is horribly inefficient. With a
> single base plus stride, you can just use two registers (current position and
> stride) with no extra memory reads.

  You can detect the case when they're all from the same buffer pretty easily
though, or just have a flag.

  -Billy



More information about the MPlayer-G2-dev mailing list