Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/evas

Dir     : e17/libs/evas/src/modules/engines/software_generic


Modified Files:
        evas_engine.c 


Log Message:


1. gustavo';s fuzzy rect implementation for updates. fixed so del's work,
tuned for best performance on my core2 duo desktop - for now. will check
more. also make the yuv colorspace code be a bit more robust and fix leak in
gl engine with shaders.

===================================================================
RCS file: 
/cvs/e/e17/libs/evas/src/modules/engines/software_generic/evas_engine.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- evas_engine.c       19 Dec 2006 15:06:33 -0000      1.16
+++ evas_engine.c       2 Jun 2007 15:30:59 -0000       1.17
@@ -512,6 +512,7 @@
        break;
       case EVAS_COLORSPACE_YCBCR422P601_PL:
       case EVAS_COLORSPACE_YCBCR422P709_PL:
+       w &= ~0x1;
        im->image->w = w;
        im->image->h = h;
        evas_common_image_surface_alloc(im->image);
@@ -546,6 +547,7 @@
        break;
       case EVAS_COLORSPACE_YCBCR422P601_PL:
       case EVAS_COLORSPACE_YCBCR422P709_PL:
+       w &= ~0x1;
         im = evas_common_image_create(w, h);
         im->cs.data = calloc(1, im->image->h * sizeof(unsigned char *) * 2);
        if ((image_data) && (im->cs.data))
@@ -582,13 +584,22 @@
    RGBA_Image *im, *im_old;
 
    im_old = image;
+   if ((im_old->cs.space == EVAS_COLORSPACE_YCBCR422P601_PL) ||
+       (im_old->cs.space == EVAS_COLORSPACE_YCBCR422P709_PL))
+     w &= ~0x1;
+   if ((im_old) && (im_old->image->w == w) && (im_old->image->h == h))
+     return image;
    im = evas_common_image_create(w, h);
    if (!im) return im_old;
    if (im_old)
      {
        im->cs.space = im_old->cs.space;
        im->flags = im_old->flags;
-/*     
+        im->cs.no_free = 0;
+       if ((im_old->cs.space == EVAS_COLORSPACE_YCBCR422P601_PL) ||
+           (im_old->cs.space == EVAS_COLORSPACE_YCBCR422P709_PL))
+         im->cs.data = calloc(1, im->image->h * sizeof(unsigned char *) * 2);
+       /*
        evas_common_load_image_data_from_file(im_old);
        evas_common_image_colorspace_normalize(im);
        if (im_old->image->data)
@@ -596,8 +607,9 @@
             evas_common_blit_rectangle(im_old, im, 0, 0, w, h, 0, 0);
             evas_common_cpu_end_opt();
          }
- */
+        */
        evas_common_image_unref(im_old);
+       evas_common_image_colorspace_dirty(im);
      }
    return im;
 }



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to