[MPlayer-dev-eng] 32x32 tiled output driver

D Richard Felker III dalias at aerifal.cx
Fri Mar 18 23:32:48 CET 2005


On Fri, Mar 18, 2005 at 12:40:30PM -0800, Jacob Gorm Hansen wrote:
> D Richard Felker III wrote:
> 
> >No, it's not possible. You're free to take advantage of slice
> >rendering to copy data to your tiles, but normally slices will be 16
> >pixels tall rather than 32 so you'll have to buffer up two slices
> >before you write them out to your device. Hope this helps.
> 
> That is sad. Apart from saving a copy, tiling would allow me to ignore 
> unchanged portion of the frame during my screen update.

There's rarely a 32x32 unchanged portion in any real files, except
low-quality crap. Even 16x16 unchanged macroblocks are rare.

> Is there a performance benefit to using slice rendering? E.g. smaller 
> TLB and cache footprint, or what is the motivation for using this method 
> over put_image()?

Yes, a significant benefit. When decoding video, the main buffer is
always kept in system memory in a linear format with nice alignment,
because it's needed for decoding the next frame. You can either wait
til you finish decoding a frame and copy this whole buffer from memory
to the video device, or you can use slices and copy each slice from
the l2 cache to the video device. Naturally the latter is a lot
faster.

Rich






More information about the MPlayer-dev-eng mailing list