Monthly Archives: July 2008

AOL ART Format

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.

VP3 In The Wild

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.)

Video Encoding Tests

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

In The Big League

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.

This entry was posted in Open Source Multimedia on by .