Video Playback virtually impossible on Neo Freerunner? (Re: Video of Qt 4.4 on Neo1973: brings iPhone like graphics)
thomas.cooksey at trolltech.com
Mon Apr 28 11:06:16 CEST 2008
On Monday 28 April 2008 10:32:22 Bin Chen wrote:
> On Mon, Apr 28, 2008 at 4:20 PM, Tom Cooksey
> <thomas.cooksey at trolltech.com> wrote:
> > On Thursday 24 April 2008 13:20:12 Carsten Haitzler wrote:
> > > again - we could do better if we limited ourselves to just mpeg4 (which is what
> > > almost all phones do - they do only 1 codec or maybe 2), but the problem here
> > > is that xv does not provide a way to do this sanely (stream just mpeg4 data to
> > > x so it decodes in hardware). the graphics chip (glamo) can decode mpeg4
> > > itself, but we dont have the time or resources to do this properly ourselves.
> > So don't use xv? Implement VAAPI (http://www.freedesktop.org/wiki/Software/vaapi)
> > which does provide an API for streaming MPEG4 streams to hardware. If you had a
> > DRM module for the glamo, couldn't you use it to send MPEG4 encoded video frames
> > to the glamo by packing them into BOs?
> > mplayer->libvaapi.so->glamo_vaapi.so->libdrm.so-----kernel----->drm.ko&glamo.ko
> Modify X server and the mplayer, when playing reserve the entire
> screen and mplayer write the decoded directly into the framebuffer.
> This is most straightforward and I have tested against on another platform.
Nope, no way. With 7m/s video bandwidth your looking at a theoretical maximum of
12 fps, and that would use 100% CPU just for copying the data to the framebuffer.
In fact, I believe that is the worst possible way of doing it. :-)
For video playback you need to drop the bandwidth you use. Sending an MPEG4
stream would be ideal as it's about as compressed as it comes, you just (!) need to
find a way to tell the glamo to decode it.
Does the glamo support compressed texture formats? Could the CPU compress
pixmaps, copy them to the video memory and then use the 3D core to decompress
them when blitting? I know the compression will eat the CPU, but it might be worth
it if it saves on bus bandwidth?
More information about the community