< prev index next >

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

Print this page




1745                 h_samp1 = cinfo->comp_info[1].h_samp_factor;
1746                 h_samp2 = cinfo->comp_info[2].h_samp_factor;
1747 
1748                 v_samp0 = cinfo->comp_info[0].v_samp_factor;
1749                 v_samp1 = cinfo->comp_info[1].v_samp_factor;
1750                 v_samp2 = cinfo->comp_info[2].v_samp_factor;
1751 
1752                 cid0 = cinfo->comp_info[0].component_id;
1753                 cid1 = cinfo->comp_info[1].component_id;
1754                 cid2 = cinfo->comp_info[2].component_id;
1755 
1756                 if ((!(cid0 == 1 && cid1 == 2 && cid2 == 3)) &&
1757                     ((h_samp1 == h_samp0) && (h_samp2 == h_samp0) &&
1758                     (v_samp1 == v_samp0) && (v_samp2 == v_samp0)))
1759                 {
1760                     cinfo->jpeg_color_space = JCS_RGB;
1761                     /* output is already RGB, so it stays the same */
1762                 }
1763             }
1764             break;
1765 #ifdef YCCALPHA
1766         case JCS_YCC:
1767             cinfo->out_color_space = JCS_YCC;
1768             break;
1769 #endif
1770         case JCS_YCCK:
1771             if ((cinfo->saw_Adobe_marker) && (cinfo->Adobe_transform != 2)) {
1772                 /*
1773                  * IJG guesses this is YCCK and emits a warning
1774                  * We would rather not guess.  Then the user knows
1775                  * To read this as a Raster if at all
1776                  */
1777                 cinfo->jpeg_color_space = JCS_UNKNOWN;
1778                 cinfo->out_color_space = JCS_UNKNOWN;
1779             }
1780             break;
1781         case JCS_CMYK:
1782             /*
1783              * IJG assumes all unidentified 4-channels are CMYK.
1784              * We assume that only if the second two channels are
1785              * not subsampled (either horizontally or vertically).
1786              * If they are, we assume YCCK.
1787              */
1788             h_samp0 = cinfo->comp_info[0].h_samp_factor;
1789             h_samp1 = cinfo->comp_info[1].h_samp_factor;




1745                 h_samp1 = cinfo->comp_info[1].h_samp_factor;
1746                 h_samp2 = cinfo->comp_info[2].h_samp_factor;
1747 
1748                 v_samp0 = cinfo->comp_info[0].v_samp_factor;
1749                 v_samp1 = cinfo->comp_info[1].v_samp_factor;
1750                 v_samp2 = cinfo->comp_info[2].v_samp_factor;
1751 
1752                 cid0 = cinfo->comp_info[0].component_id;
1753                 cid1 = cinfo->comp_info[1].component_id;
1754                 cid2 = cinfo->comp_info[2].component_id;
1755 
1756                 if ((!(cid0 == 1 && cid1 == 2 && cid2 == 3)) &&
1757                     ((h_samp1 == h_samp0) && (h_samp2 == h_samp0) &&
1758                     (v_samp1 == v_samp0) && (v_samp2 == v_samp0)))
1759                 {
1760                     cinfo->jpeg_color_space = JCS_RGB;
1761                     /* output is already RGB, so it stays the same */
1762                 }
1763             }
1764             break;





1765         case JCS_YCCK:
1766             if ((cinfo->saw_Adobe_marker) && (cinfo->Adobe_transform != 2)) {
1767                 /*
1768                  * IJG guesses this is YCCK and emits a warning
1769                  * We would rather not guess.  Then the user knows
1770                  * To read this as a Raster if at all
1771                  */
1772                 cinfo->jpeg_color_space = JCS_UNKNOWN;
1773                 cinfo->out_color_space = JCS_UNKNOWN;
1774             }
1775             break;
1776         case JCS_CMYK:
1777             /*
1778              * IJG assumes all unidentified 4-channels are CMYK.
1779              * We assume that only if the second two channels are
1780              * not subsampled (either horizontally or vertically).
1781              * If they are, we assume YCCK.
1782              */
1783             h_samp0 = cinfo->comp_info[0].h_samp_factor;
1784             h_samp1 = cinfo->comp_info[1].h_samp_factor;


< prev index next >