Displaying Stereoscopic 3D (S3D) with Intel HD Graphics Processors for Software Developers August 2011



Similar documents
Intel Media SDK Library Distribution and Dispatching Process

Specification Update. January 2014

Intel Media SDK Features in Microsoft Windows 7* Multi- Monitor Configurations on 2 nd Generation Intel Core Processor-Based Platforms

Intel SSD 520 Series Specification Update

Intel Core i5 processor 520E CPU Embedded Application Power Guideline Addendum January 2011

Intel 810 and 815 Chipset Family Dynamic Video Memory Technology

Intel Solid-State Drive Pro 2500 Series Opal* Compatibility Guide

Intel HTML5 Development Environment. Tutorial Building an Apple ios* Application Binary

Intel Core TM i3 Processor Series Embedded Application Power Guideline Addendum

Intel Media Server Studio Professional Edition for Windows* Server

Intel HTML5 Development Environment. Tutorial Test & Submit a Microsoft Windows Phone 8* App (BETA)

Software Solutions for Multi-Display Setups

Power Benefits Using Intel Quick Sync Video H.264 Codec With Sorenson Squeeze

Cloud based Holdfast Electronic Sports Game Platform

Intel HTML5 Development Environment Article Using the App Dev Center

Creating Full Screen Applications Across Multiple Displays in Extended Mode

Version Rev. 1.0

Software Evaluation Guide for Autodesk 3ds Max 2009* and Enemy Territory: Quake Wars* Render a 3D character while playing a game

Intel Media Server Studio - Metrics Monitor (v1.1.0) Reference Manual

with PKI Use Case Guide

Creating Overlay Networks Using Intel Ethernet Converged Network Adapters

Intel Perceptual Computing SDK My First C++ Application

Intel 845G/GL Chipset Dynamic Video Memory Technology

Intel Extreme Memory Profile (Intel XMP) DDR3 Technology

IDE Integration for Android* Part of the Intel Integrated Native Developer Experience (Intel INDE) 1.5.7

Intel Desktop Board DP55WB

Revision History. Revision Revision History Date

RAID and Storage Options Available on Intel Server Boards and Systems

This guide explains how to install an Intel Solid-State Drive (Intel SSD) in a SATA-based desktop or notebook computer.

Intel Integrated Native Developer Experience (INDE): IDE Integration for Android*

Intel Retail Client Manager

Intel Platform Controller Hub EG20T

Intel HTML5 Development Environment. Article - Native Application Facebook* Integration

* * * Intel RealSense SDK Architecture

2013 Intel Corporation

Intel Compute Stick STCK1A32WFC User Guide. Intel Compute Stick STCK1A32WFC

Intel Desktop Board D945GCPE

Intel Cloud Builder Guide: Cloud Design and Deployment on Intel Platforms

System Image Recovery* Training Foils

Intel Desktop Board DQ35JO

Intel Desktop Board DG41BI

Intel Desktop Board DG43RK

iscsi Quick-Connect Guide for Red Hat Linux

RAID and Storage Options Available on Intel Server Boards and Systems based on Intel 5500/5520 and 3420 PCH Chipset

Intel Desktop Board DG965RY

Intel Desktop Board D945GCPE Specification Update

Intel Desktop Board DG41TY

WHITE PAPER. LVDS Flat Panel Display Interface on Intel Desktop Boards. July 2009 Order Number: E

Intel Desktop Board DG31PR

Intel Identity Protection Technology (IPT)

The Case for Rack Scale Architecture

Head-Coupled Perspective

Intel Desktop Board DG33TL

Intel Matrix Storage Manager 8.x

Intel Desktop Board DQ43AP

Benefits of Intel Matrix Storage Technology

Intel Identity Protection Technology Enabling improved user-friendly strong authentication in VASCO's latest generation solutions

Intel Active Management Technology Embedded Host-based Configuration in Intelligent Systems

Intel 865G Chipset Dynamic Video Memory Technology

Intel Desktop Board DG41WV

Intel WiDi Remote 1.0 Release Notes

Interfacing Intel 8255x Fast Ethernet Controllers without Magnetics. Application Note (AP-438)

Intel Desktop Board DG43NB

Intel vpro Technology. How To Purchase and Install Symantec* Certificates for Intel AMT Remote Setup and Configuration

How to Configure Intel X520 Ethernet Server Adapter Based Virtual Functions on Citrix* XenServer 6.0*

Intel vpro Technology. How To Purchase and Install Go Daddy* Certificates for Intel AMT Remote Setup and Configuration

Intel Desktop Board D945GCL

Intel Desktop Board DQ965GF

Intel Retail Client Manager Audience Analytics

Video Encoding on Intel Atom Processor E38XX Series using Intel EMGD and GStreamer

Intel 965 Express Chipset Family Memory Technology and Configuration Guide

Intel Desktop Board D101GGC Specification Update

Intel Extreme Graphics 2 User s Guide for Version 14.x Driver Releases

Intel Technical Advisory

Intel Sideband Fabric Device (Intel MBI) Driver

Intel Server Raid Controller. RAID Configuration Utility (RCU)

Partition Alignment of Intel SSDs for Achieving Maximum Performance and Endurance Technical Brief February 2014

Intel Cloud Builders Guide to Cloud Design and Deployment on Intel Platforms

Intel Simple Network Management Protocol (SNMP) Subagent v6.0

Running Windows 8 on top of Android with KVM. 21 October Zhi Wang, Jun Nakajima, Jack Ren

Intel Network Builders

Intel Network Builders: Lanner and Intel Building the Best Network Security Platforms

Intel 815 Chipset Platform for Use with Universal Socket 370

Intel Ethernet and Configuring Single Root I/O Virtualization (SR-IOV) on Microsoft* Windows* Server 2012 Hyper-V. Technical Brief v1.

User Guide Software Version 2.1.0

Intel Desktop Board DP43BF

Intel Data Migration Software

Intel Q35/Q33, G35/G33/G31, P35/P31 Express Chipset Memory Technology and Configuration Guide

Intel Internet of Things (IoT) Developer Kit

Intel RAID RS25 Series Performance

Intel Modular Server System MFSYS25

Catalyst Software Suite Version 9.11 Release Notes

Intel Management Engine BIOS Extension (Intel MEBX) User s Guide

Intel and Qihoo 360 Internet Portal Datacenter - Big Data Storage Optimization Case Study

Intel Remote Configuration Certificate Utility Frequently Asked Questions

Intel Built-in Visuals

Intel Matrix Storage Console

Transcription:

Displaying Stereoscopic 3D (S3D) with Intel HD Graphics Processors for Software Developers August 2011 Document Number: TBD

Introduction INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. UNLESS OTHERWISE AGREED IN WRITING BY INTEL, THE INTEL PRODUCTS ARE NOT DESIGNED NOR INTENDED FOR ANY APPLICATION IN WHICH THE FAILURE OF THE INTEL PRODUCT COULD CREATE A SITUATION WHERE PERSONAL INJURY OR DEATH MAY OCCUR. Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information. The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request. Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order. Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or go to: http://www.intel.com/design/literature.htm 2

Introduction Contents 1 Introduction... 4 2 S3D Overview... 5 2.1 Stereoscopic Display... 5 2.2 Scope & Assumptions... 6 3 Setting an S3D mode... 7 3.1 Display... 7 3.2 IGFXS3DControl Class... 8 3.3 Typical modes returned by driver... 8 4 Reference Documents / Links... 10 3

Introduction 1 Introduction The purpose of this document is to give an overview and description of the Stereoscopic 3D (S3D) Application Programming Interface (API) for Intel HD Graphics hardware. The target audience of this document is software developers wanting to utilize S3D in their Windows 7 applications. The S3D API for Intel graphics hardware is implemented in a static C++ library, included in the Intel Media SDK v3.0 package, available at no charge from http://software.intel.com/en-us/articles/media/. This document does not describe how to encode, or decode video (movie) data that contains two (2) images (left & right eyes). This document simply describes a method to get the S3D-capable monitor (or TV) to display the two images needed to present a perceived 3D image. 4

S3D Overview 2 S3D Overview 2.1 Stereoscopic Display Stereoscopic 3D (S3D) imagery (a.k.a. Stereoscopy) is, of course, two (2) 2D images (one for each eye) giving the illusion of depth. PCs have a long history of displaying S3D images. This has generally been achieved by various proprietary methods. The following is a few legacy solutions used in the past, and some problems/side-effects of those solutions: The PC can use a normal 2D display and directly control a pair of glasses (a.k.a. Active Glasses ), which can block one eye from seeing an image, then alternate to block the other eye for the next image. Problems: o o Each eye only sees half of the images it would normally see. If the display is presenting 60 frames-per-second, each eye only sees 30 frames per second. (This can increase headaches, etc.) Users cannot connect multiple S3D sources (game consoles, Bluray players, cameras, etc.) to their display. The PC can rely on a proprietary display that controls what the user sees. There are many types of these displays. One popular type is a polarized display that uses passive polarized glasses. Others require no glasses by projecting two images, (requiring the user to place their eyes in exactly the right spot). Problems: o o o Dozens of types of displays. Users must manually switch their display between normal 2D and one of several possible 3D modes. Users cannot connect multiple S3D sources (game consoles, Bluray players, cameras, etc.) to their display. With newer display link technologies (like HDMI 1.4 or edp 1.1, etc), devices (PCs, Bluray players, game consoles, etc.) can now automatically switch the display between normal 2D and 3D. 5

S3D Overview This document describes a software interface that developers can use to utilize the newer automatic switching to/from 3D modes when displaying with Intel HD Graphics processors. Once the display is in 3D, an application can utilize the powerful Intel Media SDK to prepare the left & right images or it can directly utilize Microsoft DXVA APIs to generate the two images. An application could also generate its own left & right images (for example a game ). 2.2 Scope & Assumptions The following is a list of limitations and restrictions to consider for S3D support. 1. Windows* 7 only. Supports windowed or full screen usage models. 2. Direct3D 9 Overlay swap chain usage is required. 3. HDMI 1.4, special edp, or similar based monitors/tvs. 4. The host application should not send S3D content when the display is set to 2D mode or vice versa. Changing between 2D/S3D display mode involves an OS mode set operation. 5. The cursor will only display in left image. 6. Requires creation (& use of) a Microsoft DXVA video processing device, even if DXVA decoding is not used. 6

Setting an S3D mode 3 Setting an S3D mode 3.1 Display Summary Only HDMI 1.4 based monitors or special embedded Display Port (edp) 1.1a displays are supported. Details An API to allow an application to set a S3D display mode is included in (provided by) the Intel Media SDK; However, it can be used by itself (as a stand-alone library). The library is a simple 32-bit Win32 static library. The Intel Media SDK 3.0 beta is available from: http://software.intel.com/enus/articles/intel-media-sdk-30-beta 7

Setting an S3D mode 3.2 IGFXS3DControl Class Summary The IGFXS3DControl C++ class (included in the Intel Media SDK), contains the methods and structures needed to control S3D display modes. C++ Header File: \samples\sample_common\igfx_s3dcontrol.h Library File <32-bit or 64-bit>: \samples\sample_common\lib\win32\igfx_s3dcontrol.lib or \samples\sample_common\lib\x64\igfx_s3dcontrol.lib Typical steps to use this class are as follows An application: 1. Creates an instance of IGFXS3DControl:: 2. Determines what screen resolutions and refresh rates are currently possible by calling ->GetS3DCaps() 3. Switches the TV/Monitor to 3D via ->SwitchTo3D() 4. Creates a Direct3D9 device (with D3DSWAPEFFECT_OVERLAY) 5. Calls DXVA2CreateDirect3DDeviceManager9() a. Calls ->SetDevice() 6. Calls DXVA2CreateVideoService a. Calls ->SelectLeftView() then CreateVideoProcessor() b. Calls ->SelectRightView() then CreateVideoProcessor() 7. Acquires the render target via target GetBackBuffer() 8. Renders left eye a. Using the left VideoProcessor, calls ->VideoProcessBlt() 9. Renders right eye a. Using the right VideoProcessor, calls ->VideoProcessBlt() b. Calls ->Present() 10. Repeats steps 10 & 11 as appropriate 11. Calls ->SwitchTo2D() 12. Deletes instance of IGFXS3DControl:: 3.3 Typical modes returned by driver Table below shows the typical modes supported by the display driver for switching to automatic S3D. 8

Setting an S3D mode Mode HDMI 1.4a S3D display 1080p24 1080p23 720p50 720p59 720p60 edp 120Hz All modes* *Note: For non-native modes default S3D behavior is to scale OS mode to native mode of panel. 9

Reference Documents / Links 4 Reference Documents / Links Intel Graphics Developer's Guides: http://software.intel.com/en-us/articles/intelgraphics-developers-guides/ Intel Software Network - Media: http://software.intel.com/enus/articles/media/ Intel Media SDK 3.0 beta: http://software.intel.com/en-us/articles/intel-mediasdk-30-beta/ Intel Media SDK Features in Microsoft Windows 7* Multi-Monitor Configurations on 2 nd Generation Intel Core Processor-Based Platforms : http://www.intel.com/support/graphics/intelhdgraphics3000_2000/sb/cs032112.p df Enabling High-Performance Video Encoding, Decoding, and Preprocessing: http://software.intel.com/en-us/articles/enabling-high-performance-videoencoding-decoding-and-preprocessing/ 10