Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

When the Output Resolution is considered to be standard definition, the Guide Plane is adjusted from the default 1280x720 to 640x480 with an exception for TrueSD mode.

Video-Graphics Display Compositing Requirements

  • MUST support Video-graphics display compositing layering functions
  • Compositing of Graphics on Video using
    • an opaque graphics overlay,
    • a translucent (alpha blended) overlay, or
    • picture in graphics
  • RGB and YUV color spaces
    • color space conversion between these
  • MUST scale graphics to the current output resolution of the display


Image Added

Z-Ordering

The graphics and video planes need to be arranged to form a cohesive display framework. 

The order of planes are as follows from a user perspective :

  1. Graphics plane used by Closed Caption
  2. Graphics plane used by QT application
  3. Video plane used by RMF

Each video stream is assigned a video plane to render to.  Video planes are at a lower z-order then the graphics plane.  For full-screen video, the video plane is sized the same as the display output resolution.  There are certain UI use cases where the video can be scaled down to a smaller size (e.g. PIP view).  The video streams themselves will have their own resolution, often different from the plane size.  The video pipeline will be configured to scale the video content to fit the plane, preserving the aspect-ratio of the video.

Since the graphics plane draws on top of the video plane, it is necessary for the graphics draw routine to draw transparency into the rectangle where video lives.  We call this "hole punch".  In the graphics tree, video will have a representative "video item" which when encountered during the graphics tree traversal, will handle doing the hole punch in graphics space.  Once the graphics plane is scaled up to the display size, the rectangle of the hole punch will match the video plane.


RDK Graphics Stack Architecture

Image Added

RDK uses Qt/WPE Webkit as the windowing framework and OpenGL/ES as the graphics engine, application rendering and user input framework. Creating an OpenGL context is quite a complex process & it varies between Operating Systems. Automatic OpenGL context creation has become a common feature of several user-interface libraries, including Qt and WPE.








Table of Contents


Overview

...