[meta-freescale] Chromium acceleration

Otavio Salvador otavio at ossystems.com.br
Thu Mar 20 05:22:03 PDT 2014


On Thu, Mar 20, 2014 at 5:30 AM, Carlos Rafael Giani
<dv at pseudoterminal.org> wrote:
> Hi Eric and Christian,
>
> I wanted to avoid _any_ copy involving the CPU, including any texture
> upload. The Vivante GLES direct texture extension can color-convert, yes,
> but it can also read pixels directly from a DMA buffer, without any copy.
> This is what I use for the GLES-based sink in my GStreamer plugins, and
> allows me to play 1080p videos with less than 6% CPU usage.
> v4lsink would be another idea, but I am a bit skeptical, because it wouldn't
> play well with any X11 or Wayland compositor, since it would essentially act
> like an overlay. This is even worse with the isink (if the regular,
> non-overlay layer is used), because then, the sink simply overwrites pixels
> drawn by X11. What the isink does is to make sure the pixels are blit in the
> area of its output window, so it does not overwrite anything outside. But
> again, with desktop compositing this would break down. (Also, the isink is
> quite slow.)
>
> I would consider this one texture upload only if absolutely necessary.
>
> My idea was to actually produce the texture in the decoder myself, and just
> send the texture GL name around to the renderer. This would require that
> everything is drawn with GLES of course - what would a software renderer do
> with a GL name?
>
> As for the decoder itself: I implemented it in the Chromium media framework,
> in media/ . I simply took the vpx decoder code, copied it, and modified it
> to use the VPU. I had VP8, MPEG2, MPEG4, and h264 decoding working. It wasnt
> much code, but unfortunately, the interfaces tend to change between
> versions, so the code would have to be updated for the newest Chromium
> version. It is not much code, I will try to clean it up a bit and post it.
> In addition, I will ask the colleagues for the other patches for
> accelerating the 2D and WebGL rendering.

\m/ bear on mind I pushed Chromium 35 in meta-browser ;-)

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


More information about the meta-freescale mailing list