diff --git a/libvips/foreign/foreign.c b/libvips/foreign/foreign.c index 7597131e..1d35c954 100644 --- a/libvips/foreign/foreign.c +++ b/libvips/foreign/foreign.c @@ -1464,7 +1464,6 @@ vips__foreign_convert_saveable( VipsImage *in, VipsImage **ready, */ if( !coding[VIPS_CODING_RAD] && in->Bands < 3 && - vips_colourspace_issupported( in ) && saveable == VIPS_SAVEABLE_RGBA_ONLY ) { VipsImage *out; VipsInterpretation interpretation; diff --git a/libvips/iofuncs/header.c b/libvips/iofuncs/header.c index d11328ea..8f49bc37 100644 --- a/libvips/iofuncs/header.c +++ b/libvips/iofuncs/header.c @@ -590,6 +590,9 @@ vips_image_default_interpretation( const VipsImage *image ) switch( image->BandFmt ) { case VIPS_FORMAT_UCHAR: + case VIPS_FORMAT_SHORT: + case VIPS_FORMAT_UINT: + case VIPS_FORMAT_INT: switch( image->Bands ) { case 1: case 2: @@ -626,11 +629,6 @@ vips_image_default_interpretation( const VipsImage *image ) return( VIPS_INTERPRETATION_MULTIBAND ); } - case VIPS_FORMAT_SHORT: - case VIPS_FORMAT_UINT: - case VIPS_FORMAT_INT: - return( VIPS_INTERPRETATION_MULTIBAND ); - case VIPS_FORMAT_FLOAT: case VIPS_FORMAT_DOUBLE: switch( image->Bands ) {