Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(961)

Side by Side Diff: third_party/libjpeg_turbo/example.c

Issue 7554002: Updates libjpeg-turbo to 1.1.90 (r677) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/
Patch Set: '' Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « third_party/libjpeg_turbo/djpeg.c ('k') | third_party/libjpeg_turbo/google.patch » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * example.c 2 * example.c
3 * 3 *
4 * This file illustrates how to use the IJG code as a subroutine library 4 * This file illustrates how to use the IJG code as a subroutine library
5 * to read or write JPEG image files. You should look at this code in 5 * to read or write JPEG image files. You should look at this code in
6 * conjunction with the documentation file libjpeg.doc. 6 * conjunction with the documentation file libjpeg.txt.
7 * 7 *
8 * This code will not do anything useful as-is, but it may be helpful as a 8 * This code will not do anything useful as-is, but it may be helpful as a
9 * skeleton for constructing routines that call the JPEG library. 9 * skeleton for constructing routines that call the JPEG library.
10 * 10 *
11 * We present these routines in the same coding style used in the JPEG code 11 * We present these routines in the same coding style used in the JPEG code
12 * (ANSI function definitions, etc); but you are of course free to code your 12 * (ANSI function definitions, etc); but you are of course free to code your
13 * routines in a different style if you prefer. 13 * routines in a different style if you prefer.
14 */ 14 */
15 15
16 #include <stdio.h> 16 #include <stdio.h>
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 * then jpeg_write_scanlines will write all the lines passed (or else exit 189 * then jpeg_write_scanlines will write all the lines passed (or else exit
190 * with a fatal error). Partial writes can only occur if you use a data 190 * with a fatal error). Partial writes can only occur if you use a data
191 * destination module that can demand suspension of the compressor. 191 * destination module that can demand suspension of the compressor.
192 * (If you don't know what that's for, you don't need it.) 192 * (If you don't know what that's for, you don't need it.)
193 * 193 *
194 * If the compressor requires full-image buffers (for entropy-coding 194 * If the compressor requires full-image buffers (for entropy-coding
195 * optimization or a multi-scan JPEG file), it will create temporary 195 * optimization or a multi-scan JPEG file), it will create temporary
196 * files for anything that doesn't fit within the maximum-memory setting. 196 * files for anything that doesn't fit within the maximum-memory setting.
197 * (Note that temp files are NOT needed if you use the default parameters.) 197 * (Note that temp files are NOT needed if you use the default parameters.)
198 * On some systems you may need to set up a signal handler to ensure that 198 * On some systems you may need to set up a signal handler to ensure that
199 * temporary files are deleted if the program is interrupted. See libjpeg.doc. 199 * temporary files are deleted if the program is interrupted. See libjpeg.txt.
200 * 200 *
201 * Scanlines MUST be supplied in top-to-bottom order if you want your JPEG 201 * Scanlines MUST be supplied in top-to-bottom order if you want your JPEG
202 * files to be compatible with everyone else's. If you cannot readily read 202 * files to be compatible with everyone else's. If you cannot readily read
203 * your data in that order, you'll need an intermediate array to hold the 203 * your data in that order, you'll need an intermediate array to hold the
204 * image. See rdtarga.c or rdbmp.c for examples of handling bottom-to-top 204 * image. See rdtarga.c or rdbmp.c for examples of handling bottom-to-top
205 * source data using the JPEG code's internal virtual-array mechanisms. 205 * source data using the JPEG code's internal virtual-array mechanisms.
206 */ 206 */
207 207
208 208
209 209
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 /* Step 2: specify data source (eg, a file) */ 328 /* Step 2: specify data source (eg, a file) */
329 329
330 jpeg_stdio_src(&cinfo, infile); 330 jpeg_stdio_src(&cinfo, infile);
331 331
332 /* Step 3: read file parameters with jpeg_read_header() */ 332 /* Step 3: read file parameters with jpeg_read_header() */
333 333
334 (void) jpeg_read_header(&cinfo, TRUE); 334 (void) jpeg_read_header(&cinfo, TRUE);
335 /* We can ignore the return value from jpeg_read_header since 335 /* We can ignore the return value from jpeg_read_header since
336 * (a) suspension is not possible with the stdio data source, and 336 * (a) suspension is not possible with the stdio data source, and
337 * (b) we passed TRUE to reject a tables-only JPEG file as an error. 337 * (b) we passed TRUE to reject a tables-only JPEG file as an error.
338 * See libjpeg.doc for more info. 338 * See libjpeg.txt for more info.
339 */ 339 */
340 340
341 /* Step 4: set parameters for decompression */ 341 /* Step 4: set parameters for decompression */
342 342
343 /* In this example, we don't need to change any of the defaults set by 343 /* In this example, we don't need to change any of the defaults set by
344 * jpeg_read_header(), so we do nothing here. 344 * jpeg_read_header(), so we do nothing here.
345 */ 345 */
346 346
347 /* Step 5: Start decompressor */ 347 /* Step 5: Start decompressor */
348 348
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 return 1; 406 return 1;
407 } 407 }
408 408
409 409
410 /* 410 /*
411 * SOME FINE POINTS: 411 * SOME FINE POINTS:
412 * 412 *
413 * In the above code, we ignored the return value of jpeg_read_scanlines, 413 * In the above code, we ignored the return value of jpeg_read_scanlines,
414 * which is the number of scanlines actually read. We could get away with 414 * which is the number of scanlines actually read. We could get away with
415 * this because we asked for only one line at a time and we weren't using 415 * this because we asked for only one line at a time and we weren't using
416 * a suspending data source. See libjpeg.doc for more info. 416 * a suspending data source. See libjpeg.txt for more info.
417 * 417 *
418 * We cheated a bit by calling alloc_sarray() after jpeg_start_decompress(); 418 * We cheated a bit by calling alloc_sarray() after jpeg_start_decompress();
419 * we should have done it beforehand to ensure that the space would be 419 * we should have done it beforehand to ensure that the space would be
420 * counted against the JPEG max_memory setting. In some systems the above 420 * counted against the JPEG max_memory setting. In some systems the above
421 * code would risk an out-of-memory error. However, in general we don't 421 * code would risk an out-of-memory error. However, in general we don't
422 * know the output image dimensions before jpeg_start_decompress(), unless we 422 * know the output image dimensions before jpeg_start_decompress(), unless we
423 * call jpeg_calc_output_dimensions(). See libjpeg.doc for more about this. 423 * call jpeg_calc_output_dimensions(). See libjpeg.txt for more about this.
424 * 424 *
425 * Scanlines are returned in the same order as they appear in the JPEG file, 425 * Scanlines are returned in the same order as they appear in the JPEG file,
426 * which is standardly top-to-bottom. If you must emit data bottom-to-top, 426 * which is standardly top-to-bottom. If you must emit data bottom-to-top,
427 * you can use one of the virtual arrays provided by the JPEG memory manager 427 * you can use one of the virtual arrays provided by the JPEG memory manager
428 * to invert the data. See wrbmp.c for an example. 428 * to invert the data. See wrbmp.c for an example.
429 * 429 *
430 * As with compression, some operating modes may require temporary files. 430 * As with compression, some operating modes may require temporary files.
431 * On some systems you may need to set up a signal handler to ensure that 431 * On some systems you may need to set up a signal handler to ensure that
432 * temporary files are deleted if the program is interrupted. See libjpeg.doc. 432 * temporary files are deleted if the program is interrupted. See libjpeg.txt.
433 */ 433 */
OLDNEW
« no previous file with comments | « third_party/libjpeg_turbo/djpeg.c ('k') | third_party/libjpeg_turbo/google.patch » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698