diff --git a/vips/foreign.c b/vips/foreign.c index 4ab16eb42..bccd0521b 100644 --- a/vips/foreign.c +++ b/vips/foreign.c @@ -159,7 +159,11 @@ int set_gifsave_options(VipsOperation *operation, SaveParams *params) { int set_avifsave_options(VipsOperation *operation, SaveParams *params) { int ret = vips_object_set( VIPS_OBJECT(operation), "compression", VIPS_FOREIGN_HEIF_COMPRESSION_AV1, - "lossless", params->heifLossless, "speed", params->avifSpeed, NULL); + "lossless", params->heifLossless, + "effort", 9 - params->avifSpeed, // speed is deprecated + "strip", params->stripMetadata, + "subsample_mode", VIPS_FOREIGN_SUBSAMPLE_AUTO, // set to auto as we always set lossless + NULL); if (!ret && params->quality) { ret = vips_object_set(VIPS_OBJECT(operation), "Q", params->quality, NULL); diff --git a/vips/foreign.go b/vips/foreign.go index 7ad20e20a..1fffa9738 100644 --- a/vips/foreign.go +++ b/vips/foreign.go @@ -230,6 +230,7 @@ func vipsSaveAVIFToBuffer(in *C.VipsImage, params AvifExportParams) ([]byte, err p := C.create_save_params(C.AVIF) p.inputImage = in p.outputFormat = C.AVIF + p.stripMetadata = C.int(boolToInt(params.StripMetadata)) p.quality = C.int(params.Quality) p.heifLossless = C.int(boolToInt(params.Lossless)) p.avifSpeed = C.int(params.Speed) diff --git a/vips/process.go b/vips/process.go index 3775a6907..4e04edf8e 100644 --- a/vips/process.go +++ b/vips/process.go @@ -595,6 +595,7 @@ func (v *Processor) export( return image.ExportPng(opts) case ImageTypeWEBP: opts := NewWebpExportParams() + opts.StripMetadata = true if quality > 0 { opts.Quality = quality } @@ -613,6 +614,7 @@ func (v *Processor) export( return image.ExportGIF(opts) case ImageTypeAVIF: opts := NewAvifExportParams() + opts.StripMetadata = true if quality > 0 { opts.Quality = quality }