more accurate bicubic of int16 images

use float path for int16 -- the fixed-point path can miss by a small
amount

see https://github.com/libvips/libvips/issues/1309
This commit is contained in:
John Cupitt 2019-05-13 22:05:41 +01:00
parent c9ba0915c1
commit 44afdbc314
2 changed files with 5 additions and 5 deletions

View File

@ -580,15 +580,15 @@ vips_interpolate_bicubic_interpolate( VipsInterpolate *interpolate,
break;
case VIPS_FORMAT_USHORT:
bicubic_unsigned_int_tab<unsigned short, USHRT_MAX>(
bicubic_unsigned_int32_tab<unsigned short, USHRT_MAX>(
out, p, bands, lskip,
cxi, cyi );
cxf, cyf );
break;
case VIPS_FORMAT_SHORT:
bicubic_signed_int_tab<signed short, SHRT_MIN, SHRT_MAX>(
bicubic_signed_int32_tab<signed short, SHRT_MIN, SHRT_MAX>(
out, p, bands, lskip,
cxi, cyi );
cxf, cyf );
break;
case VIPS_FORMAT_UINT:

View File

@ -447,7 +447,7 @@ vips_mapim_class_init( VipsMapimClass *class )
gobject_class->get_property = vips_object_get_property;
vobject_class->nickname = "mapim";
vobject_class->description = _( "resample with an mapim image" );
vobject_class->description = _( "resample with a map image" );
vobject_class->build = vips_mapim_build;
VIPS_ARG_IMAGE( class, "index", 3,