[Development] i.MX6 zero copy video playback

Michael Olbrich m.olbrich at pengutronix.de
Thu Feb 27 17:57:43 CET 2014


Hi,

On Tue, Feb 18, 2014 at 10:18:36AM +0100, Thomas Senyk wrote:
> On Thursday, 13 February, 2014 13:16:42 Michael Olbrich wrote:
> > On Wed, Feb 12, 2014 at 10:43:25AM +0100, Thomas Senyk wrote:
> > > I finally got around to polish and upstream zero copy video playback for
> > > the i.MX6.
> > > 
> > > The change:
> > > https://codereview.qt-project.org/#change,76764
> > > 
> > > A video showcasing the functionality:
> > > http://www.youtube.com/watch?v=pmxsWGhrrBQ
> > 
> > Nice. Are there any limitation regarding the input QVideoFrames? I've used
> > glTexDirectVIVMap in the past, and I don't think that using it on malloc'ed
> > memory ever worked for me.
> 
> never tried it on malloc'ed memory ... I think gstreamer somehow reserves them 
> in a specific memory block.
> 
> So the answer is: I don't know :)

So, I had some time to work with this. I found one limitation: the memory
must be 64 Bytes aligned. Unfortunately I have no idea how this could be
communicated upstream.
I also found that the texture cache based on the virtual address is rather
fragile. I've had several cases where different video frames had the same
virtual address. I'm not sure how to fix this. Maybe some special meta data
that can be used if provided or a special handle type?

Anyways, I've submitted some changes for review:

https://codereview.qt-project.org/#change,79447
https://codereview.qt-project.org/#change,79448
https://codereview.qt-project.org/#change,79449

Thomas, it would be great if you could test if this works for you.

Regards,
Michael

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the Development mailing list