[meta-freescale] imx6: webkit html5 video with hardware acceleration

Carlos Rafael Giani dv at pseudoterminal.org
Tue Sep 23 12:20:52 PDT 2014


On 2014-09-23 21:14, Richard Cochran wrote:
> On Tue, Sep 23, 2014 at 09:02:03PM +0200, Carlos Rafael Giani wrote:
>> With stock WebKit, you can pretty much forget about that. Look at
>> this source: https://github.com/WebKit/webkit/blob/master/Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp#L138
>> note how it copies pixels with the CPU.
> Right, I saw that, too.
>
> For zero copy, you would need a imx6-specific hack^H^H^H^H modification.
>
> So the first question becomes is this.
>
> Q. Does Freescale provide any kind of support for hardware accelerated
>     HTML5 video on the imx6?
>
> A. No.
>
> I already knew this. The *next* question, which I am trying to ask
> here, is, does anyone have this working at all, like with some kind of
> unoffical or alpha-quality patch?

It is working for Chromium. I added patches for that. WebKit though, I 
don't know.

>
>> There is apparently a GL-based alternative, but I haven't seen it in
>> action yet.
> GL is something completely else entirely.
>
>

Not necessarily. Keep in mind what I wrote about the direct textures. If 
WebKit has a GLES-based rendering backend, these textures could be used 
for smooth video playback. It'd have to extract the physical address out 
of the decoded GStreamer frame (possible by using the appsink GStreamer 
element) and pass it on to the texture, and release the GStreamer frame 
once that video frame has been shown and the next frame is to be displayed.

I also use the direct textures for smooth zerocopy playback in Chromium.

One remark: Power consumption wise, using a 3D API (and therefore the 
GPU's 3D core) for 2D operations isn't so efficient. But, adding a 
G2D-based backend for example would be much more work. (G2D is a 
highlevel API for controlling the GPU's 2D core, which uses less power.)


More information about the meta-freescale mailing list