Use GLib's i18n support instead of copying and pasting that
logic into its own header. This deprecates the vips/intl.h
header in favour of glib/gi18n.h.
Before, they could make B_W for one-band output. This caused problems
with (for example) two black image bandjoined: the second band then
looked like an alpha to hasalpha() and enabled premultiply/unpremultiply
for operations like affine.
Now, it's always MULTIBAND. This is the generic multiband image type, so
you don't get any unexpected alpha handling.
vips_gaussmat() and vips_logmat() used to default to float, but
vips_conv() defaulted to int ... so this failed:
vips gaussmat m.v 2 0.1 --separable
vips convsep k2.jpg x.jpg m.v
since we were using a small float mask with an integer convolution
This change makes everything int by default, with gaussmat having a new
param called --precision whose arg can be int or float.
The old @integer param is deprecated.
sorry :-(
The old param (passing sigma*2 as an int) were just too confusing
coming from other packages. This new behaviour matches ImageMagick, and
almost everyone else in the world.
A new optional param lets you set the minimum amplitude as well.
We had two API calls, vips_image_copy_fields() and vips_demand_hint().
They are now combined in the single vips_image_pipeline() call.
All operations are now slightly smaller and simpler.