< prev index next >

modules/javafx.graphics/src/main/native-iio/libjpeg7/jdapimin.c

Print this page

        

*** 1,10 **** /* * jdapimin.c * * Copyright (C) 1994-1998, Thomas G. Lane. ! * Modified 2009 by Guido Vollbeding. * This file is part of the Independent JPEG Group's software. * For conditions of distribution and use, see the accompanying README file. * * This file contains application interface code for the decompression half * of the JPEG library. These are the "minimum" API routines that may be --- 1,10 ---- /* * jdapimin.c * * Copyright (C) 1994-1998, Thomas G. Lane. ! * Modified 2009-2013 by Guido Vollbeding. * This file is part of the Independent JPEG Group's software. * For conditions of distribution and use, see the accompanying README file. * * This file contains application interface code for the decompression half * of the JPEG library. These are the "minimum" API routines that may be
*** 112,134 **** */ LOCAL(void) default_decompress_parms (j_decompress_ptr cinfo) { /* Guess the input colorspace, and set output colorspace accordingly. */ - /* (Wish JPEG committee had provided a real way to specify this...) */ /* Note application may override our guesses. */ switch (cinfo->num_components) { case 1: cinfo->jpeg_color_space = JCS_GRAYSCALE; cinfo->out_color_space = JCS_GRAYSCALE; break; case 3: ! if (cinfo->saw_JFIF_marker) { ! cinfo->jpeg_color_space = JCS_YCbCr; /* JFIF implies YCbCr */ ! } else if (cinfo->saw_Adobe_marker) { switch (cinfo->Adobe_transform) { case 0: cinfo->jpeg_color_space = JCS_RGB; break; case 1: --- 112,148 ---- */ LOCAL(void) default_decompress_parms (j_decompress_ptr cinfo) { + int cid0, cid1, cid2; + /* Guess the input colorspace, and set output colorspace accordingly. */ /* Note application may override our guesses. */ switch (cinfo->num_components) { case 1: cinfo->jpeg_color_space = JCS_GRAYSCALE; cinfo->out_color_space = JCS_GRAYSCALE; break; case 3: ! cid0 = cinfo->comp_info[0].component_id; ! cid1 = cinfo->comp_info[1].component_id; ! cid2 = cinfo->comp_info[2].component_id; ! ! /* First try to guess from the component IDs */ ! if (cid0 == 0x01 && cid1 == 0x02 && cid2 == 0x03) ! cinfo->jpeg_color_space = JCS_YCbCr; ! else if (cid0 == 0x01 && cid1 == 0x22 && cid2 == 0x23) ! cinfo->jpeg_color_space = JCS_BG_YCC; ! else if (cid0 == 0x52 && cid1 == 0x47 && cid2 == 0x42) ! cinfo->jpeg_color_space = JCS_RGB; /* ASCII 'R', 'G', 'B' */ ! else if (cid0 == 0x72 && cid1 == 0x67 && cid2 == 0x62) ! cinfo->jpeg_color_space = JCS_BG_RGB; /* ASCII 'r', 'g', 'b' */ ! else if (cinfo->saw_JFIF_marker) ! cinfo->jpeg_color_space = JCS_YCbCr; /* assume it's YCbCr */ ! else if (cinfo->saw_Adobe_marker) { switch (cinfo->Adobe_transform) { case 0: cinfo->jpeg_color_space = JCS_RGB; break; case 1:
*** 138,161 **** WARNMS1(cinfo, JWRN_ADOBE_XFORM, cinfo->Adobe_transform); cinfo->jpeg_color_space = JCS_YCbCr; /* assume it's YCbCr */ break; } } else { - /* Saw no special markers, try to guess from the component IDs */ - int cid0 = cinfo->comp_info[0].component_id; - int cid1 = cinfo->comp_info[1].component_id; - int cid2 = cinfo->comp_info[2].component_id; - - if (cid0 == 1 && cid1 == 2 && cid2 == 3) - cinfo->jpeg_color_space = JCS_YCbCr; /* assume JFIF w/out marker */ - else if (cid0 == 82 && cid1 == 71 && cid2 == 66) - cinfo->jpeg_color_space = JCS_RGB; /* ASCII 'R', 'G', 'B' */ - else { TRACEMS3(cinfo, 1, JTRC_UNKNOWN_IDS, cid0, cid1, cid2); cinfo->jpeg_color_space = JCS_YCbCr; /* assume it's YCbCr */ } - } /* Always guess RGB is proper output colorspace. */ cinfo->out_color_space = JCS_RGB; break; case 4: --- 152,164 ----
*** 184,195 **** cinfo->out_color_space = JCS_UNKNOWN; break; } /* Set defaults for other decompression parameters. */ ! cinfo->scale_num = DCTSIZE; /* 1:1 scaling */ ! cinfo->scale_denom = DCTSIZE; cinfo->output_gamma = 1.0; cinfo->buffered_image = FALSE; cinfo->raw_data_out = FALSE; cinfo->dct_method = JDCT_DEFAULT; cinfo->do_fancy_upsampling = TRUE; --- 187,198 ---- cinfo->out_color_space = JCS_UNKNOWN; break; } /* Set defaults for other decompression parameters. */ ! cinfo->scale_num = cinfo->block_size; /* 1:1 scaling */ ! cinfo->scale_denom = cinfo->block_size; cinfo->output_gamma = 1.0; cinfo->buffered_image = FALSE; cinfo->raw_data_out = FALSE; cinfo->dct_method = JDCT_DEFAULT; cinfo->do_fancy_upsampling = TRUE;
< prev index next >