cairo_t
*cairo_image;
+ MemoryInfo
+ *pixel_info;
+
register unsigned char
*p;
#else
GdkPixbuf
- *pixel_info;
+ *pixel_buffer;
register const guchar
*p;
rsvg_handle_get_dimensions(svg_handle,&dimension_info);
image->columns=image->resolution.x*dimension_info.width/72.0;
image->rows=image->resolution.y*dimension_info.height/72.0;
- pixels=(unsigned char *) NULL;
+ pixel_info=(MemoryInfo *) NULL;
#else
- pixel_info=rsvg_handle_get_pixbuf(svg_handle);
+ pixel_buffer=rsvg_handle_get_pixbuf(svg_handle);
rsvg_handle_free(svg_handle);
- image->columns=gdk_pixbuf_get_width(pixel_info);
- image->rows=gdk_pixbuf_get_height(pixel_info);
+ image->columns=gdk_pixbuf_get_width(pixel_buffer);
+ image->rows=gdk_pixbuf_get_height(pixel_buffer);
#endif
image->alpha_trait=BlendPixelTrait;
SetImageProperty(image,"svg:base-uri",
if ((image->columns == 0) || (image->rows == 0))
{
#if !defined(MAGICKCORE_CAIRO_DELEGATE)
- g_object_unref(G_OBJECT(pixel_info));
+ g_object_unref(G_OBJECT(pixel_buffer));
#endif
g_object_unref(svg_handle);
ThrowReaderException(MissingDelegateError,
stride=(size_t) cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32,
image->columns);
#endif
- pixels=(unsigned char *) AcquireQuantumMemory(stride,image->rows*
- sizeof(*pixels));
- if (pixels == (unsigned char *) NULL)
+ pixel_info=AcquireVirtualMemory(stride,image->rows*sizeof(*pixels));
+ if (pixel_info == (MemoryInfo *) NULL)
{
g_object_unref(svg_handle);
ThrowReaderException(ResourceLimitError,
"MemoryAllocationFailed");
}
+ pixels=(unsigned char *) GetVirtualMemoryBlob(pixel_info);
#endif
(void) SetImageBackgroundColor(image,exception);
#if defined(MAGICKCORE_CAIRO_DELEGATE)
CAIRO_FORMAT_ARGB32,image->columns,image->rows,stride);
if (cairo_surface == (cairo_surface_t *) NULL)
{
- pixels=(unsigned char *) RelinquishMagickMemory(pixels);
+ pixel_info=RelinquishVirtualMemory(pixel_info);
g_object_unref(svg_handle);
ThrowReaderException(ResourceLimitError,
"MemoryAllocationFailed");
g_object_unref(svg_handle);
p=pixels;
#else
- p=gdk_pixbuf_get_pixels(pixel_info);
+ p=gdk_pixbuf_get_pixels(pixel_buffer);
#endif
GetPixelInfo(image,&fill_color);
for (y=0; y < (ssize_t) image->rows; y++)
}
}
#if defined(MAGICKCORE_CAIRO_DELEGATE)
- if (pixels != (unsigned char *) NULL)
- pixels=(unsigned char *) RelinquishMagickMemory(pixels);
+ if (pixel_info != (MemoryInfo *) NULL)
+ pixel_info=RelinquishVirtualMemory(pixel_info);
#else
- g_object_unref(G_OBJECT(pixel_info));
+ g_object_unref(G_OBJECT(pixel_buffer));
#endif
(void) CloseBlob(image);
return(GetFirstImageInList(image));
case ReadGenericMethod:
default:
{
+ MemoryInfo
+ *pixel_info;
+
register uint32
*p;
TIFFClose(tiff);
ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");
}
- pixels=(uint32 *) AcquireQuantumMemory(image->columns,image->rows*
+ pixel_info=AcquireVirtualMemory(image->columns,image->rows*
sizeof(uint32));
- if (pixels == (uint32 *) NULL)
+ if (pixel_info == (MemoryInfo *) NULL)
{
TIFFClose(tiff);
ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");
}
+ pixels=(uint32 *) GetVirtualMemoryBlob(pixel_info);
(void) TIFFReadRGBAImage(tiff,(uint32) image->columns,
(uint32) image->rows,(uint32 *) pixels,0);
/*
q+=GetPixelChannels(image)*(image->columns-1);
for (x=0; x < (ssize_t) image->columns; x++)
{
- SetPixelRed(image,ScaleCharToQuantum((unsigned char)
- TIFFGetR(*p)),q);
+ SetPixelRed(image,ScaleCharToQuantum((unsigned char) TIFFGetR(*p)),
+ q);
SetPixelGreen(image,ScaleCharToQuantum((unsigned char)
TIFFGetG(*p)),q);
- SetPixelBlue(image,ScaleCharToQuantum((unsigned char)
- TIFFGetB(*p)),q);
+ SetPixelBlue(image,ScaleCharToQuantum((unsigned char) TIFFGetB(*p)),
+ q);
if (image->alpha_trait == BlendPixelTrait)
SetPixelAlpha(image,ScaleCharToQuantum((unsigned char)
TIFFGetA(*p)),q);
break;
}
}
- pixels=(uint32 *) RelinquishMagickMemory(pixels);
+ pixel_info=RelinquishVirtualMemory(pixel_info);
break;
}
}
unsigned char
buffer[7],
- *viff_pixels;
+ *pixels;
ViffInfo
viff_info;
max_packets=((image->columns+7UL) >> 3UL)*image->rows;
else
max_packets=(size_t) (number_pixels*viff_info.number_data_bands);
- viff_pixels=(unsigned char *) AcquireQuantumMemory(max_packets,
- bytes_per_pixel*sizeof(*viff_pixels));
- if (viff_pixels == (unsigned char *) NULL)
+ pixels=(unsigned char *) AcquireQuantumMemory(max_packets,
+ bytes_per_pixel*sizeof(*pixels));
+ if (pixels == (unsigned char *) NULL)
ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");
- count=ReadBlob(image,bytes_per_pixel*max_packets,viff_pixels);
+ count=ReadBlob(image,bytes_per_pixel*max_packets,pixels);
lsb_first=1;
if (*(char *) &lsb_first &&
((viff_info.machine_dependency != VFF_DEP_DECORDER) &&
{
case VFF_TYP_2_BYTE:
{
- MSBOrderShort(viff_pixels,bytes_per_pixel*max_packets);
+ MSBOrderShort(pixels,bytes_per_pixel*max_packets);
break;
}
case VFF_TYP_4_BYTE:
case VFF_TYP_FLOAT:
{
- MSBOrderLong(viff_pixels,bytes_per_pixel*max_packets);
+ MSBOrderLong(pixels,bytes_per_pixel*max_packets);
break;
}
default: break;
*/
switch ((int) viff_info.data_storage_type)
{
- case VFF_TYP_2_BYTE: value=1.0*((short *) viff_pixels)[0]; break;
- case VFF_TYP_4_BYTE: value=1.0*((int *) viff_pixels)[0]; break;
- case VFF_TYP_FLOAT: value=((float *) viff_pixels)[0]; break;
- case VFF_TYP_DOUBLE: value=((double *) viff_pixels)[0]; break;
- default: value=1.0*viff_pixels[0]; break;
+ case VFF_TYP_2_BYTE: value=1.0*((short *) pixels)[0]; break;
+ case VFF_TYP_4_BYTE: value=1.0*((int *) pixels)[0]; break;
+ case VFF_TYP_FLOAT: value=((float *) pixels)[0]; break;
+ case VFF_TYP_DOUBLE: value=((double *) pixels)[0]; break;
+ default: value=1.0*pixels[0]; break;
}
max_value=value;
min_value=value;
{
switch ((int) viff_info.data_storage_type)
{
- case VFF_TYP_2_BYTE: value=1.0*((short *) viff_pixels)[i]; break;
- case VFF_TYP_4_BYTE: value=1.0*((int *) viff_pixels)[i]; break;
- case VFF_TYP_FLOAT: value=((float *) viff_pixels)[i]; break;
- case VFF_TYP_DOUBLE: value=((double *) viff_pixels)[i]; break;
- default: value=1.0*viff_pixels[i]; break;
+ case VFF_TYP_2_BYTE: value=1.0*((short *) pixels)[i]; break;
+ case VFF_TYP_4_BYTE: value=1.0*((int *) pixels)[i]; break;
+ case VFF_TYP_FLOAT: value=((float *) pixels)[i]; break;
+ case VFF_TYP_DOUBLE: value=((double *) pixels)[i]; break;
+ default: value=1.0*pixels[i]; break;
}
if (value > max_value)
max_value=value;
/*
Convert pixels to Quantum size.
*/
- p=(unsigned char *) viff_pixels;
+ p=(unsigned char *) pixels;
for (i=0; i < (ssize_t) max_packets; i++)
{
switch ((int) viff_info.data_storage_type)
{
- case VFF_TYP_2_BYTE: value=1.0*((short *) viff_pixels)[i]; break;
- case VFF_TYP_4_BYTE: value=1.0*((int *) viff_pixels)[i]; break;
- case VFF_TYP_FLOAT: value=((float *) viff_pixels)[i]; break;
- case VFF_TYP_DOUBLE: value=((double *) viff_pixels)[i]; break;
- default: value=1.0*viff_pixels[i]; break;
+ case VFF_TYP_2_BYTE: value=1.0*((short *) pixels)[i]; break;
+ case VFF_TYP_4_BYTE: value=1.0*((int *) pixels)[i]; break;
+ case VFF_TYP_FLOAT: value=((float *) pixels)[i]; break;
+ case VFF_TYP_DOUBLE: value=((double *) pixels)[i]; break;
+ default: value=1.0*pixels[i]; break;
}
if (viff_info.map_scheme == VFF_MS_NONE)
{
/*
Convert VIFF raster image to pixel packets.
*/
- p=(unsigned char *) viff_pixels;
+ p=(unsigned char *) pixels;
if (viff_info.data_storage_type == VFF_TYP_BIT)
{
/*
}
}
}
- viff_pixels=(unsigned char *) RelinquishMagickMemory(viff_pixels);
+ pixels=(unsigned char *) RelinquishMagickMemory(pixels);
if (image->storage_class == PseudoClass)
(void) SyncImage(image,exception);
if (EOFBlob(image) != MagickFalse)
number_pixels,
packets;
+ MemoryInfo
+ *pixel_info;
+
register const Quantum
*p;
unsigned char
buffer[8],
- *viff_pixels;
+ *pixels;
ViffInfo
viff_info;
/*
Convert MIFF to VIFF raster pixels.
*/
- viff_pixels=(unsigned char *) AcquireQuantumMemory((size_t) packets,
- sizeof(*viff_pixels));
- if (viff_pixels == (unsigned char *) NULL)
+ pixel_info=AcquireVirtualMemory((size_t) packets,sizeof(*pixels));
+ if (pixel_info == (MemoryInfo *) NULL)
ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed");
- q=viff_pixels;
+ pixels=(unsigned char *) GetVirtualMemoryBlob(pixel_info);
+ q=pixels;
if (image->storage_class == DirectClass)
{
/*
/*
Convert PseudoClass packet to VIFF colormapped pixels.
*/
- q=viff_pixels;
+ q=pixels;
for (y=0; y < (ssize_t) image->rows; y++)
{
p=GetVirtualPixels(image,0,y,image->columns,1,exception);
}
}
}
- (void) WriteBlob(image,(size_t) packets,viff_pixels);
- viff_pixels=(unsigned char *) RelinquishMagickMemory(viff_pixels);
+ (void) WriteBlob(image,(size_t) packets,pixels);
+ pixel_info=RelinquishVirtualMemory(pixel_info);
if (GetNextImageInList(image) == (Image *) NULL)
break;
image=SyncNextImageInList(image);
if (chunk_size > MAX_CHUNK_PAYLOAD)
break;
chunk_size_pad=(CHUNK_HEADER_SIZE+chunk_size+1) & ~1;
- if (memcmp( stream+offset,VP8_CHUNK_HEADER,VP8_CHUNK_HEADER_SIZE) == 0)
+ if (memcmp(stream+offset,VP8_CHUNK_HEADER,VP8_CHUNK_HEADER_SIZE) == 0)
return(*(stream+offset+VP8_CHUNK_HEADER_SIZE) == LOSSLESS_FLAG ?
MagickTrue : MagickFalse);
offset+=chunk_size_pad;
MagickBooleanType
status;
+ MemoryInfo
+ *pixel_info;
+
register uint32_t
*restrict q;
/*
Allocate memory for pixels.
*/
- picture.argb=(uint32_t *) AcquireQuantumMemory(image->columns,image->rows*
+ pixel_info=AcquireVirtualMemory(image->columns,image->rows*
sizeof(*picture.argb));
- if (picture.argb == (uint32_t *) NULL)
+ if (pixel_info == (MemoryInfo *) NULL)
ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed");
+ picture.argb=(uint32_t *) GetVirtualMemoryBlob(pixel_info);
/*
Convert image to WebP raster pixels.
*/
}
webp_status=WebPEncode(&configure,&picture);
WebPPictureFree(&picture);
- picture.argb=(uint32_t *) RelinquishMagickMemory(picture.argb);
+ pixel_info=RelinquishVirtualMemory(pixel_info);
(void) CloseBlob(image);
return(webp_status == 0 ? MagickFalse : MagickTrue);
}