Category Archives: Open Source Multimedia

News regarding open source multimedia projects.

New AAC Spec

Hi! What have you been up to? Me? I’ve just been working on a new, “open” AAC spec by reverse engineering FAAD2. Why? Oh, I don’t know. I just have this obsession with documenting multimedia technology. I imagine it could prove useful if someone wished to, for example, implement a fresh AAC decoder.

Meet mlbms

Janusz Dziemidowicz has been making some nifty progress with his mlbms program for mounting game resource archive format (GRAF) files. Check this out:

$ mlbms bms/alg-lib.bms resource-files/alg-lib/maddog.lib mount/
$ ls -al mount/
total 1
dr-xr-xr-x  2 melanson users       0 Feb 26 23:05 .
drwxr-xr-x  7 melanson users    1120 Feb 26 19:07 ..
-r--r--r--  1 melanson users  305172 Feb 26 23:05 alg.mm
-r--r--r--  1 melanson users   24912 Feb 26 23:05 credits.mm
-r--r--r--  1 melanson users  314245 Feb 26 23:05 ibmlogo.mm
-r--r--r--  1 melanson users  338277 Feb 26 23:05 scen110a.mm
-r--r--r--  1 melanson users  278177 Feb 26 23:05 scen112a.mm
[... ad nauseum ...]

Slick, huh? I knew you’d think so. This command mounts the LIB GRAF from Mad Dog McCree as part of the normal filesystem.

Continue reading

SDL Corruption Corrected

When I do presentations on multimedia technology I make the point that data is more important than code which is to say that understanding data formats is more useful than being able to run binary code. This little exercise is a good illustration of that. Initially, if someone wanted to see the multimedia, they needed access to an original IBM PC to run it as it was originally intended. It is also apparently possible to run it under DOSBox. In that case you are still running the original binary code to interpret the data. Now along comes this third solution which throws out the original code and just interprets the data with portable, open code.

Download Trixter’s original 8088 Corruption package from his site. Download the sdl_corruption.c program and the CGA_FONT.8X8 font file from http://multimedia.cx/sdl-corruption/. Make sure you have SDL. Compilation is straightforward on Unix. At the very least, it works on x86 and AMD64 machines running Linux. You are on your own for other platforms.


Corrected Eiffel Breakdancer Image
There, that looks correct, or as correct as it is supposed to look.

I did not bother to add sound output because I was lazy. Hey, I solved the harder problem of rendering the font vectors. I also added a few spiffy features such as allowing the user to seek and pause the video.

AVS Implementation

Thanks to Aurelien Jacobs for implementing a complete FFmpeg playback system for the AVS format. And thanks again to VAG for reverse engineering the system in the first place. It takes dedication to work on such a format that was used in one known game, Creature Shock. Well, more than one if you count the DOS, 3DO, Sega Saturn, and CD-i versions separately, and even more than that if you count the special “director’s” edition (I still need to log that one into MobyGames).

To be fair, the people behind Creature Shock went on to make a few other video games that you likely never heard of, like Alien Odyssey and FX Fighter. Both of these games contained FMV (the former being another FMV-driven game) and the formats are suspected to be influenced by AVS.