OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C)2009-2011 D. R. Commander. All Rights Reserved. | 2 * Copyright (C)2009-2012 D. R. Commander. All Rights Reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are met: | 5 * modification, are permitted provided that the following conditions are met: |
6 * | 6 * |
7 * - Redistributions of source code must retain the above copyright notice, | 7 * - Redistributions of source code must retain the above copyright notice, |
8 * this list of conditions and the following disclaimer. | 8 * this list of conditions and the following disclaimer. |
9 * - Redistributions in binary form must reproduce the above copyright notice, | 9 * - Redistributions in binary form must reproduce the above copyright notice, |
10 * this list of conditions and the following disclaimer in the documentation | 10 * this list of conditions and the following disclaimer in the documentation |
11 * and/or other materials provided with the distribution. | 11 * and/or other materials provided with the distribution. |
12 * - Neither the name of the libjpeg-turbo Project nor the names of its | 12 * - Neither the name of the libjpeg-turbo Project nor the names of its |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 */ | 219 */ |
220 static const int tjPixelSize[TJ_NUMPF] = {3, 3, 4, 4, 4, 4, 1, 4, 4, 4, 4}; | 220 static const int tjPixelSize[TJ_NUMPF] = {3, 3, 4, 4, 4, 4, 1, 4, 4, 4, 4}; |
221 | 221 |
222 | 222 |
223 /** | 223 /** |
224 * The uncompressed source/destination image is stored in bottom-up (Windows, | 224 * The uncompressed source/destination image is stored in bottom-up (Windows, |
225 * OpenGL) order, not top-down (X11) order. | 225 * OpenGL) order, not top-down (X11) order. |
226 */ | 226 */ |
227 #define TJFLAG_BOTTOMUP 2 | 227 #define TJFLAG_BOTTOMUP 2 |
228 /** | 228 /** |
229 * Turn off CPU auto-detection and force TurboJPEG to use MMX code (IPP and | 229 * Turn off CPU auto-detection and force TurboJPEG to use MMX code (if the |
230 * 32-bit libjpeg-turbo versions only.) | 230 * underlying codec supports it.) |
231 */ | 231 */ |
232 #define TJFLAG_FORCEMMX 8 | 232 #define TJFLAG_FORCEMMX 8 |
233 /** | 233 /** |
234 * Turn off CPU auto-detection and force TurboJPEG to use SSE code (32-bit IPP | 234 * Turn off CPU auto-detection and force TurboJPEG to use SSE code (if the |
235 * and 32-bit libjpeg-turbo versions only) | 235 * underlying codec supports it.) |
236 */ | 236 */ |
237 #define TJFLAG_FORCESSE 16 | 237 #define TJFLAG_FORCESSE 16 |
238 /** | 238 /** |
239 * Turn off CPU auto-detection and force TurboJPEG to use SSE2 code (32-bit IPP | 239 * Turn off CPU auto-detection and force TurboJPEG to use SSE2 code (if the |
240 * and 32-bit libjpeg-turbo versions only) | 240 * underlying codec supports it.) |
241 */ | 241 */ |
242 #define TJFLAG_FORCESSE2 32 | 242 #define TJFLAG_FORCESSE2 32 |
243 /** | 243 /** |
244 * Turn off CPU auto-detection and force TurboJPEG to use SSE3 code (64-bit IPP | 244 * Turn off CPU auto-detection and force TurboJPEG to use SSE3 code (if the |
245 * version only) | 245 * underlying codec supports it.) |
246 */ | 246 */ |
247 #define TJFLAG_FORCESSE3 128 | 247 #define TJFLAG_FORCESSE3 128 |
248 /** | 248 /** |
249 * Use fast, inaccurate chrominance upsampling routines in the JPEG | 249 * When decompressing, use the fastest chrominance upsampling algorithm |
250 * decompressor (libjpeg and libjpeg-turbo versions only) | 250 * available in the underlying codec. The default is to use smooth upsampling, |
| 251 * which creates a smooth transition between neighboring chrominance components |
| 252 * in order to reduce upsampling artifacts in the decompressed image. |
251 */ | 253 */ |
252 #define TJFLAG_FASTUPSAMPLE 256 | 254 #define TJFLAG_FASTUPSAMPLE 256 |
253 /** | 255 /** |
254 * Disable buffer (re)allocation. If passed to #tjCompress2() or | 256 * Disable buffer (re)allocation. If passed to #tjCompress2() or |
255 * #tjTransform(), this flag will cause those functions to generate an error if | 257 * #tjTransform(), this flag will cause those functions to generate an error if |
256 * the JPEG image buffer is invalid or too small rather than attempting to | 258 * the JPEG image buffer is invalid or too small rather than attempting to |
257 * allocate or reallocate that buffer. This reproduces the behavior of earlier | 259 * allocate or reallocate that buffer. This reproduces the behavior of earlier |
258 * versions of TurboJPEG. | 260 * versions of TurboJPEG. |
259 */ | 261 */ |
260 #define TJFLAG_NOREALLOC 1024 | 262 #define TJFLAG_NOREALLOC 1024 |
| 263 /** |
| 264 * Use the fastest DCT/IDCT algorithm available in the underlying codec. The |
| 265 * default if this flag is not specified is implementation-specific. The |
| 266 * libjpeg implementation, for example, uses the fast algorithm by default when |
| 267 * compressing, because this has been shown to have only a very slight effect |
| 268 * on accuracy, but it uses the accurate algorithm when decompressing, because |
| 269 * this has been shown to have a larger effect. |
| 270 */ |
| 271 #define TJFLAG_FASTDCT 2048 |
| 272 /** |
| 273 * Use the most accurate DCT/IDCT algorithm available in the underlying codec. |
| 274 * The default if this flag is not specified is implementation-specific. The |
| 275 * libjpeg implementation, for example, uses the fast algorithm by default when |
| 276 * compressing, because this has been shown to have only a very slight effect |
| 277 * on accuracy, but it uses the accurate algorithm when decompressing, because |
| 278 * this has been shown to have a larger effect. |
| 279 */ |
| 280 #define TJFLAG_ACCURATEDCT 4096 |
261 | 281 |
262 | 282 |
263 /** | 283 /** |
264 * Number of transform operations | 284 * Number of transform operations |
265 */ | 285 */ |
266 #define TJ_NUMXOP 8 | 286 #define TJ_NUMXOP 8 |
267 | 287 |
268 /** | 288 /** |
269 * Transform operations for #tjTransform() | 289 * Transform operations for #tjTransform() |
270 */ | 290 */ |
(...skipping 617 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
888 | 908 |
889 /** | 909 /** |
890 * @} | 910 * @} |
891 */ | 911 */ |
892 | 912 |
893 #ifdef __cplusplus | 913 #ifdef __cplusplus |
894 } | 914 } |
895 #endif | 915 #endif |
896 | 916 |
897 #endif | 917 #endif |
OLD | NEW |