WMV3 (was Re: [Ffmpeg-devel] Macromedia Flash 8)
Mon Sep 19 16:09:53 CEST 2005
Diego Biurrun wrote:
> On Sun, Sep 18, 2005 at 06:26:11PM -0400, Mike Melanson wrote:
>>For my part, I am busy investigating VC-1/WMV3 support right now.
> What's the status of this?
I am taking the same approach that I did with the VP3 source (and
several other minor codecs like MS Video-1 and QT SMC) years ago:
Examine the code carefully, reverse engineer an English language
description and create a new implementation based on that.
Sure, the official spec is available in one form or another. But who
can read that slop? :) Besides, I have the reference decoder hooked up
in both FFmpeg and xine. This will prove useful for validation later on.
Until then, it is nice to know that I am working from an implementation
that correctly decodes existing WMV3/WMV9 data.
There are 3 profiles: Simple, main, and advanced. I am focusing on the
simple profile first and foremost since that is apparently what WMV3/9
The RE process is predictably tedious. But I think if I can sort out
VP3 from the source, I can handle this. This is written much better. And
not optimized, either. Can you believe it uses an O(n) VLC decoder?
Seriously, they march through a table of possible VLC values and examine
code values/lengths against the current bitstream until they find one
that matches. Overall, I am thankful for the emphasis on readability vs.
Don't worry, Niedermayer: I won't use the dreaded gcc ASM intrinsics,
per your request. That would make the code *much* too readable. But I
will still lobby for using NASM when the Great Refactoring comes.
It will come.
More information about the ffmpeg-devel