From 142466345cfeb68b4faa5ed53d533a9985f7717b Mon Sep 17 00:00:00 2001 From: dirk Date: Wed, 28 Jan 2015 21:20:12 +0000 Subject: [PATCH] Enabled AccelerateResizeImage. --- MagickCore/resize.c | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/MagickCore/resize.c b/MagickCore/resize.c index 247cdfda8..b0a9c6677 100644 --- a/MagickCore/resize.c +++ b/MagickCore/resize.c @@ -40,6 +40,7 @@ Include declarations. */ #include "MagickCore/studio.h" +#include "MagickCore/accelerate.h" #include "MagickCore/artifact.h" #include "MagickCore/blob.h" #include "MagickCore/cache.h" @@ -2853,20 +2854,11 @@ MagickExport Image *ResizeImage(const Image *image,const size_t columns, if ((columns == image->columns) && (rows == image->rows) && (filter == UndefinedFilter)) return(CloneImage(image,0,0,MagickTrue,exception)); - resize_image=CloneImage(image,columns,rows,MagickTrue,exception); - if (resize_image == (Image *) NULL) - return(resize_image); /* Acquire resize filter. */ x_factor=(double) columns/(double) image->columns; y_factor=(double) rows/(double) image->rows; - if (x_factor > y_factor) - filter_image=CloneImage(image,columns,image->rows,MagickTrue,exception); - else - filter_image=CloneImage(image,image->columns,rows,MagickTrue,exception); - if (filter_image == (Image *) NULL) - return(DestroyImage(resize_image)); filter_type=LanczosFilter; if (filter != UndefinedFilter) filter_type=filter; @@ -2879,6 +2871,27 @@ MagickExport Image *ResizeImage(const Image *image,const size_t columns, ((x_factor*y_factor) > 1.0)) filter_type=MitchellFilter; resize_filter=AcquireResizeFilter(image,filter_type,MagickFalse,exception); + resize_image=AccelerateResizeImage(image,columns,rows,resize_filter,exception); + if (resize_image != (Image *) NULL) + { + resize_filter=DestroyResizeFilter(resize_filter); + return(resize_image); + } + resize_image=CloneImage(image,columns,rows,MagickTrue,exception); + if (resize_image == (Image *) NULL) + { + resize_filter=DestroyResizeFilter(resize_filter); + return(resize_image); + } + if (x_factor > y_factor) + filter_image=CloneImage(image,columns,image->rows,MagickTrue,exception); + else + filter_image=CloneImage(image,image->columns,rows,MagickTrue,exception); + if (filter_image == (Image *) NULL) + { + resize_filter=DestroyResizeFilter(resize_filter); + return(DestroyImage(resize_image)); + } /* Resize image. */ -- 2.40.0