1 |
2 |
kdv |
This archive contains a quick & dirty implementation of the IEEE Standard
|
2 |
|
|
1180-1990 accuracy test for inverse DCT. It is not guaranteed to be
|
3 |
|
|
correct ... but if you find any bugs, please let me know (by email to
|
4 |
|
|
tgl@cs.cmu.edu).
|
5 |
|
|
|
6 |
|
|
The test harness consists of the C program ieeetest.c and shell script
|
7 |
|
|
doieee. For comparison purposes I have also supplied a copy of jrevdct.c,
|
8 |
|
|
the inverse DCT routine from release 4 of the Independent JPEG Group's
|
9 |
|
|
free JPEG software. (jrevdct.c is slightly modified from the IJG release
|
10 |
|
|
so that it will compile without the IJG include files.) jrevdct.c passes
|
11 |
|
|
the 1180 test --- or at least, this program thinks so. jrevdct.out is
|
12 |
|
|
the output from a test run.
|
13 |
|
|
|
14 |
|
|
Note that numerical results may vary somewhat across machines. This appears
|
15 |
|
|
to be mostly due to differing results from the cosine function.
|
16 |
|
|
|
17 |
|
|
|
18 |
|
|
INSTALLATION:
|
19 |
|
|
Check the Makefile, change CC and CFLAGS if needed. Then say "make".
|
20 |
|
|
If your C compiler is non-ANSI, you may need to change includes and/or
|
21 |
|
|
function headers.
|
22 |
|
|
|
23 |
|
|
To test a different IDCT routine, link with that routine instead of
|
24 |
|
|
jrevdct.o. You will need to modify dct.h and/or ieeetest.c if your
|
25 |
|
|
routine's calling convention is not in-place modification of an array
|
26 |
|
|
of 64 "short"s.
|
27 |
|
|
|
28 |
|
|
|
29 |
|
|
USAGE:
|
30 |
|
|
The standard test procedure is
|
31 |
|
|
doieee ieeetest >outputfile
|
32 |
|
|
Expect it to take a while (almost 80 minutes on my old 68030 box).
|
33 |
|
|
Each of the six passes will emit a row of 100 dots as it runs.
|
34 |
|
|
|
35 |
|
|
You can grep the output for the word FAILS if you just want to know
|
36 |
|
|
yea or nay.
|
37 |
|
|
|
38 |
|
|
|
39 |
|
|
LEGAL MUMBO-JUMBO:
|
40 |
|
|
I hereby release the test harness to the public domain.
|
41 |
|
|
Thomas G. Lane, 22 Nov 1993
|
42 |
|
|
|
43 |
|
|
IMPORTANT: jrevdct.c is NOT public domain, but is copyrighted free software
|
44 |
|
|
(not the same thing at all). It is subject to IJG's distribution terms, which
|
45 |
|
|
primarily state that if you incorporate it into a program you must acknowledge
|
46 |
|
|
IJG's contribution in your program documentation. For more details and the
|
47 |
|
|
complete IJG software, see the IJG FTP archive at ftp.uu.net, in directory
|
48 |
|
|
/graphics/jpeg.
|