From: cristy Date: Fri, 29 Apr 2011 01:09:31 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~7616 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9fff7b4fa7d657da7bfed66239982b85c6337de9;p=imagemagick --- diff --git a/PerlMagick/Magick.xs b/PerlMagick/Magick.xs index 41ff9b676..80ecd5728 100644 --- a/PerlMagick/Magick.xs +++ b/PerlMagick/Magick.xs @@ -1593,7 +1593,7 @@ static void SetAttribute(pTHX_ struct PackageInfo *info,Image *image, indexes=GetCacheViewAuthenticIndexQueue(image_view); items=sscanf(SvPV(sval,na),"%ld",&index); if ((index >= 0) && (index < (ssize_t) image->colors)) - *indexes=(IndexPacket) index; + SetIndexPixelComponent(indexes,index); (void) SyncCacheViewAuthenticPixels(image_view,exception); } image_view=DestroyCacheView(image_view); @@ -1609,8 +1609,8 @@ static void SetAttribute(pTHX_ struct PackageInfo *info,Image *image, } if (LocaleCompare(attribute,"interlace") == 0) { - sp=SvPOK(sval) ? ParseCommandOption(MagickInterlaceOptions,MagickFalse, - SvPV(sval,na)) : SvIV(sval); + sp=SvPOK(sval) ? ParseCommandOption(MagickInterlaceOptions, + MagickFalse,SvPV(sval,na)) : SvIV(sval); if (sp < 0) { ThrowPerlException(exception,OptionError, @@ -4879,7 +4879,7 @@ Get(ref,...) { indexes=GetCacheViewVirtualIndexQueue(image_view); (void) FormatMagickString(name,MaxTextExtent,QuantumFormat, - *indexes); + GetIndexPixelComponent(indexes)); s=newSVpv(name,0); PUSHs(s ? sv_2mortal(s) : &sv_undef); } @@ -5140,11 +5140,14 @@ Get(ref,...) if (image->colorspace != CMYKColorspace) (void) FormatMagickString(tuple,MaxTextExtent,QuantumFormat "," QuantumFormat "," QuantumFormat "," QuantumFormat, - GetRedPixelComponent(p),GetGreenPixelComponent(p),GetBluePixelComponent(p),GetOpacityPixelComponent(p)); + GetRedPixelComponent(p),GetGreenPixelComponent(p), + GetBluePixelComponent(p),GetOpacityPixelComponent(p)); else (void) FormatMagickString(tuple,MaxTextExtent,QuantumFormat "," QuantumFormat "," QuantumFormat "," QuantumFormat "," - QuantumFormat,GetRedPixelComponent(p),GetGreenPixelComponent(p),GetBluePixelComponent(p),*indexes,GetOpacityPixelComponent(p)); + QuantumFormat,GetRedPixelComponent(p), + GetGreenPixelComponent(p),GetBluePixelComponent(p), + GetIndexPixelComponent(indexes),GetOpacityPixelComponent(p)); s=newSVpv(tuple,0); PUSHs(s ? sv_2mortal(s) : &sv_undef); continue; @@ -6280,7 +6283,7 @@ GetPixel(ref,...) PUSHs(sv_2mortal(newSVnv(scale*GetBluePixelComponent(p)))); if (((channel & IndexChannel) != 0) && (image->colorspace == CMYKColorspace)) - PUSHs(sv_2mortal(newSVnv(scale*(*indexes)))); + PUSHs(sv_2mortal(newSVnv(scale*GetIndexPixelComponent(indexes)))); if ((channel & OpacityChannel) != 0) PUSHs(sv_2mortal(newSVnv(scale*GetOpacityPixelComponent(p)))); } @@ -13435,28 +13438,33 @@ SetPixel(ref,...) scale=QuantumRange; if (((channel & RedChannel) != 0) && (i <= av_len(av))) { - q->red=ClampToQuantum(QuantumRange*SvNV(*(av_fetch(av,i,0)))); + SetRedPixelComponent(q,ClampToQuantum(QuantumRange*SvNV(*( + av_fetch(av,i,0))))); i++; } if (((channel & GreenChannel) != 0) && (i <= av_len(av))) { - q->green=ClampToQuantum(QuantumRange*SvNV(*(av_fetch(av,i,0)))); + SetGreenPixelComponent(q,ClampToQuantum(QuantumRange*SvNV(*( + av_fetch(av,i,0))))); i++; } if (((channel & BlueChannel) != 0) && (i <= av_len(av))) { - q->blue=ClampToQuantum(QuantumRange*SvNV(*(av_fetch(av,i,0)))); + SetBluePixelComponent(q,ClampToQuantum(QuantumRange*SvNV(*( + av_fetch(av,i,0))))); i++; } if ((((channel & IndexChannel) != 0) && (image->colorspace == CMYKColorspace)) && (i <= av_len(av))) { - *indexes=ClampToQuantum(QuantumRange*SvNV(*(av_fetch(av,i,0)))); + SetIndexPixelComponent(indexes,ClampToQuantum(QuantumRange* + SvNV(*(av_fetch(av,i,0))))); i++; } if (((channel & OpacityChannel) != 0) && (i <= av_len(av))) { - q->opacity=ClampToQuantum(QuantumRange*SvNV(*(av_fetch(av,i,0)))); + SetOpacityPixelComponent(q,ClampToQuantum(QuantumRange* + SvNV(*(av_fetch(av,i,0))))); i++; } (void) SyncAuthenticPixels(image,exception); diff --git a/coders/bmp.c b/coders/bmp.c index 60b7f8058..3ba48b157 100644 --- a/coders/bmp.c +++ b/coders/bmp.c @@ -1654,7 +1654,7 @@ static MagickBooleanType WriteBMPImage(const ImageInfo *image_info,Image *image) for (x=0; x < (ssize_t) image->columns; x++) { byte<<=1; - byte|=indexes[x] != 0 ? 0x01 : 0x00; + byte|=GetIndexPixelComponent(indexes+x) != 0 ? 0x01 : 0x00; bit++; if (bit == 8) { @@ -1701,7 +1701,7 @@ static MagickBooleanType WriteBMPImage(const ImageInfo *image_info,Image *image) for (x=0; x < (ssize_t) image->columns; x++) { byte<<=4; - byte|=((size_t) indexes[x] & 0x0f); + byte|=((size_t) GetIndexPixelComponent(indexes+x) & 0x0f); nibble++; if (nibble == 2) { diff --git a/coders/braille.c b/coders/braille.c index 45a66e6ee..91afa1e3c 100644 --- a/coders/braille.c +++ b/coders/braille.c @@ -274,9 +274,9 @@ static MagickBooleanType WriteBRAILLEImage(const ImageInfo *image_info, { #define do_cell(dx,dy,bit) do { \ if (image->storage_class == PseudoClass) \ - cell |= (indexes[x+dx+dy*image->columns] == polarity) << bit; \ + cell |= (GetIndexPixelComponent(indexes+x+dx+dy*image->columns) == polarity) << bit; \ else \ - cell |= (p[x+dx+dy*image->columns].green == 0) << bit; \ + cell |= (GetGreenPixelComponent(p+x+dx+dy*image->columns) == 0) << bit; \ } while (0) do_cell(0,0,0); diff --git a/coders/cmyk.c b/coders/cmyk.c index c5a55b484..50ad3bd7f 100644 --- a/coders/cmyk.c +++ b/coders/cmyk.c @@ -257,7 +257,8 @@ static Image *ReadCMYKImage(const ImageInfo *image_info, SetRedPixelComponent(q,GetRedPixelComponent(p)); SetGreenPixelComponent(q,GetGreenPixelComponent(p)); SetBluePixelComponent(q,GetBluePixelComponent(p)); - indexes[x]=canvas_indexes[image->extract_info.x+x]; + SetBlackPixelComponent(indexes+x,GetBlackPixelComponent( + canvas_indexes+image->extract_info.x+x)); SetOpacityPixelComponent(q,OpaqueOpacity); if (image->matte != MagickFalse) SetOpacityPixelComponent(q,GetOpacityPixelComponent(p)); diff --git a/coders/cut.c b/coders/cut.c index 26c569cca..6bbc56f64 100644 --- a/coders/cut.c +++ b/coders/cut.c @@ -245,8 +245,8 @@ static int GetCutColors(Image *image) q=GetAuthenticPixels(image,0,y,image->columns,1,exception); for (x=0; x < (ssize_t) image->columns; x++) { - if (intensity < q->red) - intensity=q->red; + if (intensity < GetRedPixelComponent(q)) + intensity=GetRedPixelComponent(q); if (intensity >= scale_intensity) return(255); q++; @@ -566,13 +566,14 @@ static Image *ReadCUTImage(const ImageInfo *image_info,ExceptionInfo *exception) if(image->colormap[i].blue!=sample) goto Finish; } - image->colormap[1].red=image->colormap[1].green=image->colormap[1].blue=(Quantum) QuantumRange; + image->colormap[1].red=image->colormap[1].green= + image->colormap[1].blue=(Quantum) QuantumRange; for (i=0; i < (ssize_t)image->rows; i++) { q=QueueAuthenticPixels(image,0,i,image->columns,1,exception); for (j=0; j < (ssize_t)image->columns; j++) { - if (q->red==ScaleCharToQuantum(1)) + if (GetRedPixelComponent(q) == ScaleCharToQuantum(1)) { SetRedPixelComponent(q,QuantumRange); SetGreenPixelComponent(q,QuantumRange); diff --git a/coders/dcm.c b/coders/dcm.c index b4654dbc5..9efaf9b92 100644 --- a/coders/dcm.c +++ b/coders/dcm.c @@ -4040,11 +4040,11 @@ static Image *ReadDCMImage(const ImageInfo *image_info,ExceptionInfo *exception) pixel.blue=scale[pixel.blue]; } } - SetRedPixelComponent(q,(((size_t) q->red) | + SetRedPixelComponent(q,(((size_t) GetRedPixelComponent(q)) | (((size_t) pixel.red) << 8))); - SetGreenPixelComponent(q,(((size_t) q->green) | + SetGreenPixelComponent(q,(((size_t) GetGreenPixelComponent(q)) | (((size_t) pixel.green) << 8))); - SetBluePixelComponent(q,(((size_t) q->green) | + SetBluePixelComponent(q,(((size_t) GetBluePixelComponent(q)) | (((size_t) pixel.blue) << 8))); q++; } diff --git a/coders/gif.c b/coders/gif.c index 3742902b4..b820443ea 100644 --- a/coders/gif.c +++ b/coders/gif.c @@ -676,7 +676,7 @@ static MagickBooleanType EncodeImage(const ImageInfo *image_info,Image *image, /* Probe hash table. */ - index=(IndexPacket) ((size_t) indexes[x] & 0xff); + index=(IndexPacket) ((size_t) GetIndexPixelComponent(indexes+x) & 0xff); p++; k=(ssize_t) (((size_t) index << (MaxGIFBits-8))+waiting_code); if (k >= MaxHashTable) diff --git a/coders/mat.c b/coders/mat.c index 97309c64f..21002ad2a 100644 --- a/coders/mat.c +++ b/coders/mat.c @@ -424,9 +424,9 @@ static void FixSignedValues(PixelPacket *q, int y) /* Please note that negative values will overflow Q=8; QuantumRange=255: <0;127> + 127+1 = <128; 255> <-1;-128> + 127+1 = <0; 127> */ - q->red += QuantumRange/2 + 1; - q->green += QuantumRange/ + 1; - q->blue += QuantumRange/ + 1; + SetRedPixelComponent(q,GetRedPixelComponent(q)+QuantumRange/2+1); + SetGreenPixelComponent(q,GetGreenPixelComponent(q)+QuantumRange/2+1); + SetBluePixelComponent(q,GetBluePixelComponent(q)+QuantumRange/2+1); q++; } } diff --git a/coders/miff.c b/coders/miff.c index 611996ccb..12976b64f 100644 --- a/coders/miff.c +++ b/coders/miff.c @@ -1421,7 +1421,11 @@ static Image *ReadMIFFImage(const ImageInfo *image_info, if ((image->storage_class == PseudoClass) || (image->colorspace == CMYKColorspace)) SetIndexPixelComponent(indexes+x,index); - *q++=pixel; + SetRedPixelComponent(q,pixel.red); + SetGreenPixelComponent(q,pixel.green); + SetBluePixelComponent(q,pixel.blue); + SetOpacityPixelComponent(q,pixel.opacity); + q++; } break; } @@ -2415,7 +2419,8 @@ static MagickBooleanType WriteMIFFImage(const ImageInfo *image_info, (IsColorEqual(p,&pixel) != MagickFalse) && ((image->matte == MagickFalse) || (GetOpacityPixelComponent(p) == pixel.opacity)) && - ((indexes == (IndexPacket *) NULL) || (index == indexes[x]))) + ((indexes == (IndexPacket *) NULL) || + (index == GetIndexPixelComponent(indexes+x)))) length++; else { diff --git a/coders/plasma.c b/coders/plasma.c index 5851f9ac5..9b4850e5d 100644 --- a/coders/plasma.c +++ b/coders/plasma.c @@ -114,12 +114,12 @@ static inline void PlasmaPixel(Image *image,RandomInfo *random_info,double x, if (q == (PixelPacket *) NULL) return; range=GetQuantumRange(16UL); - q->red=ScaleAnyToQuantum((size_t) (65535.0* - GetPseudoRandomValue(random_info)+0.5),range); - q->green=ScaleAnyToQuantum((size_t) (65535.0* - GetPseudoRandomValue(random_info)+0.5),range); - q->blue=ScaleAnyToQuantum((size_t) (65535.0* - GetPseudoRandomValue(random_info)+0.5),range); + SetRedPixelComponent(q,ScaleAnyToQuantum((size_t) (65535.0* + GetPseudoRandomValue(random_info)+0.5),range)); + SetGreenPixelComponent(q,ScaleAnyToQuantum((size_t) (65535.0* + GetPseudoRandomValue(random_info)+0.5),range)); + SetBluePixelComponent(q,ScaleAnyToQuantum((size_t) (65535.0* + GetPseudoRandomValue(random_info)+0.5),range)); (void) SyncAuthenticPixels(image,exception); } diff --git a/coders/png.c b/coders/png.c index aef59edbb..52a34a448 100644 --- a/coders/png.c +++ b/coders/png.c @@ -2754,7 +2754,7 @@ static Image *ReadOnePNGImage(MngInfo *mng_info, r=quantum_scanline; for (x=0; x < (ssize_t) image->columns; x++) - indexes[x]=(IndexPacket) (*r++); + SetIndexPixelComponent(indexes+x,*r++); if (SyncAuthenticPixels(image,exception) == MagickFalse) break; @@ -2762,7 +2762,7 @@ static Image *ReadOnePNGImage(MngInfo *mng_info, if ((image->previous == (Image *) NULL) && (num_passes == 1)) { status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y, - image->rows); + image->rows); if (status == MagickFalse) break; @@ -5906,7 +5906,7 @@ static Image *ReadMNGImage(const ImageInfo *image_info,ExceptionInfo *exception) pixels=prev; n=next; q=GetAuthenticPixels(large_image,0,yy,large_image->columns, - 1,exception); + 1,exception); q+=(large_image->columns-image->columns); for (x=(ssize_t) image->columns-1; x >= 0; x--) @@ -7642,7 +7642,7 @@ static MagickBooleanType WriteOnePNGImage(MngInfo *mng_info, image->colormap[i].blue == GetBluePixelComponent(q)) { - indexes[x]=(IndexPacket) i; + SetIndexPixelComponent(indexes+x,i); break; } } diff --git a/coders/ps2.c b/coders/ps2.c index d1c23e687..9e014fe67 100644 --- a/coders/ps2.c +++ b/coders/ps2.c @@ -968,7 +968,8 @@ static MagickBooleanType WritePS2Image(const ImageInfo *image_info,Image *image) GetGreenPixelComponent(p))); Ascii85Encode(image,ScaleQuantumToChar( GetBluePixelComponent(p))); - Ascii85Encode(image,ScaleQuantumToChar(indexes[x])); + Ascii85Encode(image,ScaleQuantumToChar( + GetIndexPixelComponent(indexes+x))); } p++; } diff --git a/coders/sun.c b/coders/sun.c index 0faca5717..95b073644 100644 --- a/coders/sun.c +++ b/coders/sun.c @@ -538,11 +538,11 @@ static Image *ReadSUNImage(const ImageInfo *image_info,ExceptionInfo *exception) if (image->colors != 0) { SetRedPixelComponent(q,image->colormap[(ssize_t) - q->red].red); + GetRedPixelComponent(q)].red); SetGreenPixelComponent(q,image->colormap[(ssize_t) - q->green].green); + GetGreenPixelComponent(q)].green); SetBluePixelComponent(q,image->colormap[(ssize_t) - q->blue].blue); + GetBluePixelComponent(q)].blue); } q++; } diff --git a/coders/tga.c b/coders/tga.c index f9ea20428..87f954b42 100644 --- a/coders/tga.c +++ b/coders/tga.c @@ -797,7 +797,7 @@ static MagickBooleanType WriteTGAImage(const ImageInfo *image_info,Image *image) *q++=(unsigned char) ScaleQuantumToChar( GetAlphaPixelComponent(p)); if (image->colorspace == CMYKColorspace) - *q++=ScaleQuantumToChar(indexes[x]); + *q++=ScaleQuantumToChar(GetIndexPixelComponent(indexes+x)); } p++; } diff --git a/coders/uil.c b/coders/uil.c index c706888cf..937f9d199 100644 --- a/coders/uil.c +++ b/coders/uil.c @@ -355,7 +355,7 @@ static MagickBooleanType WriteUILImage(const ImageInfo *image_info,Image *image) (void) WriteBlobString(image," \""); for (x=0; x < (ssize_t) image->columns; x++) { - k=((ssize_t) indexes[x] % MaxCixels); + k=((ssize_t) GetIndexPixelComponent(indexes+x) % MaxCixels); symbol[0]=Cixel[k]; for (j=1; j < (int) characters_per_pixel; j++) { diff --git a/coders/viff.c b/coders/viff.c index f78a08cf1..d4d94e1b2 100644 --- a/coders/viff.c +++ b/coders/viff.c @@ -628,7 +628,7 @@ static Image *ReadVIFFImage(const ImageInfo *image_info, for (bit=0; bit < 8; bit++) if (PixelIntensity(q) < ((MagickRealType) QuantumRange/2.0)) { - quantum=(size_t) indexes[x+bit]; + quantum=(size_t) GetIndexPixelComponent(indexes+x+bit); quantum|=0x01; SetIndexPixelComponent(indexes+x+bit,quantum); } @@ -639,7 +639,7 @@ static Image *ReadVIFFImage(const ImageInfo *image_info, for (bit=0; bit < (ssize_t) (image->columns % 8); bit++) if (PixelIntensity(q) < ((MagickRealType) QuantumRange/2.0)) { - quantum=(size_t) indexes[x+bit]; + quantum=(size_t) getIndexPixelComponent(indexes+x+bit); quantum|=0x01; SetIndexPixelComponent(indexes+x+bit,quantum); } @@ -695,11 +695,11 @@ static Image *ReadVIFFImage(const ImageInfo *image_info, if (image->colors != 0) { SetRedPixelComponent(q,image->colormap[(ssize_t) - q->red].red); + GetRedPixelComponent(q)].red); SetGreenPixelComponent(q,image->colormap[(ssize_t) - q->green].green); + GetGreenPixelComponent(q)].green); SetBluePixelComponent(q,image->colormap[(ssize_t) - q->blue].blue); + GetBluePixelComponent(q)].blue); } SetOpacityPixelComponent(q,image->matte != MagickFalse ? QuantumRange-ScaleCharToQuantum(*(p+number_pixels*3)) : diff --git a/coders/yuv.c b/coders/yuv.c index 030737767..7d1a3b1db 100644 --- a/coders/yuv.c +++ b/coders/yuv.c @@ -238,19 +238,21 @@ static Image *ReadYUVImage(const ImageInfo *image_info,ExceptionInfo *exception) break; for (x=0; x < (ssize_t) image->columns; x+=2) { - chroma_pixels->red=(Quantum) 0; + SetRedPixelComponent(chroma_pixels,0); if (quantum == 1) - chroma_pixels->green=ScaleCharToQuantum(*p++); + SetGreenPixelComponent(chroma_pixels,ScaleCharToQuantum(*p++)); else { - chroma_pixels->green=ScaleShortToQuantum(((*p) << 8) | *(p+1)); + SetGreenPixelComponent(chroma_pixels,ScaleShortToQuantum( + ((*p) << 8) | *(p+1))); p+=2; } if (quantum == 1) SetRedPixelComponent(q,ScaleCharToQuantum(*p++)); else { - q->red=ScaleShortToQuantum(((*p) << 8) | *(p+1)); + SetRedPixelComponent(q,ScaleShortToQuantum(((*p) << 8) | + *(p+1))); p+=2; } SetGreenPixelComponent(q,0); @@ -259,10 +261,11 @@ static Image *ReadYUVImage(const ImageInfo *image_info,ExceptionInfo *exception) SetGreenPixelComponent(q,0); SetBluePixelComponent(q,0); if (quantum == 1) - chroma_pixels->blue=ScaleCharToQuantum(*p++); + SetBluePixelComponent(chroma_pixels,ScaleCharToQuantum(*p++)); else { - chroma_pixels->blue=ScaleShortToQuantum(((*p) << 8) | *(p+1)); + SetBluePixelComponent(chroma_pixels,ScaleShortToQuantum( + ((*p) << 8) | *(p+1))); p+=2; } if (quantum == 1) @@ -404,8 +407,8 @@ static Image *ReadYUVImage(const ImageInfo *image_info,ExceptionInfo *exception) break; for (x=0; x < (ssize_t) image->columns; x++) { - SetGreenPixelComponent(q,chroma_pixels->green); - SetBluePixelComponent(q,chroma_pixels->blue); + SetGreenPixelComponent(q,GetGreenPixelComponent(chroma_pixels)); + SetBluePixelComponent(q,GetBluePixelComponent(chroma_pixels)); chroma_pixels++; q++; }