GSoC/GCI Archive
Google Code-in 2010 VideoLAN

x264: Fuzz-test and fix an ffmpeg decoder bug

completed by: David Czech

mentors: Jason Garrett-Glaser

x264, a project under the Videolan organizational umbrella, is one of the most popular video compression libraries, used worldwide for applications such as web video, television broadcast, and Blu-ray creation. It outclasses practically all commercial implementations both speed and compression-wise.

x264, as well as VLC, makes great use of ffmpeg's libavcodec and libavformat decoder libraries to read input files.  Many of the decoders in these libraries have bugs which cause them to crash on invalid input.

This task is simple: find a bug with a fuzzer (such as zzuf) and fix it!  We can help guide you through the process if you need assistance.

IMPORTANT: if you want to work on an x264 task, it is required that you come to #x264dev on irc://irc.freenode.net.  We will help answer your questions, guide you through whatever issues you have, and do code reviews.  In order to successfully complete an x264 task, the result must be of sufficiently high quality to be committed to the official x264 repository.   To ensure this, we will review your code and give you comments on how to improve it.  A task is only completed when these steps are done.

In short: do not take an x264 task, work on it without telling anyone, and then dump the code on us.  You'll waste your time, our time, and won't get credit for the task.