improve docs

This commit is contained in:
John Cupitt 2016-07-04 10:18:39 +01:00
parent 85cbebbac4
commit 5e58187902
3 changed files with 27 additions and 16 deletions

View File

@ -182,17 +182,22 @@ vips_conv_init( VipsConv *conv )
* Convolution. * Convolution.
* *
* Perform a convolution of @in with @mask. * Perform a convolution of @in with @mask.
* Each output pixel is * Each output pixel is calculated as:
* calculated as sigma[i]{pixel[i] * mask[i]} / scale + offset, where scale *
* and offset are part of @mask. * |[
* sigma[i]{pixel[i] * mask[i]} / scale + offset
* ]|
*
* where scale and offset are part of @mask.
* *
* If @precision is #VIPS_PRECISION_INTEGER then the convolution is performed * If @precision is #VIPS_PRECISION_INTEGER then the convolution is performed
* with integer arithmetic and the output image * with integer arithmetic and the output image
* always has the same #VipsBandFormat as the input image. * always has the same #VipsBandFormat as the input image.
* *
* Convolutions on unsigned 8-bit images are calculated with the * For #VIPS_FORMAT_UCHAR images, vips_conv() uses a fast vector path based on
* processor's vector unit, if possible. Disable this with `--vips-novector` or * fixed-point arithmetic. This can produce slightly different results.
* `VIPS_NOVECTOR`. * Disable the vector path with `--vips-novector` or `VIPS_NOVECTOR` or
* vips_vector_set_enabled().
* *
* If @precision is #VIPS_PRECISION_FLOAT then the convolution is performed * If @precision is #VIPS_PRECISION_FLOAT then the convolution is performed
* with floating-point arithmetic. The output image * with floating-point arithmetic. The output image

View File

@ -1030,16 +1030,22 @@ vips_convi_init( VipsConvi *convi )
* @mask: convolve with this mask * @mask: convolve with this mask
* @...: %NULL-terminated list of optional named arguments * @...: %NULL-terminated list of optional named arguments
* *
* Convolution. This is a low-level operation, see vips_conv() for something * Integer convolution. This is a low-level operation, see vips_conv() for
* more convenient. * something more convenient.
* *
* Perform a convolution of @in with @mask. * @mask is converted to an integer mask with rint() of each element, rint of
* Each output pixel is * scale and rint of offset. Each output pixel is then calculated as
* calculated as rint(sigma[i]{pixel[i] * mask[i]} / scale) + offset, where
* scale and offset are part of @mask.
* *
* The convolution is performed with integer arithmetic. The output image * |[
* always has the same #VipsBandFormat as the input image. * sigma[i]{pixel[i] * mask[i]} / scale + offset
* ]|
*
* The output image always has the same #VipsBandFormat as the input image.
*
* For #VIPS_FORMAT_UCHAR images, vips_convi() uses a fast vector path based on
* fixed-point arithmetic. This can produce slightly different results.
* Disable the vector path with `--vips-novector` or `VIPS_NOVECTOR` or
* vips_vector_set_enabled().
* *
* See also: vips_conv(). * See also: vips_conv().
* *

View File

@ -56,13 +56,13 @@
*/ */
/* Show sample pixels as they are transformed. /* Show sample pixels as they are transformed.
#define DEBUG_PIXELS
*/ */
#define DEBUG_PIXELS
/* /*
*/
#define DEBUG #define DEBUG
#define VIPS_DEBUG #define VIPS_DEBUG
*/
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include <config.h> #include <config.h>