[FFmpeg-devel] [RFC] faster vp3 unpack_vlc

Mike Melanson mike
Sun Jun 8 08:31:40 CEST 2008

Reimar D?ffinger wrote:
> On Tue, Jun 03, 2008 at 10:00:06PM -0700, Mike Melanson wrote:
>> Reimar D?ffinger wrote:
>>> Hello,
>>> because of some user reports I downloaded the Ogg version of this:
>>> http://www.bigbuckbunny.org/index.php/download/ and was surprised how
>>> ery slow it was.
>>> Oprofile told me, that > 40 of decoding time was spent in unpack_vlcs.
>>> It looks like a cache issue, since splitting one array out of the struct
>>> as in attached patch brings it down to 28% of total time.
>>> I have the feeling that this is a case where the data structure just
>>> plain does not match the problem, but at least it is a start.

Well, as you probably know, the VP3/Theora video codec doesn't really 
match the problem of coding video. :) Having to decode all DCT 
coefficients before you can even begin to transform any of them has 
cache implications.

>>> What are your opinions? Seems Mike is the maintainer of this file,
>>> what do you think?
>> I'm still thinking about it. Don't remember enough about the algorithm 
>> (allegedly, I'm mentoring an encoder this summer, too).
>> Do the changes work?
> As far as I can tell. They should basically be only cosmetic.
>> Are they measurably faster?
> Well, I am no good at proper benchmarks, but with above file,
> mplayer -nosound -benchmark -vo xv big_buck_bunny_1080p_stereo.ogg -demuxer lavf -frames 400
> takes 26 seconds to decode with original code and 22 after the change.

The theory is sound. I tried to benchmark it with START_TIMER but it 
didn't report anything. I wonder if that facility is still supposed to work?

	-Mike Melanson

More information about the ffmpeg-devel mailing list