// Code generated by vipsgen. DO NOT EDIT. #ifndef GENERATED_H #define GENERATED_H #include #include int gen_vips_CMC2LCh(VipsImage * input, VipsImage ** out_out); int gen_vips_CMYK2XYZ(VipsImage * input, VipsImage ** out_out); int gen_vips_HSV2sRGB(VipsImage * input, VipsImage ** out_out); int gen_vips_LCh2CMC(VipsImage * input, VipsImage ** out_out); int gen_vips_LCh2Lab(VipsImage * input, VipsImage ** out_out); int gen_vips_Lab2LCh(VipsImage * input, VipsImage ** out_out); int gen_vips_Lab2LabQ(VipsImage * input, VipsImage ** out_out); int gen_vips_Lab2LabS(VipsImage * input, VipsImage ** out_out); typedef struct { int has_temp; double *temp; int temp_n; } GenLab2XYZOpts; int gen_vips_Lab2XYZ(VipsImage * input, VipsImage ** out_out, GenLab2XYZOpts *opts); int gen_vips_LabQ2Lab(VipsImage * input, VipsImage ** out_out); int gen_vips_LabQ2LabS(VipsImage * input, VipsImage ** out_out); int gen_vips_LabQ2sRGB(VipsImage * input, VipsImage ** out_out); int gen_vips_LabS2Lab(VipsImage * input, VipsImage ** out_out); int gen_vips_LabS2LabQ(VipsImage * input, VipsImage ** out_out); int gen_vips_Oklab2Oklch(VipsImage * input, VipsImage ** out_out); int gen_vips_Oklab2XYZ(VipsImage * input, VipsImage ** out_out); int gen_vips_Oklch2Oklab(VipsImage * input, VipsImage ** out_out); int gen_vips_XYZ2CMYK(VipsImage * input, VipsImage ** out_out); typedef struct { int has_temp; double *temp; int temp_n; } GenXYZ2LabOpts; int gen_vips_XYZ2Lab(VipsImage * input, VipsImage ** out_out, GenXYZ2LabOpts *opts); int gen_vips_XYZ2Oklab(VipsImage * input, VipsImage ** out_out); int gen_vips_XYZ2Yxy(VipsImage * input, VipsImage ** out_out); int gen_vips_XYZ2scRGB(VipsImage * input, VipsImage ** out_out); int gen_vips_Yxy2XYZ(VipsImage * input, VipsImage ** out_out); int gen_vips_abs(VipsImage * input, VipsImage ** out_out); int gen_vips_add(VipsImage * left, VipsImage * right, VipsImage ** out_out); typedef struct { int has_interpolate; VipsInterpolate *interpolate; int has_oarea; int *oarea; int oarea_n; int has_odx; double odx; int has_ody; double ody; int has_idx; double idx; int has_idy; double idy; int has_background; double *background; int background_n; int has_premultiplied; int premultiplied; int has_extend; VipsExtend extend; } GenAffineOpts; int gen_vips_affine(VipsImage * input, double * matrix, int matrix_n, VipsImage ** out_out, GenAffineOpts *opts); typedef struct { int has_across; int across; int has_shim; int shim; int has_background; double *background; int background_n; int has_halign; VipsAlign halign; int has_valign; VipsAlign valign; int has_hspacing; int hspacing; int has_vspacing; int vspacing; } GenArrayjoinOpts; int gen_vips_arrayjoin(VipsImage **input, int input_n, VipsImage ** out_out, GenArrayjoinOpts *opts); int gen_vips_autorot(VipsImage * input, VipsImage ** out_out, int * out_angle, int * out_flip); int gen_vips_avg(VipsImage * input, double * out_out); int gen_vips_bandbool(VipsImage * input, VipsOperationBoolean boolean, VipsImage ** out_out); typedef struct { int has_factor; int factor; } GenBandfoldOpts; int gen_vips_bandfold(VipsImage * input, VipsImage ** out_out, GenBandfoldOpts *opts); int gen_vips_bandjoin(VipsImage **input, int input_n, VipsImage ** out_out); int gen_vips_bandjoin_const(VipsImage * input, double * c, int c_n, VipsImage ** out_out); int gen_vips_bandmean(VipsImage * input, VipsImage ** out_out); typedef struct { int has_index; int index; } GenBandrankOpts; int gen_vips_bandrank(VipsImage **input, int input_n, VipsImage ** out_out, GenBandrankOpts *opts); typedef struct { int has_factor; int factor; } GenBandunfoldOpts; int gen_vips_bandunfold(VipsImage * input, VipsImage ** out_out, GenBandunfoldOpts *opts); typedef struct { int has_bands; int bands; } GenBlackOpts; int gen_vips_black(int width, int height, VipsImage ** out_out, GenBlackOpts *opts); int gen_vips_boolean(VipsImage * left, VipsImage * right, VipsOperationBoolean boolean, VipsImage ** out_out); int gen_vips_boolean_const(VipsImage * input, VipsOperationBoolean boolean, double * c, int c_n, VipsImage ** out_out); int gen_vips_buildlut(VipsImage * input, VipsImage ** out_out); int gen_vips_byteswap(VipsImage * input, VipsImage ** out_out); typedef struct { int has_maxTiles; int maxTiles; int has_tileHeight; int tileHeight; int has_tileWidth; int tileWidth; } GenCacheOpts; int gen_vips_cache(VipsImage * input, VipsImage ** out_out, GenCacheOpts *opts); typedef struct { int has_sigma; double sigma; int has_precision; VipsPrecision precision; } GenCannyOpts; int gen_vips_canny(VipsImage * input, VipsImage ** out_out, GenCannyOpts *opts); typedef struct { int has_shift; int shift; } GenCastOpts; int gen_vips_cast(VipsImage * input, VipsBandFormat format, VipsImage ** out_out, GenCastOpts *opts); typedef struct { int has_min; double min; int has_max; double max; } GenClampOpts; int gen_vips_clamp(VipsImage * input, VipsImage ** out_out, GenClampOpts *opts); typedef struct { int has_times; int times; int has_angle; VipsAngle45 angle; int has_combine; VipsCombine combine; int has_precision; VipsPrecision precision; int has_layers; int layers; int has_cluster; int cluster; } GenCompassOpts; int gen_vips_compass(VipsImage * input, VipsImage * mask, VipsImage ** out_out, GenCompassOpts *opts); int gen_vips_complex(VipsImage * input, VipsOperationComplex cmplx, VipsImage ** out_out); int gen_vips_complex2(VipsImage * left, VipsImage * right, VipsOperationComplex2 cmplx, VipsImage ** out_out); int gen_vips_complexform(VipsImage * left, VipsImage * right, VipsImage ** out_out); int gen_vips_complexget(VipsImage * input, VipsOperationComplexget get, VipsImage ** out_out); typedef struct { int has_x; int x; int has_y; int y; int has_compositingSpace; VipsInterpretation compositingSpace; int has_premultiplied; int premultiplied; } GenComposite2Opts; int gen_vips_composite2(VipsImage * base, VipsImage * overlay, VipsBlendMode mode, VipsImage ** out_out, GenComposite2Opts *opts); typedef struct { int has_precision; VipsPrecision precision; int has_layers; int layers; int has_cluster; int cluster; } GenConvOpts; int gen_vips_conv(VipsImage * input, VipsImage * mask, VipsImage ** out_out, GenConvOpts *opts); typedef struct { int has_layers; int layers; int has_cluster; int cluster; } GenConvaOpts; int gen_vips_conva(VipsImage * input, VipsImage * mask, VipsImage ** out_out, GenConvaOpts *opts); typedef struct { int has_layers; int layers; } GenConvasepOpts; int gen_vips_convasep(VipsImage * input, VipsImage * mask, VipsImage ** out_out, GenConvasepOpts *opts); int gen_vips_convf(VipsImage * input, VipsImage * mask, VipsImage ** out_out); int gen_vips_convi(VipsImage * input, VipsImage * mask, VipsImage ** out_out); typedef struct { int has_precision; VipsPrecision precision; int has_layers; int layers; int has_cluster; int cluster; } GenConvsepOpts; int gen_vips_convsep(VipsImage * input, VipsImage * mask, VipsImage ** out_out, GenConvsepOpts *opts); typedef struct { int has_width; int width; int has_height; int height; int has_bands; int bands; int has_format; VipsBandFormat format; int has_coding; VipsCoding coding; int has_interpretation; VipsInterpretation interpretation; int has_xres; double xres; int has_yres; double yres; int has_xoffset; int xoffset; int has_yoffset; int yoffset; } GenCopyOpts; int gen_vips_copy(VipsImage * input, VipsImage ** out_out, GenCopyOpts *opts); int gen_vips_countlines(VipsImage * input, VipsDirection direction, double * out_nolines); int gen_vips_dE00(VipsImage * left, VipsImage * right, VipsImage ** out_out); int gen_vips_dE76(VipsImage * left, VipsImage * right, VipsImage ** out_out); int gen_vips_dECMC(VipsImage * left, VipsImage * right, VipsImage ** out_out); int gen_vips_deviate(VipsImage * input, double * out_out); int gen_vips_divide(VipsImage * left, VipsImage * right, VipsImage ** out_out); int gen_vips_extract_area(VipsImage * input, int left, int top, int width, int height, VipsImage ** out_out); typedef struct { int has_n; int n; } GenExtractBandOpts; int gen_vips_extract_band(VipsImage * input, int band, VipsImage ** out_out, GenExtractBandOpts *opts); typedef struct { int has_uchar; int uchar; int has_factor; double factor; } GenEyeOpts; int gen_vips_eye(int width, int height, VipsImage ** out_out, GenEyeOpts *opts); int gen_vips_falsecolour(VipsImage * input, VipsImage ** out_out); int gen_vips_fastcor(VipsImage * input, VipsImage * ref, VipsImage ** out_out); int gen_vips_fill_nearest(VipsImage * input, VipsImage ** out_out, VipsImage ** out_distance); typedef struct { int has_background; double *background; int background_n; int has_maxAlpha; double maxAlpha; } GenFlattenOpts; int gen_vips_flatten(VipsImage * input, VipsImage ** out_out, GenFlattenOpts *opts); int gen_vips_flip(VipsImage * input, VipsDirection direction, VipsImage ** out_out); int gen_vips_float2rad(VipsImage * input, VipsImage ** out_out); int gen_vips_fractsurf(int width, int height, double fractalDimension, VipsImage ** out_out); int gen_vips_freqmult(VipsImage * input, VipsImage * mask, VipsImage ** out_out); int gen_vips_fwfft(VipsImage * input, VipsImage ** out_out); typedef struct { int has_exponent; double exponent; } GenGammaOpts; int gen_vips_gamma(VipsImage * input, VipsImage ** out_out, GenGammaOpts *opts); typedef struct { int has_minAmpl; double minAmpl; int has_precision; VipsPrecision precision; } GenGaussblurOpts; int gen_vips_gaussblur(VipsImage * input, double sigma, VipsImage ** out_out, GenGaussblurOpts *opts); typedef struct { int has_separable; int separable; int has_precision; VipsPrecision precision; } GenGaussmatOpts; int gen_vips_gaussmat(double sigma, double minAmpl, VipsImage ** out_out, GenGaussmatOpts *opts); typedef struct { int has_sigma; double sigma; int has_mean; double mean; int has_seed; int seed; } GenGaussnoiseOpts; int gen_vips_gaussnoise(int width, int height, VipsImage ** out_out, GenGaussnoiseOpts *opts); typedef struct { int has_gamma; double gamma; int has_intOutput; int intOutput; } GenGlobalbalanceOpts; int gen_vips_globalbalance(VipsImage * input, VipsImage ** out_out, GenGlobalbalanceOpts *opts); typedef struct { int has_extend; VipsExtend extend; int has_background; double *background; int background_n; } GenGravityOpts; int gen_vips_gravity(VipsImage * input, VipsCompassDirection direction, int width, int height, VipsImage ** out_out, GenGravityOpts *opts); typedef struct { int has_uchar; int uchar; } GenGreyOpts; int gen_vips_grey(int width, int height, VipsImage ** out_out, GenGreyOpts *opts); int gen_vips_grid(VipsImage * input, int tileHeight, int across, int down, VipsImage ** out_out); int gen_vips_hist_cum(VipsImage * input, VipsImage ** out_out); int gen_vips_hist_entropy(VipsImage * input, double * out_out); typedef struct { int has_band; int band; } GenHistEqualOpts; int gen_vips_hist_equal(VipsImage * input, VipsImage ** out_out, GenHistEqualOpts *opts); typedef struct { int has_band; int band; } GenHistFindOpts; int gen_vips_hist_find(VipsImage * input, VipsImage ** out_out, GenHistFindOpts *opts); typedef struct { int has_combine; VipsCombine combine; } GenHistFindIndexedOpts; int gen_vips_hist_find_indexed(VipsImage * input, VipsImage * index, VipsImage ** out_out, GenHistFindIndexedOpts *opts); typedef struct { int has_bins; int bins; } GenHistFindNdimOpts; int gen_vips_hist_find_ndim(VipsImage * input, VipsImage ** out_out, GenHistFindNdimOpts *opts); int gen_vips_hist_ismonotonic(VipsImage * input, int * out_monotonic); typedef struct { int has_maxSlope; int maxSlope; } GenHistLocalOpts; int gen_vips_hist_local(VipsImage * input, int width, int height, VipsImage ** out_out, GenHistLocalOpts *opts); int gen_vips_hist_match(VipsImage * input, VipsImage * ref, VipsImage ** out_out); int gen_vips_hist_norm(VipsImage * input, VipsImage ** out_out); int gen_vips_hist_plot(VipsImage * input, VipsImage ** out_out); typedef struct { int has_scale; int scale; int has_minRadius; int minRadius; int has_maxRadius; int maxRadius; } GenHoughCircleOpts; int gen_vips_hough_circle(VipsImage * input, VipsImage ** out_out, GenHoughCircleOpts *opts); typedef struct { int has_width; int width; int has_height; int height; } GenHoughLineOpts; int gen_vips_hough_line(VipsImage * input, VipsImage ** out_out, GenHoughLineOpts *opts); typedef struct { int has_pcs; VipsPCS pcs; int has_intent; VipsIntent intent; int has_blackPointCompensation; int blackPointCompensation; int has_outputProfile; const char *outputProfile; int has_depth; int depth; } GenIccExportOpts; int gen_vips_icc_export(VipsImage * input, VipsImage ** out_out, GenIccExportOpts *opts); typedef struct { int has_pcs; VipsPCS pcs; int has_intent; VipsIntent intent; int has_blackPointCompensation; int blackPointCompensation; int has_embedded; int embedded; int has_inputProfile; const char *inputProfile; } GenIccImportOpts; int gen_vips_icc_import(VipsImage * input, VipsImage ** out_out, GenIccImportOpts *opts); typedef struct { int has_bands; int bands; int has_ushort; int ushort; int has_size; int size; } GenIdentityOpts; int gen_vips_identity(VipsImage ** out_out, GenIdentityOpts *opts); typedef struct { int has_blend; int blend; } GenIfthenelseOpts; int gen_vips_ifthenelse(VipsImage * cond, VipsImage * in1, VipsImage * in2, VipsImage ** out_out, GenIfthenelseOpts *opts); typedef struct { int has_expand; int expand; int has_background; double *background; int background_n; } GenInsertOpts; int gen_vips_insert(VipsImage * main, VipsImage * sub, int x, int y, VipsImage ** out_out, GenInsertOpts *opts); int gen_vips_invert(VipsImage * input, VipsImage ** out_out); typedef struct { int has_size; int size; } GenInvertlutOpts; int gen_vips_invertlut(VipsImage * input, VipsImage ** out_out, GenInvertlutOpts *opts); typedef struct { int has_real; int real; } GenInvfftOpts; int gen_vips_invfft(VipsImage * input, VipsImage ** out_out, GenInvfftOpts *opts); typedef struct { int has_expand; int expand; int has_shim; int shim; int has_background; double *background; int background_n; int has_align; VipsAlign align; } GenJoinOpts; int gen_vips_join(VipsImage * in1, VipsImage * in2, VipsDirection direction, VipsImage ** out_out, GenJoinOpts *opts); int gen_vips_labelregions(VipsImage * input, VipsImage ** out_mask, int * out_segments); typedef struct { int has_uchar; int uchar; } GenLinearOpts; int gen_vips_linear(VipsImage * input, double * a, int a_n, double * b, int b_n, VipsImage ** out_out, GenLinearOpts *opts); typedef struct { int has_tileHeight; int tileHeight; int has_access; VipsAccess access; int has_threaded; int threaded; int has_persistent; int persistent; } GenLinecacheOpts; int gen_vips_linecache(VipsImage * input, VipsImage ** out_out, GenLinecacheOpts *opts); typedef struct { int has_separable; int separable; int has_precision; VipsPrecision precision; } GenLogmatOpts; int gen_vips_logmat(double sigma, double minAmpl, VipsImage ** out_out, GenLogmatOpts *opts); typedef struct { int has_interpolate; VipsInterpolate *interpolate; int has_background; double *background; int background_n; int has_premultiplied; int premultiplied; int has_extend; VipsExtend extend; } GenMapimOpts; int gen_vips_mapim(VipsImage * input, VipsImage * index, VipsImage ** out_out, GenMapimOpts *opts); typedef struct { int has_band; int band; } GenMaplutOpts; int gen_vips_maplut(VipsImage * input, VipsImage * lut, VipsImage ** out_out, GenMaplutOpts *opts); typedef struct { int has_uchar; int uchar; int has_nodc; int nodc; int has_reject; int reject; int has_optical; int optical; } GenMaskButterworthOpts; int gen_vips_mask_butterworth(int width, int height, double order, double frequencyCutoff, double amplitudeCutoff, VipsImage ** out_out, GenMaskButterworthOpts *opts); typedef struct { int has_uchar; int uchar; int has_nodc; int nodc; int has_reject; int reject; int has_optical; int optical; } GenMaskButterworthBandOpts; int gen_vips_mask_butterworth_band(int width, int height, double order, double frequencyCutoffX, double frequencyCutoffY, double radius, double amplitudeCutoff, VipsImage ** out_out, GenMaskButterworthBandOpts *opts); typedef struct { int has_uchar; int uchar; int has_nodc; int nodc; int has_reject; int reject; int has_optical; int optical; } GenMaskButterworthRingOpts; int gen_vips_mask_butterworth_ring(int width, int height, double order, double frequencyCutoff, double amplitudeCutoff, double ringwidth, VipsImage ** out_out, GenMaskButterworthRingOpts *opts); typedef struct { int has_uchar; int uchar; int has_nodc; int nodc; int has_reject; int reject; int has_optical; int optical; } GenMaskFractalOpts; int gen_vips_mask_fractal(int width, int height, double fractalDimension, VipsImage ** out_out, GenMaskFractalOpts *opts); typedef struct { int has_uchar; int uchar; int has_nodc; int nodc; int has_reject; int reject; int has_optical; int optical; } GenMaskGaussianOpts; int gen_vips_mask_gaussian(int width, int height, double frequencyCutoff, double amplitudeCutoff, VipsImage ** out_out, GenMaskGaussianOpts *opts); typedef struct { int has_uchar; int uchar; int has_nodc; int nodc; int has_reject; int reject; int has_optical; int optical; } GenMaskGaussianBandOpts; int gen_vips_mask_gaussian_band(int width, int height, double frequencyCutoffX, double frequencyCutoffY, double radius, double amplitudeCutoff, VipsImage ** out_out, GenMaskGaussianBandOpts *opts); typedef struct { int has_uchar; int uchar; int has_nodc; int nodc; int has_reject; int reject; int has_optical; int optical; } GenMaskGaussianRingOpts; int gen_vips_mask_gaussian_ring(int width, int height, double frequencyCutoff, double amplitudeCutoff, double ringwidth, VipsImage ** out_out, GenMaskGaussianRingOpts *opts); typedef struct { int has_uchar; int uchar; int has_nodc; int nodc; int has_reject; int reject; int has_optical; int optical; } GenMaskIdealOpts; int gen_vips_mask_ideal(int width, int height, double frequencyCutoff, VipsImage ** out_out, GenMaskIdealOpts *opts); typedef struct { int has_uchar; int uchar; int has_nodc; int nodc; int has_reject; int reject; int has_optical; int optical; } GenMaskIdealBandOpts; int gen_vips_mask_ideal_band(int width, int height, double frequencyCutoffX, double frequencyCutoffY, double radius, VipsImage ** out_out, GenMaskIdealBandOpts *opts); typedef struct { int has_uchar; int uchar; int has_nodc; int nodc; int has_reject; int reject; int has_optical; int optical; } GenMaskIdealRingOpts; int gen_vips_mask_ideal_ring(int width, int height, double frequencyCutoff, double ringwidth, VipsImage ** out_out, GenMaskIdealRingOpts *opts); typedef struct { int has_hwindow; int hwindow; int has_harea; int harea; int has_search; int search; int has_interpolate; VipsInterpolate *interpolate; } GenMatchOpts; int gen_vips_match(VipsImage * ref, VipsImage * sec, int xr1, int yr1, int xs1, int ys1, int xr2, int yr2, int xs2, int ys2, VipsImage ** out_out, GenMatchOpts *opts); int gen_vips_math(VipsImage * input, VipsOperationMath math, VipsImage ** out_out); int gen_vips_math2(VipsImage * left, VipsImage * right, VipsOperationMath2 math2, VipsImage ** out_out); int gen_vips_math2_const(VipsImage * input, VipsOperationMath2 math2, double * c, int c_n, VipsImage ** out_out); int gen_vips_matrixinvert(VipsImage * input, VipsImage ** out_out); int gen_vips_matrixmultiply(VipsImage * left, VipsImage * right, VipsImage ** out_out); int gen_vips_maxpair(VipsImage * left, VipsImage * right, VipsImage ** out_out); typedef struct { int has_mblend; int mblend; } GenMergeOpts; int gen_vips_merge(VipsImage * ref, VipsImage * sec, VipsDirection direction, int dx, int dy, VipsImage ** out_out, GenMergeOpts *opts); int gen_vips_minpair(VipsImage * left, VipsImage * right, VipsImage ** out_out); int gen_vips_morph(VipsImage * input, VipsImage * mask, VipsOperationMorphology morph, VipsImage ** out_out); typedef struct { int has_hwindow; int hwindow; int has_harea; int harea; int has_mblend; int mblend; int has_bandno; int bandno; } GenMosaicOpts; int gen_vips_mosaic(VipsImage * ref, VipsImage * sec, VipsDirection direction, int xref, int yref, int xsec, int ysec, VipsImage ** out_out, int * out_dx0, int * out_dy0, double * out_scale1, double * out_angle1, double * out_dy1, double * out_dx1, GenMosaicOpts *opts); typedef struct { int has_hwindow; int hwindow; int has_harea; int harea; int has_search; int search; int has_interpolate; VipsInterpolate *interpolate; int has_mblend; int mblend; } GenMosaic1Opts; int gen_vips_mosaic1(VipsImage * ref, VipsImage * sec, VipsDirection direction, int xr1, int yr1, int xs1, int ys1, int xr2, int yr2, int xs2, int ys2, VipsImage ** out_out, GenMosaic1Opts *opts); typedef struct { int has_band; int band; } GenMsbOpts; int gen_vips_msb(VipsImage * input, VipsImage ** out_out, GenMsbOpts *opts); int gen_vips_multiply(VipsImage * left, VipsImage * right, VipsImage ** out_out); int gen_vips_percent(VipsImage * input, double percent, int * out_threshold); typedef struct { int has_cellSize; int cellSize; int has_uchar; int uchar; int has_seed; int seed; } GenPerlinOpts; int gen_vips_perlin(int width, int height, VipsImage ** out_out, GenPerlinOpts *opts); int gen_vips_phasecor(VipsImage * input, VipsImage * in2, VipsImage ** out_out); typedef struct { int has_maxAlpha; double maxAlpha; } GenPremultiplyOpts; int gen_vips_premultiply(VipsImage * input, VipsImage ** out_out, GenPremultiplyOpts *opts); int gen_vips_prewitt(VipsImage * input, VipsImage ** out_out); int gen_vips_profile(VipsImage * input, VipsImage ** out_columns, VipsImage ** out_rows); int gen_vips_project(VipsImage * input, VipsImage ** out_columns, VipsImage ** out_rows); typedef struct { int has_interpolate; VipsInterpolate *interpolate; } GenQuadraticOpts; int gen_vips_quadratic(VipsImage * input, VipsImage * coeff, VipsImage ** out_out, GenQuadraticOpts *opts); int gen_vips_rad2float(VipsImage * input, VipsImage ** out_out); int gen_vips_rank(VipsImage * input, int width, int height, int index, VipsImage ** out_out); int gen_vips_recomb(VipsImage * input, VipsImage * m, VipsImage ** out_out); typedef struct { int has_kernel; VipsKernel kernel; int has_gap; double gap; } GenReduceOpts; int gen_vips_reduce(VipsImage * input, double hshrink, double vshrink, VipsImage ** out_out, GenReduceOpts *opts); typedef struct { int has_kernel; VipsKernel kernel; int has_gap; double gap; } GenReducehOpts; int gen_vips_reduceh(VipsImage * input, double hshrink, VipsImage ** out_out, GenReducehOpts *opts); typedef struct { int has_kernel; VipsKernel kernel; int has_gap; double gap; } GenReducevOpts; int gen_vips_reducev(VipsImage * input, double vshrink, VipsImage ** out_out, GenReducevOpts *opts); int gen_vips_relational(VipsImage * left, VipsImage * right, VipsOperationRelational relational, VipsImage ** out_out); int gen_vips_relational_const(VipsImage * input, VipsOperationRelational relational, double * c, int c_n, VipsImage ** out_out); int gen_vips_remainder(VipsImage * left, VipsImage * right, VipsImage ** out_out); int gen_vips_remainder_const(VipsImage * input, double * c, int c_n, VipsImage ** out_out); int gen_vips_remosaic(VipsImage * input, const char * oldStr, const char * newStr, VipsImage ** out_out); int gen_vips_replicate(VipsImage * input, int across, int down, VipsImage ** out_out); int gen_vips_rot(VipsImage * input, VipsAngle angle, VipsImage ** out_out); typedef struct { int has_angle; VipsAngle45 angle; } GenRot45Opts; int gen_vips_rot45(VipsImage * input, VipsImage ** out_out, GenRot45Opts *opts); typedef struct { int has_interpolate; VipsInterpolate *interpolate; int has_background; double *background; int background_n; int has_odx; double odx; int has_ody; double ody; int has_idx; double idx; int has_idy; double idy; } GenRotateOpts; int gen_vips_rotate(VipsImage * input, double angle, VipsImage ** out_out, GenRotateOpts *opts); int gen_vips_round(VipsImage * input, VipsOperationRound round, VipsImage ** out_out); int gen_vips_sRGB2HSV(VipsImage * input, VipsImage ** out_out); int gen_vips_sRGB2scRGB(VipsImage * input, VipsImage ** out_out); typedef struct { int has_depth; int depth; } GenScRGB2BWOpts; int gen_vips_scRGB2BW(VipsImage * input, VipsImage ** out_out, GenScRGB2BWOpts *opts); int gen_vips_scRGB2XYZ(VipsImage * input, VipsImage ** out_out); typedef struct { int has_depth; int depth; } GenScRGB2sRGBOpts; int gen_vips_scRGB2sRGB(VipsImage * input, VipsImage ** out_out, GenScRGB2sRGBOpts *opts); typedef struct { int has_exp; double exp; int has_log; int log; } GenScaleOpts; int gen_vips_scale(VipsImage * input, VipsImage ** out_out, GenScaleOpts *opts); int gen_vips_scharr(VipsImage * input, VipsImage ** out_out); typedef struct { int has_tileHeight; int tileHeight; } GenSequentialOpts; int gen_vips_sequential(VipsImage * input, VipsImage ** out_out, GenSequentialOpts *opts); typedef struct { int has_sigma; double sigma; int has_x1; double x1; int has_y2; double y2; int has_y3; double y3; int has_m1; double m1; int has_m2; double m2; } GenSharpenOpts; int gen_vips_sharpen(VipsImage * input, VipsImage ** out_out, GenSharpenOpts *opts); typedef struct { int has_ceil; int ceil; } GenShrinkOpts; int gen_vips_shrink(VipsImage * input, double hshrink, double vshrink, VipsImage ** out_out, GenShrinkOpts *opts); typedef struct { int has_ceil; int ceil; } GenShrinkhOpts; int gen_vips_shrinkh(VipsImage * input, int hshrink, VipsImage ** out_out, GenShrinkhOpts *opts); typedef struct { int has_ceil; int ceil; } GenShrinkvOpts; int gen_vips_shrinkv(VipsImage * input, int vshrink, VipsImage ** out_out, GenShrinkvOpts *opts); int gen_vips_sign(VipsImage * input, VipsImage ** out_out); typedef struct { int has_scale; double scale; int has_angle; double angle; int has_interpolate; VipsInterpolate *interpolate; int has_background; double *background; int background_n; int has_odx; double odx; int has_ody; double ody; int has_idx; double idx; int has_idy; double idy; } GenSimilarityOpts; int gen_vips_similarity(VipsImage * input, VipsImage ** out_out, GenSimilarityOpts *opts); typedef struct { int has_uchar; int uchar; int has_hfreq; double hfreq; int has_vfreq; double vfreq; } GenSinesOpts; int gen_vips_sines(int width, int height, VipsImage ** out_out, GenSinesOpts *opts); typedef struct { int has_interesting; VipsInteresting interesting; int has_premultiplied; int premultiplied; } GenSmartcropOpts; int gen_vips_smartcrop(VipsImage * input, int width, int height, int * out_attentionX, VipsImage ** out_out, int * out_attentionY, GenSmartcropOpts *opts); int gen_vips_sobel(VipsImage * input, VipsImage ** out_out); int gen_vips_spcor(VipsImage * input, VipsImage * ref, VipsImage ** out_out); int gen_vips_spectrum(VipsImage * input, VipsImage ** out_out); int gen_vips_stats(VipsImage * input, VipsImage ** out_out); typedef struct { int has_s0; double s0; int has_b; double b; int has_m0; double m0; int has_a; double a; } GenStdifOpts; int gen_vips_stdif(VipsImage * input, int width, int height, VipsImage ** out_out, GenStdifOpts *opts); typedef struct { int has_point; int point; } GenSubsampleOpts; int gen_vips_subsample(VipsImage * input, int xfac, int yfac, VipsImage ** out_out, GenSubsampleOpts *opts); int gen_vips_subtract(VipsImage * left, VipsImage * right, VipsImage ** out_out); int gen_vips_sum(VipsImage **input, int input_n, VipsImage ** out_out); typedef struct { int has_tileWidth; int tileWidth; int has_tileHeight; int tileHeight; int has_maxTiles; int maxTiles; int has_access; VipsAccess access; int has_threaded; int threaded; int has_persistent; int persistent; } GenTilecacheOpts; int gen_vips_tilecache(VipsImage * input, VipsImage ** out_out, GenTilecacheOpts *opts); typedef struct { int has_inMax; int inMax; int has_outMax; int outMax; int has_Lb; double Lb; int has_Lw; double Lw; int has_Ps; double Ps; int has_Pm; double Pm; int has_Ph; double Ph; int has_S; double S; int has_M; double M; int has_H; double H; } GenTonelutOpts; int gen_vips_tonelut(VipsImage ** out_out, GenTonelutOpts *opts); typedef struct { int has_pageHeight; int pageHeight; } GenTranspose3dOpts; int gen_vips_transpose3d(VipsImage * input, VipsImage ** out_out, GenTranspose3dOpts *opts); int gen_vips_uhdr2scRGB(VipsImage * input, VipsImage ** out_out); typedef struct { int has_maxAlpha; double maxAlpha; int has_alphaBand; int alphaBand; } GenUnpremultiplyOpts; int gen_vips_unpremultiply(VipsImage * input, VipsImage ** out_out, GenUnpremultiplyOpts *opts); typedef struct { int has_cellSize; int cellSize; int has_seed; int seed; } GenWorleyOpts; int gen_vips_worley(int width, int height, VipsImage ** out_out, GenWorleyOpts *opts); typedef struct { int has_x; int x; int has_y; int y; } GenWrapOpts; int gen_vips_wrap(VipsImage * input, VipsImage ** out_out, GenWrapOpts *opts); typedef struct { int has_csize; int csize; int has_dsize; int dsize; int has_esize; int esize; } GenXyzOpts; int gen_vips_xyz(int width, int height, VipsImage ** out_out, GenXyzOpts *opts); typedef struct { int has_uchar; int uchar; } GenZoneOpts; int gen_vips_zone(int width, int height, VipsImage ** out_out, GenZoneOpts *opts); int gen_vips_zoom(VipsImage * input, int xfac, int yfac, VipsImage ** out_out); #endif