Be clear that we are only emulating the libjpeg v7/v8 API/ABI, not the library itself.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@748 632fc199-4ca6-4c93-a231-07263d6284db
This commit is contained in:
DRC
2012-01-27 09:52:20 +00:00
7 changed files with 44 additions and 41 deletions

View File

@@ -107,14 +107,14 @@ This will generate the following files under .libs/
62, 7, or 8. 62, 7, or 8.
libjpeg v7 or v8 Emulation libjpeg v7 or v8 API/ABI Emulation
-------------------------- ----------------------------------
Add --with-jpeg7 to the configure command line to build a version of Add --with-jpeg7 to the configure command line to build a version of
libjpeg-turbo that is compatible with libjpeg v7. Add --with-jpeg8 to the libjpeg-turbo that is API/ABI-compatible with libjpeg v7. Add --with-jpeg8 to
configure command to build a version of libjpeg-turbo that is compatible with the configure command to build a version of libjpeg-turbo that is
libjpeg v8. See README-turbo.txt for more information on libjpeg v7 and v8 API/ABI-compatible with libjpeg v8. See README-turbo.txt for more information
emulation. on libjpeg v7 and v8 emulation.
Arithmetic Coding Support Arithmetic Coding Support
@@ -492,14 +492,14 @@ NMake, remove "-DCMAKE_BUILD_TYPE=Release" (Debug builds are the default with
NMake.) NMake.)
libjpeg v7 or v8 Emulation libjpeg v7 or v8 API/ABI Emulation
-------------------------- -----------------------------------
Add "-DWITH_JPEG7=1" to the cmake command line to build a version of Add "-DWITH_JPEG7=1" to the cmake command line to build a version of
libjpeg-turbo that is compatible with libjpeg v7. Add "-DWITH_JPEG8=1" to the libjpeg-turbo that is API/ABI-compatible with libjpeg v7. Add "-DWITH_JPEG8=1"
cmake command to build a version of libjpeg-turbo that is compatible with to the cmake command to build a version of libjpeg-turbo that is
libjpeg v8. See README-turbo.txt for more information on libjpeg v7 and v8 API/ABI-compatible with libjpeg v8. See README-turbo.txt for more information
emulation. on libjpeg v7 and v8 emulation.
Arithmetic Coding Support Arithmetic Coding Support

4
README
View File

@@ -1,4 +1,4 @@
libjpeg-turbo note: This file is mostly taken from the libjpeg v8b README libjpeg-turbo note: This file is mostly taken from the libjpeg README
file, and it is included only for reference. Some parts of it may not apply to file, and it is included only for reference. Some parts of it may not apply to
libjpeg-turbo. Please see README-turbo.txt for information specific to the libjpeg-turbo. Please see README-turbo.txt for information specific to the
turbo version. turbo version.
@@ -286,4 +286,4 @@ image files indefinitely.)
TO DO TO DO
===== =====
Please send bug reports, offers of help, etc. to jpeg-info@uc.ag. Please send bug reports, offers of help, etc. to jpeg-info@jpegclub.org.

14
cjpeg.1
View File

@@ -1,4 +1,4 @@
.TH CJPEG 1 "11 October 2010" .TH CJPEG 1 "27 January 2012"
.SH NAME .SH NAME
cjpeg \- compress an image file to a JPEG file cjpeg \- compress an image file to a JPEG file
.SH SYNOPSIS .SH SYNOPSIS
@@ -150,6 +150,12 @@ about the same --- often a little smaller.
.PP .PP
Switches for advanced users: Switches for advanced users:
.TP .TP
.B \-arithmetic
Use arithmetic coding.
.B Caution:
arithmetic coded JPEG is not yet widely implemented, so many decoders will be
unable to view an arithmetic coded JPEG file at all.
.TP
.B \-dct int .B \-dct int
Use integer DCT method (default). Use integer DCT method (default).
.TP .TP
@@ -214,12 +220,6 @@ visibly blur the image, however.
.PP .PP
Switches for wizards: Switches for wizards:
.TP .TP
.B \-arithmetic
Use arithmetic coding.
.B Caution:
arithmetic coded JPEG is not yet widely implemented, so many decoders will be
unable to view an arithmetic coded JPEG file at all.
.TP
.B \-baseline .B \-baseline
Force baseline-compatible quantization tables to be generated. This clamps Force baseline-compatible quantization tables to be generated. This clamps
quantization values to 8 bits even at low quality settings. (This switch is quantization values to 8 bits even at low quality settings. (This switch is

View File

@@ -164,6 +164,9 @@ usage (void)
fprintf(stderr, " -targa Input file is Targa format (usually not needed)\n"); fprintf(stderr, " -targa Input file is Targa format (usually not needed)\n");
#endif #endif
fprintf(stderr, "Switches for advanced users:\n"); fprintf(stderr, "Switches for advanced users:\n");
#ifdef C_ARITH_CODING_SUPPORTED
fprintf(stderr, " -arithmetic Use arithmetic coding\n");
#endif
#ifdef DCT_ISLOW_SUPPORTED #ifdef DCT_ISLOW_SUPPORTED
fprintf(stderr, " -dct int Use integer DCT method%s\n", fprintf(stderr, " -dct int Use integer DCT method%s\n",
(JDCT_DEFAULT == JDCT_ISLOW ? " (default)" : "")); (JDCT_DEFAULT == JDCT_ISLOW ? " (default)" : ""));
@@ -184,9 +187,6 @@ usage (void)
fprintf(stderr, " -outfile name Specify name for output file\n"); fprintf(stderr, " -outfile name Specify name for output file\n");
fprintf(stderr, " -verbose or -debug Emit debug output\n"); fprintf(stderr, " -verbose or -debug Emit debug output\n");
fprintf(stderr, "Switches for wizards:\n"); fprintf(stderr, "Switches for wizards:\n");
#ifdef C_ARITH_CODING_SUPPORTED
fprintf(stderr, " -arithmetic Use arithmetic coding\n");
#endif
fprintf(stderr, " -baseline Force baseline quantization tables\n"); fprintf(stderr, " -baseline Force baseline quantization tables\n");
fprintf(stderr, " -qtables file Use quantization tables given in file\n"); fprintf(stderr, " -qtables file Use quantization tables given in file\n");
fprintf(stderr, " -qslots N[,...] Set component quantization tables\n"); fprintf(stderr, " -qslots N[,...] Set component quantization tables\n");

View File

@@ -534,17 +534,17 @@ In general, it's worth trying the maximum optimization level of your compiler,
and experimenting with any optional optimizations such as loop unrolling. and experimenting with any optional optimizations such as loop unrolling.
(Unfortunately, far too many compilers have optimizer bugs ... be prepared to (Unfortunately, far too many compilers have optimizer bugs ... be prepared to
back off if the code fails self-test.) If you do any experimentation along back off if the code fails self-test.) If you do any experimentation along
these lines, please report the optimal settings to jpeg-info@uc.ag so we these lines, please report the optimal settings to jpeg-info@jpegclub.org so
can mention them in future releases. Be sure to specify your machine we can mention them in future releases. Be sure to specify your machine and
and compiler version. compiler version.
HINTS FOR SPECIFIC SYSTEMS HINTS FOR SPECIFIC SYSTEMS
========================== ==========================
We welcome reports on changes needed for systems not mentioned here. Submit We welcome reports on changes needed for systems not mentioned here. Submit
'em to jpeg-info@uc.ag. Also, if configure or ckconfig.c is wrong about how 'em to jpeg-info@jpegclub.org. Also, if configure or ckconfig.c is wrong
to configure the JPEG software for your system, please let us know. about how to configure the JPEG software for your system, please let us know.
Acorn RISC OS: Acorn RISC OS:

View File

@@ -78,14 +78,14 @@ usage (void)
fprintf(stderr, " -trim Drop non-transformable edge blocks\n"); fprintf(stderr, " -trim Drop non-transformable edge blocks\n");
#endif #endif
fprintf(stderr, "Switches for advanced users:\n"); fprintf(stderr, "Switches for advanced users:\n");
#ifdef C_ARITH_CODING_SUPPORTED
fprintf(stderr, " -arithmetic Use arithmetic coding\n");
#endif
fprintf(stderr, " -restart N Set restart interval in rows, or in blocks with B\n"); fprintf(stderr, " -restart N Set restart interval in rows, or in blocks with B\n");
fprintf(stderr, " -maxmemory N Maximum memory to use (in kbytes)\n"); fprintf(stderr, " -maxmemory N Maximum memory to use (in kbytes)\n");
fprintf(stderr, " -outfile name Specify name for output file\n"); fprintf(stderr, " -outfile name Specify name for output file\n");
fprintf(stderr, " -verbose or -debug Emit debug output\n"); fprintf(stderr, " -verbose or -debug Emit debug output\n");
fprintf(stderr, "Switches for wizards:\n"); fprintf(stderr, "Switches for wizards:\n");
#ifdef C_ARITH_CODING_SUPPORTED
fprintf(stderr, " -arithmetic Use arithmetic coding\n");
#endif
#ifdef C_MULTISCAN_FILES_SUPPORTED #ifdef C_MULTISCAN_FILES_SUPPORTED
fprintf(stderr, " -scans file Create multi-scan JPEG per script file\n"); fprintf(stderr, " -scans file Create multi-scan JPEG per script file\n");
#endif #endif

View File

@@ -850,8 +850,9 @@ int jpeg_quality_scaling (int quality)
premise of this routine collapses. Caveat user. premise of this routine collapses. Caveat user.
jpeg_default_qtables (j_compress_ptr cinfo, boolean force_baseline) jpeg_default_qtables (j_compress_ptr cinfo, boolean force_baseline)
[libjpeg v7/v8 only] Set default quantization tables with linear [libjpeg v7+ API/ABI emulation only]
q_scale_factor[] values (see below). Set default quantization tables with linear q_scale_factor[] values
(see below).
jpeg_add_quant_table (j_compress_ptr cinfo, int which_tbl, jpeg_add_quant_table (j_compress_ptr cinfo, int which_tbl,
const unsigned int *basic_table, const unsigned int *basic_table,
@@ -976,8 +977,9 @@ JQUANT_TBL * quant_tbl_ptrs[NUM_QUANT_TBLS]
slot 1 for chrominance. slot 1 for chrominance.
int q_scale_factor[NUM_QUANT_TBLS] int q_scale_factor[NUM_QUANT_TBLS]
[libjpeg v7+ only] Linear quantization scaling factors (0-100, default [libjpeg v7+ API/ABI emulation only]
100) for use with jpeg_default_qtables(). Linear quantization scaling factors (0-100, default 100)
for use with jpeg_default_qtables().
See rdswitch.c and cjpeg.c for an example of usage. See rdswitch.c and cjpeg.c for an example of usage.
Note that the q_scale_factor[] values use "linear" scales, so JPEG Note that the q_scale_factor[] values use "linear" scales, so JPEG
quality levels chosen by the user must be converted to these scales quality levels chosen by the user must be converted to these scales
@@ -1012,11 +1014,12 @@ JHUFF_TBL * ac_huff_tbl_ptrs[NUM_HUFF_TBLS]
any need to mess with providing your own Huffman tables. any need to mess with providing your own Huffman tables.
[libjpeg v7+ only] The actual dimensions of the JPEG image that will be written [libjpeg v7+ API/ABI emulation only]
to the file are given by the following fields. These are computed from the The actual dimensions of the JPEG image that will be written to the file are
input image dimensions and the compression parameters by jpeg_start_compress(). given by the following fields. These are computed from the input image
You can also call jpeg_calc_jpeg_dimensions() to obtain the values that will dimensions and the compression parameters by jpeg_start_compress(). You can
result from the current parameter settings. also call jpeg_calc_jpeg_dimensions() to obtain the values that will result
from the current parameter settings.
JDIMENSION jpeg_width Actual dimensions of output image. JDIMENSION jpeg_width Actual dimensions of output image.
JDIMENSION jpeg_height JDIMENSION jpeg_height