Choosing the Right Media Paths to Facilitate Hardware Acceleration

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

Intel Media SDK Library Distribution and Dispatching Process

Software Solutions for Multi-Display Setups

Specification Update. January 2014

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

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

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

The Case for Rack Scale Architecture

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

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

Creating Full Screen Applications Across Multiple Displays in Extended Mode

Intel Service Assurance Administrator. Product Overview

Intel Core TM i3 Processor Series Embedded Application Power Guideline Addendum

Creating Overlay Networks Using Intel Ethernet Converged Network Adapters

Intel Media Server Studio Professional Edition for Windows* Server

Using GStreamer for hardware accelerated video decoding on Intel Atom Processor E6xx series

Customizing Boot Media for Linux* Direct Boot

Intel 810 and 815 Chipset Family Dynamic Video Memory Technology

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

Intel Data Direct I/O Technology (Intel DDIO): A Primer >

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

Intel Desktop Board DG43RK

Intel Retail Client Manager

Cloud based Holdfast Electronic Sports Game Platform

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

Intel Desktop Board DG41BI

Intel Desktop Board DG41TY

Intel Desktop Board DQ35JO

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

Intel Desktop Board D945GCPE Specification Update

RAPID EMBEDDED LINUX* DEVELOPMENT

Intel Platform Controller Hub EG20T

Intel Desktop Board D945GCPE

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

iscsi Quick-Connect Guide for Red Hat Linux

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

VNF & Performance: A practical approach

Douglas Fisher Vice President General Manager, Software and Services Group Intel Corporation

Whitepaper. NVIDIA Miracast Wireless Display Architecture

Intel Desktop Board DG31PR

Intel Desktop Board DQ43AP

A Superior Hardware Platform for Server Virtualization

Intel Desktop Board DG965RY

with PKI Use Case Guide

Intel 845G/GL Chipset Dynamic Video Memory Technology

* * * Intel RealSense SDK Architecture

Intel Desktop Board DG33TL

Intel HTML5 Development Environment Article Using the App Dev Center

Intel Embedded Virtualization Manager

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

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

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

Intel Atom Processor E3800 Product Family

Intel Desktop Board DP43BF

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

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

Intel Desktop Board DG41WV

Intel Desktop Board D101GGC Specification Update

Windows Embedded Security and Surveillance Solutions

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

How to Configure Intel Ethernet Converged Network Adapter-Enabled Virtual Functions on VMware* ESXi* 5.1

Intel Desktop Board DQ965GF

Intel Desktop Board D945GCL

Intel Desktop Board D945GCZ

Intelligent Business Operations

Desktop Reinvented. Lisa Graff Vice President and General Manager Desktop Client Platforms Group

Intel Identity Protection Technology (IPT)

Intel SSD 520 Series Specification Update

Different NFV/SDN Solutions for Telecoms and Enterprise Cloud

Intel Desktop Board DG43NB

2013 Intel Corporation

Intel Desktop Board D945GNT

Intel Desktop Board DP55WB

COSBench: A benchmark Tool for Cloud Object Storage Services. Jiangang.Duan@intel.com

Intel Identity Protection Technology with PKI (Intel IPT with PKI)

RAID and Storage Options Available on Intel Server Boards and Systems

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

Fast, Low-Overhead Encryption for Apache Hadoop*

Haswell Cryptographic Performance

Enabling new usage models for Intel Embedded Platforms

Intel Small Business Advantage (Intel SBA) Release Notes for OEMs

Intel Virtualization Technology (VT) in Converged Application Platforms

Accelerating High-Speed Networking with Intel I/O Acceleration Technology

Intel X38 Express Chipset Memory Technology and Configuration Guide

Intel Retail Client Manager

Intel Data Migration Software

Intel Solid-State Drives Increase Productivity of Product Design and Simulation

Intel Technical Advisory

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

Intel Network Builders

Intel: a Thought Leader Helping IoT Scale Out

Version Rev. 1.0

Intel Perceptual Computing SDK My First C++ Application

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

Intel 865G Chipset Dynamic Video Memory Technology

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

Content Protection in Silverlight. Microsoft Corporation

DDR2 x16 Hardware Implementation Utilizing the Intel EP80579 Integrated Processor Product Line

NVIDIA GeForce GTX 580 GPU Datasheet

Intel RAID RS25 Series Performance

Transcription:

White Paper Fan, Fred Graphics Platform Application Engineer Intel Corporation Tan, Hui Li Graphics Platform Application Engineer Intel Corporation Choosing the Right Media Paths to Facilitate Hardware Acceleration Media Solution for Retail Independent Software Vendors (ISVs) September, 2013 329650-001US

Executive Summary This paper provides detailed guidance for choosing the right mediadevelopment Application Programming Interfaces (APIs) for different retail usage models and devices on Windows* 7 and Windows* 8 operating systems (OSs). When Independent Software Vendors (ISVs) make decisions on which approach to take for their own media applications, there are five key factors that may influence their decisions: hardware investment, software resource investment, performance, flexibility, and software implementation speed. This paper provides detailed guidance for choosing the right media development APIs for different retail segments, from Entry to Mainstream and High-end. This paper does not include implementation details, but does provide related media references, such as Intel Media SDK and other media development APIs, to help ISVs develop their media content as the next step. The Intel Embedded Design Center provides qualified developers with web-based access to technical resources. Access Intel Confidential design materials, step-by-step guidance, application reference solutions, training, Intel s tool loaner program, and connect with an e-help desk and the embedded community. Design Fast. Design Smart. Get started today. http://www.intel.com/p/en_us/embedded. 2

Contents Business Challenge... 5 Solution... 6 Proposed Media Methodologies... 6 Key Criteria... 7 Entry Retail Device... 9 Introduction... 9 Use-Case Scenario 1... 9 Use-Case Scenario 2... 10 Mainstream Retail Device... 11 Introduction... 11 Use-Case Scenario 1... 11 Use-Case Scenario 2... 12 High-End Retail Device... 13 Introduction... 13 Use-Case Scenario 1... 13 Use Case Scenario 2... 14 Media Path without Intel Media SDK... 15 Example 1: Creating a Windows* Presentation Foundation (WPF) Media Application Using Windows* Media Player (WMP) Control... 15 Example 2: Creating a Windows* Presentation Foundation (WPF) Media Application with MediaUriElement... 17 Media Path with Intel Media SDK... 18 Introduction... 18 Why Intel Media SDK?... 18 Intel Media SDK Supported Platforms... 19 Intel Media SDK-Supported Video Codecs and Pre/Post-Processing... 19 Microsoft* DirectShow*-based Application with Intel Media SDK... 20 Microsoft* Media Foundation-based Application with Intel Media SDK... 21 Starting Development with Intel Media SDK... 22 Conclusion... 23 References... 24 3

Figures Figure 1. Media Paths... 7 Figure 2. Example of a WPF Application Using WMP Control... 15 Figure 3. Example of a WPF application with MediaUriElement... 17 Figure 4. Microsoft* DirectShow*-based Application with Intel Media SDK.. 20 Figure 5. Microsoft* Media Foundation-based Application with Intel Media SDK... 21 4

Business Challenge In today s retail environment, many retailers are creating retail solutions in digital format, such as advertisement walls in digital signage, intelligent Automated Teller Machines (ATMs), health-screening kiosks, digital vending machines, etc. Media plays an important role in those solutions beyond 2D/3D graphics and display. For software companies whose products create or play back digital video content, developers must keep up with the changes in hardware, understand the hardware architectures and develop code that is optimized to partition workloads between the Central Processing Unit (CPU) cores and Graphics Processing Unit (GPU). Running a media application can be resource intensive, therefore it is essential to optimize the media application to ensure that it takes advantage of video hardware acceleration for video processing. This, in return, allows the system to run more efficiently (to achieve optimal performance). However, some ISVs are new to Intel technology and face challenges in adopting the right software development path for Media. This exposes the potential risk of poor system performance. Additionally, some ISVs have been struggling with the complexity of a variety of hardware architectures and maintaining different code paths to support each architecture. Optimizing the code for better performance is time consuming and adds to the cost of resources. To ensure that media applications deliver the best possible performance, this paper discusses different media methodologies to help ISVs decide when to use the Intel Media SDK in their software-development design. 5

Solution The following sections detail Intel s solution for how an ISV can choose the right media development APIs for different retail segments, from Entry to Mainstream and High-end. Proposed Media Methodologies Most ISV multimedia applications for Windows* are based on Microsoft* DirectShow* or Microsoft* Media Foundation (MF) framework APIs. They enable ISVs to handle and process various operations on media files. There are two approaches (refer to Figure 1) to optimizing the media applications and taking advantage of Intel video hardware acceleration: a) Media Path without Intel Media SDK Both Microsoft* DirectShow* plug-ins and Microsoft* Media Foundation Transforms (MFTs) are integrated with Microsoft* DirectX* Video Acceleration (DXVA) 2.0, which allows ISVs to offload video processing workloads to the GPU by calling standard DXVA 2.0 directly. b) Media Path with Intel Media SDK The Intel Media SDK supports both Microsoft* DirectShow* plug-ins and Microsoft* MFTs for both media decoding and encoding. It interfaces with DXVA 2.0 to offload the video processing workload to the GPU. 6

Figure 1. Media Paths DXVA 2.0 with corresponding Device Driver Interface (DDI) extensions are part of the Microsoft Windows* 7 and later OSs software stack, used to support hardware accelerated decoding and video post processing. Windows* 7 implements DXVA HD if the driver complies with Windows* Display Driver Model (WDDM) 1.1. DXVA HD is an improvement over DXVA Video Processing, which is used to support hardware-accelerated video processing for HD content. To output the video stream to the screen, the Microsoft* Direct3D* rendering pipeline communicates with the graphics driver using the Microsoft* Direct3D* Device Driver Interface (DDI). Key Criteria There are five key criteria that should be used in scenario analysis to decide which media approach to use as a solution for performance optimization. a) Hardware investment Entry, mainstream, or high-end processors b) Software resource investment Low cost or high cost, depending on the number of resources required to build a particular media application c) Performance 7

Moderate or high performance, depending on the usage model d) Flexibility/Configurability/Scalability Limited or many, depending on how many codecs (video formats) an application can support Scalable or not, depending on the ability of the application to support more video streams e) Software Implementation Speed Short or long application-development time, depending on the complexity of the application 8

Entry Retail Device Introduction Processing Display General Media Experience Intel Atom /Celeron /Pentium processors Support dual display, but typically have only single display Decode and display one to two 2D/3D/HD content The entry retail device is for the device using Intel Atom /Celeron /Pentium processors, where the device can generally support dual display, but typically uses only a single display. In general, the entry device is used to decode and display one to two 2D/3D/HD content. The recommended usage model is the display playing one constant stream; it is responsive, but not nearly as fast as Mainstream and High-End retail devices. Use-Case Scenario 1 Company X wants to build digital signage software that supports one to two zones for playing advertisements in HD. The digital signage solution is to be played on two independent 1080p-supported displays. High performance is not required. Intel Recommendation: Criteria Hardware Investment Intel Atom /Celeron /Pentium processors Software Resource Investment Performance Flexibility/ Configurability/Scalability Software Implementation Speed Low cost Moderate Limited video codecs, capable of decoding one to two video streams Shorter time it is a simple, media application Recommended Media Path: Media Path without Intel Media SDK 9

Use-Case Scenario 2 Company Y wants to design Point-of-Sale (POS) software with an Intel dualcore technology Intel Atom processor. It is a value-touch POS system that supports advertisement video on the secondary display. Intel Recommendation: Criteria Hardware Investment Software Resource Investment Performance Flexibility/ Configurability/Scalability Software Implementation Speed Intel Atom processor Lower cost Moderate Value touch, limited video codecs Shorter time it is a simple media application Recommended Media Path: Media Path without Intel Media SDK 10

Mainstream Retail Device Introduction Processing Display General Media Experience Intel Core i3 or Intel Core i5 processors Have multiple displays - typically dual Decode and display multiple 2D/3D/HD local or streamed content The Mainstream retail devices use the Intel Core i3 and the Intel Core i5 processors, which are more powerful processors than the entry-level Intel Atom, Celeron and Pentium processors. While the Mainstream retail devices support multiple displays, the most common usage model is dual display. The device can decode and display 2D/3D/HD content. It provides good performance overall and good interactive responsiveness. Use-Case Scenario 1 Company A provides a digital signage solution that supports three independent 1080p displays. The system will support up to five zones with interactive-rich media and anonymous-viewer analytics. Intel Recommendation: Criteria Hardware Investment Software Resource Investment Performance Flexibility/ Configurability/Scalability Software Implementation Speed 4th Generation Intel Core i5 processor Higher cost High Multi-touch, supports a variety of video codecs, scalable for decoding multiple video streams Longer time it is a more complex, interactive software Recommended Media Path: Media Path with Intel Media SDK 11

Use-Case Scenario 2 Company B plans to come out with a multi-touch-supported vending system that works on one to two High-definition (HD) displays. The system supports touch-interactive HD content, social media and gesture recognition. Intel Recommendation: Criteria Hardware Investment Software Resource Investment Performance Flexibility/ Configurability/Scalability Software Implementation Speed Intel Core i3 or Intel Core i5 processors Higher cost High Multi-touch, gesture recognition, supports a variety of video codecs, scalable for decoding multiple video streams Longer time it is more complex and configurable, interactive software Recommended Media Path: Media Path with Intel Media SDK 12

High-End Retail Device Introduction Processing Display General Media Experience Intel Core i5 or Intel Core i7 processor Multiple to many displays Decode and display multiple to many 2D/3D/HD content The high-end retail devices using Intel Core i5 and Intel Core i7 processors generally have faster CPU performance than Intel Core processors in the Mainstream category. High-end devices have more capabilities than mainstream devices, thus they are intended to support multiple to many displays, allowing them to decode and display 2D/3D/HD content with the highest performance overall. The high-end devices are also the most responsive from an interactive perspective. Use-Case Scenario 1 Company C plans to design a digital signage system to work on four displays using collage mode (4kx2k). The system supports five+ zones and is extremely interactive with multi-touch and gesture recognition enabled, anonymous-viewer analytics, and streamed, HD content. Intel Recommendation: Criteria Hardware Investment Software Resource Investment Performance Flexibility/ Configurability/Scalability Software Implementation Speed 4th Generation Intel Core i5 processor Higher cost Best performance Multi-touch, supports a variety of video codecs, gesture-recognition enabled and anonymous-viewer analytics, scalable for decoding multiple video streams Longer time a more complex media application, extremely interactive and responsive Recommended Media Path: Media Path with Intel Media SDK 13

Use Case Scenario 2 Company D plans to design an interactive vending machine with face recognition that is integrated with social media applications, such as Facebook*. It supports 3D/HD streamed, advertisement content that works on multiple HD displays. Intel Recommendation: Criteria Hardware Investment Software Resource Investment Performance Flexibility/ Configurability/Scalability Software Implementation Speed 4th Generation Intel Core i7 processor High cost Best performance Multi-touch/Gesture, supports a variety of video codecs, scalable for decoding multiple video streams Longer time it is a more complex and interactive media application Recommended Media Path: Media Path with Intel Media SDK 14

Media Path without Intel Media SDK ISVs can build Microsoft* DirectShow* or Media Foundation applications with the Microsoft* DirectShow* plug-ins/microsoft* MFTs calling directly to standard DXVA 2.0 APIs for video decoding and processing. Example 1: Creating a Windows* Presentation Foundation (WPF) Media Application Using Windows* Media Player (WMP) Control Figure 2. Example of a WPF Application Using WMP Control This example shows a Windows*-based media application using WPF and hardware-accelerated Microsoft* DirectShow* plug-ins. The MediaElement control is used to play video content. When playing a file in MediaElement, the Windows* Media Player (WMP) control is loaded. For video playback to work, WMP must be updated to version 10 or higher. The types of media it can play depend primarily on the kind of codecs installed on the machine. Microsoft* DirectShow* plug-ins offload the video-processing pipeline to hardware through DXVA 2.0 API. This provides better performance. For Windows* 7 and later OSs, it implements DXVA 2.0 HD for video processing of HD content if the graphics driver complies with WDDM 1.1. To render video content to display, it uses Enhanced Video Renderer (EVR) with custom presenter over Direct3D*. 15

Advantages: 1. Using this media path, there is no processing/hardware constraint for development as long as the platform supports Windows*. 2. The Windows* Presentation Foundation (WPF) allows a media application to integrate various types of content (for example, the media application can incorporate video, 2D content, 3D content, animated transitions between a sequence of images, or a combination of any of the above). Limitation: 1. The supported media type of WPF is based on the codecs and plug-ins of the installed Windows* media player. Thus, it will only play what is supported by WMP. To check the supported formats in WMP: http://msdn.microsoft.com/en-us/library/cc189080.aspx 2. There is a potential memory leak issue using multiple MediaElements. 3. There might be a slow performance issue when in full screen mode. 4. Supporting Microsoft* DXVA can be a challenging area for developers. Some developers take a great deal of time developing DXVA specifications, with much trial and error putting video in a player. 16

Example 2: Creating a Windows* Presentation Foundation (WPF) Media Application with MediaUriElement The following figure provides an example of Windows* WPF application with MediaUriElement. Figure 3. Example of a WPF application with MediaUriElement This is another WPF media-application example with MediaUriElement control that is similar to MediaElement, but does not require WMP Component Object Model (COM). It resolves the memory leak issue faced by MediaElement. 17

Media Path with Intel Media SDK Introduction The Intel Media SDK is a cross-platform API for developing media applications with hardware-acceleration capabilities for video decoding, video encoding, and video pre/post processing (VPP). Intel Media SDK helps developers write software that accesses hardware acceleration for video codecs, with automatic fallback on software, if hardware acceleration is not available. The latest Intel Media SDK 2013 is optimized to support the 4 th generation Intel Core and Intel Atom processor-based tablets. The new SDK includes enhanced support for Windows* 8, Microsoft* DirectX* 11, fully accelerated MPEG2 encode and MPEG/JPEG decode, and a Windows* Store development sample. Use of Intel Media SDK 2013 also includes free licensing and source for integration with Open-Source projects and Open CL* video workloads. Why Intel Media SDK? Intel Media SDK importance for software companies Supporting Future Graphics Architectures Software developers are aware that optimizing and tuning software code for a particular platform requires a thorough understanding of the architectural design of the platforms and feature functionalities. With the release of the Intel Media SDK, programming teams no longer need to master multiple graphics architectures. This single API offers a universal solution to handling video pre-processing, encoding, decoding, and transcoding for Intel HD Graphics and future Intel architectures that are scheduled for release. As the Intel Media SDK automatically supports upcoming Intel hardware releases, the potential for future savings in development costs is also high. Enhancing Developer Productivity Supporting Microsoft* DirectX* Video Acceleration can be challenging from a development perspective. Using the Intel Media SDK alleviates the complexities. It is a simple, easy-to-use interface that provides integral support for DXVA, which addresses the frustrations of many developers who have struggled to implement DXVA specifications. 18

Also, Intel Media SDK includes x86 legacy support. This allows systems that lack graphics hardware acceleration to revert to software implementation for decoding and encoding that will be optimized to take advantage of the processor. Delivering Great Performance The Intel Media SDK assures a high-performance solution for video decoding and encoding. As the Intel Media SDK includes support for upcoming graphics platforms, developers can write code once and it is portable to many Intel platforms. Performance is built into the process and these benefits will also extend to future releases. Intel Media SDK Supported Platforms The Intel Media SDK provides hardware-acceleration capabilities for video pre-processing, encoding, decoding, and transcoding for a broad selection of hardware platforms including: 2nd, 3rd and 4th generation Intel Core processors that have Intel HD Graphics Intel Atom processor-based tablets Note: Intel Media SDK supports Windows* 7 and Windows* 8 operating systems (32-bit and 64-bit) Platforms without Intel graphics hardware-acceleration capabilities still obtain the benefit of tuned, optimized, and multi-threaded software-based video encoding, decoding, and transcoding. Intel Media SDK-Supported Video Codecs and Pre/Post-Processing In general, the latest Intel Media SDK 2013 accelerates the following video codecs and pre-processing features: Video Encoders: H.264, MPEG-2, MJPEG, and Multiview Video Coding (MVC) for stereoscopic 3D support. MJPEG is software-only. Video decoders: H.264, MPEG-2, MJPEG/JPEG, VC-1, and MVC. Pre and post-processing: deinterlacing/inverse telecine, resizing, color conversion, denoising, frame rate conversion, brightness, contrast, hue, saturation control, sharpening, image stabilization Note: The supported accelerated video codecs and pre- and post-processing vary between different Intel platforms. Refer to the respective platform Product Requirements Document (PRD) for more details. 19

Microsoft* DirectShow*-based Application with Intel Media SDK The media path for Microsoft* DirectShow*-based applications with Intel Media SDK. Figure 4. Microsoft* DirectShow*-based Application with Intel Media SDK Microsoft* DirectShow* provides comprehensive facilities and is flexible. It is used by a wide range of developers and continues to be considered the architecture of choice for third-party developers today. However, with the introduction in recent years of an alternative multimedia platform called Microsoft* Media Foundation, Microsoft is in the process of discontinuing Microsoft* DirectShow*. Today, the Intel Media SDK does not provide any production-ready components or APIs for Microsoft* DirectShow*. However, Intel provides some sample Microsoft* DirectShow* plug-ins that allow developers to build their own Microsoft* DirectShow* applications. The sample supports the following input/output formats: H.264 Advanced Video Coding (AVC) VC-1 Windows* Media (WMV) decoding only MPEG-2 Video MVC decoding only 20

Microsoft* Media Foundation-based Application with Intel Media SDK The following figure shows the media path for Microsoft* Media Foundationbased applications with Intel Media SDK. Figure 5. Microsoft* Media Foundation-based Application with Intel Media SDK Microsoft* Media Foundation Transforms (MFTs) are a new flavor of Microsoft* DirectShow* plug-ins. Intel provides production-ready, hardware-accelerated Microsoft* MFTs, which are delivered as part of the Intel Graphics driver release. Intel provides sample Microsoft* MFTs for developers to use to build their own Microsoft* Media Foundation applications. The samples support the following input/output formats: H.264 (AVC) VC-1 (WMV) decoding only MPEG-2 Video decoding only Additionally, Microsoft* Media Foundation offers a more secure Digital Rights Management (DRM)-protected environment compared to Microsoft* DirectShow*. 21

Starting Development with Intel Media SDK This paper does not describe how to implement media applications with Intel Media SDK, but it provides some key resources to help developers get started with the Intel Media SDK: Intel Media SDK Tutorial: A quick-start tutorial that helps developers understand key Intel Media SDK use cases: http://software.intel.com/en-us/articles/intel-media-sdk-tutorial Intel Media SDK Developer s Guide: A detailed Developer Guide to help you get started developing applications quickly and easily with the Intel Media SDK: http://software.intel.com/en-us/articles/intel-mediadevelopers-guides Intel Media SDK Samples: Source code samples accompanied by whitepapers to help you get started with Intel Media SDK: http://software.intel.com/sites/default/files/article/265550/mediasdk- 2013-sample-guide.pdf Intel Media SDK Forum: Check out the Intel Media SDK Forum to get your questions answered at http://software.intel.com/en-us/forums/intelmedia-sdk 22

Conclusion Some Retail ISVs have limited capital and must balance expenditures between developing good media applications and providing good platform support. Intel Media SDK provides a standardized API that meets the coding demand on a wide range of Intel hardware platforms for most ISV s media applications. This paper provides guidance on how to choose the right media development path for different retail segments, from Entry to Mainstream and High-end. Going forward, ISVs can assess the suitability of adopting Intel Media SDK for building an effective media application that takes advantage of the Intel Processor Graphics hardware acceleration. The Intel Embedded Design Center provides qualified developers with webbased access to technical resources. Access Intel Confidential design materials, step-by-step guidance, application reference solutions, training, Intel s tool loaner program, and connect with an e-help desk and the embedded community. Design Fast. Design Smart. Get started today. http://www.intel.com/p/en_us/embedded. 23

References Intel Media SDK Developer s Guide http://software.intel.com/en-us/articles/intel-media-developers-guides Intel Media SDK Package http://software.intel.com/en-us/articles/media/ Whitepaper: Digital Signage solution with Intel Media SDK and DXVA HD Microsoft* Multimedia Overview http://msdn.microsoft.com/en-us/library/aa970915.aspx Microsoft* DirectShow* Microsoft* Media Foundation http://www.intel.com/content/www/us/en/intelligent-systems/digitalsignage/media-decode-sdk-dxva-hd-paper.html http://msdn.microsoft.com/enus/library/windows/desktop/dd375454(v=vs.85).aspx http://msdn.microsoft.com/enus/library/windows/desktop/ms694197(v=vs.85).aspx 24

Authors Fred Fan is a Platform Application Engineer with Intel s Intelligent System Group (ISG) Hui Li Tan is a Platform Application Engineer with Intel s Intelligent System Group (ISG) Acronyms API Application Programming Interface ATM Automated Teller Machine AVC Advanced Video Coding codec coder/decoder COM Component Object Model CPU Central Processing Unit DDI Device Driver Interface DRM Digital Rights Management DXVA Microsoft DirectX* Video Acceleration EVR Enhanced Video Renderer GPU Graphics Processing Unit HD High-Definition ISV Independent Software Vendor MF Media Foundation MFT Media Foundation Transforms MVC Multiview Video Coding OS Operating System POS Point of Sale SDK Software Development Kit VPP Video Pre/Post Processing WDDM Windows* Display Driver Model WMP Windows* Media Player WMV Windows* Media Video WPF Windows* Presentation Foundation 25

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%20 Intel, Intel Processor, Intel Architecture, Celeron, Intel Atom, Intel Core, Pentium and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others. Copyright 2013 Intel Corporation. All rights reserved. 26