[XviD-devel] [RFC] Decoder speedup

Michael Militzer michael at xvid.org
Mon Jun 14 21:01:12 CEST 2004


Quoting Edouard Gomez <ed.gomez at free.fr>:

> skal (skal at planet-d.net) wrote:
> > 	What is the average quant of your bitstream??
> 
> Frames: 33205
> Average Qp: 6.396356
> Width: 640
> Height: 480
> Duration: 1386s
> FPS: 23.976
> MPEG4 Features: 1 bframe
> 
> > 	Because there's a big difference between ffmpeg and xvid:
> > 	ffmpeg is dequantizing the coeffs on-the-fly, so that
> > 	this operation scales as the number of non-zero coeffs.
> > 	XviD, contrary, dequantizes every 64 coeffs with SIMD.
> > 	It's faster, but inefficient if only few coeffs are
> > 	non-zero.
> 
> I'll check what is the ratio of zero coeffs vs non zero
> coeffs. If the ratio is huge then i'll give a try at on teh
> fly dequantizing. Are they using plain C for on the fly
> dequant ?

I'm very sure that the ratio between zero and non zero coeffs will indeed
be huge (probably 3% non-zero coeffs), but of course including the coeffs
of not coded blocks (which however are of course not dequantized in the
XviD SIMD implementation).

Regarding C implementation for dequant - well, I don't know the ffmpeg
sources too well but I can't imagine how coeff decoding and dequant should
be merged using SIMD instructions. So I'd guess a pure c implementation is
used...

Michael


More information about the XviD-devel mailing list