Intel® Media SDK: Tapping into Accelerated Hardware and Software Performance

Intel® Media SDK Performance

Intel media sdk

Successful consumer video-editing and playback applications shield the user from seeing just how much advanced computing is going on under the hood. Modern HD codecs such as VC-1 and H.264 take a lot of processing power to encode, decode, and play back smoothly, as well as edit and enhance with complex transitions, special effects, and titles. But to achieve transparent performance while providing the ability to handle modern HD video formats and codecs, developers must optimize and fine-tune their applications for a plethora of platforms.

Typically, that kind of work is inordinately time-consuming. Developers must have a deep understanding of the complexities of multiple graphics platform architectures and produce different code paths to support each one.

The Intel® Media Software Development Kit (Intel® Media SDK) offers developers a single, unified solution for handling video preprocessing, encoding, decoding, and transcoding. With support for current and future Intel® HD Graphics processing components, the Intel Media SDK’s API enables developers to optimize their code for both hardware and software-only acceleration, as well as third-party graphics hardware and codecs.

ArcSoft is one of a number of leading software developers that has been using the Intel Media SDK to optimize their video playback and editing applications, helping it develop easy-to-use, highly scalable products that run on a range of processors, including the Intel® Atom™ processor, the current Intel® Core™ processor family, and the upcoming 2nd Generation Intel® Core™ processor family.

ArcSoft Fine-tuning and Optimization

Founded in 1994 by CEO Michael Deng, ArcSoft develops multimedia software applications for desktop and embedded platforms for various markets, including mobile phones, digital signal controller (DSC) and peripheral devices, and PC OEMs. Its retail video solutions enable consumers to author, edit, and play back various HD formats, such as AVCHD and Blu-ray*.

ArcSoft has been using the Intel Media SDK to fine-tune two of its top-selling consumer video products: TotalMedia* Showbiz and MediaConverter*. Although the two applications are targeted at different classes of users—video enthusiasts and quick-and-go users, respectively—each is optimized to take advantage of Intel® multi-core, multi-threaded processor technology.

intel media sdk

The MediaConverter utility transcodes multimedia files into formats optimized for use on mobile phones, portable media players, TV, and other popular devices. With a single click, users can download, convert, and transfer videos to an Apple iPod*, iPhone* 4, iPad*, a Sony PSP*, an HTC Evo* 4G and other Android phones, Nokia and BlackBerry phones, and more.

Intel Media SDK helps streamline the development process with an easy-to-use API interface that simplifies encode, decode, and transcode build processes as well as pre-processing functions. The libraries and samples included in the Intel Media SDK help accelerate the process of optimizing code for individual target platforms, using built-in performance capabilities. For example, if a target device is capable of hardware acceleration, the Intel Media SDK automatically utilizes it to deliver the full performance benefits of that component for encode and decode operations. Future Intel® platforms will support these same capabilities. In addition, Intel Media SDK 2.0 allows developers to take advantage of Intel® Quick Sync Video, which allows encoding to be handled directly by specialized hardware in the 2nd Generation Intel Core processor platform.

“Developing transcoding and encoding used to be a very complicated process. Thanks to the simplicity of the APIs in the Intel Media SDK for both VPP (video pre-processing) and encoding, our development time was shortened,” said George Tang, vice president and general manager of Video Home Entertainment. “Intel’s multi-core, multi-threaded processor technology significantly reduces the conversion time in our most recent version of MediaConverter. The user can now convert four or more files concurrently while leaving the processor free for other tasks.”

TotalMedia ShowBiz provides video- and photo-editing tools for enthusiasts to fine-tune their personal content. SD and HD video footage can be combined with stills, music, titles, and transition effects. Finished videos can be easily transferred to various playback platforms, including iPhone, iPod, Apple TV*, Sony PSP, and Microsoft Xbox 360*, as well as uploaded to YouTube*.

New Processor, Enhanced Capabilities

The 2nd Generation Intel Core processor combines CPU and graphics processing functionality with deep parallelism in a single 32nm chip. Because the Intel Media SDK supports the 2nd Generation Intel Core processor, ArcSoft applications can readily take advantage of the processor’s capabilities.

“With the latest version of TotalMedia ShowBiz software, the 2nd Generation Intel Core processor’s architecture allows us to composite (layer) multiple video tracks to create more complex video experiences,” Tang said. “In addition, Intel Media SDK provides us with a great way to parallelize the decode/encode sessions that are essential to video-editing applications. Our products, optimized for the next generation Intel® architecture, will enhance our users’ video-editing experience.

intel media sdkIntel® Media SDK is a very rich, intuitive toolkit that provides well-defined media APIs to enable media transcoding capability . . . [it] detects the underlying hardware’s capabilities and intelligently utilizes CPU and graphic abilities and resources. It makes our programming very simple and runs great on different Intel® platforms.”

—GEORGE TANG, VICE PRESIDENT AND GENERAL MANAGER, VIDEO HOME ENTERTAINMENT GROUP, ARCSOFT

“Using Intel’s Media SDK was an enormous help. Not only did the encoding process greatly improve, but it actually transformed the way a traditional transcoding application behaves. With the excellent performance introduced by Intel Media SDK and the next generation Intel architecture, the user doesn’t need to wait any longer. When converting media files, there’s plenty of processing power to work on other tasks.”

ArcSoft has several flagship products coming out, including TotalMedia Theatre, its best-selling Blu-ray and [stereoscopic] 3D playback application. “Of course, it is optimized for the latest Intel platform with Blu-ray 3D support,” Tang said. “Similarly, our MediaConverter and Panorama Maker* (coming soon) also have focused on and covered [stereoscopic] 3D creation and take full advantage of the capabilities of the 2nd Generation Intel Core processor.”

Future-proofing Made Simple

Another very popular application for home video enthusiasts is Media Player Classic Home Cinema (MPC-HC). MPC-HC is an open-source, small-footprint media player for Microsoft Windows* that resembles Windows Media* Player v6.4, but includes a lot more up-to-date features. Media Player Classic supports a wide range of audio and video codecs, including H.264 and VC-1 with DxVA support for third-party graphics hardware-accelerated decoding. Media Player Classic even supports Adobe Flash* FLV and SWF files and can make use of Apple QuickTime* and RealNetworks RealPlayer* architectures.

Eric Sardella, a senior software engineer in the Intel® Software and Services Group, has been collaborating on a project to enhance Media Player Classic Home Cinema, including a way to alleviate the complexities of working with Microsoft DirectX* Video Acceleration (DxVA). Using the Intel Media SDK enabled him to quickly optimize encode and decode for hardware acceleration that takes full advantage of Intel® processors as well as third-party graphics hardware acceleration.

As Sardella put it, “DxVA is hard, and sometimes it takes a lot of trial and error putting video in a player. Microsoft’s documentation is very difficult to decipher, and there’s precious little sample code available. To make matters even more difficult, Intel hardware has specific implementation rules that are not very well known.”

Sardella has experienced the benefits of Intel Media SDK’s evolution first hand. When he first started working on the Media Player Classic project, Intel Media SDK was in its infancy. Over time, Sardella has used each successive version of Intel Media SDK to add native hardware acceleration support for various codecs, including VC-1 and MPEG-2.

“With 1.0 and 1.5, developers had to download the SDK and a vendor would have to package the DLLs manually for any new drivers that were required to run a new piece of hardware. That wasn’t ideal for forward-compatibility,” Sardella said. “With 2.0, [Intel] Media SDK updates itself. When the graphics driver is installed it updates the hardware DLLs automatically.

“So if a brand new platform comes to market after you’ve written your code, the platform will automatically have the DLL packaged with it. Any application written with the Intel Media SDK will automatically take advantage of new hardware,” he continued. “Or if the ISV releases a patch for bug fixes, they can just tell the user to update their graphics driver and the Media SDK DLL will come along with it.”

For the open source Media Player Classic project, this capability overcame a stumbling block—previously, an application couldn’t check for a DLL on SourceForge.net, the open source applications and software directory. Sardella elaborated, “Now my application can check and see if the DLL is present on the system. It can tell if the graphics driver installed it. So if it’s there, my application can use it.”

The open source nature of the Media Player Classic project presented unique challenges, but it has given Sardella ample means to put the Intel Media SDK through its paces. “People work on this when they’re finished with their day job, so some new features are implemented really quickly, while others take a very long time to get approved,” Sardella explained. “But the simple interface of the [Intel] Media SDK lets me get things done in a week that I would’ve struggled with for much longer.”

intel media sdk

An API Tuned for Maximum Performance

The video encoder and decoder algorithms that form the heart of the Intel® Media SDK originated from Intel® Performance Primitives. They have been refined and improved to a high degree of efficiency, and tuned for maximum performance on next generation Intel® platforms. This refinement process has resulted in a very easy-to-use, versatile API that can serve as a standard interface for coding to a wide range of hardware platforms. The versatility is evident in the open architecture approach that allows companies to extend the API beyond Intel based graphics chipsets and architectures to support any number of third-party graphics hardware solutions or software codecs.

intel media sdk

“The year is 2010, but that seems just an irrelevant number to me now. The world is overrun by machines and generic code drapes them like thick cobwebs. All around the city I see Engineers marching like droids, living their bland lives, uninspired, unable to affect the world outside their cube... Living out their own self-imposed torment. But, I have a keen sense that things are changing...not outside, but inside me...Inside Intel. Code races through my veins and explodes in my brain, forging new ideas. Today, I make a difference. A difference for all mankind!”

At Intel it’s not just about what you do, it’s about who you are. Find your inner code-hearted hero at http://intel.com/jobs/careers/opensource.