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

Carlos Rafael Giani dv at pseudoterminal.org
Tue Sep 23 12:02:03 PDT 2014


This is because by default, WebKit will use GStreamer for decoding (and 
therefore automatically use hw accelerated decoding if an appropriate 
plugin is installed), but will copy the decoded pixels with the CPU. 
Efficient transmitting of decoded frames to the display is just as 
important as hw accelerated decoding, if not more. Yet, many people only 
care about the decoding part. On embedded platforms like the imx6, this 
means that zerocopy must be enforced, that is, ensure that _no_ copies 
of frames are made with the CPU. If copies are necessary, they must be 
done by using DMA transfers only.

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.

There is apparently a GL-based alternative, but I haven't seen it in 
action yet. Also, if TEXTURE_MAPPER_GL implies Desktop OpenGL (without 
being able to choose OpenGL ES instead), it means it will use the wrong 
API for embedded devices (*never* use the regular OpenGL, since it is 
made for desktops - use OpenGL ES instead). With OpenGL ES, there is a 
Vivante GPU specific extension that allows for zerocopy. But this has to 
be integrated into WebKit, which is probably rather difficult.

On 2014-09-23 20:55, Bin Lin wrote:
> Hi Richard,
>
> We tried to get the HTML5 playback working with Qt5.2.1 webkit on 
> daisy branch.  It hangs when it is trying to play.  We tried it on 
> both the youtubeview example of Qt5 webkitqml and the browser example 
> of webkitwidgets, eglfs setup.  The results are the same.
>
> What are the steps you followed to make the HTML5 at least to play 
> under webkit?
>
> Regards,
>
> Bin
>
> On 9/23/2014 11:33 AM, Gerard Bucas wrote:
>> Hi Richard
>>
>> We have trying EXACTLY the same thing & although we see a slight 
>> improvement on the latest beta BSP, I agree with your conclusion.
>>
>> This is a serious problem for practical applications of the I.MX6 - 
>> any application that requires HTML5 playback or a browser in general.
>>
>> See the thread to this list that I started yesterday:
>>
>> Re: [meta-freescale] Any hope of vblank-synchronized rendering (from 
>> vivante) on i.MX6 soon?
>>
>> Glad we have yet another concerned user!! 😃
>>
>> Regards
>>
>> Gerard Bucas
>>
>>
>>
>>> On 23 Sep 2014, at 14:13, Richard Cochran <richardcochran at gmail.com> 
>>> wrote:
>>>
>>> Dear list,
>>>
>>> I have been trying to get hardware accelerated html5 video working on
>>> the imx6 for a some time now. After trying 'daisy' and also the more
>>> recent alpha and beta branches, I have come to the conclusion that
>>> this does not work (and never has). Looking at the webkit source and
>>> also googling around only confirm my suspicions.
>>>
>>> Does anyone out there have this working?
>>>
>>> Thanks,
>>> Richard
>>> -- 
>>> _______________________________________________
>>> meta-freescale mailing list
>>> meta-freescale at yoctoproject.org
>>> https://lists.yoctoproject.org/listinfo/meta-freescale
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-freescale/attachments/20140923/57fad924/attachment.html>


More information about the meta-freescale mailing list