Monthly Archives: January 2006

MultimediaWiki Documentation

No matter how ambitious I get I can not stay ahead of the rest of the multimedia hacking community. I thought it was a lofty goal when I set out the re-categorize and expand upon a bunch of the information maintained at the FOURCC list using a Wiki. But I got suggestions to go further and incorporate the technical documents into the Wiki as well so that anyone can edit them.

And so it begins: I have entered the first few tech docs into Wiki format:

Much more to come.

Meet fusepak

I am pleased to learn that I may not have to go through the bother of implementing fusegraf after all. There is already a program called fusepak which mounts several different GRAFs onto the filesystem using fuse. Further, the author, Janusz Dziemidowicz, has expressed interest in implementing a BMS parser to allow an impressive amount of extensibility for fusepak. This part of the project is being written in (what I understand to be) an object-oriented, functional programming language: OCaml. If you have ever heard of this language, maybe you will wish to investigate this project as an academic matter. For my part, I’m looking forward to the finished product.

Caml logo

Profiles In Multimedia Hacking

Kudos to Reimar Döffinger for a new, clean implementation of the LZO lossless coding algorithm for the FFmpeg project. This means that there is one less external package that multimedia players have to rely on since there is an equivalent capability in FFmpeg.

I wanted to highlight this because it is useful when someone undertakes to re-implement a decoder from another package as another FFmpeg module. This has happened a number of times already, in the cases of Vorbis, FLAC, and VP3, for example. Remember, reverse engineering also applies to understanding bodies of code written in higher level languages than ASM and re-implementing them based on your newfound understanding.

For eye candy, check out Reimar’s “show your work” handwritten notes for understanding the LZO decoder. The original LZO decoder seemed to have so many labels and goto statements that it might as well have been written in straight ASM.

8088 Corruption

Have you ever wondered about the bare minimum requirements for FMV playback? I used to think maybe it was the Sega CD console (single speed CD-ROM with 150 KBytes/sec transfer rate, limited paletted block-based graphics). Check out Trixter’s 8088 Corruption for very bare-bones FMV playback on an 8088 CPU equipped with CGA video.