Enabling High-Performance Video Encoding, Decoding, and Preprocessing

Submit New Article

Last Modified On :   August 3, 2009 10:18 AM PDT
Rate
 


The version 1.0 release of the Intel® Media Software Development Kit (SDK) equips developers with a standard application programming interface (API) for creating video solutions that target consumer and professional uses. Broadly spanning Intel hardware platforms, the Intel Media SDK can also be extended to support thirdparty hardware through custom dynamic link libraries (DLLs). Developer benefits
include:

  • • Optimized routines for delivering maximum video performance on a variety of platforms
  • • Improved productivity for development teams through greater efficiency
  • • Built-in future proofing of video applications with support for upcoming platforms

The functions available through the API streamline and simplify video encoding, decoding, and preprocessing operations, supporting encoding for the H.264 and MPEG-2 formats, and decoding for H.264, MPEG-2, and VC-1. For development teams seeking a practical and high-performance means for readily tapping into the hardware acceleration capabilities of target platforms, the Intel Media SDK includes integral capabilities that optimize routines for the available graphics hardware. Platforms lacking dedicated graphics hardware acceleration features still gain the benefit of tuned, optimized, and threaded software-based video encoding and decoding, ensuring performance equal to the caliber of individual systems.

Product Highlights
Supported Software and
Hardware-Accelerated1 Codecs
• Encoding: H.264, MPEG-2
• Decoding: H.264, MPEG-2, VC-1
Supported Hardware • Intel® Graphics chipsets (starting with the Intel® G45/GM45 Express Chipset)
• Intel® discrete graphics (solutions based on the Intel® architecture code-named Larrabee)
• Processors based on Intel architecture (for software-based encoding and decoding only)
• Third-party graphics platforms (through DLL extensions2)
Supported Operating Systems • Windows Vista (32-bit and 64-bit) supported in Intel Media SDK 1.0; Windows 7 (32-bit and 64-bit)
supported in future release
Preprocessing • Deinterlacing
• Inverse telecine
• De-noising
• Resizing
• Scene detection
• Color conversion
MPEG-2 Profiles • Simple
• Main
• High
VC1 Profiles • Simple
• Main
• Advanced
Advanced Video Coding/H.264 Profiles • Baseline (encoding only)
• Main
• High
Frame Types • Progressive
• Interlaced
Color Format • NV12 (4:2:0)
Rate Control • Continuous bit rate
• Variable bit rate
Key Benefits • Comprehensive, flexible API adapts to a variety of graphics applications
• Built-in access to hardware acceleration features for the best possible performance
• Easy-to-use API boosts programmer productivity
• Simplifies development by eliminating the complexities associated with Microsoft DirectX*
Video Acceleration (DxVA)
• Extensive libraries and sample code foster rapid application development
• Legacy and x86 processor support broadens target platforms for applications


Standardizing the Encode Interface

Development teams creating applications using common digital video formats, including H.264, MPEG-2, and VC-1, face an ongoing challenge. The need to provide cross-platform support for video operations—including encoding, decoding, transcoding, and preprocessing—creates an environment in which programmers must generate multiple code variations to support individual graphics processing hardware and processors. To reach the widest range of customers and provide a breadth of platform support, each media application must typically be designed with separate code paths, one for each type of supported hardware.

To eliminate this coding challenge and simplify access to hardware acceleration, Intel developed the Intel Media SDK, which lets developers access video processing routines through a standardized API. A robust dispatcher integrated within the API serves as a layer to insulate developers from the complexities of supporting different hardware platforms, as shown in Figure 1.

The Intel Media SDK features hardware acceleration for video codecs through a single API, so that software developers can take advantage of optimized media libraries that support Intel Graphics chipsets, upcoming solutions, such as the visual computing co-processor codenamed Larrabee, and Intel® processors (in system environments where no hardware acceleration is available). This results in a dramatic reduction in development time and provides a means for developers to incorporate very high-performance encoding and decoding into their media applications. High-performance video operations can be achieved without requiring that developers tune and optimize code paths for each individual target platform.

As shown in Figure 1, the high-level architecture for the Intel Media SDK gives the developers the option to incorporate source code from a number of sample media applications that are provided (including encoding, decoding, and transcoding routines) or use their own proprietary application libraries and routines. If routines have already been developed that differentiate a media application for a given market segment, these can be combined through the API without losing the potential performance benefits of the SDK libraries. Or, if developers prefer to rely entirely on source code within the Intel Media SDK for video operations within their application, this approach can be used as well. In both cases, the Media Library Dispatcher grants access to the best-case optimizations corresponding to the target platforms.

Support for Microsoft DxVA and Intel’s hardware DDI extensions also helps streamline development efforts, giving developers a means to implement code that can accelerate graphics hardware performance without the need for mastering the low-level details of the complex API from Microsoft.

Intel Media SDK Benefits

Through the use of the Intel Media SDK, development teams can shift resources from performance optimization for each individual hardware platform to focusing on feature innovation and application capabilities in their video solutions. These features and capabilities can help differentiate products in the marketplace and provide unique implementations of consumer or professional software applications. Among the benefits of the Intel Media SDK:

  • Exceptional performance on a full range of Intel® platforms, plus support for third-party platforms. The Intel Media SDK uses a single API that supports a full range of Intel graphics solutions (including upcoming unreleased products, such as the architecture code-named Larrabee). The API is also extensible, allowing development teams to create DLLs that support different platform-specific implementations.
  • Workflow efficiency during the development process. Creating video encoding and decoding routines to support multiple hardware platforms can be tedious and time consuming, particularly when dealing with the intricacies of the Microsoft DxVA interface. The Intel Media SDK provides access to hardware acceleration features through one API, dramatically streamlining workflow and automatically producing code that exploits platform capabilities. With built-in support for future platform advances, the Intel Media SDK will utilize these platforms as they become available. Intel Media SDK offers a single-source solution to the challenge of supporting the latest graphics hardware.
  • Integral support for future graphics architecture advances. The flexible, extensible architecture used by the Intel Media SDK provides application support for leading Intel Graphics Support for Microsoft DxVA and Intel’s hardware DDI extensions also helps streamline development efforts, giving developers a means to implement code that can accelerate graphics hardware performance without the need for mastering the low-level details of the complex API from Microsoft. chipsets, beginning with the Intel G45/ GM45 Express Chipset and extending to the future architecture code-named Larrabee. Create applications today using the Intel Media SDK, and take advantage of hardware acceleration capabilities of future graphics processing solutions when they are available—without rewriting any program code.

Hardware acceleration yields great results for performing video codec operations, and the Intel Media SDK ensures that you don’t miss performance opportunities available through the hardware acceleration capabilities of next-generation Intel Graphics chipsets. If hardware acceleration is not supported, the Intel Media SDK uses software encoding or decoding, relying on proven routines that Intel has developed. These routines have been refined, enhanced, and made available as Intel® Performance Primitives for a number of years, extending Intel’s expertise in this area to the broader software development community. In environments where hardware acceleration is not available, the software encoding and decoding designed by Intel can achieve very respectable results, particularly with Intel processors.

This feature is even supported on non-Intel processors. Within the extensible architecture, developers can also incorporate their own software encoding or decoding in place of Intel’s.

Extending the Standard

To increase the usefulness and utility of the Intel Media SDK, Intel openly publishes the full technical specifications and interfaces to the API, providing all the information needed by any vendor to develop DLLs for any number of graphics processing hardware devices. By extending the capabilities of the Intel Media SDK in this manner, developers can effectively use the API to achieve highperformance video operations not only on Intel platforms, but also on an extended range of third-party platforms. The Intel Media SDK has the potential to serve as a universal API to video acceleration hardware from any number of vendors, greatly adding to the efficiency and productivity of development teams working in the video realm. For more information, consult the documentation provided with the Intel Media SDK.

Download the Free Intel Media SDK and Gain the Developer’s Edge

The Intel Media SDK is available as a free download to members of the Visual Adrenaline Developer’s Program. There is no cost to join; a simple sign-up process will get you started and provide access to the Intel Media SDK. Once enrolled, you’ll also gain access to a wealth of technology resources; visual computing expertise shared through forums, communities, blog postings; and insights from industry leaders on the tools and techniques that are fueling next-generation graphics advances. To download, go to: www.intel.com/software/mediasdk For more information about the Visual Adrenaline Developer’s Program, visit: www.intel.com/software/visualadrenaline/

1 Hardware acceleration available for supported Intel graphics hardware platforms.
2 Custom DLLs require third-party development.