< prev index next >

src/java.desktop/share/native/libjavajpeg/imageioJPEG.c

Print this page

        

*** 1608,1617 **** --- 1608,1618 ---- jboolean reset) { int ret; int h_samp0, h_samp1, h_samp2; int v_samp0, v_samp1, v_samp2; + int cid0, cid1, cid2; jboolean retval = JNI_FALSE; imageIODataPtr data = (imageIODataPtr)jlong_to_ptr(ptr); j_decompress_ptr cinfo; struct jpeg_source_mgr *src; sun_jpeg_error_ptr jerr;
*** 1729,1740 **** v_samp0 = cinfo->comp_info[0].v_samp_factor; v_samp1 = cinfo->comp_info[1].v_samp_factor; v_samp2 = cinfo->comp_info[2].v_samp_factor; ! if ((h_samp1 == h_samp0) && (h_samp2 == h_samp0) && ! (v_samp1 == v_samp0) && (v_samp2 == v_samp0)) { cinfo->jpeg_color_space = JCS_RGB; /* output is already RGB, so it stays the same */ } } --- 1730,1753 ---- v_samp0 = cinfo->comp_info[0].v_samp_factor; v_samp1 = cinfo->comp_info[1].v_samp_factor; v_samp2 = cinfo->comp_info[2].v_samp_factor; ! cid0 = cinfo->comp_info[0].component_id; ! cid1 = cinfo->comp_info[1].component_id; ! cid2 = cinfo->comp_info[2].component_id; ! ! /* ! * 8041501 : Added extra check to verify component ID's ! * before checking sampling factors, because if we dont ! * check component ID's we will be overwriting decision ! * made in jdapimin.c to set default compression parameters. ! */ ! ! if ((!(cid0 == 1 && cid1 == 2 && cid2 == 3)) && ! ((h_samp1 == h_samp0) && (h_samp2 == h_samp0) && ! (v_samp1 == v_samp0) && (v_samp2 == v_samp0))) { cinfo->jpeg_color_space = JCS_RGB; /* output is already RGB, so it stays the same */ } }
< prev index next >