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

Carlos Rafael Giani dv at pseudoterminal.org
Tue Sep 23 12:29:56 PDT 2014


There is none. They use completely different media pipelines and video 
sinks.


> We are able to play hw accelerated local video under the Qt5 
> multimedia qmlvideo example and believe that it is using Gstreamer as 
> well.  Looking for a way to do the same under Webkit.  Any connections 
> between the two on video playback?
>
> Regards,
>
> Bin
>
>
>
>
> On 9/23/2014 12:02 PM, Carlos Rafael Giani wrote:
>> 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/80433b41/attachment.html>


More information about the meta-freescale mailing list