From dafa26435e8c5514433ac9e31459650ef56fe43d Mon Sep 17 00:00:00 2001 From: John Cupitt Date: Fri, 13 Jan 2017 12:37:19 +0000 Subject: [PATCH] only use webp presets in lossy mode it seems lossless and near-lossless modes have a separate preset system see https://github.com/jcupitt/libvips/issues/578 --- libvips/foreign/vips2webp.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/libvips/foreign/vips2webp.c b/libvips/foreign/vips2webp.c index 5447c24c..a50d660b 100644 --- a/libvips/foreign/vips2webp.c +++ b/libvips/foreign/vips2webp.c @@ -237,7 +237,18 @@ write_webp( WebPPicture *pic, VipsImage *in, WebPConfig config; webp_import import; - if ( !WebPConfigPreset( &config, get_preset( preset ), Q ) ) { + if( !WebPConfigInit( &config ) ) { + vips_error( "vips2webp", + "%s", _( "config version error" ) ); + return( -1 ); + } + + /* These presets are only for lossy compression. There seems to be + * separate API for lossless or near-lossless, see + * WebPConfigLosslessPreset(). + */ + if( !(lossless || near_lossless) && + !WebPConfigPreset( &config, get_preset( preset ), Q ) ) { vips_error( "vips2webp", "%s", _( "config version error" ) ); return( -1 ); }