Intel® WiDi Technology: Technical Overview Enabling Dual Screen

Intel® WiDi Technology:
Technical Overview
Enabling Dual Screen Apps
Steve Barile – WiDi Dual Screen Application Evangelist, Intel
CRIS002
Agenda
•
•
•
•
•
•
•
•
2
Intel® WiDi Overview
Definition: Dual Screen Application
Generic App Flow
Windows* Desktop applications
Windows Store applications (metro app)
Android* applications
Useful links
Conclusion/Call to Action
Agenda
•
•
•
•
•
•
•
•
3
Intel® WiDi Overview
Definition: Dual Screen Application
Generic App Flow
Windows* Desktop applications
Windows Store applications (metro app)
Android* applications
Useful links
Conclusion/Call to Action
Intel® WiDi Technology Overview…
What is Miracast*?
Infrastructure Spec ONLY
2012
Wi-Fi
Alliance
Miracast
Spec
A Wi-Fi Alliance* specification - ONLY defines:
Network Discovery & Streaming Video Pipe
…for all devices (PC, Tablet Phone, Blu-ray*, NAS…)
- Network Discovery
• Wi-Fi Direct - Peer-to-Peer Wi-Fi Connection
• 802.11n, WPA2 (WiFi Protected Setup)
- Streaming Video Pipe (h.264 / RTP / UDP)
• Frame Rate (FPS)
• Frame Dimensions (W & H)
• Audio Format 1, 2, 5.1 CH & Codec)
• Link/Content Protection (HDCP 2.1/2)
4
Wi-Fi
Direct
WiFi
Protected
Setup
Streaming
Video
MPEG4
RTSP
Intel® WiDi Technology Overview…
What Miracast* is NOT!
Not an application…
Not PC screen sharing…
Not phone screen mirroring…
Not just for computing devices…
5
Applications Based on Miracast*
Source to Sink
Source
Sink
Miracast*
6
Applications Based on Miracast*
Play Blu-ray* video on TV
Sink
Source
Miracast*
Miracast makes no assumptions about Video Source
7
Applications Based on Miracast*
Duplicate Phone screen to TV via Adapter
Source
Miracast*
Sink
Miracast makes no assumptions about Video Source
8
Applications Based on Miracast*
Display a PC screen on the TV
Source
Sink
Miracast*
WiDi is a screen sharing Windows* Application
based on the Miracast Spec
Miracast makes no assumptions about Video Source
9
Miracast* Data Flow
SOURCE
Audio
Samples
Video
Frames
10
SINK
Video
Render
Audio
Render
Video Encode
Audio Encode
Video Decode
Audio Decode
Packetize
Packetize
De-Packetize
De-Packetize
Link Content Protection
Encrypt (Optional)
Link Content Protection
Decrypt (Optional)
AV Mux
AV DeMux
Transport
Transport
LLC
LLC
Wi-Fi* MAC (Direct Link)
Wi-Fi MAC (Direct Link)
Wi-Fi PHY
Wi-Fi PHY
Agenda
•
•
•
•
•
•
•
•
11
Intel® WiDi Overview
Definition: Dual Screen Application
Generic App Flow
Windows* Desktop applications
Windows Store applications (metro app)
Android* applications
Useful links
Conclusion/Call to Action
Intel® WiDi Technology
Use Case: Same screen on both monitors
– Dual Screen Interaction
12
Duplicate mode:
Same app & UI on
both screens
TV
Easy to understand
duplicate mode even at
2.5m away!
Intel® WiDi Technology
Use Case: Dual monitors for docking
– Dual Screen Interaction
13
Extended mode:
Different app
on each screen
Easy to Understand
“Docking” :
side-by-side monitors in
extended mode
Intel® WiDi Technology
– Dual Screen Interaction
Use Case: Playing Video Clips
Extended mode:
14
Different app
on each screen
TV
Extended mode on TV
(2.5m away):
Hard to understand…
Hard to Drag apps to display!
Intel® WiDi Technology
– Dual Screen Interaction
Use Case: Playing Video Clips
Extended mode:
Different app
on each screen
TV
Extended mode on TV:
Very hard to mouse at 2.5m away!
Cannot click to maximize window
Cannot click to play-pause…
15
Intel® WiDi Technology
Use Case: Microsoft Power Point
– Dual Screen Interaction
16
Extended mode:
EXAMPLE:
MS PowerPoint

TV

Current Slide
(window 2)
Presentation view (window 1)
Current slide + thumbnails
+ note taking
Intel® WiDi Technology
– Dual Screen Interaction
Use Case: Playing Video Clips
Extended mode:
17
App UI has 2 parts:
-  Select & Play content
- View content
TV


ISV has new opportunities to
innovate and differentiate
with dual screen apps!
Intel® WiDi Technology
- Two Screen Interaction
Use Case: Playing Video Clips
Extended mode:
18
Separate the two parts
-  Select & Play at 0.5m
-  View at 2.5m

TV
Media Player (window 2)
Full screen content

Media Player (window 1)
Video controls ( “”/ “||”)
& media browsing
Intel® WiDi Media Share & Other
Dual Screen Application Examples…
19
A Dual Screen Application
Intel® WiDi Media Share:
Uses both screens for maximum user experience…
Search, Select, and Control
Media on 1st screen
20
View HD Media on 2nd screen
A Dual Screen Application
Select Media
FLICK UP
Search Media
21
Control Media
A Dual Screen Application
Search, Select, and Control
Media on 1st screen
View HD Media
on 2nd screen
22
MTV* Music Experience
≥
55”
Live concert video
Top music acts
5 decodes + 1 encode
Touch / Mouse KB
Window #1
Select one-of-five cameras
to show on TV
on 2-in-1 or Tablet
Window #2
View content
full screen on TV
2-in-1 or Tablet
23
Requires Core CPU/GPU
edjing* Music App
Touch UI music DJ
Artist/Track info
Real time data visualization
≥ 55”
Window #1
Edjing*
Performance software
Window #2
Fun Data Visualization
And song info
24
Facebook*
Project to TV
Dual Scrn app
Photo &
Caption +
Comments
23 people like this.
Shashi…
Feb. 5
So Portland Startup Weekend: Women's Edition might actually become a
thing. We just need to assemble an organizing team. Arwa, Gene, &
Jessica expressed interest. Anyone else in?
3 photos
18 comments
Jehn Dove OOOOH! So fun!
February 5 at 1:43pm ◦ Like  4
Cory Cats We need more designers
to join.
February 5 at 1:51pm ◦ Like  2
5 hours ago
25
Double tap write a comment…
Intel® WiDi Technology
– Dual Screen Concept app
Multi-video
User configured
Application
97 MPH
App Window #1
Configure and add
select content
on 0.5m screen
Clear All
Load Layout
111 MPH
Driver #8- Car Cam
MPH / POS
LIVE FEED
Driver #99- Car Cam
MPH / POS
MPH //POS
Layout
2
Layout
3
Driver #10 –
Follow the Car
Track Cam
Driver
Tweet
s
Car Race Main Live Feed
Location
Tweet Feeds….
14 POS
TURN 7
Layout
1
Driver #48- Car Cam
Live
Feed
26
8 POS
Save Layout
Follow
Driver
Driver
Stats
107 MPH
THE RACE
EXTREME
Content
Driver
Locati
on
4 POS
Layout
4
App Window #2
View multi-angle
Videos & more on
2m large screen
One application, pulling content from one site, driving two screens!
Agenda
•
•
•
•
•
•
•
•
27
Intel® WiDi Overview
Definition: Dual Screen Application
Generic App Flow
Windows* Desktop applications
Windows Store applications (metro app)
Android* applications
Useful links
Conclusion/Call to Action
Dual Screen Apps - User Mode Vectors





28
Interactive
Content from any Source
Multiple Content Streams
Multitasking
Passive / Interactive
Dual Screen Apps - User Mode Vectors
- Interactive
Search, Choose, & Control on 1st screen - View on 2nd screen
29
Dual Screen Apps - User Mode Vectors
- Content from any Source
Web content (un/protected) or Local content
Web
Content
Local
Storage
Intel GPU
Transcode any video
30
Dual Screen Apps - User Mode Vectors
- Multiple Content Streams
Configure Content on 1st screen View Multiple content
on 2nd screen
97 MPH
Web Content
4 POS
107 MPH
8 POS
111 MPH
14 POS
TURN 7
LIVE FEED
THE RACE
EXTREME
Content
Clear All
Load Layout
Save Layout
Follow
Driver
Driver
Locati
on
Layout
1
Driver #48- Car Cam
Driver #8- Car Cam
MPH / POS
Driver #99- Car Cam
MPH / POS
Live
Feed
Car Race Main Live Feed
Location
Tweet Feeds….
31
Layout
2
Layout
3
Driver #10 –
Follow the Car
Track Cam
Driver
Tweet
s
Driver
Stats
MPH //POS
Layout
4
Dual Screen Apps - User Mode Vectors
- Multitasking
Run apps (Facebook*) on 1st screen - Watch video on 2nd screen
32
Dual Screen Apps - User Mode Vectors
- Passive / Interactive
Do little or nothing on 1st screen - Content auto refreshes on 2nd screen
23 people like this.
Shashi…
Feb. 5
So Portland Startup Weekend: Women's Edition might actually become a
thing. We just need to assemble an organizing team. Arwa, Gene, &
Jessica expressed interest. Anyone else in?
3 photos
18 comments
Jehn Dove OOOOH! So fun!
February 5 at 1:43pm ◦ Like  4
Cory Cats We need more designers
to join.
February 5 at 1:51pm ◦ Like  2
5 hours ago
33
Double tap write a comment…
Agenda
•
•
•
•
•
•
•
•
34
Intel® WiDi Overview
Definition: Dual Screen Application
Generic App Flow
Windows* Desktop applications
Windows Store applications (metro app)
Android* applications
Useful links
Conclusion/Call to Action
Intel® WiDi Technology – now in Windows* 8.1
!!! In Windows*: WiDi == HDMI* cable !!!
Intel Gfx Driver
+
Intel® WiDi DLLs
Miracast* Implementation
Intel®
Graphics
Driver
Intel/3rd P
Wi-Fi* Driver
To Receiver
Intel HW Encode
35
Intel® WiDi Technology – now in Windows* 8.1
– Manual Connection Method
Swipe
Manual flow 3 steps…
1 swipe – 3 taps



then
then
Tap
36
Swipe - Tap
Tap
Show Project Menu via “+Shift+Ctrl+F21”
Intel® WiDi Technology – now in Windows* 8.1
– Implementation
App Launch
Windows*
8.1 uses
standard Windows
Display Driver
Model (WDDM) APIs:
1. Use
QueryDeviceConfig to
determine topology
and connection type.
2. Use SetDeviceConfig
to put user control
window on small
screen, and content on
the big screen.
Note - new monitor type:
“Miracast*”
2nd
monitor
connected
N
Is
Miracast
on Sys
Y
Y
Set Extended
mode
Show the
Windows charms
“Project” menu
User plugs
in 2nd
monitor via
wire
N
Win+Shift+Ctrl+F21
STOP
User
connects
via Project
menu
2nd
Get
monitor
details (x,y) etc
nd
2Y
window
visible
Y
37
Microsoft* message path
WM_
DISPLAY
CHANGE
event
Use 2nd window
as needed
N
Show (via user request)
2nd window on
2nd monitor
Use this logo to Toggle
dual screen mode.
Contact your Intel field
rep for details.
Intel® WiDi Technology – now in Windows* 8.1
Use “Win+Shift+Cntl+F21”
to show Charms/Project
connection menu
1)
2)
3)
38
+
Make
connection
to TV
+
Make 2nd
window
& position
on TV
Windows* Desktop APIs (C/C++)
Steps:
• Monitor Connection / Disconnection
• Get / Set Monitor Topology
• Create & Position 2nd Window
• Audio Follows Application Location
39
Monitor Connection / Disconnection
Application must have a message handler for:
• WM_DISPLAYCHANGE - notifies any changes to monitor
topology
• In the message handler query the number of monitors
• int nMonitors = GetSystemMetrics(SM_CMONITORS)
• Used to use EnumDisplayDevices / EnumDisplaySettings
for resolution, etc.
+/-
40
Get / Set Monitor Topology
• QueryDisplayConfig shows for each monitor:
– Display Mode: internal only, duplicate, extended, or
external
– Position: Position of the origin in the mutli-monitor plane
– Size: X & Y resolution
– Connection type: Internal, external_port, HDMI*, DVI,
VGA, Miracast*, etc.
• SetDisplayConfig can set non-fixed parameters
Keep track of connection type to
know which monitor to locate the
two windows
41
Creating / Position 2nd Window
Once the 2nd monitor is available:
• Enable user in the UI to use dual screen mode OR
• Automatically create the secondary window
Either choice: Create, show/hide a second window (using Windows* APIs)
• Position the main window on the internal monitor
• Position the secondary window on external monitor
1st Monitor
42
2nd Monitor
Locate search, control and media rendering containers as
needed in main and secondary window’s client area
Audio Follows Application Location
A WiDi connection makes a new audio device. Ex:
… and marks it as the DEFAULT audio device.

OLD DEFAULT
Headphone (RTC)
(IDT High
Definition Audio
CODEC)


NEW DEFAULT
Speakers / HP (IDT
High Definition
Audio CODEC)
Speakers /
Intel® WiDi
This will automatically route most sounds to the “TV”
But all applications can choose the audio device they use!
43
•
Calls: MMDeviceEnumerator, CPolicyConfig, and IMMDevice COM
interface
•
Before connection you must identify the default audio device
•
You can switch between any audio device programmatically
Agenda
•
•
•
•
•
•
•
•
44
Intel® WiDi Overview
Definition: Dual Screen Application
Generic App Flow
Windows* Desktop applications
Windows Store applications (metro app)
Android* applications
Useful links
Conclusion/Call to Action
Windows* Store Apps (C#)
Steps:
• Poll for ProjectionAvailable
• Create a new View (2nd Window)
• Change UI for the first screen
• Send info between pages
INTEL CONFIDENTIAL
Dual Screen Implementation
– Windows* 8.1 Metro App
App Launch
2nd
monitor
connected
N
Y
Create View
Show 2nd window on
2nd monitor
N
Y
Use View
(2nd window) as
needed
Inform User
no 2nd Monitor
available… use
charms to connect
STOP
VIEW
2nd Window
visible
Y
46
Microsoft* message path
Projection
DisplayAvailable
Changed
event
User plugs
in 2nd
monitor via
wire
User
connects
via Project
menu
Detect Second Display Availability
Detect display topology…
• Add event handler to catch ProjectionDisplayAvailableChanged
event from Projection Manager
public async void
ProjectionManager_ProjectionDisplayAvailableChanged(
object sender, object e)
{
if (ProjectionManager.ProjectionDisplayAvailable)
{
}
}
ProjectionManager.ProjectionDisplayAvailableChanged +=
ProjectionManager_ProjectionDisplayAvailableChanged;
47
Create New View
(2nd Window – by default on 2nd monitor)
async void StartProjecting()
{
int thisViewId = ApplicationVie`w.GetForCurrentView().Id;
CoreDispatcher presentationDispatcher =
await ((App)App.Current).CreateNewView();
await presentationDispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
projectionViewId =
ApplicationView.GetApplicationViewIdForWindow(CoreWindow.GetForCurrentThread());
var rootFrame = new Frame();
rootFrame.Navigate(typeof(ProjectionPage), null);
Window.Current.Content = rootFrame;
});
await ProjectionManager.StartProjectingAsync(projectionViewId, thisViewId);
}
48
Send Content to 2nd Window
• Using a struct (or class) to contain the data you want to pass
• Pass it through when you call the Navigate function
public struct MediaInfo
{
public StorageFile file;
public CoreDispatcher dis;
}
var rootFrame = new Frame();
rootFrame.Navigate(typeof(ProjectionPage), new MediaInfo());
49
Projection Page
• Create a new Page and override the OnNavigatedTo function
• Called when navigated to, such as having a frame use the
Navigate function
• The argument will contain what you passed through described in
the previous slide
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
MediaInfo input = (MediaInfo)e.Parameter;
}
50
Demo Screen Shot
Source code available on IDZ
51
Agenda
•
•
•
•
•
•
•
•
52
Intel® WiDi Overview
Definition: Dual Screen Application
Generic App Flow
Windows* Desktop applications
Windows Store applications (metro app)
Android* applications
Useful links
Conclusion/Call to Action
Android* Secondary Display API
Android* added Second-Screen support via the
Presentation class in Android 4.2 (API Level 17),
allowing you to:
• Implement support for a second screen in your applications
without having to worry about the way the displays are
connected (Display agnostic)
• Works with MHL*, HDMI*, SlimPort* & Miracast* compatible
devices
• You can control the output on the remote (second) screen
independently of the phone screen
53
The Presentation Object
• Presentation is the based class and should be extended:
public class DemoPresentation extends Presentation {
• Needs to be associated with a Display at creation time
• Presentation inherits from Dialog, and as for a Dialog its lifecycle is
bound to an Activity
Dialog
Presentation
54
You need to have a fragment based
navigation if you want to keep it running
while navigating in the app.
The activity should take care of pausing
and resuming whatever content is playing
within the presentation whenever the
activity itself is paused or resumed.
Using the Presentation API
Before showing a Presentation you need to select a Display, this can be done in 2
ways:
1.
MediaRouter API (in API 16): system will decide the best display for you!
// Get the MediaRouter service
MediaRouter mMediaRouter =
(MediaRouter)getSystemService(Context.MEDIA_ROUTER_SERVICE);
// Care only about routes that have full video support.
MediaRouter.RouteInfo mRouteInfo =
mMediaRouter.getSelectedRoute(MediaRouter.ROUTE_TYPE_LIVE_VIDEO);
Display presentationDisplay = mRouteInfo.getPresentationDisplay();
2.
Display Manager API (in API 17): Enumeration of displays
// Get the DisplayManager service.
DisplayManager mDisplayManager =
(DisplayManager)getSystemService(Context.DISPLAY_SERVICE);
// enumerate the displays
Display[] presentationDisplays =
mDisplayManager.getDisplays(DisplayManager.DISPLAY_CATEGORY_PRESENTATION);
55
Presentation API
How to get a Presentation displayed:
MediaRouter.
getSelectedRoute
(ROUTE_TYPE_LIVE_VIDEO)
MediaRouter.
routeInfo
new Presentation
(activityContext, display)
.show()
getPresentationDisplay()
Then, using MediaRouter.addCallback, you have to monitor:
• onRouteUnselected
• onRouteSelected
• onRoutePresentationDisplayChanged
And inside the activity owning the Presentation:
• onResume
• onPause
56
Designing Layout for the Presentation
Use a layout the same way as with a Dialog.
Display properties are the same than with Google* TV:
TV setting
Addressable
screen size
Density
Identifier
Screen
Density
Display
Resolution
Screen size
identifier
720p
1280 x 720 px
tvdpi
213 dp
960 x 540 dp
large
1080p
1920 x 1080 px
xhdpi
320 dp
960 x 540 dp
large
source: https://developers.google.com/tv/android/docs/gtv_android_patterns
The TV display is bigger than a phone but the user sits further
way so the screen density is comparable.
Default theme is Holo Dark: light text on dark background is
easier to read on TV.
Orientation is always… landscape!
57
Wi-Fi* Display APIs - Android* 4.2/4.3
•
All of the below APIs are internal as of Android* 4.2/4.3
•
They are part of AOSP and publicly exposed, but not part of the
framework so are not guaranteed to work
android.provider.Settings
android.hardware.display.
WifiDisplayStatus
…
String ACTION_WIFI_DISPLAY_SETTINGS
String getDeviceAlias()
String getFriendlyDisplayName()
int getFeatureState()
int getScanState()
int getActiveDisplayState()
WifiDisplay getActiveDisplay()
android.hardware.display.DisplayManager
WifiDisplay[] getAvailableDisplays()
…
WifiDisplay[] getRememberedDisplays()
String ACTION_WIFI_DISPLAY_STATUS_CHANGED
WifiDisplayStatus getWifiDisplayStatus()
void scanWifiDisplays()
void connectWifiDisplay(String deviceAdress)¹
void disconnectWifiDisplay()²
void forgetWifiDisplay(String address)²
android.hardware.display.WifiDisplay
String getDeviceAddress()
String getDeviceName()
String getDeviceAlias()
String getFriendlyDisplayName()
void renameWifiDisplay(String address, String alias)²
¹android.permission.CONFIGURE_WIFI_DISPLAY required for unknown devices
²android.permission.CONFIGURE_WIFI_DISPLAY always required
58
Adding a MediaRouteButton
In res/menu/default.xml:
<item
android:title="Media Route Settings"
android:actionProviderClass="android.app.MediaRouteActionProvider"
android:showAsAction="always" />
//Sets Media Route Button to second screen mode
mediaRouteActionProvider.setRouteTypes
(MediaRouter.ROUTE_TYPE_LIVE_VIDEO);
59
Agenda
•
•
•
•
•
•
•
•
60
Intel® WiDi Overview
Definition: Dual Screen Application
Generic App Flow
Windows* Desktop applications
Windows Store applications (metro app)
Android* applications
Useful links
Conclusion/Call to Action
Intel® WiDi Technology
- Links and Resources
Intel.com Intel® WiDi Technology page
(Intel® WiDi Media Share…)
http://www.intel.com/go/widi
Intel® Developer Zone page for
Intel® WiDi Technology:
http://software.intel.com/en-us/intel-widi
PDF of this presentation is available from our Technical Session
Catalog: www.intel.com/idfsessionsSZ. The URL is on top of
Session Agenda Pages in Pocket Guide.
61
Agenda
•
•
•
•
•
•
•
•
62
WiDi Overview
Definition: Dual Screen Application
Generic App Flow
Windows* Desktop applications
Windows* Store applications (metro app)
Android applications
Useful links
Conclusion/Call to Action
In Conclusion…
• Users are already using two screens to consume TV and other
content. Smart Phones and Tablets are a constant companion.
–
from WiDi and other end user research
• The Miracast* specification is in place and part of Android* 4.2.2,
Windows* 8.1 Desktop, and Windows 8.1 “Metro”. There is clearly a
broad acceptance of Miracast* from all OS’s and form factors.
• Dual screen apps can perform better on Intel processors because of
CPU & GPU performance
• Dual screen apps are a hot new usage! This is a great differentiator!
• Look for ways to implement dual screen aware applications. There a
many new ways to be unique!
63
Legal Disclaimer
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.
A "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in
personal injury or death. SHOULD YOU PURCHASE OR USE INTEL'S PRODUCTS FOR ANY SUCH MISSION CRITICAL
APPLICATION, YOU SHALL INDEMNIFY AND HOLD INTEL AND ITS SUBSIDIARIES, SUBCONTRACTORS AND AFFILIATES, AND
THE DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES, AND EXPENSES
AND REASONABLE ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PRODUCT LIABILITY,
PERSONAL INJURY, OR DEATH ARISING IN ANY WAY OUT OF SUCH MISSION CRITICAL APPLICATION, WHETHER OR NOT INTEL
OR ITS SUBCONTRACTOR WAS NEGLIGENT IN THE DESIGN, MANUFACTURE, OR WARNING OF THE INTEL PRODUCT OR ANY OF
ITS PARTS.
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
Intel, Core, Look Inside and the Intel logo are trademarks of Intel Corporation in the United States and other countries.
*Other names and brands may be claimed as the property of others.
Copyright ©2014 Intel Corporation.
64
Legal Disclaimer
• Intel® WiDi Technology requires an Intel® Wireless Display enabled system, compatible adapter and TV. 1080p and
Blu-Ray* or other protected content playback only available on select Intel® Core™ processor-based systems with
built-in visuals enabled, a compatible adapter and media player, and supporting Intel WiDi software and graphics
driver installed. Consult your PC manufacturer. For more information, see www.intel.com/go/widi.
• Software Source Code Disclaimer: Any software source code reprinted in this document is furnished under a
software license and may only be used or copied in accordance with the terms of that license.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the following conditions:
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
65
Risk Factors
The above statements and any others in this document that refer to plans and expectations for the first quarter, the year and the
future are forward-looking statements that involve a number of risks and uncertainties. Words such as “anticipates,” “expects,”
“intends,” “plans,” “believes,” “seeks,” “estimates,” “may,” “will,” “should” and their variations identify forward-looking statements.
Statements that refer to or are based on projections, uncertain events or assumptions also identify forward-looking statements. Many
factors could affect Intel’s actual results, and variances from Intel’s current expectations regarding such factors could cause actual
results to differ materially from those expressed in these forward-looking statements. Intel presently considers the following to be the
important factors that could cause actual results to differ materially from the company’s expectations. Demand could be different from
Intel's expectations due to factors including changes in business and economic conditions; customer acceptance of Intel’s and
competitors’ products; supply constraints and other disruptions affecting customers; changes in customer order patterns including
order cancellations; and changes in the level of inventory at customers. Uncertainty in global economic and financial conditions poses a
risk that consumers and businesses may defer purchases in response to negative financial events, which could negatively affect
product demand and other related matters. Intel operates in intensely competitive industries that are characterized by a high
percentage of costs that are fixed or difficult to reduce in the short term and product demand that is highly variable and difficult to
forecast. Revenue and the gross margin percentage are affected by the timing of Intel product introductions and the demand for and
market acceptance of Intel's products; actions taken by Intel's competitors, including product offerings and introductions, marketing
programs and pricing pressures and Intel’s response to such actions; and Intel’s ability to respond quickly to technological
developments and to incorporate new features into its products. The gross margin percentage could vary significantly from
expectations based on capacity utilization; variations in inventory valuation, including variations related to the timing of qualifying
products for sale; changes in revenue levels; segment product mix; the timing and execution of the manufacturing ramp and
associated costs; start-up costs; excess or obsolete inventory; changes in unit costs; defects or disruptions in the supply of materials
or resources; product manufacturing quality/yields; and impairments of long-lived assets, including manufacturing, assembly/test and
intangible assets. Intel's results could be affected by adverse economic, social, political and physical/infrastructure conditions in
countries where Intel, its customers or its suppliers operate, including military conflict and other security risks, natural disasters,
infrastructure disruptions, health concerns and fluctuations in currency exchange rates. Expenses, particularly certain marketing and
compensation expenses, as well as restructuring and asset impairment charges, vary depending on the level of demand for Intel's
products and the level of revenue and profits. Intel’s results could be affected by the timing of closing of acquisitions and divestitures.
Intel's results could be affected by adverse effects associated with product defects and errata (deviations from published
specifications), and by litigation or regulatory matters involving intellectual property, stockholder, consumer, antitrust, disclosure and
other issues, such as the litigation and regulatory matters described in Intel's SEC reports. An unfavorable ruling could include
monetary damages or an injunction prohibiting Intel from manufacturing or selling one or more products, precluding particular business
practices, impacting Intel’s ability to design its products, or requiring other remedies such as compulsory licensing of intellectual
property. A detailed discussion of these and other factors that could affect Intel’s results is included in Intel’s SEC filings, including the
company’s most recent reports on Form 10-Q, Form 10-K and earnings release.
Rev. 1/16/14
66