forked from thorfdbg/libjpeg
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.history
86 lines (67 loc) · 3.6 KB
/
README.history
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Revision 0.10
-----------------------------
First release of libjpeg to the public.
Revision 0.11
-----------------------------
Apparently, the demo frontend code used the
non-binary mode to open the output files,
creating corrupt files under platforms where
such modes include a text conversion. Fixed.
The configure script that tested for the avail-
ibility of setjmp did not work on those platforms
where setjmp is a macro rather than a function.
The test for setjmp is now omitted, depending solely
on the availibility of longjmp.
Revision 0.20
-----------------------------
This release fixes a bug in the residual huffman decoder
scan where I forgot to multiply the residuals with the
quantization size. This did not affect lossless coding,
but only near-lossless coding.
Furthermore, this release adds coding of high-bitdepth
images with a standard 8bpp JPEG fallback stream. For
that, simply supply the image to be coded on the command
line and add the "-r" option to enable residual coding.
To use the conforming, but typically ill-supported 12bpp
mode of JPEG, do not use "-r".
Revision 0.30
-----------------------------
This release introduces a new coding strategy for lossless
and high-dynamic range coding. Unlike former releases,
this release runs an additional reversible color transformation
on the residual data, followed by a lossless (scaled) Hadamard
transformation to avoid color banding in extreme cases. It
also adds an additional tone mapping curve (or curves) to be
specified on encoding that allow a higher quality of the
LDR base layer.
Revision 0.50
-----------------------------
The new features in this version are a refined residual coding algorithm that
includes a runlength scan to improve coding efficiency for low-quality extensions
layers. This release also features a new HDR compression in the DCT domain that
uses the known JPEG refinement scans of progressive coding to improve the resolution
from 8 bit to 12 bit in a completely backwards compatible way. Additionally, the
software was unit-tested with the 10918-2 (JPEG part 2) test streams and various
bugs of the lossless predictive arithmetic coding and lossless predictive coding
were removed. New command line switches allow the encoding of pfm images (floating
point, for high-dynamic range) and the number of extension refinement scans.
Revision 0.60
-----------------------------
Only minor modifications were made in this release. The Huffman coder now fills
undefined bits at the end of the entropy coded segment by ones, and potentially
inserts a stuffed zero byte. Note that the standard defines this only in an
informative note, so it is likely not required. The insertion of a stuffed zero
byte at this position might also be unnecessary as a parser should identify the
first 0xff byte ahead of the marker as "fill byte".
Residual coding has been reworked and uses now a simple progressive scan with the
special DC case removed. The performance does not differ significantly, and it
makes integration into legacy software or hardware easier.
Default Huffman tables are now also provided for progressive and lossless scans,
thus optimizing the Huffman tables just for these scan types is no longer
necessary. Residual or refinement scans still require this argument, though.
Usage of the codec does not differ from previous releases, though codestreams
using the residual coding mode are not compatible to those generated by 0.5.
Note that this is still experimental software and the codestream might still
change until the ISO committee decides on the technology.
Finally, a couple of workarounds for earlier releases of the g++ compiler have
been added.