Symbian3/SDK/Source/GUID-CE94AD48-B79B-403A-98E9-F69494D052F9.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 11 Jun 2010 12:39:03 +0100
changeset 8 ae94777fff8f
child 13 48780e181b38
permissions -rw-r--r--
Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-CE94AD48-B79B-403A-98E9-F69494D052F9" xml:lang="en"><title>HDMI Overview</title><shortdesc>HDMI (High Definition Multimedia Interface) is a compact
audio or video connector interface to transmit uncompressed digital
data.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<section id="GUID-3F6C7FA8-D06B-485B-938F-BD07DE4E3A6F">       <title>Introduction</title><p>HDMI is a digital standard, which provides
an alternative to various analog standards like radio frequency (RF)
coaxial cable, composite video, component video, S-video (super video),
D-terminal (D-tanshi terminal) and VGA (video graphics array).</p><p> HDMI connects, using a single cable, a digital audio or video
source like a mobile phone, a set-top box, a blue-ray disc player,
or a PC to a compatible digital output device, for instance a computer
monitor, or a digital television.</p><p> In general HDMI supports
standard, enhanced, and high-definition (HD) video, and up to 6 channels
of digital audio, which provides the highest-quality home theater
experience. In Symbian^3 the HDMI features are based on HDMI 1.3a
software specifications for the device creator to adapt it to the
platform.</p></section>
<section id="GUID-1741EA7B-EDD3-4049-993B-9EC8AF7F0188"><title>Purpose</title><p>HDMI provides communication between a mobile device and the HD
device. In Symbian^3 HDMI supports some functionality such as setting
and getting screen configuration information, which enables plug and
play without any need for configuration by the end user.</p><p>In
Symbian^3 HDMI supports the following features:</p><ol>
<li id="GUID-16BBE566-2EB0-4277-9A96-C887F2827E9E"><p>Maximum progressive
scan HD resolution of 1280 x 720 pixels. Progressive scan is a method
to display moving images.</p></li>
<li id="GUID-2D12B86B-42EB-47EE-850B-78A172EB23F4"><p>Multi-channel
digital uncompressed audio data.</p></li>
<li id="GUID-49A104E7-7AF3-4707-A809-AD19C650DF83"><p>EDID (Extended
Display Identification Data). This is a data structure provided by
a computer display to describe its capabilities to a graphics card.
EDID is defined by a standard published by the Video Electronics Standards
Association (VESA). </p></li>
<li id="GUID-60BEB25D-2226-4123-9BB9-ADFB4DAD6064"><p> HDCP (High-bandwidth
Digital Content Protection). This prevents copying audio and video
content. HDCP is invisible to the end-user unless a problem occurs.
If HDCP reports a problem an image related to DRM (Digital rights
management) failure and an error message are displayed, instead of
the video content and audio is muted.</p></li>
</ol> In Symbian^3 the HDMI uses two modes such as non-HD (High Definition)
compliant view and HD compliant view. In Symbian^4 the
dual display mode will be implemented. <p>The HDMI modes are listed
below:</p><ul>
<li><p><b>Clone mode or Non-HD compliant view</b> </p><p>In this mode,
the mobile device and the HD display show the same information.</p></li>
<li><p><b>Native mode or HD compliant view </b></p><p>This mode takes
full advantage of HDMI, and reproduces mobile device content in the
maximum HD resolution available with HDMI. For example if a mobile
device displays a video clip, including its title and a progress bar,
the HD display might just show the video clip in full screen, (excluding
the others content).</p></li>
<li><p><b>Dual display mode </b></p><p>In this mode, the mobile devices's
display and the HD display are treated as separate displays by an
application like the photo gallery. The application controls what
is displayed in each. </p></li>
</ul><draft-comment time="2010-05-10T16:34" translate="no"><p>The diagram
below shows the subsystems that need to be modified in order to adapt
HDMI in the Symbian platform by the device creator.</p><p/><fig id="GUID-856268EB-CE51-4F2C-8DD6-9B20A71DFDA3">
<title>HDMI architectural relationship with the subsystem</title>
<image href="GUID-DD0F8AFB-F96C-4EAC-96DE-7D5C0597B574_d0e315975_href.png" placement="inline"/>
</fig><ol>
<li id="GUID-46021ED3-A8CE-4A9B-899A-D41F58B6A276"><p><b>Application
layer</b></p><p>To use HDMI in an application no changes are required
in this layer. For example to play a video use the <xref href="GUID-42D1182F-46D8-3C78-8D3C-C1BB465FCA1F.dita"><apiname>CVideoPlayerUtility2</apiname></xref> API from the <xref href="GUID-0EE3180B-4814-517E-A6DD-748136C17D55.dita">Video Client Library</xref> in the Multimedia framework (MMF).</p></li>
<li id="GUID-C99447D2-AB1B-4CF0-B8D4-02007F707AA6"><p><b>Middleware
layer</b></p><p>To support high-definition resolutions, WMA (Windows
Media Audio) hardware device and multi-channel WMA to play video the <xref href="https://symbian.helixcommunity.org/" scope="external">Helix</xref> as the MMF controller plug-in is used.</p></li>
<li id="GUID-F5DC0665-A31D-41DB-9A03-02A1E8BC3DEB"><p><b>OS Extension
layer</b></p><p> In order to play audio with support for HDCP use
the <xref href="GUID-C05374FC-CF33-58C2-9442-B9EE78C81A4F.dita">DevSound
library</xref> extension and the <xref href="GUID-5F38F219-B22D-42E6-973A-B4DBBC5984F8.dita">DRM</xref> APIs .
The <xref href="GUID-667C0481-2DEF-4618-9AA5-8DF528082061.dita">Accessory
Server</xref> API provides the policy for audio routing.</p></li>
<li id="GUID-A68E27EB-905C-41FF-934E-4955D0A1BD79"><p><b>OS layer
(Symbian)</b></p><p> To play video in HDMI mode use the <xref href="GUID-2C443E6F-BC3D-5252-8098-9F850AA88A35.dita">Window Server</xref> to check the render stage policy of the graphics surface in the
video.</p></li>
<li id="GUID-5681B9F3-1B4A-4D81-9EA4-CC488012C219"><p><b>Adaptation
layer</b></p><p>For the audio adaptation use the <xref href="GUID-A278E79E-471A-3986-A1D6-CEB7DE5EA750.dita"><apiname>CHdmiAudioLink</apiname></xref> API to play multi-channel audio. For the video adaptation use the <xref href="GUID-519B9FE6-375D-3D85-9966-E61260B31868.dita"><apiname>CIveVideoDecodeVC1HwDevice</apiname></xref> API to play a video in fullscreen
and high resolution. The display driver is used to support display
modes like clone, dual and native modes. The system adaptation detects
HDMI protocols, and transfers the protocols to the HDMI driver.</p></li>
<li id="GUID-48929F16-C972-4206-BA43-83D7224D3644"><p><b>HDMI driver</b></p><p>This driver transfers all data and initialization of the HDMI
chip from the adaptation layer to the hardware layer.</p></li>
<li id="GUID-9B3C4B87-D939-43DC-B5F9-7CEC3C3E997F"><p><b>Hardware
layer</b></p><p>The HDMI chip is in the hardware layer. The chip is
used to receive and transmit the high performance video and audio
between the mobile device and the HDMI display.</p></li>
</ol></draft-comment></section>
<section id="GUID-47967980-44F0-4F4B-BC5D-C25E634A435F"><title>Description</title><p>HDMI is used to implement the following use-cases: <ul>
<li><p>Play video in full screen and high resolution.</p></li>
<li><p>Play audio with DRM supported.</p></li>
<li><p>View images including zooming and rotating in full screen.</p></li>
<li><p>Play audio with HDCP support to restricted audio output.</p></li>
</ul></p><p>For example in order to play a video the following diagram
demonstrates the HDMI feature implementation:</p><fig id="GUID-55FBC50B-5C93-49C2-8515-1A1EC2528286">
<title>HDMI video play use-case</title>
<image href="GUID-84897583-A06F-42EE-917D-DF908B095AFF_d0e316089_href.png" placement="inline"/>
</fig><p>In order to play video the <xref href="GUID-42D1182F-46D8-3C78-8D3C-C1BB465FCA1F.dita"><apiname>CVideoPlayerUtility2</apiname></xref> API is used as the <xref href="GUID-0EE3180B-4814-517E-A6DD-748136C17D55.dita">Video Client library</xref>, which plays sampled video data on graphics surfaces. In the MMF
layer, the <xref href="GUID-9DEDFB0F-C963-3FB7-9237-DDDB276C8841.dita"><apiname>RMMFController</apiname></xref> and the <xref href="GUID-CAFDAD45-0D6F-3D96-A859-36101A9B30DB.dita"><apiname>CHXNGAUtility</apiname></xref> APIs are used as the MMF controller framework, which initializes
the <xref href="GUID-FB2E1BFB-A06C-58D8-B175-1E7B10BCCB72.dita">DevVideo</xref> API. The DevVideo uses the <xref href="GUID-6273220C-24F9-3ECB-9748-E74D595D448A.dita"><apiname>CMMFDevVideoPlay</apiname></xref> API
to play the video. The <xref href="GUID-519B9FE6-375D-3D85-9966-E61260B31868.dita"><apiname>CIveVideoDecodeVC1HwDevice</apiname></xref> API provides video adaptation to the hardware layer. In the video
adaptation, a decision making engine chooses the graphics surface
on which to display the video on the HD display. The Window Server
API is used for <xref href="GUID-0EBE5733-A267-5F4A-85AD-87C3ECF80731.dita" scope="local">dynamic resolution switching</xref>. The HDMI driver
transfers all video data to the HDMI chip, which is in the hardware
adaptation layer (the physical layer). The hardware layer transmits
video data to the HD display through a single cable.</p></section>
</conbody></concept>