| OLD | NEW |
| 1 /* | 1 /* |
| 2 * iccprofile.h | 2 * iccprofile.h |
| 3 * | 3 * |
| 4 * This file provides code to read and write International Color Consortium | 4 * This file provides code to read and write International Color Consortium |
| 5 * (ICC) device profiles embedded in JFIF JPEG image files. The ICC has | 5 * (ICC) device profiles embedded in JFIF JPEG image files. The ICC has |
| 6 * defined a standard format for including such data in JPEG "APP2" markers. | 6 * defined a standard format for including such data in JPEG "APP2" markers. |
| 7 * The code given here does not know anything about the internal structure | 7 * The code given here does not know anything about the internal structure |
| 8 * of the ICC profile data; it just knows how to put the profile data into | 8 * of the ICC profile data; it just knows how to put the profile data into |
| 9 * a JPEG file being written, or get it back out when reading. | 9 * a JPEG file being written, or get it back out when reading. |
| 10 * | 10 * |
| 11 * This code depends on new features added to the IJG JPEG library as of | 11 * This code depends on new features added to the IJG JPEG library as of |
| 12 * IJG release 6b; it will not compile or work with older IJG versions. | 12 * IJG release 6b; it will not compile or work with older IJG versions. |
| 13 * | 13 * |
| 14 * NOTE: this code would need surgery to work on 16-bit-int machines | 14 * NOTE: this code would need surgery to work on 16-bit-int machines |
| 15 * with ICC profiles exceeding 64K bytes in size. See iccprofile.c | 15 * with ICC profiles exceeding 64K bytes in size. See iccprofile.c |
| 16 * for details. | 16 * for details. |
| 17 */ | 17 */ |
| 18 | 18 |
| 19 #include <stdio.h> /* needed to define "FILE", "NULL" */ | 19 #include <stdio.h> /* needed to define "FILE", "NULL" */ |
| 20 |
| 21 #if defined(USE_SYSTEM_LIBJPEG) |
| 22 #include <jpeglib.h> |
| 23 #else |
| 20 #include "jpeglib.h" | 24 #include "jpeglib.h" |
| 25 #endif |
| 21 | 26 |
| 22 | 27 |
| 23 /* | 28 /* |
| 24 * This routine writes the given ICC profile data into a JPEG file. | 29 * This routine writes the given ICC profile data into a JPEG file. |
| 25 * It *must* be called AFTER calling jpeg_start_compress() and BEFORE | 30 * It *must* be called AFTER calling jpeg_start_compress() and BEFORE |
| 26 * the first call to jpeg_write_scanlines(). | 31 * the first call to jpeg_write_scanlines(). |
| 27 * (This ordering ensures that the APP2 marker(s) will appear after the | 32 * (This ordering ensures that the APP2 marker(s) will appear after the |
| 28 * SOI and JFIF or Adobe markers, but before all else.) | 33 * SOI and JFIF or Adobe markers, but before all else.) |
| 29 */ | 34 */ |
| 30 | 35 |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 64 * and must be freed by the caller with free() when the caller no longer | 69 * and must be freed by the caller with free() when the caller no longer |
| 65 * needs it. (Alternatively, we could write this routine to use the | 70 * needs it. (Alternatively, we could write this routine to use the |
| 66 * IJG library's memory allocator, so that the data would be freed implicitly | 71 * IJG library's memory allocator, so that the data would be freed implicitly |
| 67 * at jpeg_finish_decompress() time. But it seems likely that many apps | 72 * at jpeg_finish_decompress() time. But it seems likely that many apps |
| 68 * will prefer to have the data stick around after decompression finishes.) | 73 * will prefer to have the data stick around after decompression finishes.) |
| 69 */ | 74 */ |
| 70 | 75 |
| 71 extern boolean read_icc_profile JPP((j_decompress_ptr cinfo, | 76 extern boolean read_icc_profile JPP((j_decompress_ptr cinfo, |
| 72 JOCTET **icc_data_ptr, | 77 JOCTET **icc_data_ptr, |
| 73 unsigned int *icc_data_len)); | 78 unsigned int *icc_data_len)); |
| OLD | NEW |