OLD | NEW |
1 /* | 1 /* |
2 * jmorecfg.h | 2 * jmorecfg.h |
3 * | 3 * |
4 * Copyright (C) 1991-1997, Thomas G. Lane. | 4 * Copyright (C) 1991-1997, Thomas G. Lane. |
5 * Copyright (C) 2009, D. R. Commander. | 5 * Copyright (C) 2009, D. R. Commander. |
6 * This file is part of the Independent JPEG Group's software. | 6 * This file is part of the Independent JPEG Group's software. |
7 * For conditions of distribution and use, see the accompanying README file. | 7 * For conditions of distribution and use, see the accompanying README file. |
8 * | 8 * |
9 * This file contains additional configuration options that customize the | 9 * This file contains additional configuration options that customize the |
10 * JPEG software for special applications or support machine-dependent | 10 * JPEG software for special applications or support machine-dependent |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
152 | 152 |
153 /* INT16 must hold at least the values -32768..32767. */ | 153 /* INT16 must hold at least the values -32768..32767. */ |
154 | 154 |
155 #ifndef XMD_H /* X11/xmd.h correctly defines INT16 */ | 155 #ifndef XMD_H /* X11/xmd.h correctly defines INT16 */ |
156 typedef short INT16; | 156 typedef short INT16; |
157 #endif | 157 #endif |
158 | 158 |
159 /* INT32 must hold at least signed 32-bit values. */ | 159 /* INT32 must hold at least signed 32-bit values. */ |
160 | 160 |
161 #ifndef XMD_H /* X11/xmd.h correctly defines INT32 */ | 161 #ifndef XMD_H /* X11/xmd.h correctly defines INT32 */ |
162 #ifndef _BASETSD_H_ /* basetsd.h correctly defines INT32 */ | |
163 typedef long INT32; | 162 typedef long INT32; |
164 #endif | 163 #endif |
165 #endif | |
166 | 164 |
167 /* Datatype used for image dimensions. The JPEG standard only supports | 165 /* Datatype used for image dimensions. The JPEG standard only supports |
168 * images up to 64K*64K due to 16-bit fields in SOF markers. Therefore | 166 * images up to 64K*64K due to 16-bit fields in SOF markers. Therefore |
169 * "unsigned int" is sufficient on all machines. However, if you need to | 167 * "unsigned int" is sufficient on all machines. However, if you need to |
170 * handle larger images and you don't mind deviating from the spec, you | 168 * handle larger images and you don't mind deviating from the spec, you |
171 * can change this datatype. | 169 * can change this datatype. |
172 */ | 170 */ |
173 | 171 |
174 typedef unsigned int JDIMENSION; | 172 typedef unsigned int JDIMENSION; |
175 | 173 |
(...skipping 29 matching lines...) Expand all Loading... |
205 #define JMETHOD(type,methodname,arglist) type (*methodname) () | 203 #define JMETHOD(type,methodname,arglist) type (*methodname) () |
206 #endif | 204 #endif |
207 | 205 |
208 | 206 |
209 /* Here is the pseudo-keyword for declaring pointers that must be "far" | 207 /* Here is the pseudo-keyword for declaring pointers that must be "far" |
210 * on 80x86 machines. Most of the specialized coding for 80x86 is handled | 208 * on 80x86 machines. Most of the specialized coding for 80x86 is handled |
211 * by just saying "FAR *" where such a pointer is needed. In a few places | 209 * by just saying "FAR *" where such a pointer is needed. In a few places |
212 * explicit coding is needed; see uses of the NEED_FAR_POINTERS symbol. | 210 * explicit coding is needed; see uses of the NEED_FAR_POINTERS symbol. |
213 */ | 211 */ |
214 | 212 |
215 #ifndef FAR | |
216 #ifdef NEED_FAR_POINTERS | 213 #ifdef NEED_FAR_POINTERS |
217 #define FAR far | 214 #define FAR far |
218 #else | 215 #else |
219 #define FAR | 216 #define FAR |
220 #endif | 217 #endif |
221 #endif | |
222 | 218 |
223 | 219 |
224 /* | 220 /* |
225 * On a few systems, type boolean and/or its values FALSE, TRUE may appear | 221 * On a few systems, type boolean and/or its values FALSE, TRUE may appear |
226 * in standard header files. Or you may have conflicts with application- | 222 * in standard header files. Or you may have conflicts with application- |
227 * specific header files that you want to include together with these files. | 223 * specific header files that you want to include together with these files. |
228 * Defining HAVE_BOOLEAN before including jpeglib.h should make it work. | 224 * Defining HAVE_BOOLEAN before including jpeglib.h should make it work. |
229 */ | 225 */ |
230 | 226 |
231 #ifndef HAVE_BOOLEAN | 227 #ifndef HAVE_BOOLEAN |
(...skipping 22 matching lines...) Expand all Loading... |
254 | 250 |
255 | 251 |
256 /* | 252 /* |
257 * These defines indicate whether to include various optional functions. | 253 * These defines indicate whether to include various optional functions. |
258 * Undefining some of these symbols will produce a smaller but less capable | 254 * Undefining some of these symbols will produce a smaller but less capable |
259 * library. Note that you can leave certain source files out of the | 255 * library. Note that you can leave certain source files out of the |
260 * compilation/linking process if you've #undef'd the corresponding symbols. | 256 * compilation/linking process if you've #undef'd the corresponding symbols. |
261 * (You may HAVE to do that if your compiler doesn't like null source files.) | 257 * (You may HAVE to do that if your compiler doesn't like null source files.) |
262 */ | 258 */ |
263 | 259 |
264 /* Arithmetic coding is unsupported for legal reasons. Complaints to IBM. */ | |
265 | |
266 /* Capability options common to encoder and decoder: */ | 260 /* Capability options common to encoder and decoder: */ |
267 | 261 |
268 #define DCT_ISLOW_SUPPORTED /* slow but accurate integer algorithm */ | 262 #define DCT_ISLOW_SUPPORTED /* slow but accurate integer algorithm */ |
269 #define DCT_IFAST_SUPPORTED /* faster, less accurate integer method */ | 263 #define DCT_IFAST_SUPPORTED /* faster, less accurate integer method */ |
270 #define DCT_FLOAT_SUPPORTED /* floating-point: accurate, fast on fast HW */ | 264 #define DCT_FLOAT_SUPPORTED /* floating-point: accurate, fast on fast HW */ |
271 | 265 |
272 /* Encoder capability options: */ | 266 /* Encoder capability options: */ |
273 | 267 |
274 #undef C_ARITH_CODING_SUPPORTED /* Arithmetic coding back end? */ | |
275 #define C_MULTISCAN_FILES_SUPPORTED /* Multiple-scan JPEG files? */ | 268 #define C_MULTISCAN_FILES_SUPPORTED /* Multiple-scan JPEG files? */ |
276 #define C_PROGRESSIVE_SUPPORTED /* Progressive JPEG? (Requires MULTISCAN)*/ | 269 #define C_PROGRESSIVE_SUPPORTED /* Progressive JPEG? (Requires MULTISCAN)*/ |
277 #define ENTROPY_OPT_SUPPORTED /* Optimization of entropy coding parms? */ | 270 #define ENTROPY_OPT_SUPPORTED /* Optimization of entropy coding parms? */ |
278 /* Note: if you selected 12-bit data precision, it is dangerous to turn off | 271 /* Note: if you selected 12-bit data precision, it is dangerous to turn off |
279 * ENTROPY_OPT_SUPPORTED. The standard Huffman tables are only good for 8-bit | 272 * ENTROPY_OPT_SUPPORTED. The standard Huffman tables are only good for 8-bit |
280 * precision, so jchuff.c normally uses entropy optimization to compute | 273 * precision, so jchuff.c normally uses entropy optimization to compute |
281 * usable tables for higher precision. If you don't want to do optimization, | 274 * usable tables for higher precision. If you don't want to do optimization, |
282 * you'll have to supply different default Huffman tables. | 275 * you'll have to supply different default Huffman tables. |
283 * The exact same statements apply for progressive JPEG: the default tables | 276 * The exact same statements apply for progressive JPEG: the default tables |
284 * don't work for progressive mode. (This may get fixed, however.) | 277 * don't work for progressive mode. (This may get fixed, however.) |
285 */ | 278 */ |
286 #define INPUT_SMOOTHING_SUPPORTED /* Input image smoothing option? */ | 279 #define INPUT_SMOOTHING_SUPPORTED /* Input image smoothing option? */ |
287 | 280 |
288 /* Decoder capability options: */ | 281 /* Decoder capability options: */ |
289 | 282 |
290 #undef D_ARITH_CODING_SUPPORTED /* Arithmetic coding back end? */ | |
291 #define D_MULTISCAN_FILES_SUPPORTED /* Multiple-scan JPEG files? */ | 283 #define D_MULTISCAN_FILES_SUPPORTED /* Multiple-scan JPEG files? */ |
292 #define D_PROGRESSIVE_SUPPORTED /* Progressive JPEG? (Requires MULTISCAN)*/ | 284 #define D_PROGRESSIVE_SUPPORTED /* Progressive JPEG? (Requires MULTISCAN)*/ |
293 #define SAVE_MARKERS_SUPPORTED /* jpeg_save_markers() needed? */ | 285 #define SAVE_MARKERS_SUPPORTED /* jpeg_save_markers() needed? */ |
294 #define BLOCK_SMOOTHING_SUPPORTED /* Block smoothing? (Progressive only) */ | 286 #define BLOCK_SMOOTHING_SUPPORTED /* Block smoothing? (Progressive only) */ |
295 #define IDCT_SCALING_SUPPORTED /* Output rescaling via IDCT? */ | 287 #define IDCT_SCALING_SUPPORTED /* Output rescaling via IDCT? */ |
296 #undef UPSAMPLE_SCALING_SUPPORTED /* Output rescaling at upsample stage? */ | 288 #undef UPSAMPLE_SCALING_SUPPORTED /* Output rescaling at upsample stage? */ |
297 #define UPSAMPLE_MERGING_SUPPORTED /* Fast path for sloppy upsampling? */ | 289 #define UPSAMPLE_MERGING_SUPPORTED /* Fast path for sloppy upsampling? */ |
298 #define QUANT_1PASS_SUPPORTED /* 1-pass color quantization? */ | 290 #define QUANT_1PASS_SUPPORTED /* 1-pass color quantization? */ |
299 #define QUANT_2PASS_SUPPORTED /* 2-pass color quantization? */ | 291 #define QUANT_2PASS_SUPPORTED /* 2-pass color quantization? */ |
300 | 292 |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
365 | 357 |
366 #ifndef FAST_FLOAT | 358 #ifndef FAST_FLOAT |
367 #ifdef HAVE_PROTOTYPES | 359 #ifdef HAVE_PROTOTYPES |
368 #define FAST_FLOAT float | 360 #define FAST_FLOAT float |
369 #else | 361 #else |
370 #define FAST_FLOAT double | 362 #define FAST_FLOAT double |
371 #endif | 363 #endif |
372 #endif | 364 #endif |
373 | 365 |
374 #endif /* JPEG_INTERNAL_OPTIONS */ | 366 #endif /* JPEG_INTERNAL_OPTIONS */ |
OLD | NEW |