From fe7086b173ed72139fcff5977faf88f41e9761b6 Mon Sep 17 00:00:00 2001 From: John Cupitt Date: Tue, 15 Sep 2020 10:18:09 +0100 Subject: [PATCH 1/2] add a .gitignore for the new cpp api to stop accidentally adding it to 8.10 --- cplusplus/.gitignore | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 cplusplus/.gitignore diff --git a/cplusplus/.gitignore b/cplusplus/.gitignore new file mode 100644 index 00000000..9a26521e --- /dev/null +++ b/cplusplus/.gitignore @@ -0,0 +1,4 @@ +Doxyfile +doxygen.stamp +html/ + From 0617165c669e94eb3fa0f7b56516f0074089461a Mon Sep 17 00:00:00 2001 From: John Cupitt Date: Tue, 15 Sep 2020 10:18:38 +0100 Subject: [PATCH 2/2] raise minimum libheif version to 1.3 We didn't compile with anything less than 1.3 anyway. see https://github.com/libvips/libvips/issues/1817 --- ChangeLog | 1 + configure.ac | 40 ++------------------------------------ libvips/foreign/heifsave.c | 12 ------------ 3 files changed, 3 insertions(+), 50 deletions(-) diff --git a/ChangeLog b/ChangeLog index ff6ab5b6..f087a885 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,7 @@ - better demand hint rules [kaas3000] - fix tiff thumbnail from buffer and source [vansante] - in jpegsave, don't set JFIF resolution if we set EXIF resolution +- bump minimum libheif version to 1.3 [lovell] 9/8/20 started 8.10.1 - fix markdown -> xml conversion in doc generation diff --git a/configure.ac b/configure.ac index b50cf392..ea3224a6 100644 --- a/configure.ac +++ b/configure.ac @@ -834,7 +834,7 @@ AC_ARG_WITH([heif], AS_HELP_STRING([--without-heif], [build without libheif (default: test)])) if test x"$with_heif" != x"no"; then - PKG_CHECK_MODULES(HEIF, libheif, + PKG_CHECK_MODULES(HEIF, libheif >= 1.3.0, [with_heif=yes have_h265_decoder=`$PKG_CONFIG libheif --variable builtin_h265_decoder` have_avif_decoder=`$PKG_CONFIG libheif --variable builtin_avif_decoder` @@ -852,7 +852,7 @@ if test x"$with_heif" != x"no"; then fi PACKAGES_USED="$PACKAGES_USED libheif" ], - [AC_MSG_WARN([libheif not found; disabling HEIF support]) + [AC_MSG_WARN([libheif >= 1.3.0 not found; disabling HEIF support]) with_heif=no have_h265_decoder= have_h265_encoder= @@ -862,42 +862,6 @@ if test x"$with_heif" != x"no"; then ) fi -# heif_context_set_primary_image not in 1.1 -if test x"$with_heif" = x"yes"; then - save_LIBS="$LIBS" - LIBS="$LIBS $HEIF_LIBS" - AC_CHECK_FUNCS(heif_context_set_primary_image,[ - AC_DEFINE(HAVE_HEIF_CONTEXT_SET_PRIMARY_IMAGE,1, - [define if you have heif_context_set_primary_image.]) - ],[] - ) - LIBS="$save_LIBS" -fi - -# heif_encoding_options_alloc not in 1.1 -if test x"$with_heif" = x"yes"; then - save_LIBS="$LIBS" - LIBS="$LIBS $HEIF_LIBS" - AC_CHECK_FUNCS(heif_encoding_options_alloc,[ - AC_DEFINE(HAVE_HEIF_ENCODING_OPTIONS_ALLOC,1, - [define if you have heif_encoding_options_alloc.]) - ],[] - ) - LIBS="$save_LIBS" -fi - -# exif/xmp profile support not in 1.1 -if test x"$with_heif" = x"yes"; then - save_LIBS="$LIBS" - LIBS="$LIBS $HEIF_LIBS" - AC_CHECK_FUNCS(heif_context_add_exif_metadata,[ - AC_DEFINE(HAVE_HEIF_CONTEXT_ADD_EXIF_METADATA,1, - [define if you have heif_context_add_exif_metadata.]) - ],[] - ) - LIBS="$save_LIBS" -fi - # color profile support added in 1.3.3 if test x"$with_heif" = x"yes"; then save_LIBS="$LIBS" diff --git a/libvips/foreign/heifsave.c b/libvips/foreign/heifsave.c index 62e55656..7e0215a1 100644 --- a/libvips/foreign/heifsave.c +++ b/libvips/foreign/heifsave.c @@ -129,7 +129,6 @@ vips_foreign_save_heif_dispose( GObject *gobject ) dispose( gobject ); } -#ifdef HAVE_HEIF_CONTEXT_ADD_EXIF_METADATA typedef struct heif_error (*libheif_metadata_fn)( struct heif_context *, const struct heif_image_handle *, const void *, int ); @@ -141,12 +140,10 @@ struct _VipsForeignSaveHeifMetadata { { VIPS_META_EXIF_NAME, heif_context_add_exif_metadata }, { VIPS_META_XMP_NAME, heif_context_add_XMP_metadata } }; -#endif /*HAVE_HEIF_CONTEXT_ADD_EXIF_METADATA*/ static int vips_foreign_save_heif_write_metadata( VipsForeignSaveHeif *heif ) { -#ifdef HAVE_HEIF_CONTEXT_ADD_EXIF_METADATA int i; struct heif_error error; @@ -178,7 +175,6 @@ vips_foreign_save_heif_write_metadata( VipsForeignSaveHeif *heif ) return( -1 ); } } -#endif /*HAVE_HEIF_CONTEXT_ADD_EXIF_METADATA*/ return( 0 ); } @@ -216,13 +212,9 @@ vips_foreign_save_heif_write_page( VipsForeignSaveHeif *heif, int page ) } #endif /*HAVE_HEIF_COLOR_PROFILE*/ -#ifdef HAVE_HEIF_ENCODING_OPTIONS_ALLOC options = heif_encoding_options_alloc(); if( vips_image_hasalpha( heif->image ) ) options->save_alpha_channel = 1; -#else /*!HAVE_HEIF_ENCODING_OPTIONS_ALLOC*/ - options = NULL; -#endif /*HAVE_HEIF_ENCODING_OPTIONS_ALLOC*/ #ifdef DEBUG printf( "encoding ..\n" ); @@ -230,16 +222,13 @@ vips_foreign_save_heif_write_page( VipsForeignSaveHeif *heif, int page ) error = heif_context_encode_image( heif->ctx, heif->img, heif->encoder, options, &heif->handle ); -#ifdef HAVE_HEIF_ENCODING_OPTIONS_ALLOC heif_encoding_options_free( options ); -#endif /*HAVE_HEIF_ENCODING_OPTIONS_ALLOC*/ if( error.code ) { vips__heif_error( &error ); return( -1 ); } -#ifdef HAVE_HEIF_CONTEXT_SET_PRIMARY_IMAGE if( vips_image_get_typeof( heif->image, "heif-primary" ) ) { int primary; @@ -256,7 +245,6 @@ vips_foreign_save_heif_write_page( VipsForeignSaveHeif *heif, int page ) } } } -#endif /*HAVE_HEIF_CONTEXT_SET_PRIMARY_IMAGE*/ if( !save->strip && vips_foreign_save_heif_write_metadata( heif ) )