606 lines
17 KiB
Text
606 lines
17 KiB
Text
--- imgJPEG.c Thu Jun 9 06:36:41 2005
|
||
+++ imgJPEG.c Thu Jun 9 20:27:11 2005
|
||
@@ -173,115 +173,4 @@
|
||
j_common_ptr cinfo));
|
||
static int load_jpeg_library _ANSI_ARGS_((Tcl_Interp *interp));
|
||
-static int CreateCompress _ANSI_ARGS_((j_compress_ptr, int, size_t));
|
||
-static int CreateDecompress _ANSI_ARGS_((j_decompress_ptr, int, size_t));
|
||
-
|
||
-/*
|
||
- * Stuff to support dynamic loading of libjpeg
|
||
- */
|
||
-
|
||
-static struct JpegFunctions {
|
||
- VOID *handle;
|
||
- int (* abort_decompress) _ANSI_ARGS_((j_decompress_ptr));
|
||
- int (* destroy_compress) _ANSI_ARGS_((j_compress_ptr));
|
||
- int (* destroy_decompress) _ANSI_ARGS_((j_decompress_ptr));
|
||
- int (* finish_compress) _ANSI_ARGS_((j_compress_ptr));
|
||
- int (* finish_decompress) _ANSI_ARGS_((j_decompress_ptr));
|
||
- int (* read_header) _ANSI_ARGS_((j_decompress_ptr, int));
|
||
- JDIMENSION (* read_scanlines) _ANSI_ARGS_((j_decompress_ptr,
|
||
- JSAMPARRAY, JDIMENSION));
|
||
- boolean (* resync_to_restart) _ANSI_ARGS_((j_decompress_ptr, int));
|
||
- int (* set_defaults) _ANSI_ARGS_((j_compress_ptr));
|
||
- int (* start_compress) _ANSI_ARGS_((j_compress_ptr, int));
|
||
- int (* start_decompress) _ANSI_ARGS_((j_decompress_ptr));
|
||
- struct jpeg_error_mgr *(* std_error) _ANSI_ARGS_((struct jpeg_error_mgr *));
|
||
- JDIMENSION (* write_scanlines) _ANSI_ARGS_((j_compress_ptr,
|
||
- JSAMPARRAY, JDIMENSION));
|
||
- int (* set_colorspace) _ANSI_ARGS_((j_compress_ptr, J_COLOR_SPACE));
|
||
- int (* set_quality) _ANSI_ARGS_((j_compress_ptr, int, int));
|
||
- int (* simple_progression) _ANSI_ARGS_((j_compress_ptr));
|
||
- int (* CreateCompress) _ANSI_ARGS_((j_compress_ptr, int, size_t));
|
||
- int (* CreateDecompress) _ANSI_ARGS_((j_decompress_ptr, int, size_t));
|
||
- int (* create_compress) _ANSI_ARGS_((j_compress_ptr));
|
||
- int (* create_decompress) _ANSI_ARGS_((j_decompress_ptr));
|
||
- void (* destroy) _ANSI_ARGS_((j_common_ptr));
|
||
- JDIMENSION (* write_raw_data) _ANSI_ARGS_((j_compress_ptr,
|
||
- JSAMPIMAGE, JDIMENSION));
|
||
- void (* suppress_tables) _ANSI_ARGS_((j_compress_ptr, boolean));
|
||
- void (* write_tables) _ANSI_ARGS_((j_compress_ptr));
|
||
- JDIMENSION (* read_raw_data) _ANSI_ARGS_((j_decompress_ptr,
|
||
- JSAMPIMAGE, JDIMENSION));
|
||
- void (* abort) _ANSI_ARGS_((j_common_ptr));
|
||
-} jpeg = {0};
|
||
-
|
||
-static char *symbols[] = {
|
||
-#ifdef NEED_SHORT_EXTERNAL_NAMES
|
||
- "jAbrtDecompress",
|
||
- "jDestCompress",
|
||
- "jDestDecompress",
|
||
- "jFinCompress",
|
||
- "jFinDecompress",
|
||
- "jReadHeader",
|
||
- "jReadScanlines",
|
||
- "jResyncRestart",
|
||
- "jSetDefaults",
|
||
- "jStrtCompress",
|
||
- "jStrtDecompress",
|
||
- "jStdError",
|
||
- "jWrtScanlines",
|
||
- /* the following 3 symbols are not crucial. They implement
|
||
- resp. the "-grayscale", "-quality" and "-progressive"
|
||
- options. If any of the symbols are missing from the
|
||
- library, the corresponding option just has no effect. */
|
||
- "jSetColorspace",
|
||
- "jSetQuality",
|
||
- "jSimProgress",
|
||
- "jCreaCompress",
|
||
- "jCreaDecompress",
|
||
- "jCreaCompress",
|
||
- "jCreaDecompress",
|
||
- "jDestroy",
|
||
- "jWrtRawData",
|
||
- "jSuppressTables",
|
||
- "jWrtTables",
|
||
- "jReadRawData",
|
||
- "jAbort",
|
||
-#else
|
||
- "jpeg_abort_decompress",
|
||
- "jpeg_destroy_compress",
|
||
- "jpeg_destroy_decompress",
|
||
- "jpeg_finish_compress",
|
||
- "jpeg_finish_decompress",
|
||
- "jpeg_read_header",
|
||
- "jpeg_read_scanlines",
|
||
- "jpeg_resync_to_restart",
|
||
- "jpeg_set_defaults",
|
||
- "jpeg_start_compress",
|
||
- "jpeg_start_decompress",
|
||
- "jpeg_std_error",
|
||
- "jpeg_write_scanlines",
|
||
- /* the following 3 symbols are not crucial. They implement
|
||
- resp. the "-grayscale", "-quality" and "-progressive"
|
||
- options. If any of the symbols are missing from the
|
||
- library, the corresponding option just has no effect. */
|
||
- "jpeg_set_colorspace",
|
||
- "jpeg_set_quality",
|
||
- "jpeg_simple_progression",
|
||
- /* In later versions, jpeg_create_compress and jpeg_create_decompress
|
||
- are macros pointing to jpeg_CreateCompress and jpeg_CreateDecompres.
|
||
- Which one is found depends on the version. */
|
||
- "jpeg_CreateCompress",
|
||
- "jpeg_CreateDecompress",
|
||
- "jpeg_create_compress",
|
||
- "jpeg_create_decompress",
|
||
- "jpeg_destroy",
|
||
- "jpeg_write_raw_data",
|
||
- "jpeg_suppress_tables",
|
||
- "jpeg_write_tables",
|
||
- "jpeg_read_raw_data",
|
||
- "jpeg_abort",
|
||
-#endif
|
||
- (char *) NULL
|
||
-};
|
||
-
|
||
|
||
static int
|
||
@@ -292,21 +181,10 @@
|
||
struct my_error_mgr jerror; /* for controlling libjpeg error handling */
|
||
int i;
|
||
+ static int initialized;
|
||
|
||
- if (ImgLoadLib(interp, JPEG_LIB_NAME, &jpeg.handle, symbols, 13)
|
||
- != TCL_OK) {
|
||
- return TCL_ERROR;
|
||
- }
|
||
- if (jpeg.CreateCompress == NULL) {
|
||
- if (jpeg.create_compress == NULL) {
|
||
- goto load_failed;
|
||
- }
|
||
- jpeg.CreateCompress = CreateCompress;
|
||
- }
|
||
- if (jpeg.CreateDecompress == NULL) {
|
||
- if (jpeg.create_decompress == NULL) {
|
||
- goto load_failed;
|
||
- }
|
||
- jpeg.CreateDecompress = CreateDecompress;
|
||
- }
|
||
+ if (initialized)
|
||
+ return TCL_OK;
|
||
+
|
||
+ initialized = 1;
|
||
|
||
/* The followin code tries to determine if the JPEG library is
|
||
@@ -322,5 +200,5 @@
|
||
cinfo = (struct jpeg_compress_struct *)
|
||
ckalloc(8*sizeof(struct jpeg_compress_struct));
|
||
- cinfo->err = jpeg.std_error(&jerror.pub);
|
||
+ cinfo->err = jpeg_std_error(&jerror.pub);
|
||
jerror.pub.error_exit = my_error_exit;
|
||
jerror.pub.output_message = my_output_message;
|
||
@@ -328,18 +206,16 @@
|
||
if (setjmp(jerror.setjmp_buffer)) {
|
||
/* If we get here, the JPEG library is invalid. */
|
||
- jpeg.destroy_compress(cinfo);
|
||
+ jpeg_destroy_compress(cinfo);
|
||
ckfree((char *)cinfo);
|
||
-load_failed:
|
||
if (interp) {
|
||
- Tcl_AppendResult(interp, "couldn't load \"", JPEG_LIB_NAME,
|
||
- "\": please upgrade to at least version 6a", (char *) NULL);
|
||
+ Tcl_AppendResult(interp, "JPEG library mismatch, expecting \"",
|
||
+ JPEG_LIB_NAME, NULL);
|
||
}
|
||
- ImgLoadFailed(&jpeg.handle);
|
||
return TCL_ERROR;
|
||
}
|
||
|
||
/* Now we can initialize libjpeg. */
|
||
((char *) cinfo)[sizeof(struct jpeg_compress_struct)] = 53;
|
||
- jpeg.CreateCompress(cinfo, JPEG_LIB_VERSION,
|
||
+ jpeg_CreateCompress(cinfo, JPEG_LIB_VERSION,
|
||
(size_t) sizeof(struct jpeg_compress_struct));
|
||
if (((char *) cinfo)[sizeof(struct jpeg_compress_struct)] != 53) {
|
||
@@ -359,5 +235,5 @@
|
||
cinfo->X_density = 0;
|
||
cinfo->Y_density = 0;
|
||
- jpeg.set_defaults(cinfo);
|
||
+ jpeg_set_defaults(cinfo);
|
||
|
||
if ((cinfo->data_precision != BITS_IN_JSAMPLE) ||
|
||
@@ -375,5 +251,5 @@
|
||
}
|
||
}
|
||
- jpeg.destroy_compress(cinfo);
|
||
+ jpeg_destroy_compress(cinfo);
|
||
ckfree((char *) cinfo);
|
||
return TCL_OK;
|
||
@@ -383,13 +259,6 @@
|
||
ImgLoadJpegLibrary()
|
||
{
|
||
- if ((load_jpeg_library(NULL) == TCL_OK)
|
||
- && jpeg.destroy
|
||
- && jpeg.write_raw_data
|
||
- && jpeg.suppress_tables
|
||
- && jpeg.write_tables
|
||
- && jpeg.read_raw_data
|
||
- && jpeg.abort) {
|
||
+ if (load_jpeg_library(NULL) == TCL_OK)
|
||
return TCL_OK;
|
||
- }
|
||
return TCL_ERROR;
|
||
}
|
||
@@ -420,179 +289,4 @@
|
||
JSAMPARRAY, JDIMENSION));
|
||
|
||
-static int
|
||
-CreateCompress(cinfo, version, size)
|
||
- j_compress_ptr cinfo;
|
||
- int version;
|
||
- size_t size;
|
||
-{
|
||
- return jpeg.create_compress(cinfo);
|
||
-}
|
||
-
|
||
-static int
|
||
-CreateDecompress(cinfo, version, size)
|
||
- j_decompress_ptr cinfo;
|
||
- int version;
|
||
- size_t size;
|
||
-{
|
||
- return jpeg.create_decompress(cinfo);
|
||
-}
|
||
-
|
||
-int
|
||
-Imgjpeg_CreateCompress(cinfo, version, size)
|
||
- j_compress_ptr cinfo;
|
||
- int version;
|
||
- size_t size;
|
||
-{
|
||
- return jpeg.CreateCompress(cinfo, version, size);
|
||
-}
|
||
-
|
||
-int
|
||
-Imgjpeg_CreateDecompress(cinfo, version, size)
|
||
- j_decompress_ptr cinfo;
|
||
- int version;
|
||
- size_t size;
|
||
-{
|
||
- return jpeg.CreateDecompress(cinfo, version, size);
|
||
-}
|
||
-
|
||
-boolean
|
||
-Imgjpeg_resync_to_restart(a,b)
|
||
- j_decompress_ptr a;
|
||
- int b;
|
||
-{
|
||
- return jpeg.resync_to_restart(a,b);
|
||
-}
|
||
-
|
||
-JDIMENSION
|
||
-Imgjpeg_read_scanlines(a,b,c)
|
||
- j_decompress_ptr a;
|
||
- JSAMPARRAY b;
|
||
- JDIMENSION c;
|
||
-{
|
||
- return jpeg.read_scanlines(a,b,c);
|
||
-}
|
||
-
|
||
-int
|
||
-Imgjpeg_set_colorspace(a,b)
|
||
- j_compress_ptr a;
|
||
- J_COLOR_SPACE b;
|
||
-{
|
||
- return jpeg.set_colorspace(a,b);
|
||
-}
|
||
-
|
||
-int
|
||
-Imgjpeg_set_defaults(a)
|
||
- j_compress_ptr a;
|
||
-{
|
||
- return jpeg.set_defaults(a);
|
||
-}
|
||
-
|
||
-int
|
||
-Imgjpeg_start_decompress(a)
|
||
- j_decompress_ptr a;
|
||
-{
|
||
- return jpeg.start_decompress(a);
|
||
-}
|
||
-
|
||
-void
|
||
-Imgjpeg_destroy(a)
|
||
- j_common_ptr a;
|
||
-{
|
||
- jpeg.destroy(a);
|
||
-}
|
||
-
|
||
-struct jpeg_error_mgr *
|
||
-Imgjpeg_std_error(a)
|
||
- struct jpeg_error_mgr *a;
|
||
-{
|
||
- return jpeg.std_error(a);
|
||
-}
|
||
-
|
||
-JDIMENSION Imgjpeg_write_raw_data(a,b,c)
|
||
- j_compress_ptr a;
|
||
- JSAMPIMAGE b;
|
||
- JDIMENSION c;
|
||
-{
|
||
- return jpeg.write_raw_data(a,b,c);
|
||
-}
|
||
-
|
||
-void
|
||
-Imgjpeg_suppress_tables(a,b)
|
||
- j_compress_ptr a;
|
||
- boolean b;
|
||
-{
|
||
- jpeg.suppress_tables(a,b);
|
||
-}
|
||
-
|
||
-void
|
||
-Imgjpeg_abort(a)
|
||
- j_common_ptr a;
|
||
-{
|
||
- jpeg.abort(a);
|
||
-}
|
||
-
|
||
-int
|
||
-Imgjpeg_read_header(a,b)
|
||
- j_decompress_ptr a;
|
||
- int b;
|
||
-{
|
||
- return jpeg.read_header(a,b);
|
||
-}
|
||
-
|
||
-int
|
||
-Imgjpeg_start_compress(a,b)
|
||
- j_compress_ptr a;
|
||
- int b;
|
||
-{
|
||
- return jpeg.start_compress(a,b);
|
||
-}
|
||
-
|
||
-void
|
||
-Imgjpeg_write_tables(a)
|
||
- j_compress_ptr a;
|
||
-{
|
||
- jpeg.write_tables(a);
|
||
-}
|
||
-
|
||
-int
|
||
-Imgjpeg_finish_decompress(a)
|
||
- j_decompress_ptr a;
|
||
-{
|
||
- return jpeg.finish_decompress(a);
|
||
-}
|
||
-
|
||
-int
|
||
-Imgjpeg_finish_compress(a)
|
||
- j_compress_ptr a;
|
||
-{
|
||
- return jpeg.finish_compress(a);
|
||
-}
|
||
-
|
||
-JDIMENSION
|
||
-Imgjpeg_read_raw_data(a,b,c)
|
||
- j_decompress_ptr a;
|
||
- JSAMPIMAGE b;
|
||
- JDIMENSION c;
|
||
-{
|
||
- return jpeg.read_raw_data(a,b,c);
|
||
-}
|
||
-
|
||
-int
|
||
-Imgjpeg_set_quality(a,b,c)
|
||
- j_compress_ptr a;
|
||
- int b;
|
||
- int c;
|
||
-{
|
||
- return jpeg.set_quality(a,b,c);
|
||
-}
|
||
-
|
||
-JDIMENSION
|
||
-Imgjpeg_write_scanlines(a,b,c)
|
||
- j_compress_ptr a;
|
||
- JSAMPARRAY b;
|
||
- JDIMENSION c;
|
||
-{
|
||
- return jpeg.write_scanlines(a,b,c);
|
||
-}
|
||
|
||
|
||
@@ -794,5 +488,5 @@
|
||
/* Initialize JPEG error handler */
|
||
/* We set up the normal JPEG error routines, then override error_exit. */
|
||
- cinfo.err = jpeg.std_error(&jerror.pub);
|
||
+ cinfo.err = jpeg_std_error(&jerror.pub);
|
||
jerror.pub.error_exit = my_error_exit;
|
||
jerror.pub.output_message = my_output_message;
|
||
@@ -803,10 +497,10 @@
|
||
Tcl_AppendResult(interp, "couldn't read JPEG string: ", (char *) NULL);
|
||
append_jpeg_message(interp, (j_common_ptr) &cinfo);
|
||
- jpeg.destroy_decompress(&cinfo);
|
||
+ jpeg_destroy_decompress(&cinfo);
|
||
return TCL_ERROR;
|
||
}
|
||
|
||
/* Now we can initialize libjpeg. */
|
||
- jpeg.CreateDecompress(&cinfo, JPEG_LIB_VERSION,
|
||
+ jpeg_CreateDecompress(&cinfo, JPEG_LIB_VERSION,
|
||
(size_t) sizeof(struct jpeg_decompress_struct));
|
||
jpeg_channel_src(&cinfo, chan);
|
||
@@ -817,5 +511,5 @@
|
||
|
||
/* Reclaim libjpeg's internal resources. */
|
||
- jpeg.destroy_decompress(&cinfo);
|
||
+ jpeg_destroy_decompress(&cinfo);
|
||
|
||
return result;
|
||
@@ -865,5 +559,5 @@
|
||
/* Initialize JPEG error handler */
|
||
/* We set up the normal JPEG error routines, then override error_exit. */
|
||
- cinfo.err = jpeg.std_error(&jerror.pub);
|
||
+ cinfo.err = jpeg_std_error(&jerror.pub);
|
||
jerror.pub.error_exit = my_error_exit;
|
||
jerror.pub.output_message = my_output_message;
|
||
@@ -874,10 +568,10 @@
|
||
Tcl_AppendResult(interp, "couldn't read JPEG string: ", (char *) NULL);
|
||
append_jpeg_message(interp, (j_common_ptr) &cinfo);
|
||
- jpeg.destroy_decompress(&cinfo);
|
||
+ jpeg_destroy_decompress(&cinfo);
|
||
return TCL_ERROR;
|
||
}
|
||
|
||
/* Now we can initialize libjpeg. */
|
||
- jpeg.CreateDecompress(&cinfo, JPEG_LIB_VERSION,
|
||
+ jpeg_CreateDecompress(&cinfo, JPEG_LIB_VERSION,
|
||
(size_t) sizeof(struct jpeg_decompress_struct));
|
||
jpeg_obj_src(&cinfo, data);
|
||
@@ -888,5 +582,5 @@
|
||
|
||
/* Reclaim libjpeg's internal resources. */
|
||
- jpeg.destroy_decompress(&cinfo);
|
||
+ jpeg_destroy_decompress(&cinfo);
|
||
|
||
return result;
|
||
@@ -926,5 +620,5 @@
|
||
* in image being read. */
|
||
{
|
||
- static char *jpegReadOptions[] = {"-fast", "-grayscale", NULL};
|
||
+ static const char *jpegReadOptions[] = {"-fast", "-grayscale", NULL};
|
||
int fileWidth, fileHeight, stopY, curY, outY, outWidth, outHeight;
|
||
myblock bl;
|
||
@@ -935,5 +629,5 @@
|
||
|
||
/* Ready to read header data. */
|
||
- jpeg.read_header(cinfo, TRUE);
|
||
+ jpeg_read_header(cinfo, TRUE);
|
||
|
||
/* This code only supports 8-bit-precision JPEG files. */
|
||
@@ -972,5 +666,5 @@
|
||
}
|
||
|
||
- jpeg.start_decompress(cinfo);
|
||
+ jpeg_start_decompress(cinfo);
|
||
|
||
/* Check dimensions. */
|
||
@@ -1029,5 +723,5 @@
|
||
outY = destY;
|
||
for (curY = 0; curY < stopY; curY++) {
|
||
- jpeg.read_scanlines(cinfo, buffer, 1);
|
||
+ jpeg_read_scanlines(cinfo, buffer, 1);
|
||
if (curY >= srcY) {
|
||
Tk_PhotoPutBlock(imageHandle, &block, destX, outY, outWidth, 1, TK_PHOTO_COMPOSITE_SET);
|
||
@@ -1038,7 +732,7 @@
|
||
/* Do normal cleanup if we read the whole image; else early abort */
|
||
if (cinfo->output_scanline == cinfo->output_height)
|
||
- jpeg.finish_decompress(cinfo);
|
||
+ jpeg_finish_decompress(cinfo);
|
||
else
|
||
- jpeg.abort_decompress(cinfo);
|
||
+ jpeg_abort_decompress(cinfo);
|
||
|
||
return TCL_OK;
|
||
@@ -1086,5 +780,5 @@
|
||
/* Initialize JPEG error handler */
|
||
/* We set up the normal JPEG error routines, then override error_exit. */
|
||
- cinfo.err = jpeg.std_error(&jerror.pub);
|
||
+ cinfo.err = jpeg_std_error(&jerror.pub);
|
||
jerror.pub.error_exit = my_error_exit;
|
||
jerror.pub.output_message = my_output_message;
|
||
@@ -1096,11 +790,11 @@
|
||
"\": ", (char *) NULL);
|
||
append_jpeg_message(interp, (j_common_ptr) &cinfo);
|
||
- jpeg.destroy_compress(&cinfo);
|
||
+ jpeg_destroy_compress(&cinfo);
|
||
Tcl_Close(interp, chan);
|
||
return TCL_ERROR;
|
||
}
|
||
|
||
/* Now we can initialize libjpeg. */
|
||
- jpeg.CreateCompress(&cinfo, JPEG_LIB_VERSION,
|
||
+ jpeg_CreateCompress(&cinfo, JPEG_LIB_VERSION,
|
||
(size_t) sizeof(struct jpeg_compress_struct));
|
||
jpeg_channel_dest(&cinfo, chan);
|
||
@@ -1109,5 +803,5 @@
|
||
result = CommonWriteJPEG(interp, &cinfo, format, blockPtr);
|
||
|
||
- jpeg.destroy_compress(&cinfo);
|
||
+ jpeg_destroy_compress(&cinfo);
|
||
if (Tcl_Close(interp, chan) == TCL_ERROR) {
|
||
return TCL_ERROR;
|
||
@@ -1154,5 +848,5 @@
|
||
/* Initialize JPEG error handler */
|
||
/* We set up the normal JPEG error routines, then override error_exit. */
|
||
- cinfo.err = jpeg.std_error(&jerror.pub);
|
||
+ cinfo.err = jpeg_std_error(&jerror.pub);
|
||
jerror.pub.error_exit = my_error_exit;
|
||
jerror.pub.output_message = my_output_message;
|
||
@@ -1167,6 +861,6 @@
|
||
}
|
||
|
||
/* Now we can initialize libjpeg. */
|
||
- jpeg.CreateCompress(&cinfo, JPEG_LIB_VERSION,
|
||
+ jpeg_CreateCompress(&cinfo, JPEG_LIB_VERSION,
|
||
(size_t) sizeof(struct jpeg_compress_struct));
|
||
jpeg_string_dest(&cinfo, dataPtr);
|
||
@@ -1177,5 +871,5 @@
|
||
writeend:
|
||
|
||
- jpeg.destroy_compress(&cinfo);
|
||
+ jpeg_destroy_compress(&cinfo);
|
||
if (dataPtr == &data) {
|
||
if (result == TCL_OK) {
|
||
@@ -1210,5 +904,5 @@
|
||
Tk_PhotoImageBlock *blockPtr;
|
||
{
|
||
- static char *jpegWriteOptions[] = {"-grayscale", "-optimize",
|
||
+ static const char *jpegWriteOptions[] = {"-grayscale", "-optimize",
|
||
"-progressive", "-quality", "-smooth", NULL};
|
||
JSAMPROW row_pointer[1]; /* pointer to original data scanlines */
|
||
@@ -1239,5 +933,5 @@
|
||
cinfo->in_color_space = JCS_RGB;
|
||
|
||
- jpeg.set_defaults(cinfo);
|
||
+ jpeg_set_defaults(cinfo);
|
||
|
||
/* Parse options, if any, and alter default parameters */
|
||
@@ -1262,7 +956,7 @@
|
||
}
|
||
case 2: {
|
||
- if (jpeg.simple_progression != NULL) {
|
||
+ if (jpeg_simple_progression != NULL) {
|
||
/* Select simple progressive mode. */
|
||
- jpeg.simple_progression(cinfo);
|
||
+ jpeg_simple_progression(cinfo);
|
||
}
|
||
break;
|
||
@@ -1278,5 +972,5 @@
|
||
return TCL_ERROR;
|
||
}
|
||
- jpeg.set_quality(cinfo, quality, FALSE);
|
||
+ jpeg_set_quality(cinfo, quality, FALSE);
|
||
break;
|
||
}
|
||
@@ -1301,11 +995,11 @@
|
||
greenOffset = blockPtr->offset[1] - blockPtr->offset[0];
|
||
blueOffset = blockPtr->offset[2] - blockPtr->offset[0];
|
||
- if ((jpeg.set_colorspace != NULL) &&
|
||
+ if ((jpeg_set_colorspace != NULL) &&
|
||
(grayscale || (!greenOffset && !blueOffset))) {
|
||
/* Generate monochrome JPEG file if source block is grayscale. */
|
||
- jpeg.set_colorspace(cinfo, JCS_GRAYSCALE);
|
||
+ jpeg_set_colorspace(cinfo, JCS_GRAYSCALE);
|
||
}
|
||
|
||
- jpeg.start_compress(cinfo, TRUE);
|
||
+ jpeg_start_compress(cinfo, TRUE);
|
||
|
||
/* note: we assume libjpeg is configured for standard RGB pixel order. */
|
||
@@ -1315,5 +1009,5 @@
|
||
for (h = blockPtr->height; h > 0; h--) {
|
||
row_pointer[0] = (JSAMPROW) pixLinePtr;
|
||
- jpeg.write_scanlines(cinfo, row_pointer, 1);
|
||
+ jpeg_write_scanlines(cinfo, row_pointer, 1);
|
||
pixLinePtr += blockPtr->pitch;
|
||
}
|
||
@@ -1341,10 +1035,10 @@
|
||
pixelPtr += blockPtr->pixelSize;
|
||
}
|
||
- jpeg.write_scanlines(cinfo, buffer, 1);
|
||
+ jpeg_write_scanlines(cinfo, buffer, 1);
|
||
pixLinePtr += blockPtr->pitch;
|
||
}
|
||
}
|
||
|
||
- jpeg.finish_compress(cinfo);
|
||
+ jpeg_finish_compress(cinfo);
|
||
return TCL_OK;
|
||
}
|
||
@@ -1370,5 +1064,5 @@
|
||
src->pub.fill_input_buffer = fill_input_buffer;
|
||
src->pub.skip_input_data = skip_input_data;
|
||
- src->pub.resync_to_restart = jpeg.resync_to_restart; /* use default method */
|
||
+ src->pub.resync_to_restart = jpeg_resync_to_restart; /* use default method */
|
||
src->pub.term_source = dummy_source;
|
||
|
||
@@ -1443,5 +1137,5 @@
|
||
src->pub.fill_input_buffer = fill_input_buffer;
|
||
src->pub.skip_input_data = skip_input_data;
|
||
- src->pub.resync_to_restart = jpeg.resync_to_restart; /* use default method */
|
||
+ src->pub.resync_to_restart = jpeg_resync_to_restart; /* use default method */
|
||
src->pub.term_source = dummy_source;
|
||
|