1e1101897b0d881753ab6734df402a76a24997469cristy/* 27ce65e7125a4e1df1a274ce373c537a9df9c16cdCristy Copyright 1999-2016 ImageMagick Studio LLC, a non-profit organization 3e1101897b0d881753ab6734df402a76a24997469cristy dedicated to making software imaging solutions freely available. 4f034abbcb705540b0d42ade64679775e7a34e582cristy 5e1101897b0d881753ab6734df402a76a24997469cristy You may not use this file except in compliance with the License. 6e1101897b0d881753ab6734df402a76a24997469cristy obtain a copy of the License at 7f034abbcb705540b0d42ade64679775e7a34e582cristy 8e1101897b0d881753ab6734df402a76a24997469cristy http://www.imagemagick.org/script/license.php 9f034abbcb705540b0d42ade64679775e7a34e582cristy 10e1101897b0d881753ab6734df402a76a24997469cristy Unless required by applicable law or agreed to in writing, software 11e1101897b0d881753ab6734df402a76a24997469cristy distributed under the License is distributed on an "AS IS" BASIS, 12e1101897b0d881753ab6734df402a76a24997469cristy WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e1101897b0d881753ab6734df402a76a24997469cristy See the License for the specific language governing permissions and 14e1101897b0d881753ab6734df402a76a24997469cristy limitations under the License. 15e1101897b0d881753ab6734df402a76a24997469cristy 16f034abbcb705540b0d42ade64679775e7a34e582cristy MagickCore private methods for accelerated functions. 17e1101897b0d881753ab6734df402a76a24997469cristy*/ 18f034abbcb705540b0d42ade64679775e7a34e582cristy 1983bceaa5d7a1196e05c1ccba443f90f4b032fca6Cristy#ifndef MAGICKCORE_ACCELERATE_PRIVATE_H 2083bceaa5d7a1196e05c1ccba443f90f4b032fca6Cristy#define MAGICKCORE_ACCELERATE_PRIVATE_H 21e1101897b0d881753ab6734df402a76a24997469cristy 22eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk#include "MagickCore/fx.h" 23eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk#include "MagickCore/morphology.h" 24eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk#include "MagickCore/resample.h" 25eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk#include "MagickCore/resize.h" 26eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk#include "MagickCore/statistic.h" 27eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk 28e1101897b0d881753ab6734df402a76a24997469cristy#if defined(__cplusplus) || defined(c_plusplus) 29e1101897b0d881753ab6734df402a76a24997469cristyextern "C" { 30e1101897b0d881753ab6734df402a76a24997469cristy#endif 31e1101897b0d881753ab6734df402a76a24997469cristy 3221dc0310cdaa5cc6034a1e100746706f5ec089ebdirk#if defined(MAGICKCORE_OPENCL_SUPPORT) 3321dc0310cdaa5cc6034a1e100746706f5ec089ebdirk 34eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirkextern MagickPrivate Image 35eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk *AccelerateAddNoiseImage(const Image*,const NoiseType,ExceptionInfo *), 36eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk *AccelerateBlurImage(const Image *,const double,const double,ExceptionInfo *), 37eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk *AccelerateConvolveImage(const Image *,const KernelInfo *,ExceptionInfo *), 38eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk *AccelerateDespeckleImage(const Image *,ExceptionInfo *), 39eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk *AccelerateLocalContrastImage(const Image *,const double,const double, 40eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk ExceptionInfo *), 41eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk *AccelerateMotionBlurImage(const Image*,const double*,const size_t, 42eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk const OffsetInfo*,ExceptionInfo*), 43eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk *AccelerateResizeImage(const Image *,const size_t,const size_t, 44eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk const ResizeFilter *,ExceptionInfo *), 45eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk *AccelerateRotationalBlurImage(const Image *,const double,ExceptionInfo *), 46eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk *AccelerateUnsharpMaskImage(const Image *,const double,const double, 47eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk const double,const double,ExceptionInfo *), 48eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk *AccelerateWaveletDenoiseImage(const Image *,const double,ExceptionInfo *); 49eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk 50eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirkextern MagickPrivate MagickBooleanType 51eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk AccelerateContrastImage(Image *,const MagickBooleanType,ExceptionInfo *), 52eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk AccelerateContrastStretchImage(Image *,const double,const double, 53eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk ExceptionInfo*), 54eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk AccelerateEqualizeImage(Image *,ExceptionInfo *), 55eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk AccelerateFunctionImage(Image *,const MagickFunction,const size_t, 56eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk const double *,ExceptionInfo *), 57eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk AccelerateGrayscaleImage(Image *,const PixelIntensityMethod, 58eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk ExceptionInfo *), 59eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk AccelerateModulateImage(Image *,const double,const double,const double, 60eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk const ColorspaceType, ExceptionInfo*); 61eeec14f738e8dbcfa064c1158a6e503b30a5dc3edirk 6221dc0310cdaa5cc6034a1e100746706f5ec089ebdirk#endif /* MAGICKCORE_OPENCL_SUPPORT */ 6321dc0310cdaa5cc6034a1e100746706f5ec089ebdirk 64e1101897b0d881753ab6734df402a76a24997469cristy#if defined(__cplusplus) || defined(c_plusplus) 65e1101897b0d881753ab6734df402a76a24997469cristy} 66e1101897b0d881753ab6734df402a76a24997469cristy#endif 67e1101897b0d881753ab6734df402a76a24997469cristy 6821dc0310cdaa5cc6034a1e100746706f5ec089ebdirk#endif /* MAGICKCORE_ACCELERATE_PRIVATE_H */ 69