WMV3 (was Re: [Ffmpeg-devel] Macromedia Flash 8)

Mike Melanson mike
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 
data is.

	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.
	-Mike Melanson

More information about the ffmpeg-devel mailing list