Changeset 6936
- Timestamp:
- 02/21/12 13:47:19 (16 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ImageMagick/branches/ImageMagick-6.7.5/coders/jpeg.c
r6933 r6936 646 646 if (previous_profile != (const StringInfo *) NULL) 647 647 { 648 s size_t648 size_t 649 649 length; 650 650 … … 1110 1110 jpeg_info.do_block_smoothing=MagickTrue; 1111 1111 } 1112 jpeg_info.dct_method=JDCT_FLOAT; 1112 1113 option=GetImageOption(image_info,"jpeg:dct-method"); 1113 1114 if (option != (const char *) NULL) … … 1766 1767 jpeg_error; 1767 1768 1768 static const unsigned int1769 CbQTable[DCTSIZE2] =1770 {1771 17, 18, 22, 31, 50, 92, 193, 465,1772 18, 19, 24, 33, 54, 98, 207, 498,1773 22, 24, 29, 41, 66, 120, 253, 609,1774 31, 33, 41, 57, 92, 169, 355, 854,1775 50, 54, 66, 92, 148, 271, 570, 1370,1776 92, 98, 120, 169, 271, 498, 1046, 2516,1777 193, 207, 253, 355, 570, 1046, 2198, 5289,1778 465, 498, 609, 854, 1370, 2516, 5289, 127251779 },1780 CrQTable[DCTSIZE2] =1781 {1782 17, 18, 21, 28, 42, 69, 129, 269,1783 18, 19, 23, 30, 44, 74, 137, 284,1784 21, 23, 27, 35, 52, 87, 162, 336,1785 28, 30, 35, 47, 69, 115, 214, 446,1786 42, 44, 52, 69, 103, 171, 318, 661,1787 69, 74, 87, 115, 171, 284, 528, 1098,1788 129, 137, 162, 214, 318, 528, 981, 2040,1789 269, 284, 336, 446, 661, 1098, 2040, 42421790 },1791 LuminanceQTable[DCTSIZE2] =1792 {1793 16, 11, 13, 16, 20, 29, 44, 73,1794 11, 12, 13, 16, 21, 30, 46, 76,1795 13, 13, 15, 18, 24, 34, 52, 85,1796 16, 16, 18, 22, 29, 41, 63, 103,1797 20, 21, 24, 29, 38, 54, 82, 135,1798 29, 30, 34, 41, 54, 76, 116, 192,1799 44, 46, 52, 63, 82, 116, 177, 293,1800 73, 76, 85, 103, 135, 192, 293, 4841801 };1802 1803 1769 /* 1804 1770 Open image file. … … 1902 1868 jpeg_info.density_unit=(UINT8) 2; 1903 1869 } 1870 jpeg_info.dct_method=JDCT_FLOAT; 1904 1871 option=GetImageOption(image_info,"jpeg:dct-method"); 1905 1872 if (option != (const char *) NULL) … … 2126 2093 (jpeg_info.comp_info[0].v_samp_factor >= 2)) 2127 2094 { 2095 static const unsigned int 2096 CbQTable[DCTSIZE2] = 2097 { 2098 17, 18, 22, 31, 50, 92, 193, 465, 2099 18, 19, 24, 33, 54, 98, 207, 498, 2100 22, 24, 29, 41, 66, 120, 253, 609, 2101 31, 33, 41, 57, 92, 169, 355, 854, 2102 50, 54, 66, 92, 148, 271, 570, 1370, 2103 92, 98, 120, 169, 271, 498, 1046, 2516, 2104 193, 207, 253, 355, 570, 1046, 2198, 5289, 2105 465, 498, 609, 854, 1370, 2516, 5289, 12725 2106 }, 2107 CrQTable[DCTSIZE2] = 2108 { 2109 17, 18, 21, 28, 42, 69, 129, 269, 2110 18, 19, 23, 30, 44, 74, 137, 284, 2111 21, 23, 27, 35, 52, 87, 162, 336, 2112 28, 30, 35, 47, 69, 115, 214, 446, 2113 42, 44, 52, 69, 103, 171, 318, 661, 2114 69, 74, 87, 115, 171, 284, 528, 1098, 2115 129, 137, 162, 214, 318, 528, 981, 2040, 2116 269, 284, 336, 446, 661, 1098, 2040, 4242 2117 }, 2118 LuminanceQTable[DCTSIZE2] = 2119 { 2120 16, 11, 13, 16, 20, 29, 44, 73, 2121 11, 12, 13, 16, 21, 30, 46, 76, 2122 13, 13, 15, 18, 24, 34, 52, 85, 2123 16, 16, 18, 22, 29, 41, 63, 103, 2124 20, 21, 24, 29, 38, 54, 82, 135, 2125 29, 30, 34, 41, 54, 76, 116, 192, 2126 44, 46, 52, 63, 82, 116, 177, 293, 2127 73, 76, 85, 103, 135, 192, 293, 484 2128 }; 2129 2128 2130 /* 2129 2131 Nicolas Robidoux's remix of ISO-IEC 10918-1 : 1993(E) Annex K. … … 2136 2138 quality),0); 2137 2139 } 2140 else 2141 if ((jpeg_info.comp_info[0].h_samp_factor >= 1) && 2142 (jpeg_info.comp_info[0].v_samp_factor >= 1)) 2143 { 2144 static const unsigned int 2145 CbQTable[DCTSIZE2] = 2146 { 2147 17, 18, 27, 51, 124, 395, 1617, 8563, 2148 18, 21, 30, 58, 141, 449, 1838, 9734, 2149 27, 30, 45, 85, 208, 659, 2701, 12725, 2150 51, 58, 85, 161, 395, 1251, 5127, 12725, 2151 124, 141, 208, 395, 968, 3070, 12580,12725, 2152 395, 449, 659, 1251, 3070, 9734, 12725,12725, 2153 1617,1838,2701, 5127, 12580,12725,12725,12725, 2154 8563,9734,12725,12725,12725,12725,12725,12725 2155 }, 2156 CrQTable[DCTSIZE2] = 2157 { 2158 17, 18, 25, 43, 92, 245, 813, 3358, 2159 18, 20, 28, 48, 102, 273, 907, 3745, 2160 25, 28, 38, 66, 142, 379, 1258, 5195, 2161 43, 48, 66, 114, 245, 654, 2170, 8965, 2162 92, 102, 142, 245, 525, 1403, 4658, 12725, 2163 245, 273, 379, 654, 1403, 3745, 12436,12725, 2164 813, 907, 1258,2170,4658, 12436,12725,12725, 2165 3358,3745,5195,8965,12725,12725,12725,12725 2166 }, 2167 LuminanceQTable[DCTSIZE2] = 2168 { 2169 17, 12, 14, 17, 22, 30, 45, 72, 2170 12, 13, 14, 17, 22, 31, 46, 74, 2171 14, 14, 16, 19, 25, 35, 52, 83, 2172 17, 17, 19, 23, 30, 41, 62, 100, 2173 22, 22, 25, 30, 39, 54, 80, 129, 2174 30, 31, 35, 41, 54, 74, 111, 178, 2175 45, 46, 52, 62, 80, 111, 166, 267, 2176 72, 74, 83, 100, 129, 178, 267, 428 2177 }; 2178 2179 /* 2180 Nicolas Robidoux's remix of ISO-IEC 10918-1 : 1993(E) Annex K. 2181 */ 2182 jpeg_add_quant_table(&jpeg_info,0,LuminanceQTable,jpeg_quality_scaling( 2183 quality),0); 2184 jpeg_add_quant_table(&jpeg_info,1,CbQTable,jpeg_quality_scaling( 2185 quality),0); 2186 jpeg_add_quant_table(&jpeg_info,2,CrQTable,jpeg_quality_scaling( 2187 quality),0); 2188 } 2138 2189 jpeg_start_compress(&jpeg_info,MagickTrue); 2139 2190 if (image->debug != MagickFalse)
Note: See TracChangeset
for help on using the changeset viewer.
