[XviD-devel] [BUG]

Michael Militzer michael at xvid.org
Wed Oct 29 18:54:35 CET 2003


Hi again,

Quoting skal <skal at planet-d.net>:

> 
> 	Hi all,
> 
> On Wed, 2003-10-29 at 18:20, Michael Militzer wrote:
> 
> > > skal (skal at planet-d.net) wrote:
> > > > 	Sure.
> > > > 
> > > > 	(read the comments: idct is not IEEE compliant, on
> > > > 	purpose, since it doesn't abide to the silly [-300,300]
> > > > 	input range test).
> > > 
> > > The old ones were  known to be unprecise too, so we'll  give these one a
> > > try, and let SSE2 users see if they're fine enough to be used.
> > 
> > 1) All idct code ever used in XviD was IEEE 1180 compliant (keep that in
> > mind when calling it 'unprecise').
> > 
> 
> 	indeed, i think a reminder/clarification about 'unprecise'
> 	wouldn't hurt:
> 
> IEEE-1180 specifies an acceptable range of errors when you follow
> the following process:
> 1) take a random 8x8 matrix with coefficients in range [-R,R[
> 2) perform double-precision "exact" fdct on this matrix
> 3) Apply the Idct you want to test to the result of 2)
> 4) Compare result of 3) with the original random matrix of 1)
> 5) repeat 10000 times
> 

[...]

> Note: IEEE does not specify precision for the fdct (encoding). 
> Only decoding (idct)

very true. Since fdct errors are compensated, special precision is not
needed (as opposed to idct). However, very unprecise fdct reduces com-
pression efficiency...
 
> > 2) Please do not even think of using Skal's idct code or we'll get into
> > very serious trouble again because of idct mismatches between the XviD P4
> > version and the regular version
> 
> Note2: I also have SSE, MMX and plain-C versions if you want to
> get further corrupted with un-precision ;)

yep - but that would still render a new XviD version using your idct code
incompatible with all older XviD content. And idct mismatches can lead to
horrible artifacts (I have samples if someone is interested ;-))

bye,
Michael


More information about the XviD-devel mailing list