From a5dcab663a85801a2a6aba39da6c1ddb2e18cb30 Mon Sep 17 00:00:00 2001 From: DRC Date: Fri, 27 Jan 2012 05:46:31 +0000 Subject: [PATCH 1/4] Create 1.2.x branch git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.2.x@741 632fc199-4ca6-4c93-a231-07263d6284db From d657ba6093a3319bcf3ba60881df93c9bfcbd0fb Mon Sep 17 00:00:00 2001 From: DRC Date: Fri, 27 Jan 2012 09:41:20 +0000 Subject: [PATCH 2/4] Move -arithmetic into "switches for advanced users" git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.2.x@745 632fc199-4ca6-4c93-a231-07263d6284db --- cjpeg.1 | 14 +++++++------- cjpeg.c | 6 +++--- jpegtran.c | 6 +++--- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/cjpeg.1 b/cjpeg.1 index e4d95ee8..d3489642 100644 --- a/cjpeg.1 +++ b/cjpeg.1 @@ -1,4 +1,4 @@ -.TH CJPEG 1 "11 October 2010" +.TH CJPEG 1 "27 January 2012" .SH NAME cjpeg \- compress an image file to a JPEG file .SH SYNOPSIS @@ -150,6 +150,12 @@ about the same --- often a little smaller. .PP Switches for advanced users: .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 Use integer DCT method (default). .TP @@ -214,12 +220,6 @@ visibly blur the image, however. .PP Switches for wizards: .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 Force baseline-compatible quantization tables to be generated. This clamps quantization values to 8 bits even at low quality settings. (This switch is diff --git a/cjpeg.c b/cjpeg.c index 3daa259a..fa306d34 100644 --- a/cjpeg.c +++ b/cjpeg.c @@ -164,6 +164,9 @@ usage (void) fprintf(stderr, " -targa Input file is Targa format (usually not needed)\n"); #endif fprintf(stderr, "Switches for advanced users:\n"); +#ifdef C_ARITH_CODING_SUPPORTED + fprintf(stderr, " -arithmetic Use arithmetic coding\n"); +#endif #ifdef DCT_ISLOW_SUPPORTED fprintf(stderr, " -dct int Use integer DCT method%s\n", (JDCT_DEFAULT == JDCT_ISLOW ? " (default)" : "")); @@ -184,9 +187,6 @@ usage (void) fprintf(stderr, " -outfile name Specify name for output file\n"); fprintf(stderr, " -verbose or -debug Emit debug output\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, " -qtables file Use quantization tables given in file\n"); fprintf(stderr, " -qslots N[,...] Set component quantization tables\n"); diff --git a/jpegtran.c b/jpegtran.c index f861464b..9e49e44f 100644 --- a/jpegtran.c +++ b/jpegtran.c @@ -78,14 +78,14 @@ usage (void) fprintf(stderr, " -trim Drop non-transformable edge blocks\n"); #endif 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, " -maxmemory N Maximum memory to use (in kbytes)\n"); fprintf(stderr, " -outfile name Specify name for output file\n"); fprintf(stderr, " -verbose or -debug Emit debug output\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 fprintf(stderr, " -scans file Create multi-scan JPEG per script file\n"); #endif From b6b30676a34621c49e6dc06d0a0668681bf2291a Mon Sep 17 00:00:00 2001 From: DRC Date: Fri, 27 Jan 2012 09:42:26 +0000 Subject: [PATCH 3/4] git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.2.x@746 632fc199-4ca6-4c93-a231-07263d6284db --- README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README b/README index b4a8c331..32e062b8 100644 --- a/README +++ b/README @@ -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 libjpeg-turbo. Please see README-turbo.txt for information specific to the turbo version. From 30913542c01cf6bb4a6b479e56d87e7a8eb048fb Mon Sep 17 00:00:00 2001 From: DRC Date: Fri, 27 Jan 2012 09:53:33 +0000 Subject: [PATCH 4/4] 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/branches/1.2.x@749 632fc199-4ca6-4c93-a231-07263d6284db --- BUILDING.txt | 24 ++++++++++++------------ libjpeg.txt | 21 ++++++++++++--------- 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/BUILDING.txt b/BUILDING.txt index e3997859..730eaf72 100644 --- a/BUILDING.txt +++ b/BUILDING.txt @@ -107,14 +107,14 @@ This will generate the following files under .libs/ 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 -libjpeg-turbo that is compatible with libjpeg v7. Add --with-jpeg8 to the -configure command to build a version of libjpeg-turbo that is compatible with -libjpeg v8. See README-turbo.txt for more information on libjpeg v7 and v8 -emulation. +libjpeg-turbo that is API/ABI-compatible with libjpeg v7. Add --with-jpeg8 to +the configure command to build a version of libjpeg-turbo that is +API/ABI-compatible with libjpeg v8. See README-turbo.txt for more information +on libjpeg v7 and v8 emulation. Arithmetic Coding Support @@ -492,14 +492,14 @@ NMake, remove "-DCMAKE_BUILD_TYPE=Release" (Debug builds are the default with 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 -libjpeg-turbo that is compatible with libjpeg v7. Add "-DWITH_JPEG8=1" to the -cmake command to build a version of libjpeg-turbo that is compatible with -libjpeg v8. See README-turbo.txt for more information on libjpeg v7 and v8 -emulation. +libjpeg-turbo that is API/ABI-compatible with libjpeg v7. Add "-DWITH_JPEG8=1" +to the cmake command to build a version of libjpeg-turbo that is +API/ABI-compatible with libjpeg v8. See README-turbo.txt for more information +on libjpeg v7 and v8 emulation. Arithmetic Coding Support diff --git a/libjpeg.txt b/libjpeg.txt index 191b35e8..c781757f 100644 --- a/libjpeg.txt +++ b/libjpeg.txt @@ -850,8 +850,9 @@ int jpeg_quality_scaling (int quality) premise of this routine collapses. Caveat user. jpeg_default_qtables (j_compress_ptr cinfo, boolean force_baseline) - [libjpeg v7/v8 only] Set default quantization tables with linear - q_scale_factor[] values (see below). + [libjpeg v7+ API/ABI emulation only] + Set default quantization tables with linear q_scale_factor[] values + (see below). jpeg_add_quant_table (j_compress_ptr cinfo, int which_tbl, const unsigned int *basic_table, @@ -976,8 +977,9 @@ JQUANT_TBL * quant_tbl_ptrs[NUM_QUANT_TBLS] slot 1 for chrominance. int q_scale_factor[NUM_QUANT_TBLS] - [libjpeg v7+ only] Linear quantization scaling factors (0-100, default - 100) for use with jpeg_default_qtables(). + [libjpeg v7+ API/ABI emulation only] + 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. Note that the q_scale_factor[] values use "linear" scales, so JPEG 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. -[libjpeg v7+ only] The actual dimensions of the JPEG image that will be written -to the file are given by the following fields. These are computed from the -input image dimensions and the compression parameters by jpeg_start_compress(). -You can also call jpeg_calc_jpeg_dimensions() to obtain the values that will -result from the current parameter settings. +[libjpeg v7+ API/ABI emulation only] +The actual dimensions of the JPEG image that will be written to the file are +given by the following fields. These are computed from the input image +dimensions and the compression parameters by jpeg_start_compress(). You can +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_height