[XviD-devel] xvid_bench from HEAD cvs gave me 2 quantizer CRC
errors...is this expected?
suxen_drol
suxen_drol at hotmail.com
Wed Jun 11 23:21:02 CEST 2003
On Tue, 10 Jun 2003 22:55:53 -0700 "Joe Millenbach" <jmillenbach at hotmail.com> wrote:
> ..
> ===== test quant =====
> PLAINC - quant4_intra 65.978 usec crc=29809
> PLAINC - quant4_inter -96.911 usec crc=12574
> PLAINC - dequant4_intra -40.233 usec crc=24052
> PLAINC - dequant4_inter 145.859 usec crc=63847
> PLAINC - quant_intra -71.991 usec crc=25662
> PLAINC - quant_inter -61.561 usec crc=23972
> PLAINC - dequant_intra 103.125 usec crc=49900
> PLAINC - dequant_inter -69.530 usec crc=48899
> ---
> MMX - quant4_intra 15.273 usec crc=3459
> *** CRC ERROR! ***
> MMX - quant4_inter 12.812 usec crc=13247
> *** CRC ERROR! ***
> ..
>
> I'm using .NET Studio and want to make sure it's not my config...
does this only occur with quant4_* ?
if my memory serves me correctly, quant4_inter/intra_mmx is somewhat
buggy, in that a mmx multiply can can an overflow with large or small
input coeefficents. therefore, when perfoming a comparions of the
plain-c versus mmx (as xvid_stat does), there are some deprepancies.
> Also the time calculation seems to be wrong for win32. On mine it causes
> some negative times to be displayed. Not sure if it's different on other
> versions of Visual Studio, but in .NET "CLOCKS_PER_SEC" = 1000. And if I
> change the following line in xvid_bench.c from...
>
> return clk * 1000000 / CLOCKS_PER_SEC;
>
> to...
>
> return clk * 1000;
>
> It fixes the negative times. I'm guessing it multiplies first then
> overflows the int. Parenthesis would probably fix it too ("return clk *
> (1000000.0 / CLOCKS_PER_SEC);"...added the decimal to make the result a
> double just in case).
yep, the 1000000 is an error, it should be 1000.
i will commit a fix shortly.
-- pete
More information about the XviD-devel
mailing list