aboutsummaryrefslogtreecommitdiff
path: root/structure.txt
diff options
context:
space:
mode:
authordcommander <dcommander@632fc199-4ca6-4c93-a231-07263d6284db>2012-01-31 10:19:29 +0000
committerdcommander <dcommander@632fc199-4ca6-4c93-a231-07263d6284db>2012-01-31 10:19:29 +0000
commit3b5c845dda75a9e48c9e1355199e676c5ba0c370 (patch)
treeb64fad294754ab3e8de5d59583c015e181012c34 /structure.txt
parent95f46881e19c7c386603d2cd3298398508dc111c (diff)
Incorporate a few upstream doc changes; grammar police; wordsmithing; Move -arithmetic into "switches for advanced users"; Additional documentation for IDCT scaling extensions
git-svn-id: svn://svn.code.sf.net/p/libjpeg-turbo/code/trunk@765 632fc199-4ca6-4c93-a231-07263d6284db
Diffstat (limited to 'structure.txt')
-rw-r--r--structure.txt20
1 files changed, 10 insertions, 10 deletions
diff --git a/structure.txt b/structure.txt
index 779233a..83f552f 100644
--- a/structure.txt
+++ b/structure.txt
@@ -1,6 +1,6 @@
IJG JPEG LIBRARY: SYSTEM ARCHITECTURE
-Copyright (C) 1991-2009, Thomas G. Lane, Guido Vollbeding.
+Copyright (C) 1991-2012, Thomas G. Lane, Guido Vollbeding.
This file is part of the Independent JPEG Group's software.
For conditions of distribution and use, see the accompanying README file.
@@ -385,8 +385,9 @@ objects:
* Data destination manager: writes the output JPEG datastream to its final
destination (e.g., a file). The destination manager supplied with the
- library knows how to write to a stdio stream; for other behaviors, the
- surrounding application may provide its own destination manager.
+ library knows how to write to a stdio stream or to a memory buffer;
+ for other behaviors, the surrounding application may provide its own
+ destination manager.
* Memory manager: allocates and releases memory, controls virtual arrays
(with backing store management, where required).
@@ -454,8 +455,8 @@ shown are:
buffered by the coefficient controller have NOT been dequantized; we
merge dequantization and inverse DCT into a single step for speed reasons.
When scaled-down output is asked for, simplified DCT algorithms may be used
- that emit only 1x1, 2x2, or 4x4 samples per DCT block, not the full 8x8.
- Works on one DCT block at a time.
+ that emit fewer samples per DCT block, not the full 8x8. Works on one DCT
+ block at a time.
* Postprocessing controller: buffer controller for the color quantization
input buffer, when quantization is in use. (Without quantization, this
@@ -504,9 +505,9 @@ objects:
* Marker reading: decodes JPEG markers (except for RSTn).
* Data source manager: supplies the input JPEG datastream. The source
- manager supplied with the library knows how to read from a stdio stream;
- for other behaviors, the surrounding application may provide its own source
- manager.
+ manager supplied with the library knows how to read from a stdio stream
+ or from a memory buffer; for other behaviors, the surrounding application
+ may provide its own source manager.
* Memory manager: same as for compression library.
@@ -586,8 +587,7 @@ as "((value) & 0xFF)" on signed-char machines and "((int) (value))" elsewhere.
With these conventions, JSAMPLE values can be assumed to be >= 0. This helps
simplify correct rounding during downsampling, etc. The JPEG standard's
specification that sample values run from -128..127 is accommodated by
-subtracting 128 just as the sample value is copied into the source array for
-the DCT step (this will be an array of signed ints). Similarly, during
+subtracting 128 from the sample value in the DCT step. Similarly, during
decompression the output of the IDCT step will be immediately shifted back to
0..255. (NB: different values are required when 12-bit samples are in use.
The code is written in terms of MAXJSAMPLE and CENTERJSAMPLE, which will be