Doc: "MCU block" = "iMCU" or "MCU"
The JPEG-1 spec never uses the term "MCU block". That term is rarely
used in other literature to describe the equivalent of an MCU in an
interleaved JPEG image, but the libjpeg documentation uses "iMCU" to
describe the same thing. "iMCU" is a better term, since the equivalent
of an interleaved MCU can contain multiple DCT blocks (or samples in
lossless mode) that are only grouped together if the image is
interleaved.
In the case of restart markers, "MCU block" was used in the libjpeg
documentation instead of "MCU", but "MCU" is more accurate and less
confusing. (The restart interval is literally in MCUs, where one MCU
is one data unit in a non-interleaved JPEG image and multiple data units
in a multi-component interleaved JPEG image.)
In the case of 9b704f96b2, the issue was
actually with progressive JPEG images exactly two DCT blocks wide, not
two MCU blocks wide.
This commit also defines "MCU" and "MCU row" in the description of the
various restart marker options/parameters. Although an MCU row is
technically always a row of samples in lossless mode, "sample row" was
confusing, since it is used in other places to describe a row of samples
for a single component (whereas an MCU row in a typical lossless JPEG
image consists of a row of interleaved samples for all components.)
This commit is contained in:
17
libjpeg.txt
17
libjpeg.txt
@@ -1150,15 +1150,14 @@ boolean optimize_coding
|
||||
unsigned int restart_interval
|
||||
int restart_in_rows
|
||||
To emit restart markers in the JPEG file, set one of these nonzero.
|
||||
Set restart_interval to specify the exact interval in MCU blocks
|
||||
(samples in lossless mode). Set restart_in_rows to specify the
|
||||
interval in MCU rows. (If restart_in_rows is not 0, then
|
||||
restart_interval is set after the image width in MCUs is computed.)
|
||||
Defaults are zero (no restarts). One restart marker per MCU row is
|
||||
often a good choice. NOTE: the overhead of restart markers is higher
|
||||
in grayscale JPEG files than in color files, and MUCH higher in
|
||||
progressive JPEGs. If you use restarts, you may want to use larger
|
||||
intervals in those cases.
|
||||
Set restart_interval to specify the exact interval in MCUs. Set
|
||||
restart_in_rows to specify the interval in MCU rows. (If
|
||||
restart_in_rows is not 0, then restart_interval is set after the image
|
||||
width in MCUs is computed.) Defaults are zero (no restarts). One
|
||||
restart marker per MCU row is often a good choice. NOTE: the overhead
|
||||
of restart markers is higher in grayscale JPEG files than in color
|
||||
files, and MUCH higher in progressive JPEGs. If you use restarts, you
|
||||
may want to use larger intervals in those cases.
|
||||
|
||||
const jpeg_scan_info *scan_info
|
||||
int num_scans
|
||||
|
||||
Reference in New Issue
Block a user