Category Archives: Open Source Multimedia

News regarding open source multimedia projects.

Open Source QDesign Is Here!

A significant milestone in open source multimedia: A group of highly dedicated and talented multimedia hackers has successfully reverse engineered the QDesign Music Codec (fourcc: QDM2) and released an open source decoder implementation. As usual, it is a piece of the FFmpeg project and the source code is available in the FFmpeg CVS repository, just waiting to be plugged into any libavcodec-using application. Be sure to pass the proper extradata through to the decoder.

There are very few QuickTime files that can not be played using open source software.

Thanks to all the folks who were involved in this effort: Ewald Snel, Benjamin Larsson, Alex Beregszaszi, and Roberto Togni.

Duck TrueMotion 2 & Esoteric FLIC

Kostya has plodded through the long-open sourced, yet highly cryptic, code of On2’s VpVision and successfully reverse engineered a description of the Duck TrueMotion 2 video codec (fourcc: TM20). He then re-implemented a fresh version which is available in the FFmpeg CVS repository. Here it is in action, decoding the one known TM20 sample:


Final Fantasy - TM20

The video depicts something related to the unkillable Final Fantasy game series. The most famous application for the TM20 codec has been to encode the FMV in Eidos’ PC port of Final Fantasy VII. This game is known to use a bitstream-incompatible version of the TM20 format. So there is still some work to do on this codec before the Final Fantasy fanboys rejoice over being able to natively decode the FMV for this game.

Also, do you remember the basic Autodesk FLIC format? Did you know there are more variations of the format than you can possibly imagine? As much as I enjoy hacking on esoteric multimedia formats I just could not bring myself to care about these variations. This is mostly because I did not have sample files.

Recently, however, Steven Johnson has seen fit to implement several variations of the format including FLX and DTA extensions. The code is in FFmpeg’s CVS.

Hooking Up The SMPTE VC-1 Decoder In FFmpeg

Update, Jan-16-2008: I should have posted this update a long time ago. Readers should be advised that these instructions are obsoleted by the fact that FFmpeg already includes a native (and much faster) VC-1 decoder.

Some people have asked me for my code to make the SMPTE VC-1 reference decoder work with FFmpeg, slow though it may be. I suppose I could make a patch. But the official version of FFmpeg is whatever happens to be in CVS at the current moment. So any patch I could produce would work for maybe a day. So get ready to do a little editing on your local FFmpeg CVS tree. The steps:

Continue reading