[XviD-devel] [BUG]
skal
skal at planet-d.net
Wed Oct 29 17:45:20 CET 2003
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
The sum/peak of (squared/) errors obtained in the end
should be less than some given, normative values.
Now, there are several ranges [-R,R[ a compliant
idct should pass the test. Amongst which R=300.
This one is useless for 8b video, since no idct
output can be outside [-256,256[ range.
(and this is this one i don't support, using up
all 16bits of precision to support [-256,256[
range with no extra instructions. For comparison,
it's like requiring a car to be able to run
at 150mph for going on roads with speed limit
of 90mph. Well, a car exploding at 91mph would
suffice (cf. Speed III with Sandra Bullock?:))
that's it.
bye!
Skal
Note: IEEE does not specify precision for the fdct (encoding).
Only decoding (idct)
> 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 ;)
More information about the XviD-devel
mailing list