Forward declarations.
*/
static Image *ComputeUnsharpMaskImageSingle(const Image *image,
- const ChannelType channel,const double radius,const double sigma,
- const double gain,const double threshold,int blurOnly, ExceptionInfo *exception);
+ const double radius,const double sigma,const double gain,
+ const double threshold,int blurOnly,ExceptionInfo *exception);
/*
Helper functions.
*/
-static MagickBooleanType checkAccelerateCondition(const Image* image,
- const ChannelType channel)
+static MagickBooleanType checkAccelerateCondition(const Image* image)
{
/* check if the image's colorspace is supported */
if (image->colorspace != RGBColorspace &&
image->colorspace != GRAYColorspace)
return(MagickFalse);
- /* check if the channel is supported */
- if (((channel & RedChannel) == 0) ||
- ((channel & GreenChannel) == 0) ||
- ((channel & BlueChannel) == 0))
- return(MagickFalse);
-
/* check if the virtual pixel method is compatible with the OpenCL implementation */
if ((GetImageVirtualPixelMethod(image) != UndefinedVirtualPixelMethod) &&
(GetImageVirtualPixelMethod(image) != EdgeVirtualPixelMethod))
return(MagickFalse);
/* check if all channels are available */
- if (((GetPixelRedTraits(image) & UpdatePixelTrait) == 0) ||
- ((GetPixelGreenTraits(image) & UpdatePixelTrait) == 0) ||
- ((GetPixelBlueTraits(image) & UpdatePixelTrait) == 0) ||
+ if ((GetPixelRedTraits(image) == UndefinedPixelTrait) ||
+ (GetPixelGreenTraits(image) == UndefinedPixelTrait) ||
+ (GetPixelBlueTraits(image) == UndefinedPixelTrait) ||
(GetPixelAlphaTraits(image) == UndefinedPixelTrait))
return(MagickFalse);
return(MagickTrue);
}
-static MagickBooleanType checkHistogramCondition(Image *image,
- const ChannelType channel)
+static MagickBooleanType checkHistogramCondition(Image *image)
{
/* ensure this is the only pass get in for now. */
- if ((channel & SyncChannels) == 0)
+ if ((image->channel_mask & SyncChannels) == 0)
return MagickFalse;
if (image->intensity == Rec601LuminancePixelIntensityMethod ||
*/
static Image *ComputeAddNoiseImage(const Image *image,
- const ChannelType channel,const NoiseType noise_type,
- ExceptionInfo *exception)
+ const NoiseType noise_type,ExceptionInfo *exception)
{
CacheView
*filteredImage_view,
clEnv = GetDefaultOpenCLEnv();
context = GetOpenCLContext(clEnv);
queue = AcquireOpenCLCommandQueue(clEnv);
-
+
image_view=AcquireVirtualCacheView(image,exception);
inputPixels=GetCacheViewVirtualPixels(image_view,0,0,image->columns,image->rows,exception);
if (inputPixels == (void *) NULL)
break;
};
- if ((channel & RedChannel) != 0)
+ if ((image->channel_mask & RedChannel) != 0)
numRandomNumberPerPixel+=numRandPerChannel;
- if ((channel & GreenChannel) != 0)
+ if ((image->channel_mask & GreenChannel) != 0)
numRandomNumberPerPixel+=numRandPerChannel;
- if ((channel & BlueChannel) != 0)
+ if ((image->channel_mask & BlueChannel) != 0)
numRandomNumberPerPixel+=numRandPerChannel;
- if ((channel & OpacityChannel) != 0)
+ if ((image->channel_mask & AlphaChannel) != 0)
numRandomNumberPerPixel+=numRandPerChannel;
}
clEnv->library->clSetKernelArg(addNoiseKernel,k++,sizeof(cl_mem),(void *)&imageBuffer);
clEnv->library->clSetKernelArg(addNoiseKernel,k++,sizeof(cl_mem),(void *)&filteredImageBuffer);
clEnv->library->clSetKernelArg(addNoiseKernel,k++,sizeof(cl_uint),(void *)&inputPixelCount);
- clEnv->library->clSetKernelArg(addNoiseKernel,k++,sizeof(cl_uint),(void *)&pixelsPerWorkitem);
- clEnv->library->clSetKernelArg(addNoiseKernel,k++,sizeof(ChannelType),(void *)&channel);
+ clEnv->library->clSetKernelArg(addNoiseKernel,k++,sizeof(cl_uint),(void *)&pixelsPerWorkitem);
+ clEnv->library->clSetKernelArg(addNoiseKernel,k++,sizeof(ChannelType),(void *)&image->channel_mask);
clEnv->library->clSetKernelArg(addNoiseKernel,k++,sizeof(NoiseType),(void *)&noise_type);
attenuate=1.0f;
option=GetImageArtifact(image,"attenuate");
}
MagickExport Image *AccelerateAddNoiseImage(const Image *image,
- const ChannelType channel,const NoiseType noise_type,
- ExceptionInfo *exception)
+ const NoiseType noise_type,ExceptionInfo *exception)
{
Image
*filteredImage;
assert(image != NULL);
assert(exception != (ExceptionInfo *) NULL);
- if ((checkOpenCLEnvironment(exception) == MagickFalse) ||
- (checkAccelerateCondition(image, channel) == MagickFalse))
+ if ((checkAccelerateCondition(image) == MagickFalse) ||
+ (checkOpenCLEnvironment(exception) == MagickFalse))
return NULL;
- filteredImage = ComputeAddNoiseImage(image,channel,noise_type,exception);
-
+ filteredImage=ComputeAddNoiseImage(image,noise_type,exception);
return(filteredImage);
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/
-static Image *ComputeBlurImage(const Image* image,const ChannelType channel,
- const double radius,const double sigma,ExceptionInfo *exception)
+static Image *ComputeBlurImage(const Image* image,const double radius,
+ const double sigma,ExceptionInfo *exception)
{
CacheView
*filteredImage_view,
i = 0;
clStatus=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(cl_mem),(void *)&imageBuffer);
clStatus|=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(cl_mem),(void *)&tempImageBuffer);
- clStatus|=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(ChannelType),&channel);
+ clStatus|=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(ChannelType),&image->channel_mask);
clStatus|=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(cl_mem),(void *)&imageKernelBuffer);
kernelWidth = (unsigned int) kernel->width;
clStatus|=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(unsigned int),(void *)&kernelWidth);
i = 0;
clStatus=clEnv->library->clSetKernelArg(blurColumnKernel,i++,sizeof(cl_mem),(void *)&tempImageBuffer);
clStatus|=clEnv->library->clSetKernelArg(blurColumnKernel,i++,sizeof(cl_mem),(void *)&filteredImageBuffer);
- clStatus|=clEnv->library->clSetKernelArg(blurColumnKernel,i++,sizeof(ChannelType),&channel);
+ clStatus|=clEnv->library->clSetKernelArg(blurColumnKernel,i++,sizeof(ChannelType),&image->channel_mask);
clStatus|=clEnv->library->clSetKernelArg(blurColumnKernel,i++,sizeof(cl_mem),(void *)&imageKernelBuffer);
kernelWidth = (unsigned int) kernel->width;
clStatus|=clEnv->library->clSetKernelArg(blurColumnKernel,i++,sizeof(unsigned int),(void *)&kernelWidth);
}
static Image* ComputeBlurImageSection(const Image* image,
- const ChannelType channel,const double radius,const double sigma,
- ExceptionInfo *exception)
+ const double radius,const double sigma,ExceptionInfo *exception)
{
CacheView
*filteredImage_view,
i = 0;
clStatus=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(cl_mem),(void *)&imageBuffer);
clStatus|=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(cl_mem),(void *)&tempImageBuffer);
- clStatus|=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(ChannelType),&channel);
+ clStatus|=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(ChannelType),&image->channel_mask);
clStatus|=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(cl_mem),(void *)&imageKernelBuffer);
clStatus|=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(unsigned int),(void *)&kernelWidth);
clStatus|=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(unsigned int),(void *)&imageColumns);
i = 0;
clStatus=clEnv->library->clSetKernelArg(blurColumnKernel,i++,sizeof(cl_mem),(void *)&tempImageBuffer);
clStatus|=clEnv->library->clSetKernelArg(blurColumnKernel,i++,sizeof(cl_mem),(void *)&filteredImageBuffer);
- clStatus|=clEnv->library->clSetKernelArg(blurColumnKernel,i++,sizeof(ChannelType),&channel);
+ clStatus|=clEnv->library->clSetKernelArg(blurColumnKernel,i++,sizeof(ChannelType),&image->channel_mask);
clStatus|=clEnv->library->clSetKernelArg(blurColumnKernel,i++,sizeof(cl_mem),(void *)&imageKernelBuffer);
clStatus|=clEnv->library->clSetKernelArg(blurColumnKernel,i++,sizeof(unsigned int),(void *)&kernelWidth);
clStatus|=clEnv->library->clSetKernelArg(blurColumnKernel,i++,sizeof(unsigned int),(void *)&imageColumns);
}
static Image* ComputeBlurImageSingle(const Image* image,
- const ChannelType channel,const double radius,const double sigma,
- ExceptionInfo *exception)
+ const double radius,const double sigma,ExceptionInfo *exception)
{
- return ComputeUnsharpMaskImageSingle(image, channel, radius, sigma, 0.0, 0.0, 1, exception);
+ return ComputeUnsharpMaskImageSingle(image,radius,sigma,0.0,0.0,1,exception);
}
MagickExport Image* AccelerateBlurImage(const Image *image,
- const ChannelType channel,const double radius,const double sigma,
- ExceptionInfo *exception)
+ const double radius,const double sigma,ExceptionInfo *exception)
{
Image
*filteredImage;
assert(image != NULL);
assert(exception != (ExceptionInfo *) NULL);
- if ((checkOpenCLEnvironment(exception) == MagickFalse) ||
- (checkAccelerateCondition(image, channel) == MagickFalse))
+ if ((checkAccelerateCondition(image) == MagickFalse) ||
+ (checkOpenCLEnvironment(exception) == MagickFalse))
return NULL;
if (radius < 12.1)
- filteredImage=ComputeBlurImageSingle(image, channel, radius, sigma, exception);
+ filteredImage=ComputeBlurImageSingle(image,radius,sigma,exception);
else if (splitImage(image) && (image->rows / 2 > radius))
- filteredImage=ComputeBlurImageSection(image, channel, radius, sigma, exception);
+ filteredImage=ComputeBlurImageSection(image,radius,sigma,exception);
else
- filteredImage=ComputeBlurImage(image, channel, radius, sigma, exception);
-
+ filteredImage=ComputeBlurImage(image,radius,sigma,exception);
return(filteredImage);
}
}
static MagickBooleanType ComputeCompositeImage(Image *image,
- const ChannelType channel,const CompositeOperator compose,
- const Image *compositeImage,const ssize_t magick_unused(x_offset),
- const ssize_t magick_unused(y_offset),const float destination_dissolve,
- const float source_dissolve,ExceptionInfo *exception)
+ const CompositeOperator compose,const Image *compositeImage,
+ const float destination_dissolve,const float source_dissolve,ExceptionInfo *exception)
{
CacheView
*image_view;
void
*inputPixels;
- magick_unreferenced(x_offset);
- magick_unreferenced(y_offset);
-
status = MagickFalse;
outputReady = MagickFalse;
composePixels = NULL;
(unsigned int) image->columns,
(unsigned int) image->rows,
(unsigned int) (image->alpha_trait > CopyPixelTrait) ? 1 : 0,
- channel, compose, compositeImageBuffer,
+ image->channel_mask, compose, compositeImageBuffer,
(unsigned int) compositeImage->columns,
(unsigned int) compositeImage->rows,
destination_dissolve,source_dissolve,
}
MagickExport MagickBooleanType AccelerateCompositeImage(Image *image,
- const ChannelType channel,const CompositeOperator compose,
- const Image *composite,const ssize_t x_offset,const ssize_t y_offset,
+ const CompositeOperator compose,const Image *composite,
const float destination_dissolve,const float source_dissolve,
ExceptionInfo *exception)
{
assert(image != NULL);
assert(exception != (ExceptionInfo *) NULL);
- if ((checkOpenCLEnvironment(exception) == MagickFalse) ||
- (checkAccelerateCondition(image, channel) == MagickFalse))
+ if ((checkAccelerateCondition(image) == MagickFalse) ||
+ (checkOpenCLEnvironment(exception) == MagickFalse))
return(MagickFalse);
- /* only support zero offset and
- images with the size for now */
- if (x_offset!=0
- || y_offset!=0
- || image->columns!=composite->columns
- || image->rows!=composite->rows)
+ /* only support images with the size for now */
+ if ((image->columns != composite->columns) ||
+ (image->rows != composite->rows))
return MagickFalse;
- switch(compose) {
- case ColorDodgeCompositeOp:
- case BlendCompositeOp:
- break;
- default:
- // unsupported compose operator, quit
- return MagickFalse;
+ switch(compose)
+ {
+ case ColorDodgeCompositeOp:
+ case BlendCompositeOp:
+ break;
+ default:
+ // unsupported compose operator, quit
+ return MagickFalse;
};
- status = ComputeCompositeImage(image,channel,compose,composite,
- x_offset,y_offset,destination_dissolve,source_dissolve,exception);
-
+ status=ComputeCompositeImage(image,compose,composite,destination_dissolve,
+ source_dissolve,exception);
return(status);
}
assert(image != NULL);
assert(exception != (ExceptionInfo *) NULL);
- if ((checkOpenCLEnvironment(exception) == MagickFalse) ||
- (checkAccelerateCondition(image, AllChannels) == MagickFalse))
+ if ((checkAccelerateCondition(image) == MagickFalse) ||
+ (checkOpenCLEnvironment(exception) == MagickFalse))
return(MagickFalse);
- status = ComputeContrastImage(image,sharpen,exception);
+ status=ComputeContrastImage(image,sharpen,exception);
return(status);
}
}
static MagickBooleanType ComputeContrastStretchImage(Image *image,
- const ChannelType channel,const double black_point,const double white_point,
- ExceptionInfo *exception)
+ const double black_point,const double white_point,ExceptionInfo *exception)
{
#define ContrastStretchImageTag "ContrastStretch/Image"
#define MaxRange(color) ((MagickRealType) ScaleQuantumToMap((Quantum) (color)))
goto cleanup;
}
- status = LaunchHistogramKernel(clEnv, queue, imageBuffer, histogramBuffer, image, channel, exception);
+ status = LaunchHistogramKernel(clEnv, queue, imageBuffer, histogramBuffer, image, image->channel_mask, exception);
if (status == MagickFalse)
goto cleanup;
*/
black.red=0.0;
white.red=MaxRange(QuantumRange);
- if ((channel & RedChannel) != 0)
+ if ((image->channel_mask & RedChannel) != 0)
{
intensity=0.0;
for (i=0; i <= (ssize_t) MaxMap; i++)
}
black.green=0.0;
white.green=MaxRange(QuantumRange);
- if ((channel & GreenChannel) != 0)
+ if ((image->channel_mask & GreenChannel) != 0)
{
intensity=0.0;
for (i=0; i <= (ssize_t) MaxMap; i++)
}
black.blue=0.0;
white.blue=MaxRange(QuantumRange);
- if ((channel & BlueChannel) != 0)
+ if ((image->channel_mask & BlueChannel) != 0)
{
intensity=0.0;
for (i=0; i <= (ssize_t) MaxMap; i++)
}
black.alpha=0.0;
white.alpha=MaxRange(QuantumRange);
- if ((channel & OpacityChannel) != 0)
+ if ((image->channel_mask & AlphaChannel) != 0)
{
intensity=0.0;
for (i=0; i <= (ssize_t) MaxMap; i++)
(void) ResetMagickMemory(stretch_map,0,(MaxMap+1)*sizeof(*stretch_map));
for (i=0; i <= (ssize_t) MaxMap; i++)
{
- if ((channel & RedChannel) != 0)
+ if ((image->channel_mask & RedChannel) != 0)
{
if (i < (ssize_t) black.red)
stretch_map[i].red=(Quantum) 0;
stretch_map[i].red=ScaleMapToQuantum((MagickRealType) (MaxMap*
(i-black.red)/(white.red-black.red)));
}
- if ((channel & GreenChannel) != 0)
+ if ((image->channel_mask & GreenChannel) != 0)
{
if (i < (ssize_t) black.green)
stretch_map[i].green=0;
stretch_map[i].green=ScaleMapToQuantum((MagickRealType) (MaxMap*
(i-black.green)/(white.green-black.green)));
}
- if ((channel & BlueChannel) != 0)
+ if ((image->channel_mask & BlueChannel) != 0)
{
if (i < (ssize_t) black.blue)
stretch_map[i].blue=0;
stretch_map[i].blue=ScaleMapToQuantum((MagickRealType) (MaxMap*
(i-black.blue)/(white.blue-black.blue)));
}
- if ((channel & OpacityChannel) != 0)
+ if ((image->channel_mask & AlphaChannel) != 0)
{
if (i < (ssize_t) black.alpha)
stretch_map[i].alpha=0;
/*
Stretch the image.
*/
- if (((channel & OpacityChannel) != 0) || (((channel & IndexChannel) != 0) &&
+ if (((image->channel_mask & AlphaChannel) != 0) || (((image->channel_mask & IndexChannel) != 0) &&
(image->colorspace == CMYKColorspace)))
image->storage_class=DirectClass;
if (image->storage_class == PseudoClass)
*/
for (i=0; i < (ssize_t) image->colors; i++)
{
- if ((channel & RedChannel) != 0)
+ if ((image->channel_mask & RedChannel) != 0)
{
if (black.red != white.red)
image->colormap[i].red=stretch_map[
ScaleQuantumToMap(image->colormap[i].red)].red;
}
- if ((channel & GreenChannel) != 0)
+ if ((image->channel_mask & GreenChannel) != 0)
{
if (black.green != white.green)
image->colormap[i].green=stretch_map[
ScaleQuantumToMap(image->colormap[i].green)].green;
}
- if ((channel & BlueChannel) != 0)
+ if ((image->channel_mask & BlueChannel) != 0)
{
if (black.blue != white.blue)
image->colormap[i].blue=stretch_map[
ScaleQuantumToMap(image->colormap[i].blue)].blue;
}
- if ((channel & OpacityChannel) != 0)
+ if ((image->channel_mask & AlphaChannel) != 0)
{
if (black.alpha != white.alpha)
image->colormap[i].alpha=stretch_map[
/* set the kernel arguments */
i = 0;
clStatus=clEnv->library->clSetKernelArg(stretchKernel,i++,sizeof(cl_mem),(void *)&imageBuffer);
- clStatus|=clEnv->library->clSetKernelArg(stretchKernel,i++,sizeof(ChannelType),&channel);
+ clStatus|=clEnv->library->clSetKernelArg(stretchKernel,i++,sizeof(ChannelType),&image->channel_mask);
clStatus|=clEnv->library->clSetKernelArg(stretchKernel,i++,sizeof(cl_mem),(void *)&stretchMapBuffer);
clStatus|=clEnv->library->clSetKernelArg(stretchKernel,i++,sizeof(FloatPixelPacket),&white);
clStatus|=clEnv->library->clSetKernelArg(stretchKernel,i++,sizeof(FloatPixelPacket),&black);
}
MagickExport MagickBooleanType AccelerateContrastStretchImage(
- Image *image,const ChannelType channel,const double black_point,
- const double white_point,ExceptionInfo *exception)
+ Image *image,const double black_point,const double white_point,
+ ExceptionInfo *exception)
{
MagickBooleanType
status;
assert(image != NULL);
assert(exception != (ExceptionInfo *) NULL);
- if ((checkOpenCLEnvironment(exception) == MagickFalse) ||
- (checkAccelerateCondition(image, channel) == MagickFalse) ||
- (checkHistogramCondition(image, channel) == MagickFalse))
+ if ((checkAccelerateCondition(image) == MagickFalse) ||
+ (checkHistogramCondition(image) == MagickFalse) ||
+ (checkOpenCLEnvironment(exception) == MagickFalse))
return(MagickFalse);
- status=ComputeContrastStretchImage(image,channel, black_point, white_point, exception);
+ status=ComputeContrastStretchImage(image,black_point,white_point,exception);
return(status);
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/
-static Image *ComputeConvolveImage(const Image* image,
- const ChannelType channel,const KernelInfo *kernel,ExceptionInfo *exception)
+static Image *ComputeConvolveImage(const Image* image,const KernelInfo *kernel,
+ ExceptionInfo *exception)
{
CacheView
*filteredImage_view,
clStatus|=clEnv->library->clSetKernelArg(clkernel,i++,sizeof(unsigned int),(void *)&filterHeight);
matte = (image->alpha_trait > CopyPixelTrait)?1:0;
clStatus|=clEnv->library->clSetKernelArg(clkernel,i++,sizeof(unsigned int),(void *)&matte);
- clStatus|=clEnv->library->clSetKernelArg(clkernel,i++,sizeof(ChannelType),(void *)&channel);
+ clStatus|=clEnv->library->clSetKernelArg(clkernel,i++,sizeof(ChannelType),(void *)&image->channel_mask);
clStatus|=clEnv->library->clSetKernelArg(clkernel,i++, (localGroupSize[0] + kernel->width-1)*(localGroupSize[1] + kernel->height-1)*sizeof(CLPixelPacket),NULL);
clStatus|=clEnv->library->clSetKernelArg(clkernel,i++, kernel->width*kernel->height*sizeof(float),NULL);
if (clStatus != CL_SUCCESS)
clStatus|=clEnv->library->clSetKernelArg(clkernel,i++,sizeof(unsigned int),(void *)&filterHeight);
matte = (image->alpha_trait > CopyPixelTrait)?1:0;
clStatus|=clEnv->library->clSetKernelArg(clkernel,i++,sizeof(unsigned int),(void *)&matte);
- clStatus|=clEnv->library->clSetKernelArg(clkernel,i++,sizeof(ChannelType),(void *)&channel);
+ clStatus|=clEnv->library->clSetKernelArg(clkernel,i++,sizeof(ChannelType),(void *)&image->channel_mask);
if (clStatus != CL_SUCCESS)
{
(void) OpenCLThrowMagickException(exception, GetMagickModule(), ResourceLimitWarning, "clEnv->library->clSetKernelArg failed.", "'%s'", ".");
}
MagickExport Image *AccelerateConvolveImage(const Image *image,
- const ChannelType channel,const KernelInfo *kernel,ExceptionInfo *exception)
+ const KernelInfo *kernel,ExceptionInfo *exception)
{
Image
*filteredImage;
assert(kernel != (KernelInfo *) NULL);
assert(exception != (ExceptionInfo *) NULL);
- if ((checkOpenCLEnvironment(exception) == MagickFalse) ||
- (checkAccelerateCondition(image, channel) == MagickFalse))
+ if ((checkAccelerateCondition(image) == MagickFalse) ||
+ (checkOpenCLEnvironment(exception) == MagickFalse))
return NULL;
- filteredImage=ComputeConvolveImage(image, channel, kernel, exception);
+ filteredImage=ComputeConvolveImage(image,kernel,exception);
return(filteredImage);
}
assert(image != NULL);
assert(exception != (ExceptionInfo *) NULL);
- if ((checkOpenCLEnvironment(exception) == MagickFalse) ||
- (checkAccelerateCondition(image, AllChannels) == MagickFalse))
+ if ((checkAccelerateCondition(image) == MagickFalse) ||
+ (checkOpenCLEnvironment(exception) == MagickFalse))
return NULL;
filteredImage=ComputeDespeckleImage(image,exception);
*/
static MagickBooleanType ComputeEqualizeImage(Image *image,
- const ChannelType channel,ExceptionInfo *exception)
+ ExceptionInfo *exception)
{
#define EqualizeImageTag "Equalize/Image"
goto cleanup;
}
- status = LaunchHistogramKernel(clEnv, queue, imageBuffer, histogramBuffer, image, channel, exception);
+ status = LaunchHistogramKernel(clEnv, queue, imageBuffer, histogramBuffer, image, image->channel_mask, exception);
if (status == MagickFalse)
goto cleanup;
(void) ResetMagickMemory(&intensity,0,sizeof(intensity));
for (i=0; i <= (ssize_t) MaxMap; i++)
{
- if ((channel & SyncChannels) != 0)
+ if ((image->channel_mask & SyncChannels) != 0)
{
intensity.red+=histogram[i].s[2];
map[i]=intensity;
continue;
}
- if ((channel & RedChannel) != 0)
+ if ((image->channel_mask & RedChannel) != 0)
intensity.red+=histogram[i].s[2];
- if ((channel & GreenChannel) != 0)
+ if ((image->channel_mask & GreenChannel) != 0)
intensity.green+=histogram[i].s[1];
- if ((channel & BlueChannel) != 0)
+ if ((image->channel_mask & BlueChannel) != 0)
intensity.blue+=histogram[i].s[0];
- if ((channel & OpacityChannel) != 0)
+ if ((image->channel_mask & AlphaChannel) != 0)
intensity.alpha+=histogram[i].s[3];
/*
if (((channel & IndexChannel) != 0) &&
(void) ResetMagickMemory(equalize_map,0,(MaxMap+1)*sizeof(*equalize_map));
for (i=0; i <= (ssize_t) MaxMap; i++)
{
- if ((channel & SyncChannels) != 0)
+ if ((image->channel_mask & SyncChannels) != 0)
{
if (white.red != black.red)
equalize_map[i].red=ScaleMapToQuantum((MagickRealType) ((MaxMap*
(map[i].red-black.red))/(white.red-black.red)));
continue;
}
- if (((channel & RedChannel) != 0) && (white.red != black.red))
+ if (((image->channel_mask & RedChannel) != 0) && (white.red != black.red))
equalize_map[i].red=ScaleMapToQuantum((MagickRealType) ((MaxMap*
(map[i].red-black.red))/(white.red-black.red)));
- if (((channel & GreenChannel) != 0) && (white.green != black.green))
+ if (((image->channel_mask & GreenChannel) != 0) && (white.green != black.green))
equalize_map[i].green=ScaleMapToQuantum((MagickRealType) ((MaxMap*
(map[i].green-black.green))/(white.green-black.green)));
- if (((channel & BlueChannel) != 0) && (white.blue != black.blue))
+ if (((image->channel_mask & BlueChannel) != 0) && (white.blue != black.blue))
equalize_map[i].blue=ScaleMapToQuantum((MagickRealType) ((MaxMap*
(map[i].blue-black.blue))/(white.blue-black.blue)));
- if (((channel & OpacityChannel) != 0) && (white.alpha != black.alpha))
+ if (((image->channel_mask & AlphaChannel) != 0) && (white.alpha != black.alpha))
equalize_map[i].alpha=ScaleMapToQuantum((MagickRealType) ((MaxMap*
(map[i].alpha-black.alpha))/(white.alpha-black.alpha)));
/*
*/
for (i=0; i < (ssize_t) image->colors; i++)
{
- if ((channel & SyncChannels) != 0)
+ if ((image->channel_mask & SyncChannels) != 0)
{
if (white.red != black.red)
{
}
continue;
}
- if (((channel & RedChannel) != 0) && (white.red != black.red))
+ if (((image->channel_mask & RedChannel) != 0) && (white.red != black.red))
image->colormap[i].red=equalize_map[
ScaleQuantumToMap(image->colormap[i].red)].red;
- if (((channel & GreenChannel) != 0) && (white.green != black.green))
+ if (((image->channel_mask & GreenChannel) != 0) && (white.green != black.green))
image->colormap[i].green=equalize_map[
ScaleQuantumToMap(image->colormap[i].green)].green;
- if (((channel & BlueChannel) != 0) && (white.blue != black.blue))
+ if (((image->channel_mask & BlueChannel) != 0) && (white.blue != black.blue))
image->colormap[i].blue=equalize_map[
ScaleQuantumToMap(image->colormap[i].blue)].blue;
- if (((channel & OpacityChannel) != 0) &&
+ if (((image->channel_mask & AlphaChannel) != 0) &&
(white.alpha != black.alpha))
image->colormap[i].alpha=equalize_map[
ScaleQuantumToMap(image->colormap[i].alpha)].alpha;
/* set the kernel arguments */
i = 0;
clStatus=clEnv->library->clSetKernelArg(equalizeKernel,i++,sizeof(cl_mem),(void *)&imageBuffer);
- clStatus|=clEnv->library->clSetKernelArg(equalizeKernel,i++,sizeof(ChannelType),&channel);
+ clStatus|=clEnv->library->clSetKernelArg(equalizeKernel,i++,sizeof(ChannelType),&image->channel_mask);
clStatus|=clEnv->library->clSetKernelArg(equalizeKernel,i++,sizeof(cl_mem),(void *)&equalizeMapBuffer);
clStatus|=clEnv->library->clSetKernelArg(equalizeKernel,i++,sizeof(FloatPixelPacket),&white);
clStatus|=clEnv->library->clSetKernelArg(equalizeKernel,i++,sizeof(FloatPixelPacket),&black);
}
MagickExport MagickBooleanType AccelerateEqualizeImage(Image *image,
- const ChannelType channel,ExceptionInfo *exception)
+ ExceptionInfo *exception)
{
MagickBooleanType
status;
assert(image != NULL);
assert(exception != (ExceptionInfo *) NULL);
- if ((checkOpenCLEnvironment(exception) == MagickFalse) ||
- (checkAccelerateCondition(image, channel) == MagickFalse) ||
- (checkHistogramCondition(image, channel) == MagickFalse))
+ if ((checkAccelerateCondition(image) == MagickFalse) ||
+ (checkHistogramCondition(image) == MagickFalse) ||
+ (checkOpenCLEnvironment(exception) == MagickFalse))
return(MagickFalse);
- status=ComputeEqualizeImage(image,channel,exception);
+ status=ComputeEqualizeImage(image,exception);
return(status);
}
*/
static MagickBooleanType ComputeFunctionImage(Image *image,
- const ChannelType channel,const MagickFunction function,
- const size_t number_parameters,const double *parameters,
- ExceptionInfo *exception)
+ const MagickFunction function,const size_t number_parameters,
+ const double *parameters,ExceptionInfo *exception)
{
CacheView
*image_view;
/* set the kernel arguments */
i = 0;
clStatus =clEnv->library->clSetKernelArg(clkernel,i++,sizeof(cl_mem),(void *)&imageBuffer);
- clStatus|=clEnv->library->clSetKernelArg(clkernel,i++,sizeof(ChannelType),(void *)&channel);
+ clStatus|=clEnv->library->clSetKernelArg(clkernel,i++,sizeof(ChannelType),(void *)&image->channel_mask);
clStatus|=clEnv->library->clSetKernelArg(clkernel,i++,sizeof(MagickFunction),(void *)&function);
clStatus|=clEnv->library->clSetKernelArg(clkernel,i++,sizeof(unsigned int),(void *)&number_parameters);
clStatus|=clEnv->library->clSetKernelArg(clkernel,i++,sizeof(cl_mem),(void *)¶metersBuffer);
}
MagickExport MagickBooleanType AccelerateFunctionImage(Image *image,
- const ChannelType channel,const MagickFunction function,
- const size_t number_parameters,const double *parameters,
- ExceptionInfo *exception)
+ const MagickFunction function,const size_t number_parameters,
+ const double *parameters,ExceptionInfo *exception)
{
MagickBooleanType
status;
assert(image != NULL);
assert(exception != (ExceptionInfo *) NULL);
- if ((checkOpenCLEnvironment(exception) == MagickFalse) ||
- (checkAccelerateCondition(image, channel) == MagickFalse))
+ if ((checkAccelerateCondition(image) == MagickFalse) ||
+ (checkOpenCLEnvironment(exception) == MagickFalse))
return(MagickFalse);
- status=ComputeFunctionImage(image, channel, function, number_parameters, parameters, exception);
+ status=ComputeFunctionImage(image,function,number_parameters,parameters,
+ exception);
return(status);
}
assert(image != NULL);
assert(exception != (ExceptionInfo *) NULL);
- if ((checkOpenCLEnvironment(exception) == MagickFalse) ||
- (checkAccelerateCondition(image, AllChannels) == MagickFalse))
+ if ((checkAccelerateCondition(image) == MagickFalse) ||
+ (checkOpenCLEnvironment(exception) == MagickFalse))
return(MagickFalse);
- if (method == Rec601LuminancePixelIntensityMethod || method == Rec709LuminancePixelIntensityMethod)
+ if ((method == Rec601LuminancePixelIntensityMethod) ||
+ (method == Rec709LuminancePixelIntensityMethod))
return(MagickFalse);
if (image->colorspace != sRGBColorspace)
assert(image != NULL);
assert(exception != (ExceptionInfo *) NULL);
- if ((checkOpenCLEnvironment(exception) == MagickFalse) ||
- (checkAccelerateCondition(image, AllChannels) == MagickFalse))
+ if ((checkAccelerateCondition(image) == MagickFalse) ||
+ (checkOpenCLEnvironment(exception) == MagickFalse))
return NULL;
filteredImage=ComputeLocalContrastImage(image,radius,strength,exception);
-
return(filteredImage);
}
*/
static MagickBooleanType ComputeModulateImage(Image *image,
- double percent_brightness,double percent_hue,double percent_saturation,
- ColorspaceType colorspace,ExceptionInfo *exception)
+ const double percent_brightness,const double percent_hue,
+ const double percent_saturation,const ColorspaceType colorspace,
+ ExceptionInfo *exception)
{
CacheView
*image_view;
}
MagickExport MagickBooleanType AccelerateModulateImage(Image *image,
- double percent_brightness,double percent_hue,double percent_saturation,
- ColorspaceType colorspace,ExceptionInfo *exception)
+ const double percent_brightness,const double percent_hue,
+ const double percent_saturation,const ColorspaceType colorspace,
+ ExceptionInfo *exception)
{
MagickBooleanType
status;
assert(image != NULL);
assert(exception != (ExceptionInfo *) NULL);
- if ((checkOpenCLEnvironment(exception) == MagickFalse) ||
- (checkAccelerateCondition(image, AllChannels) == MagickFalse))
+ if ((checkAccelerateCondition(image) == MagickFalse) ||
+ (checkOpenCLEnvironment(exception) == MagickFalse))
return(MagickFalse);
- if ((colorspace != HSLColorspace && colorspace != UndefinedColorspace))
+ if ((colorspace != HSLColorspace) && (colorspace != UndefinedColorspace))
return(MagickFalse);
- status = ComputeModulateImage(image,percent_brightness, percent_hue, percent_saturation, colorspace, exception);
+ status=ComputeModulateImage(image,percent_brightness,percent_hue,
+ percent_saturation,colorspace,exception);
return(status);
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/
-static Image* ComputeMotionBlurImage(const Image *image,
- const ChannelType channel,const double *kernel,const size_t width,
- const OffsetInfo *offset,ExceptionInfo *exception)
+static Image* ComputeMotionBlurImage(const Image *image,const double *kernel,
+ const size_t width,const OffsetInfo *offset,ExceptionInfo *exception)
{
CacheView
*filteredImage_view,
biasPixel.s[3] = bias.alpha;
clStatus|=clEnv->library->clSetKernelArg(motionBlurKernel,i++,sizeof(cl_float4), &biasPixel);
- clStatus|=clEnv->library->clSetKernelArg(motionBlurKernel,i++,sizeof(ChannelType), &channel);
+ clStatus|=clEnv->library->clSetKernelArg(motionBlurKernel,i++,sizeof(ChannelType), &image->channel_mask);
matte = (image->alpha_trait > CopyPixelTrait)?1:0;
clStatus|=clEnv->library->clSetKernelArg(motionBlurKernel,i++,sizeof(unsigned int), &matte);
if (clStatus != CL_SUCCESS)
}
MagickExport Image *AccelerateMotionBlurImage(const Image *image,
- const ChannelType channel,const double* kernel,const size_t width,
- const OffsetInfo *offset,ExceptionInfo *exception)
+ const double* kernel,const size_t width,const OffsetInfo *offset,
+ ExceptionInfo *exception)
{
Image
*filteredImage;
assert(offset != (OffsetInfo *) NULL);
assert(exception != (ExceptionInfo *) NULL);
- if ((checkOpenCLEnvironment(exception) == MagickFalse) ||
- (checkAccelerateCondition(image, channel) == MagickFalse))
+ if ((checkAccelerateCondition(image) == MagickFalse) ||
+ (checkOpenCLEnvironment(exception) == MagickFalse))
return NULL;
- filteredImage=ComputeMotionBlurImage(image, channel, kernel, width,
- offset, exception);
+ filteredImage=ComputeMotionBlurImage(image,kernel,width,offset,exception);
return(filteredImage);
}
assert(image != NULL);
assert(exception != (ExceptionInfo *) NULL);
- if ((checkOpenCLEnvironment(exception) == MagickFalse) ||
- (checkAccelerateCondition(image, AllChannels) == MagickFalse))
+ if ((checkAccelerateCondition(image) == MagickFalse) ||
+ (checkOpenCLEnvironment(exception) == MagickFalse))
return(MagickFalse);
status=ComputeRandomImage(image,exception);
assert(image != NULL);
assert(exception != (ExceptionInfo *) NULL);
- if ((checkOpenCLEnvironment(exception) == MagickFalse) ||
- (checkAccelerateCondition(image, AllChannels) == MagickFalse))
+ if ((checkAccelerateCondition(image) == MagickFalse) ||
+ (checkOpenCLEnvironment(exception) == MagickFalse))
return NULL;
- if (gpuSupportedResizeWeighting(GetResizeFilterWeightingType(resizeFilter)) == MagickFalse ||
- gpuSupportedResizeWeighting(GetResizeFilterWindowWeightingType(resizeFilter)) == MagickFalse)
+ if ((gpuSupportedResizeWeighting(GetResizeFilterWeightingType(
+ resizeFilter)) == MagickFalse) ||
+ (gpuSupportedResizeWeighting(GetResizeFilterWindowWeightingType(
+ resizeFilter)) == MagickFalse))
return NULL;
- filteredImage=ComputeResizeImage(image,resizedColumns,resizedRows,resizeFilter,exception);
+ filteredImage=ComputeResizeImage(image,resizedColumns,resizedRows,
+ resizeFilter,exception);
return(filteredImage);
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/
-static Image* ComputeRotationalBlurImage(const Image *image,
- const ChannelType channel,const double angle,ExceptionInfo *exception)
+static Image* ComputeRotationalBlurImage(const Image *image,const double angle,
+ ExceptionInfo *exception)
{
CacheView
*image_view,
biasPixel.s[2] = bias.blue;
biasPixel.s[3] = bias.alpha;
clStatus|=clEnv->library->clSetKernelArg(rotationalBlurKernel,i++,sizeof(cl_float4), &biasPixel);
- clStatus|=clEnv->library->clSetKernelArg(rotationalBlurKernel,i++,sizeof(ChannelType), &channel);
+ clStatus|=clEnv->library->clSetKernelArg(rotationalBlurKernel,i++,sizeof(ChannelType), &image->channel_mask);
matte = (image->alpha_trait > CopyPixelTrait)?1:0;
clStatus|=clEnv->library->clSetKernelArg(rotationalBlurKernel,i++,sizeof(unsigned int), &matte);
}
MagickExport Image* AccelerateRotationalBlurImage(const Image *image,
- const ChannelType channel,const double angle,ExceptionInfo *exception)
+ const double angle,ExceptionInfo *exception)
{
Image
*filteredImage;
assert(image != NULL);
assert(exception != (ExceptionInfo *) NULL);
- if ((checkOpenCLEnvironment(exception) == MagickFalse) ||
- (checkAccelerateCondition(image, channel) == MagickFalse))
+ if ((checkAccelerateCondition(image) == MagickFalse) ||
+ (checkOpenCLEnvironment(exception) == MagickFalse))
return NULL;
- filteredImage=ComputeRotationalBlurImage(image, channel, angle, exception);
+ filteredImage=ComputeRotationalBlurImage(image,angle,exception);
return filteredImage;
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/
-static Image *ComputeUnsharpMaskImage(const Image *image,
- const ChannelType channel,const double radius,const double sigma,
- const double gain,const double threshold,ExceptionInfo *exception)
+static Image *ComputeUnsharpMaskImage(const Image *image,const double radius,
+ const double sigma,const double gain,const double threshold,
+ ExceptionInfo *exception)
{
CacheView
*filteredImage_view,
i = 0;
clStatus=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(cl_mem),(void *)&imageBuffer);
clStatus|=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(cl_mem),(void *)&tempImageBuffer);
- clStatus|=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(ChannelType),&channel);
+ clStatus|=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(ChannelType),&image->channel_mask);
clStatus|=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(cl_mem),(void *)&imageKernelBuffer);
clStatus|=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(unsigned int),(void *)&kernelWidth);
clStatus|=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(unsigned int),(void *)&imageColumns);
clStatus|=clEnv->library->clSetKernelArg(unsharpMaskBlurColumnKernel,i++,sizeof(unsigned int),(void *)&imageRows);
clStatus|=clEnv->library->clSetKernelArg(unsharpMaskBlurColumnKernel,i++, (chunkSize+kernelWidth-1)*sizeof(cl_float4),NULL);
clStatus|=clEnv->library->clSetKernelArg(unsharpMaskBlurColumnKernel,i++, kernelWidth*sizeof(float),NULL);
- clStatus|=clEnv->library->clSetKernelArg(unsharpMaskBlurColumnKernel,i++,sizeof(ChannelType),&channel);
+ clStatus|=clEnv->library->clSetKernelArg(unsharpMaskBlurColumnKernel,i++,sizeof(ChannelType),&image->channel_mask);
clStatus|=clEnv->library->clSetKernelArg(unsharpMaskBlurColumnKernel,i++,sizeof(cl_mem),(void *)&imageKernelBuffer);
clStatus|=clEnv->library->clSetKernelArg(unsharpMaskBlurColumnKernel,i++,sizeof(unsigned int),(void *)&kernelWidth);
clStatus|=clEnv->library->clSetKernelArg(unsharpMaskBlurColumnKernel,i++,sizeof(float),(void *)&fGain);
}
static Image *ComputeUnsharpMaskImageSection(const Image *image,
- const ChannelType channel,const double radius,const double sigma,
- const double gain,const double threshold,ExceptionInfo *exception)
+ const double radius,const double sigma,const double gain,
+ const double threshold,ExceptionInfo *exception)
{
CacheView
*filteredImage_view,
i = 0;
clStatus=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(cl_mem),(void *)&imageBuffer);
clStatus|=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(cl_mem),(void *)&tempImageBuffer);
- clStatus|=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(ChannelType),&channel);
+ clStatus|=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(ChannelType),&image->channel_mask);
clStatus|=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(cl_mem),(void *)&imageKernelBuffer);
clStatus|=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(unsigned int),(void *)&kernelWidth);
clStatus|=clEnv->library->clSetKernelArg(blurRowKernel,i++,sizeof(unsigned int),(void *)&imageColumns);
clStatus|=clEnv->library->clSetKernelArg(unsharpMaskBlurColumnKernel,i++,sizeof(unsigned int),(void *)&imageRows);
clStatus|=clEnv->library->clSetKernelArg(unsharpMaskBlurColumnKernel,i++, (chunkSize+kernelWidth-1)*sizeof(cl_float4),NULL);
clStatus|=clEnv->library->clSetKernelArg(unsharpMaskBlurColumnKernel,i++, kernelWidth*sizeof(float),NULL);
- clStatus|=clEnv->library->clSetKernelArg(unsharpMaskBlurColumnKernel,i++,sizeof(ChannelType),&channel);
+ clStatus|=clEnv->library->clSetKernelArg(unsharpMaskBlurColumnKernel,i++,sizeof(ChannelType),&image->channel_mask);
clStatus|=clEnv->library->clSetKernelArg(unsharpMaskBlurColumnKernel,i++,sizeof(cl_mem),(void *)&imageKernelBuffer);
clStatus|=clEnv->library->clSetKernelArg(unsharpMaskBlurColumnKernel,i++,sizeof(unsigned int),(void *)&kernelWidth);
clStatus|=clEnv->library->clSetKernelArg(unsharpMaskBlurColumnKernel,i++,sizeof(float),(void *)&fGain);
}
static Image *ComputeUnsharpMaskImageSingle(const Image *image,
- const ChannelType channel,const double radius,const double sigma,
- const double gain,const double threshold,int blurOnly, ExceptionInfo *exception)
+ const double radius,const double sigma,const double gain,
+ const double threshold,int blurOnly, ExceptionInfo *exception)
{
CacheView
*filteredImage_view,
}
MagickExport Image *AccelerateUnsharpMaskImage(const Image *image,
- const ChannelType channel,const double radius,const double sigma,
- const double gain,const double threshold,ExceptionInfo *exception)
+ const double radius,const double sigma,const double gain,
+ const double threshold,ExceptionInfo *exception)
{
Image
*filteredImage;
assert(image != NULL);
assert(exception != (ExceptionInfo *) NULL);
- if ((checkOpenCLEnvironment(exception) == MagickFalse) ||
- (checkAccelerateCondition(image, channel) == MagickFalse))
+ if ((checkAccelerateCondition(image) == MagickFalse) ||
+ (checkOpenCLEnvironment(exception) == MagickFalse))
return NULL;
if (radius < 12.1)
- filteredImage = ComputeUnsharpMaskImageSingle(image,channel,radius,sigma,gain,threshold, 0, exception);
- else if (splitImage(image) && (image->rows / 2 > radius))
- filteredImage = ComputeUnsharpMaskImageSection(image,channel,radius,sigma,gain,threshold,exception);
+ filteredImage=ComputeUnsharpMaskImageSingle(image,radius,sigma,gain,
+ threshold,0,exception);
+ else if (splitImage(image) && (image->rows / 2 > radius))
+ filteredImage=ComputeUnsharpMaskImageSection(image,radius,sigma,gain,
+ threshold,exception);
else
- filteredImage = ComputeUnsharpMaskImage(image,channel,radius,sigma,gain,threshold,exception);
+ filteredImage=ComputeUnsharpMaskImage(image,radius,sigma,gain,threshold,
+ exception);
return(filteredImage);
}
#else /* MAGICKCORE_OPENCL_SUPPORT */
MagickExport Image *AccelerateAddNoiseImage(const Image *magick_unused(image),
- const ChannelType magick_unused(channel),
const NoiseType magick_unused(noise_type),
- ExceptionInfo *magick_unused(exception))
+ ExceptionInfo *magick_unused(exception))
{
magick_unreferenced(image);
- magick_unreferenced(channel);
magick_unreferenced(noise_type);
magick_unreferenced(exception);
return((Image *) NULL);
}
MagickExport Image *AccelerateBlurImage(const Image *magick_unused(image),
- const ChannelType magick_unused(channel),const double magick_unused(radius),
- const double magick_unused(sigma),ExceptionInfo *magick_unused(exception))
+ const double magick_unused(radius),const double magick_unused(sigma),
+ ExceptionInfo *magick_unused(exception))
{
magick_unreferenced(image);
- magick_unreferenced(channel);
magick_unreferenced(radius);
magick_unreferenced(sigma);
magick_unreferenced(exception);
}
MagickExport MagickBooleanType AccelerateCompositeImage(
- Image *magick_unused(image),const ChannelType magick_unused(channel),
- const CompositeOperator magick_unused(compose),
+ Image *magick_unused(image),const CompositeOperator magick_unused(compose),
const Image *magick_unused(composite),const ssize_t magick_unused(x_offset),
const ssize_t magick_unused(y_offset),
const float magick_unused(destination_dissolve),
ExceptionInfo *magick_unused(exception))
{
magick_unreferenced(image);
- magick_unreferenced(channel);
magick_unreferenced(compose);
magick_unreferenced(composite);
magick_unreferenced(x_offset);
}
MagickExport MagickBooleanType AccelerateContrastStretchImage(
- Image *magick_unused(image),const ChannelType magick_unused(channel),
- const double magick_unused(black_point),
+ Image *magick_unused(image),const double magick_unused(black_point),
const double magick_unused(white_point),
ExceptionInfo* magick_unused(exception))
{
magick_unreferenced(image);
- magick_unreferenced(channel);
magick_unreferenced(black_point);
magick_unreferenced(white_point);
magick_unreferenced(exception);
return(MagickFalse);
}
-MagickExport Image *AccelerateConvolveImage(
- const Image *magick_unused(image),const ChannelType magick_unused(channel),
+MagickExport Image *AccelerateConvolveImage(const Image *magick_unused(image),
const KernelInfo *magick_unused(kernel),
ExceptionInfo *magick_unused(exception))
{
magick_unreferenced(image);
- magick_unreferenced(channel);
magick_unreferenced(kernel);
magick_unreferenced(exception);
}
MagickExport MagickBooleanType AccelerateEqualizeImage(
- Image* magick_unused(image), const ChannelType magick_unused(channel),
- ExceptionInfo* magick_unused(exception))
+ Image* magick_unused(image),ExceptionInfo* magick_unused(exception))
{
magick_unreferenced(image);
- magick_unreferenced(channel);
magick_unreferenced(exception);
return(MagickFalse);
}
MagickExport MagickBooleanType AccelerateFunctionImage(
- Image *magick_unused(image),const ChannelType magick_unused(channel),
+ Image *magick_unused(image),
const MagickFunction magick_unused(function),
const size_t magick_unused(number_parameters),
const double *magick_unused(parameters),
ExceptionInfo *magick_unused(exception))
{
magick_unreferenced(image);
- magick_unreferenced(channel);
magick_unreferenced(function);
magick_unreferenced(number_parameters);
magick_unreferenced(parameters);
}
MagickExport Image *AccelerateMotionBlurImage(
- const Image *magick_unused(image),const ChannelType magick_unused(channel),
- const double *magick_unused(kernel),const size_t magick_unused(width),
- const OffsetInfo *magick_unused(offset),
+ const Image *magick_unused(image),const double *magick_unused(kernel),
+ const size_t magick_unused(width),const OffsetInfo *magick_unused(offset),
ExceptionInfo *magick_unused(exception))
{
magick_unreferenced(image);
- magick_unreferenced(channel);
magick_unreferenced(kernel);
magick_unreferenced(width);
magick_unreferenced(offset);
}
MagickExport Image *AccelerateRotationalBlurImage(
- const Image *magick_unused(image),const ChannelType magick_unused(channel),
- const double magick_unused(angle),ExceptionInfo *magick_unused(exception))
+ const Image *magick_unused(image),const double magick_unused(angle),
+ ExceptionInfo *magick_unused(exception))
{
magick_unreferenced(image);
- magick_unreferenced(channel);
magick_unreferenced(angle);
magick_unreferenced(exception);
}
MagickExport Image *AccelerateUnsharpMaskImage(
- const Image *magick_unused(image),const ChannelType magick_unused(channel),
- const double magick_unused(radius),const double magick_unused(sigma),
- const double magick_unused(gain),const double magick_unused(threshold),
+ const Image *magick_unused(image),const double magick_unused(radius),
+ const double magick_unused(sigma),const double magick_unused(gain),
+ const double magick_unused(threshold),
ExceptionInfo *magick_unused(exception))
{
magick_unreferenced(image);
- magick_unreferenced(channel);
magick_unreferenced(radius);
magick_unreferenced(sigma);
magick_unreferenced(gain);