Enabling High-Performance Video Encoding, Decoding, and Preprocessing

 

Download Article

 

Download Enabling High-Performance Video Encoding, Decoding, and Preprocessing [PDF 619KB]

The version 1.5 release of the Intel® Media Software Development Kit (SDK) equips developers with a standard application programming interface (API) to create high-performance video solutions for consumer and professional uses. Broadly spanning Intel® hardware platforms, the Intel Media SDK provides easy access to hardware acceleration with Intel-optimized software fallback. Developers can also use their own software codecs as needed.

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 API functions streamline and simplify video encoding, decoding, and preprocessing operations. Support is provided for encoding (including H.264 and MPEG-2 formats) and decoding (including H.264, MPEG-2, and VC-1 formats). With the Intel Media SDK, developers gain a practical and high-performance means for quickly accessing the hardware acceleration capabilities of the target platforms. Platforms that lack dedicated graphics hardware acceleration features still gain the benefit of tuned, optimized, and threaded software-based video encoding and decoding, tailoring performance to the capabilities of each system.

Product Highlights
Supported Software and
Hardware-Accelerated1 Codecs
• Encoding: H.264, MPEG-2
• Decoding: H.264, MPEG-2, VC-1 (hardware accelerated)
Supported Hardware • Intel® G45/GM45 Express Chipset
• Intel® HD Graphics
• Processors based on Intel® architecture (for software-based encoding and decoding only)
• Future Intel® multicore architectures
Supported Operating Systems • Microsoft Windows Vista* (32- and 64-bit versions)
• Microsoft Windows* 7 (32- and 64-bit versions)
Sample Source Code • Command-line decoding from elementary stream to raw frames
• Command-line encoding from raw frames to elementary stream
• Command-line video preprocessing to and from raw frames
• Application sample for playback and transcoding using Microsoft DirectShow*
• Application sample for playback and transcoding using Microsoft Media Foundation
• Microsoft DirectShow filter plug-ins
• Microsoft Media Foundation plug-ins
Preprocessing • Deinterlacing-hardware accelerated
• Resizing (scaling)-hardware accelerated
• Color conversion-hardware accelerated
• Inverse telecine
• De-noising
• Scene detection
• Simple frame rate conversion (frame repetition/drop)-1:2, 1:3, 2:1, 3:1
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)
Key Benefits • Single, comprehensive, flexible API spans Intel® platforms
• Built-in access to hardware acceleration features for the best possible performance
• Easy-to-use API boosts programmer productivity
• Eliminating the complexities associated with Microsoft DirectX* Video Acceleration (DXVA) simplifies development
• Extensive sample code fosters rapid application development
• Legacy and x86 processor support broadens target platforms for applications


Improving coding efficiency through a Standard Interface

Although developers have had a standard interface for video decoding for some time-Microsoft DirectX* Video Acceleration (DXVA)- no equivalent interface existed for handling video encoding operations. To make the situation even more challenging, even though DXVA provides a standard decoding interface, code for individual platforms must often be customized and the process can be difficult even for experienced developers. This situation forced developers to generate multiple versions of the code to support specific platforms.

To create a standard interface for video encoding and to simplify access to decode and other video operations, Intel developed a universal API: the Intel Media SDK. With support for a broad range of Intel® client PC platforms, Intel Media SDK lets developers access video processing routines through a single standardized interface. 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. Decoding operations using DXVA are also simplified through the use of this interface.

As a result, development is much more efficient. Using the Intel Media SDK, developers no longer need to generate multiple code paths to support different hardware platforms. Creating applications using common digital video formats, including H.264, MPEG-2, and VC-1, can be accomplished through the standard interface, ensuring cross-platform support for video operations-encoding, decoding, transcoding, and preprocessing. Developers are able to reach the widest range of customers and support a breadth of platforms.

Software developers can access the optimized media libraries in the Intel Media SDK for today's volume shipping hardware, including the Intel® G45/GM45 Express Chipset. They can also access Intel® legacy processors (in system environments where no hardware acceleration is available), as well as future Intel® multicore architectures. 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 through a single interface.


Figure 1. The standardized API insulates developers from the complexities of individual graphics platforms.

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 broad range of Intel® platforms The Intel Media SDK uses a single API that supports a broad range of Intel graphics solutions for hardware acceleration and provides software fallback with highly tuned and optimized software solutions when hardware acceleration is not present. These Intel Media SDK software routines have been refined, enhanced, and made available as Intel® Integrated Performance Primitives for a number of years, extending Intel's expertise in this area to the broader software To create a standard interface for video encoding and to simplify access to decode and other video operations, Intel developed a universal API: the Intel Media SDK. With support for a broad range of Intel® client PC platforms, Intel Media SDK lets developers access video processing routines through a single standardized interface. 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. Decoding operations using DXVA are also simplified through the use of this interface. development community. Within this extensible architecture, developers can also incorporate their own software encoding or decoding in place of Intel's.
  • 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 to exploit figure 1. The standardized API insulates developers from the complexities of individual graphics platforms. Intel® Media SDK High-level architecture Sample applications (Source code) (Encoders, decoders, transcoder) Intel® Media SDK API Media Library Dispatcher (encode, decode, preprocessing) Intel® processor Optimized Media Library Intel® g45/gM45 Optimized Media Library dXva/ddI extensions graphics drivers Intel® HD graphics Optimized Media Library future Intel® Multicore architecture Optimized Media Library ISv applications ISv plug-Ins Sample Media framework plug-Ins (Source code for video encode, decode) platform capabilities. With built-in support for future platform advances, the Intel Media SDK will use 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, beginning with the Intel G45/GM45 Express Chipset, Intel HD Graphics and extending to future Intel multicore architectures. Create applications today using the Intel Media SDK, and take advantage of hardware acceleration available now and in the future-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 that will be available through the hardware acceleration capabilities of nextgeneration Intel® architecture.

For more information, consult the documentation provided with the Intel Media SDK.


Figure 2. Basic decoding and encoding expressed as pseudo-code.

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.

有关编译器优化的更完整信息,请参阅优化通知