fix build with graphicsmagick
GM is still using the old page interface of subimage/subrange, IM has deprecated that in favour of scene/number_scenes we were accidentally just supporting the new IM system ... this change adds support for GM as well, plus a configure test to pick one see https://github.com/jcupitt/libvips/issues/423
This commit is contained in:
parent
f0271f050d
commit
23eaf93867
@ -2,6 +2,7 @@
|
|||||||
- rename vips wrapper script, it was still vips-8.2, thanks Benjamin
|
- rename vips wrapper script, it was still vips-8.2, thanks Benjamin
|
||||||
- export C++ operator overloads for MSVC linking [Lovell]
|
- export C++ operator overloads for MSVC linking [Lovell]
|
||||||
- insist on giflib4
|
- insist on giflib4
|
||||||
|
- fix magickload @page with GraphicsMagick
|
||||||
|
|
||||||
29/1/16 started 8.3
|
29/1/16 started 8.3
|
||||||
- add vips_reduce*() ... a fast path for affine downsize
|
- add vips_reduce*() ... a fast path for affine downsize
|
||||||
|
13
configure.ac
13
configure.ac
@ -488,6 +488,19 @@ if test x"$with_magick" != "xno"; then
|
|||||||
LIBS=$save_LIBS
|
LIBS=$save_LIBS
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test x"$with_magick" != "xno"; then
|
||||||
|
# do we have number_scenes in image_info ... imagemagick uses this, gm
|
||||||
|
# still uses subrange
|
||||||
|
save_CFLAGS=$CFLAGS
|
||||||
|
CFLAGS="$CFLAGS $MAGICK_CFLAGS"
|
||||||
|
AC_CHECK_MEMBER([struct _ImageInfo.number_scenes],
|
||||||
|
AC_DEFINE(HAVE_NUMBER_SCENES,1,
|
||||||
|
[define if your magick has ImageInfo.number_scenes.]),
|
||||||
|
[],
|
||||||
|
[#include <magick/api.h>])
|
||||||
|
CFLAGS=$save_CFLAGS
|
||||||
|
fi
|
||||||
|
|
||||||
# orc
|
# orc
|
||||||
AC_ARG_WITH([orc],
|
AC_ARG_WITH([orc],
|
||||||
AS_HELP_STRING([--without-orc], [build without orc (default: test)]))
|
AS_HELP_STRING([--without-orc], [build without orc (default: test)]))
|
||||||
|
@ -49,6 +49,8 @@
|
|||||||
* fd during file read, handy for large numbers of input images
|
* fd during file read, handy for large numbers of input images
|
||||||
* 14/2/16
|
* 14/2/16
|
||||||
* - add @page option, 0 by default
|
* - add @page option, 0 by default
|
||||||
|
* 18/4/16
|
||||||
|
* - fix @page with graphicsmagick
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -217,16 +219,24 @@ read_new( const char *filename, VipsImage *im,
|
|||||||
#endif /*HAVE_SETIMAGEOPTION*/
|
#endif /*HAVE_SETIMAGEOPTION*/
|
||||||
|
|
||||||
if( !all_frames ) {
|
if( !all_frames ) {
|
||||||
|
#ifdef HAVE_NUMBER_SCENES
|
||||||
|
/* I can't find docs for these fields, but this seems to work.
|
||||||
|
*/
|
||||||
char page[256];
|
char page[256];
|
||||||
|
|
||||||
/* Just pick a specific page.
|
|
||||||
*
|
|
||||||
* I can't find docs for these fields, but this seems to work.
|
|
||||||
*/
|
|
||||||
read->image_info->scene = read->page;
|
read->image_info->scene = read->page;
|
||||||
read->image_info->number_scenes = 1;
|
read->image_info->number_scenes = 1;
|
||||||
|
|
||||||
|
/* Some IMs must have the string version set as well.
|
||||||
|
*/
|
||||||
vips_snprintf( page, 256, "%d", read->page );
|
vips_snprintf( page, 256, "%d", read->page );
|
||||||
read->image_info->scenes = strdup( page );
|
read->image_info->scenes = strdup( page );
|
||||||
|
#else /*!HAVE_NUMBER_SCENES*/
|
||||||
|
/* This works with GM 1.2.31 and probably others.
|
||||||
|
*/
|
||||||
|
read->image_info->subimage = read->page;
|
||||||
|
read->image_info->subrange = 1;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
|
Loading…
Reference in New Issue
Block a user