Meego Wiki
Views

TV Browser Video HW acceleration

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Created page with "= HTML5 Video Hardware Acceleration = == MeeGo TV Hardware Capability == * Video Display Controller Architecture Image(vdc.PNG) * 4-5 Universal Pixel Plane for graphics an...")
(HTML5 Video Hardware Acceleration)
 
(2 intermediate revisions not shown)
Line 1: Line 1:
= HTML5 Video Hardware Acceleration =
= HTML5 Video Hardware Acceleration =
 +
This page describe how the [[TV Browser | MeeGo TV Browser]] accelerate video by using UMMS to replace FFMPEG.<br>
 +
'''Note:''' This implementation is specific to Intel CE4xxx HW. Other HW architecture will need modification of the code.
 +
 +
This concept was presented during the [http://sf2011.meego.com/program/sessions/hardware-accelerated-html5-video-solution-meego-browser MeeGo conference in San Francisco].
== MeeGo TV Hardware Capability ==
== MeeGo TV Hardware Capability ==
* Video Display Controller Architecture
* Video Display Controller Architecture
-
[[Image(vdc.PNG)]]
+
[[File:MeeGoTV-vdc.png]]
* 4-5 Universal Pixel Plane for graphics and video rendering
* 4-5 Universal Pixel Plane for graphics and video rendering
Line 13: Line 17:
== Multi-plane Solution ==
== Multi-plane Solution ==
-
[[Image(mp-solution.PNG)]]
+
[[File:MeeGoTV-mp-solution.png]]
* Render Process:
* Render Process:
Line 38: Line 42:
== Video As Texture ==
== Video As Texture ==
-
[[Image(vat-solution.PNG)]]
+
[[File:MeeGoTV-vat-solution.png]]
* Render & Browser processes co work to redirect playback commands to UMMS
* Render & Browser processes co work to redirect playback commands to UMMS
* UMMS is responsible for hardware accelerated video decoding and color conversion.
* UMMS is responsible for hardware accelerated video decoding and color conversion.

Latest revision as of 13:33, 27 January 2012

Contents

HTML5 Video Hardware Acceleration

This page describe how the MeeGo TV Browser accelerate video by using UMMS to replace FFMPEG.
Note: This implementation is specific to Intel CE4xxx HW. Other HW architecture will need modification of the code.

This concept was presented during the MeeGo conference in San Francisco.

MeeGo TV Hardware Capability

  • Video Display Controller Architecture

MeeGoTV-vdc.png

  • 4-5 Universal Pixel Plane for graphics and video rendering
  • Hardware blender supports IAP and ARGB pixel format UPP
  • Two hardware decoders - H.264, VC1, MPEG2. support 2-way 1080p video decoding
  • Hardware Scaler
  • PVR SGX Graphics Core

Multi-plane Solution

MeeGoTV-mp-solution.png

  • Render Process:
    • Replace the FFMPEG based !WebMediaPlayer with UMMS based !UmmsWebMediaPlayer
    • Webkit calculates video destination area and transparent area.
  • Browser Process:
    • DBus bridge in browser to adapt security sandbox
    • Issue plane level transparency commands
  • Unified Multimedia Service
    • The actual playback engine
    • Playback and media control
    • DBus interface
    • Multi-session support
    • Multi media engines(Gstreamer, !OpenMax…)
  • mutter-meego-tv: Handle hints for transparency
    • Facts:
      • Browser rendered on X window
      • X rendered on above plane,
      • Hardware accelerated video is rendered on underneath plane.
      • X server does not handle alpha channel by default
      • Alpha channel is used in plane level with Pixel format ARGB
    • Solution: Windows manager handles the alpha channel when compositing
    • Result: See through the right area of X to show video

Video As Texture

MeeGoTV-vat-solution.png

  • Render & Browser processes co work to redirect playback commands to UMMS
  • UMMS is responsible for hardware accelerated video decoding and color conversion.
  • RGBA data is shared between UMMS and render process
  • Render process renders the texture to the video area.


Tradeoff

  • Multi-plane
    • Pursues maximized performance
    • Depend on wm, currently only mutter is enhanced.
    • Video/browser display memory separated, advanced feature not available
  • Video as Texture
    • Keep the integrity of the browser window’s display memory, which enables a lot of advanced HTML5 features.
    • Involve color conversion and memory copy that can be expensive for HD videos
Personal tools