quickly when uf your-encoded anything due to using IFAST decoder (and
encoder). this does drop speed for decode and encode (except encoding
< 60% quality where it now uses IFAST), but we don't see progressively
worse artifacts.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@65293
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
* Add evas_object_freeze_events_set/get to discard the object events.
they will be useful some cases such as transition.
-2011-11-02 Nicolas Aguirre
+2011-11-02 Nicolas Aguirre
* Add gl_cocoa engine
+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
* text to display missing unicode char instead of missing glyphs
* internal file code to use eina_file more
* jpeg loader to use eina_file
+ * jpeg encode and decode quality improved at expense of speed
Removals:
jpeg_read_header(&cinfo, TRUE);
cinfo.do_fancy_upsampling = FALSE;
cinfo.do_block_smoothing = FALSE;
- cinfo.dct_method = JDCT_IFAST;
+ cinfo.dct_method = JDCT_ISLOW; // JDCT_FLOAT JDCT_IFAST(quality loss)
cinfo.dither_mode = JDITHER_ORDERED;
jpeg_start_decompress(&cinfo);
jpeg_read_header(&cinfo, TRUE);
cinfo.do_fancy_upsampling = FALSE;
cinfo.do_block_smoothing = FALSE;
- cinfo.dct_method = JDCT_IFAST;
+ cinfo.dct_method = JDCT_ISLOW; // JDCT_FLOAT JDCT_IFAST(quality loss)
cinfo.dither_mode = JDITHER_ORDERED;
if (ie->scale > 1)
cinfo.image_height = im->cache_entry.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.comp_info[0].v_samp_factor = 1;
+ cinfo.comp_info[1].h_samp_factor = 1;
+ cinfo.comp_info[1].v_samp_factor = 1;
+ cinfo.comp_info[2].h_samp_factor = 1;
+ cinfo.comp_info[2].v_samp_factor = 1;
+ }
jpeg_start_compress(&cinfo, TRUE);
ptr = im->image.data;
while (cinfo.next_scanline < cinfo.image_height)