pngsave: Change default row filter from 'all' to 'none' (#2929)
as this is usually faster and produces a smaller file size
This commit is contained in:
parent
a69e61a6d0
commit
1bf1a32f2c
@ -30,6 +30,7 @@
|
|||||||
- add support for ICC profiles and linear encoding to JXL load and save [f1ac]
|
- add support for ICC profiles and linear encoding to JXL load and save [f1ac]
|
||||||
- add "reoptimise" to gifsave [dloebl]
|
- add "reoptimise" to gifsave [dloebl]
|
||||||
- add "bitdepth" to magicksave [dloebl]
|
- add "bitdepth" to magicksave [dloebl]
|
||||||
|
- change default PNG filter to "none" [lovell]
|
||||||
|
|
||||||
26/11/21 started 8.12.3
|
26/11/21 started 8.12.3
|
||||||
- better arg checking for vips_hist_find_ndim() [travisbell]
|
- better arg checking for vips_hist_find_ndim() [travisbell]
|
||||||
|
@ -8,6 +8,8 @@
|
|||||||
* - support png8 palette write with palette, colours, Q, dither
|
* - support png8 palette write with palette, colours, Q, dither
|
||||||
* 24/6/20
|
* 24/6/20
|
||||||
* - add @bitdepth, deprecate @colours
|
* - add @bitdepth, deprecate @colours
|
||||||
|
* 15/7/22 [lovell]
|
||||||
|
* - default filter to none
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -135,13 +137,6 @@ vips_foreign_save_png_build( VipsObject *object )
|
|||||||
if( !vips_object_argument_isset( object, "bitdepth" ) )
|
if( !vips_object_argument_isset( object, "bitdepth" ) )
|
||||||
png->bitdepth = in->BandFmt == VIPS_FORMAT_UCHAR ? 8 : 16;
|
png->bitdepth = in->BandFmt == VIPS_FORMAT_UCHAR ? 8 : 16;
|
||||||
|
|
||||||
/* Filtering usually reduces the compression ratio for palette images,
|
|
||||||
* so default off.
|
|
||||||
*/
|
|
||||||
if( !vips_object_argument_isset( object, "filter" ) &&
|
|
||||||
png->palette )
|
|
||||||
png->filter = VIPS_FOREIGN_PNG_FILTER_NONE;
|
|
||||||
|
|
||||||
/* If this is a RGB or RGBA image and a low bit depth has been
|
/* If this is a RGB or RGBA image and a low bit depth has been
|
||||||
* requested, enable palettization.
|
* requested, enable palettization.
|
||||||
*/
|
*/
|
||||||
@ -234,7 +229,7 @@ vips_foreign_save_png_class_init( VipsForeignSavePngClass *class )
|
|||||||
VIPS_ARGUMENT_OPTIONAL_INPUT,
|
VIPS_ARGUMENT_OPTIONAL_INPUT,
|
||||||
G_STRUCT_OFFSET( VipsForeignSavePng, filter ),
|
G_STRUCT_OFFSET( VipsForeignSavePng, filter ),
|
||||||
VIPS_TYPE_FOREIGN_PNG_FILTER,
|
VIPS_TYPE_FOREIGN_PNG_FILTER,
|
||||||
VIPS_FOREIGN_PNG_FILTER_ALL );
|
VIPS_FOREIGN_PNG_FILTER_NONE );
|
||||||
|
|
||||||
VIPS_ARG_BOOL( class, "palette", 13,
|
VIPS_ARG_BOOL( class, "palette", 13,
|
||||||
_( "Palette" ),
|
_( "Palette" ),
|
||||||
@ -284,7 +279,7 @@ static void
|
|||||||
vips_foreign_save_png_init( VipsForeignSavePng *png )
|
vips_foreign_save_png_init( VipsForeignSavePng *png )
|
||||||
{
|
{
|
||||||
png->compression = 6;
|
png->compression = 6;
|
||||||
png->filter = VIPS_FOREIGN_PNG_FILTER_ALL;
|
png->filter = VIPS_FOREIGN_PNG_FILTER_NONE;
|
||||||
png->Q = 100;
|
png->Q = 100;
|
||||||
png->dither = 1.0;
|
png->dither = 1.0;
|
||||||
png->effort = 7;
|
png->effort = 7;
|
||||||
@ -493,9 +488,8 @@ vips_foreign_save_png_buffer_init( VipsForeignSavePngBuffer *buffer )
|
|||||||
* contains an ICC profile named VIPS_META_ICC_NAME ("icc-profile-data"), the
|
* contains an ICC profile named VIPS_META_ICC_NAME ("icc-profile-data"), the
|
||||||
* profile from the VIPS header will be attached.
|
* profile from the VIPS header will be attached.
|
||||||
*
|
*
|
||||||
* Use @filter to specify one or more filters (instead of adaptive filtering),
|
* Use @filter to specify one or more filters, defaults to none,
|
||||||
* see #VipsForeignPngFilter. @filter defaults to NONE for palette images,
|
* see #VipsForeignPngFilter.
|
||||||
* since they generally have very low local correlation.
|
|
||||||
*
|
*
|
||||||
* The image is automatically converted to RGB, RGBA, Monochrome or Mono +
|
* The image is automatically converted to RGB, RGBA, Monochrome or Mono +
|
||||||
* alpha before saving. Images with more than one byte per band element are
|
* alpha before saving. Images with more than one byte per band element are
|
||||||
|
@ -10,6 +10,8 @@
|
|||||||
* - add @bitdepth, deprecate @colours
|
* - add @bitdepth, deprecate @colours
|
||||||
* 11/11/21
|
* 11/11/21
|
||||||
* - use libspng for save
|
* - use libspng for save
|
||||||
|
* 15/7/22 [lovell]
|
||||||
|
* - default filter to none
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -681,7 +683,7 @@ vips_foreign_save_spng_class_init( VipsForeignSaveSpngClass *class )
|
|||||||
VIPS_ARGUMENT_OPTIONAL_INPUT,
|
VIPS_ARGUMENT_OPTIONAL_INPUT,
|
||||||
G_STRUCT_OFFSET( VipsForeignSaveSpng, filter ),
|
G_STRUCT_OFFSET( VipsForeignSaveSpng, filter ),
|
||||||
VIPS_TYPE_FOREIGN_PNG_FILTER,
|
VIPS_TYPE_FOREIGN_PNG_FILTER,
|
||||||
VIPS_FOREIGN_PNG_FILTER_ALL );
|
VIPS_FOREIGN_PNG_FILTER_NONE );
|
||||||
|
|
||||||
VIPS_ARG_BOOL( class, "palette", 13,
|
VIPS_ARG_BOOL( class, "palette", 13,
|
||||||
_( "Palette" ),
|
_( "Palette" ),
|
||||||
@ -731,7 +733,7 @@ static void
|
|||||||
vips_foreign_save_spng_init( VipsForeignSaveSpng *spng )
|
vips_foreign_save_spng_init( VipsForeignSaveSpng *spng )
|
||||||
{
|
{
|
||||||
spng->compression = 6;
|
spng->compression = 6;
|
||||||
spng->filter = VIPS_FOREIGN_PNG_FILTER_ALL;
|
spng->filter = VIPS_FOREIGN_PNG_FILTER_NONE;
|
||||||
spng->Q = 100;
|
spng->Q = 100;
|
||||||
spng->dither = 1.0;
|
spng->dither = 1.0;
|
||||||
spng->effort = 7;
|
spng->effort = 7;
|
||||||
|
Loading…
Reference in New Issue
Block a user