diff --git a/coders/webp.c b/coders/webp.c
index 34864f6..57f0110 100644
--- a/coders/webp.c
+++ b/coders/webp.c
@@ -191,7 +191,7 @@
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;
@@ -430,6 +430,9 @@
MagickBooleanType
status;
+ MemoryInfo
+ *pixel_info;
+
register uint32_t
*restrict q;
@@ -544,10 +547,11 @@
/*
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.
*/
@@ -579,7 +583,7 @@
}
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);
}