[Liboil] idct8x8_s16_mmx seems kind of broken...

Stephane Fillod f8cfe at free.fr
Wed Dec 21 11:51:11 PST 2005


On Wed, Dec 21, 2005 at 11:38:46AM -0800, David Schleef wrote:
> On Sun, Dec 18, 2005 at 12:29:45PM +0000, Adam D. Moss wrote:
> > I'm using the oil_idct8x8_s16() function and I find
> > that when liboil selects idct8x8_s16_mmx, the artifacts
> > are pretty bad (see attached images), almost regardless
> > of the distribution or strength of the DCT coefficients.
> > 
> > idct8x8_s16_ref is very nearly as fast here and gives
> > perfect results as far as I'm concerned (bit-identical to
> > idct8x8_f64_c for my tests).
> 
> Sorry for taking so long to reply.  It turns out that the testing
> code was actually comparing the data in the guard region between
> the tested implementation and the reference function.  On most
> classes, the data area was much larger than the guard area, so
> at least part of the data area was tested.  For idct8x8_s16, the
> data fit entirely into the guard area, so inaccuracies were never
> noticed.
> 
> I fixed the code in CVS, which means that a bunch of new
> implementations are failing now.

Shouldn't those implementations be commented out by ENABLE_BROKEN_IMPLS
until someone fixes them?

-- 
Stephane


More information about the Liboil mailing list