[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