Breaking Eggs And Making Omelettes

Topics On Multimedia Technology and Reverse Engineering


AOL ART Format

July 30th, 2008 by Multimedia Mike

I can’t believe I haven’t heard of this still image format before — it’s called ART and was apparently used in earlier incarnations of America OnLine’s service. All that anyone knows about it is that it is based on compression techniques licensed from an outfit named Johnson-Grace, a firm that AOL later purchased.

The Wikipedia page implies that this format is to still image formats what Bink is to video codecs — if the marketing literature is to be believed, the compressor analyzes the data to be compressed and selects from a number of coding methods based on the assessed characteristics. The Wikipedia page also links to several J-G patents, none of which I have read.

A colleague sent me a bevy of samples for study. Where to start with a reverse engineering effort? There seems to be plenty of ancient programs that can work with the format. However, it seems reasonable that the code for decoding ART files must live on any of the billions of free AOL signup disks known to exist.

Posted in Reverse Engineering | 9 Comments »

VP3 In The Wild

July 26th, 2008 by Multimedia Mike

I can’t believe I actually found a usage of On2’s VP3 video codec in the wild– on a 2006 Windows game called Time To Ride: Saddles and Stables. The most amazing part about this is that software based on my FFmpeg VP3 decoder plays one of the files correctly while the official VP3 decoder installed with the game exhibits some serious bugs.

Official decoder, distributed with the game:

VP3 incorrect decoding

Same file, played with FFmpeg’s FFplay (it’s supposed to have a grainy film feel to it):

VP3 looks right

This makes me almost as proud as finding that an Apple QuickTime trailer for a particular 2000 movie that used to work in QT 4 was able to play with my xine QuickTime demuxer but not with QT 6. (To be fair, the same trailer works again under QT 7.)

Posted in Game Hacking, VP3/Theora | 2 Comments »

Video Encoding Tests

July 25th, 2008 by Multimedia Mike

In case you don’t carefully track FFmpeg development, much recognition goes out to Michael for a lot of work on the H.264 decoder. Thanks to his efforts over the past week or so, I have been able to add about 2 dozen more H.264 conformance tests. Presently, FFmpeg can decode 92/136 of the suite’s vectors across all supported configurations.

Also, finally, I have started to add encoding tests to FATE. The first test is designated idroq-video-encode. I was stuck on this for awhile while I tried to understand what sort of test material I should use. I eventually realized that there are perfectly adequate (and stunningly complicated) images already generated by FFmpeg’s videogen.c program that is built and run by ‘make test’. If you are not familiar, they look like this:

FFmpeg vsynth1 image

Posted in FATE Server, Open Source Multimedia | Comments Off on Video Encoding Tests

In The Big League

July 24th, 2008 by Multimedia Mike

I have a been a big fan of the Linux Hater’s Blog for several months now. So I was overjoyed to see that my work received mention on the blog not once but twice in as many days! Most notably, today, he addresses Flash playback. But yesterday’s entry linked to my jungle of Linux audio programming APIs.

I feel like I’ve finally arrived.

Linux audio API mess

Some people attack that graph as being outdated. They’re right, you know– I really should update it to see how much more of a mess the situation currently is. I showed the graph to the leader of the PulseAudio project at LinuxTag in 2007 and he was quick to point out that it was missing quite a few tangled vines. I wager that there are 3 or 4 more boxes to add as well.

What strikes me as I review LH’s growing archive is how few topics he has touched on. I keep reading since I am confident he will eventually cover them.

Posted in Open Source Multimedia | 2 Comments »

« Previous Entries