pike.git / src / modules / Image / togif.c

version» Context lines:

pike.git/src/modules/Image/togif.c:1:   /*      togif      Pontus Hagland, law@infovav.se    - $Id: togif.c,v 1.17 1997/10/07 03:33:33 grubba Exp $ + $Id: togif.c,v 1.18 1997/10/12 21:11:12 mirar Exp $      */      /*   **! module Image   **! note - **! $Id: togif.c,v 1.17 1997/10/07 03:33:33 grubba Exp $<br> + **! $Id: togif.c,v 1.18 1997/10/12 21:11:12 mirar Exp $<br>   **! class image   */      #include "global.h"      #include <math.h>   #include <ctype.h>      #include "stralloc.h"   #include "global.h"
pike.git/src/modules/Image/togif.c:542:    else    {    x=sp[-args].u.integer;    y=sp[1-args].u.integer;    }          if (args>2 && sp[2-args].type==T_ARRAY)    {    ct=colortable_from_array(sp[2-args].u.array,"image->gif_add()\n"); -  closest=1; +  if (ct->numcol<128) closest=1;    }    else if (args>3 && sp[2-args].type==T_INT)    ct=colortable_quant(THIS,max(256,min(2,sp[2-args].u.integer)));       if (args>2+!!ct)    {    unsigned short delay=0;    if (sp[2+!!ct-args].type==T_INT)    delay=sp[2+!!ct-args].u.integer;    else if (sp[2+!!ct-args].type==T_FLOAT)
pike.git/src/modules/Image/togif.c:613:    i=THIS->xsize*THIS->ysize;    rgb=THIS->img;      CHRONO("begin pack");    xs = THIS->xsize;    ys = THIS->ysize;       THREADS_ALLOW();    lzw_init(&lzw,bpp);    if (!fs) +  { +  if (closest) +  while (i--) lzw_add(&lzw,colortable_rgb_nearest(ct,*(rgb++))); +  else    while (i--) lzw_add(&lzw,colortable_rgb(ct,*(rgb++))); -  +  }    else    {    rgbl_group *errb; -  rgb_group corgb; +     int w,*cres,j;    errb=(rgbl_group*)xalloc(sizeof(rgbl_group)*xs);    cres=(int*)xalloc(sizeof(int)*xs);    for (i=0; i<xs; i++)    errb[i].r=(rand()%(FS_SCALE*2+1))-FS_SCALE,    errb[i].g=(rand()%(FS_SCALE*2+1))-FS_SCALE,    errb[i].b=(rand()%(FS_SCALE*2+1))-FS_SCALE;       w=0;    while (ys--)