* Added a new macro for adding arrays of basic types.
EET_DATA_DESCRIPTOR_ADD_BASIC_ARRAY
+
+2011-11-16 Carsten Haitzler (The Rasterman)
+
+ * JPEG encode and decode in eet now uses ISLOW (not IFAST) due to
+ noticable quality losses in the chase for speed. It will use
+ IFAST for quality less than 60 when encoding
}
jpeg_read_header(&cinfo, TRUE);
- cinfo.dct_method = JDCT_FASTEST;
+ cinfo.dct_method = JDCT_ISLOW; // JDCT_FLOAT JDCT_IFAST(quality loss)
cinfo.do_fancy_upsampling = FALSE;
cinfo.do_block_smoothing = FALSE;
jpeg_start_decompress(&cinfo);
}
jpeg_read_header(&cinfo, TRUE);
- cinfo.dct_method = JDCT_FASTEST;
+ cinfo.dct_method = JDCT_ISLOW; // JDCT_FLOAT JDCT_IFAST(quality loss)
cinfo.do_fancy_upsampling = FALSE;
cinfo.do_block_smoothing = FALSE;
jpeg_start_decompress(&cinfo);
cinfo.image_height = h;
cinfo.input_components = 3;
cinfo.in_color_space = JCS_RGB;
+ cinfo.optimize_coding = FALSE;
+ cinfo.dct_method = JDCT_ISLOW; // JDCT_FLOAT JDCT_IFAST(quality loss)
+ if (quality < 60) cinfo.dct_method = JDCT_IFAST;
jpeg_set_defaults(&cinfo);
jpeg_set_quality(&cinfo, quality, TRUE);
+
if (quality >= 90)
{
cinfo.comp_info[0].h_samp_factor = 1;
cinfo.image_height = h;
cinfo.input_components = 3;
cinfo.in_color_space = JCS_RGB;
+ cinfo.optimize_coding = FALSE;
+ cinfo.dct_method = JDCT_ISLOW; // JDCT_FLOAT JDCT_IFAST(quality loss)
+ if (quality < 60) cinfo.dct_method = JDCT_IFAST;
jpeg_set_defaults(&cinfo);
jpeg_set_quality(&cinfo, quality, TRUE);
if (quality >= 90)