ELEN 6900 - Multicore processors - Project

H.264 encoding on the IBM Cell/B.E. processor

What's this?

On this page, you'll find information regarding the H.264 video encoder project that Bhargav completed as part of a five-person team in the Fall of 2008 for his class on multicore processors.

Project Description

This project's goal was to port an existing implementation of theH.264 video encoding algorithm (the open-sourcex264) onto theIBM Cell processor, and optimize the motion estimation kernel of the algorithm (in most cases, this module accounts for over 50% of the total processing time during an encode) utilizing the parallelism enabled by the eight SPEs, as well as exploiting other advantages offered by the Cell architecture.

Report

The project report is availablehere (warning, 1.0 megabyte PDF). The source code is also available (warning, 6.0 megabyte zipfile).

Update: The source code was missing a crucial file, x264.c. The file has been added to the source code bundle. Thanks to everyone who pointed this out.

Acknowledgment

Bhargav would like to thank adjunct faculty member Prof. Lurng-Kuo Liu for his suggestion of this topic, his support during the project, and for ingraining the idea of "calculated risk-taking" necessary while handling projects of this complexity.