| conversion.h | | conversion.h | |
| | | | |
| skipping to change at line 41 | | skipping to change at line 41 | |
| | | | |
| */ | | */ | |
| | | | |
| #ifndef VIPS_CONVERSION_H | | #ifndef VIPS_CONVERSION_H | |
| #define VIPS_CONVERSION_H | | #define VIPS_CONVERSION_H | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
| #endif /*__cplusplus*/ | | #endif /*__cplusplus*/ | |
| | | | |
|
| /** | | | |
| * VipsExtend: | | | |
| * @VIPS_EXTEND_BLACK: extend with black (all 0) pixels | | | |
| * @VIPS_EXTEND_COPY: copy the image edges | | | |
| * @VIPS_EXTEND_REPEAT: repeat the whole image | | | |
| * @VIPS_EXTEND_MIRROR: mirror the whole image | | | |
| * @VIPS_EXTEND_WHITE: extend with white (all bits set) pixels | | | |
| * @VIPS_EXTEND_BACKGROUND: extend with colour from the @background propert | | | |
| y | | | |
| * | | | |
| * See vips_embed(), vips_conv(), vips_affine() and so on. | | | |
| * | | | |
| * When the edges of an image are extended, you can specify | | | |
| * how you want the extension done. | | | |
| * | | | |
| * #VIPS_EXTEND_BLACK --- new pixels are black, ie. all bits are zero. | | | |
| * | | | |
| * #VIPS_EXTEND_COPY --- each new pixel takes the value of the nearest edge | | | |
| * pixel | | | |
| * | | | |
| * #VIPS_EXTEND_REPEAT --- the image is tiled to fill the new area | | | |
| * | | | |
| * #VIPS_EXTEND_MIRROR --- the image is reflected and tiled to reduce hash | | | |
| * edges | | | |
| * | | | |
| * #VIPS_EXTEND_WHITE --- new pixels are white, ie. all bits are set | | | |
| | | | |
| * #VIPS_EXTEND_BACKGROUND --- colour set from the @background property | | | |
| * | | | |
| * We have to specify the exact value of each enum member since we have to | | | |
| * keep these frozen for back compat with vips7. | | | |
| * | | | |
| * See also: vips_embed(). | | | |
| */ | | | |
| typedef enum { | | typedef enum { | |
| VIPS_EXTEND_BLACK, | | VIPS_EXTEND_BLACK, | |
| VIPS_EXTEND_COPY, | | VIPS_EXTEND_COPY, | |
| VIPS_EXTEND_REPEAT, | | VIPS_EXTEND_REPEAT, | |
| VIPS_EXTEND_MIRROR, | | VIPS_EXTEND_MIRROR, | |
| VIPS_EXTEND_WHITE, | | VIPS_EXTEND_WHITE, | |
| VIPS_EXTEND_BACKGROUND, | | VIPS_EXTEND_BACKGROUND, | |
| VIPS_EXTEND_LAST | | VIPS_EXTEND_LAST | |
| } VipsExtend; | | } VipsExtend; | |
| | | | |
|
| /** | | | |
| * VipsDirection: | | | |
| * @VIPS_DIRECTION_HORIZONTAL: left-right | | | |
| * @VIPS_DIRECTION_VERTICAL: top-bottom | | | |
| * | | | |
| * See vips_flip(), vips_join() and so on. | | | |
| * | | | |
| * Operations like vips_flip() need to be told whether to flip left-right o | | | |
| r | | | |
| * top-bottom. | | | |
| * | | | |
| * See also: vips_flip(), vips_join(). | | | |
| */ | | | |
| typedef enum { | | typedef enum { | |
| VIPS_DIRECTION_HORIZONTAL, | | VIPS_DIRECTION_HORIZONTAL, | |
| VIPS_DIRECTION_VERTICAL, | | VIPS_DIRECTION_VERTICAL, | |
| VIPS_DIRECTION_LAST | | VIPS_DIRECTION_LAST | |
| } VipsDirection; | | } VipsDirection; | |
| | | | |
|
| /** | | | |
| * VipsAlign: | | | |
| * @VIPS_ALIGN_LOW: align low coordinate edge | | | |
| * @VIPS_ALIGN_CENTRE: align centre | | | |
| * @VIPS_ALIGN_HIGH: align high coordinate edge | | | |
| * | | | |
| * See vips_join() and so on. | | | |
| * | | | |
| * Operations like vips_join() need to be told whether to align images on t | | | |
| he | | | |
| * low or high coordinate edge, or centre. | | | |
| * | | | |
| * | | | |
| * | | | |
| * See also: vips_join(). | | | |
| */ | | | |
| typedef enum { | | typedef enum { | |
| VIPS_ALIGN_LOW, | | VIPS_ALIGN_LOW, | |
| VIPS_ALIGN_CENTRE, | | VIPS_ALIGN_CENTRE, | |
| VIPS_ALIGN_HIGH, | | VIPS_ALIGN_HIGH, | |
| VIPS_ALIGN_LAST | | VIPS_ALIGN_LAST | |
| } VipsAlign; | | } VipsAlign; | |
| | | | |
|
| /** | | | |
| * VipsAngle: | | | |
| * @VIPS_ANGLE_0: no rotate | | | |
| * @VIPS_ANGLE_90: 90 degrees anti-clockwise | | | |
| * @VIPS_ANGLE_180: 180 degree rotate | | | |
| * @VIPS_ANGLE_270: 90 degrees clockwise | | | |
| * | | | |
| * See vips_rot() and so on. | | | |
| * | | | |
| * Fixed rotate angles. | | | |
| * | | | |
| * See also: vips_rot(). | | | |
| */ | | | |
| typedef enum { | | typedef enum { | |
| VIPS_ANGLE_0, | | VIPS_ANGLE_0, | |
| VIPS_ANGLE_90, | | VIPS_ANGLE_90, | |
| VIPS_ANGLE_180, | | VIPS_ANGLE_180, | |
| VIPS_ANGLE_270, | | VIPS_ANGLE_270, | |
| VIPS_ANGLE_LAST | | VIPS_ANGLE_LAST | |
| } VipsAngle; | | } VipsAngle; | |
| | | | |
|
| /** | | | |
| * VipsCacheStrategy: | | | |
| * @VIPS_CACHE_RANDOM: expect random access | | | |
| * @VIPS_CACHE_SEQUENTIAL: expect sequential access | | | |
| * | | | |
| * See vips_tilecache() and friends. | | | |
| * | | | |
| * Used to hint to caches about the expected access pattern. RANDOM might m | | | |
| ean | | | |
| * LRU eviction, SEQUENTIAL might mean top-most eviction. | | | |
| * | | | |
| * See also: vips_tilecache(). | | | |
| */ | | | |
| typedef enum { | | | |
| VIPS_CACHE_RANDOM, | | | |
| VIPS_CACHE_SEQUENTIAL, | | | |
| VIPS_CACHE_LAST | | | |
| } VipsCacheStrategy; | | | |
| | | | |
| int vips_copy( VipsImage *in, VipsImage **out, ... ) | | int vips_copy( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_tilecache( VipsImage *in, VipsImage **out, ... ) | | int vips_tilecache( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_linecache( VipsImage *in, VipsImage **out, ... ) | | int vips_linecache( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_sequential( VipsImage *in, VipsImage **out, ... ) | | int vips_sequential( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_cache( VipsImage *in, VipsImage **out, ... ) | | int vips_cache( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| | | | |
| skipping to change at line 259 | | skipping to change at line 168 | |
| | | | |
| int vips_recomb( VipsImage *in, VipsImage **out, VipsImage *m, ... ) | | int vips_recomb( VipsImage *in, VipsImage **out, VipsImage *m, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| | | | |
| int vips_ifthenelse( VipsImage *cond, VipsImage *in1, VipsImage *in2, | | int vips_ifthenelse( VipsImage *cond, VipsImage *in1, VipsImage *in2, | |
| VipsImage **out, ... ) | | VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_flatten( VipsImage *in, VipsImage **out, ... ) | | int vips_flatten( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| | | | |
|
| int im_falsecolour( VipsImage *in, VipsImage *out ); | | int vips_falsecolour( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_gammacorrect( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | | |
| int im_insertset( VipsImage *main, VipsImage *sub, VipsImage *out, int n, i
nt *x, int *y ); | | int im_insertset( VipsImage *main, VipsImage *sub, VipsImage *out, int n, i
nt *x, int *y ); | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif /*__cplusplus*/ | | #endif /*__cplusplus*/ | |
| | | | |
| #endif /*VIPS_CONVERSION_H*/ | | #endif /*VIPS_CONVERSION_H*/ | |
| | | | |
End of changes. 6 change blocks. |
| 96 lines changed or deleted | | 4 lines changed or added | |
|
| enumtypes.h | | enumtypes.h | |
| | | | |
| skipping to change at line 50 | | skipping to change at line 50 | |
| #define VIPS_TYPE_OPERATION_COMPLEXGET (vips_operation_complexget_get_type(
)) | | #define VIPS_TYPE_OPERATION_COMPLEXGET (vips_operation_complexget_get_type(
)) | |
| /* enumerations from "../../../libvips/include/vips/conversion.h" */ | | /* enumerations from "../../../libvips/include/vips/conversion.h" */ | |
| GType vips_extend_get_type (void) G_GNUC_CONST; | | GType vips_extend_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_EXTEND (vips_extend_get_type()) | | #define VIPS_TYPE_EXTEND (vips_extend_get_type()) | |
| GType vips_direction_get_type (void) G_GNUC_CONST; | | GType vips_direction_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_DIRECTION (vips_direction_get_type()) | | #define VIPS_TYPE_DIRECTION (vips_direction_get_type()) | |
| GType vips_align_get_type (void) G_GNUC_CONST; | | GType vips_align_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_ALIGN (vips_align_get_type()) | | #define VIPS_TYPE_ALIGN (vips_align_get_type()) | |
| GType vips_angle_get_type (void) G_GNUC_CONST; | | GType vips_angle_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_ANGLE (vips_angle_get_type()) | | #define VIPS_TYPE_ANGLE (vips_angle_get_type()) | |
|
| GType vips_cache_strategy_get_type (void) G_GNUC_CONST; | | | |
| #define VIPS_TYPE_CACHE_STRATEGY (vips_cache_strategy_get_type()) | | | |
| /* enumerations from "../../../libvips/include/vips/util.h" */ | | /* enumerations from "../../../libvips/include/vips/util.h" */ | |
| GType vips_token_get_type (void) G_GNUC_CONST; | | GType vips_token_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_TOKEN (vips_token_get_type()) | | #define VIPS_TYPE_TOKEN (vips_token_get_type()) | |
| /* enumerations from "../../../libvips/include/vips/image.h" */ | | /* enumerations from "../../../libvips/include/vips/image.h" */ | |
| GType vips_demand_style_get_type (void) G_GNUC_CONST; | | GType vips_demand_style_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_DEMAND_STYLE (vips_demand_style_get_type()) | | #define VIPS_TYPE_DEMAND_STYLE (vips_demand_style_get_type()) | |
| GType vips_image_type_get_type (void) G_GNUC_CONST; | | GType vips_image_type_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_IMAGE_TYPE (vips_image_type_get_type()) | | #define VIPS_TYPE_IMAGE_TYPE (vips_image_type_get_type()) | |
| GType vips_interpretation_get_type (void) G_GNUC_CONST; | | GType vips_interpretation_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_INTERPRETATION (vips_interpretation_get_type()) | | #define VIPS_TYPE_INTERPRETATION (vips_interpretation_get_type()) | |
| GType vips_band_format_get_type (void) G_GNUC_CONST; | | GType vips_band_format_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_BAND_FORMAT (vips_band_format_get_type()) | | #define VIPS_TYPE_BAND_FORMAT (vips_band_format_get_type()) | |
| GType vips_coding_get_type (void) G_GNUC_CONST; | | GType vips_coding_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_CODING (vips_coding_get_type()) | | #define VIPS_TYPE_CODING (vips_coding_get_type()) | |
|
| | | GType vips_access_get_type (void) G_GNUC_CONST; | |
| | | #define VIPS_TYPE_ACCESS (vips_access_get_type()) | |
| /* enumerations from "../../../libvips/include/vips/colour.h" */ | | /* enumerations from "../../../libvips/include/vips/colour.h" */ | |
| GType vips_intent_get_type (void) G_GNUC_CONST; | | GType vips_intent_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_INTENT (vips_intent_get_type()) | | #define VIPS_TYPE_INTENT (vips_intent_get_type()) | |
| /* enumerations from "../../../libvips/include/vips/operation.h" */ | | /* enumerations from "../../../libvips/include/vips/operation.h" */ | |
| GType vips_operation_flags_get_type (void) G_GNUC_CONST; | | GType vips_operation_flags_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_OPERATION_FLAGS (vips_operation_flags_get_type()) | | #define VIPS_TYPE_OPERATION_FLAGS (vips_operation_flags_get_type()) | |
|
| | | /* enumerations from "../../../libvips/include/vips/convolution.h" */ | |
| | | GType vips_precision_get_type (void) G_GNUC_CONST; | |
| | | #define VIPS_TYPE_PRECISION (vips_precision_get_type()) | |
| /* enumerations from "../../../libvips/include/vips/object.h" */ | | /* enumerations from "../../../libvips/include/vips/object.h" */ | |
| GType vips_argument_flags_get_type (void) G_GNUC_CONST; | | GType vips_argument_flags_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_ARGUMENT_FLAGS (vips_argument_flags_get_type()) | | #define VIPS_TYPE_ARGUMENT_FLAGS (vips_argument_flags_get_type()) | |
| G_END_DECLS | | G_END_DECLS | |
| | | | |
| #endif /*VIPS_ENUM_TYPES_H*/ | | #endif /*VIPS_ENUM_TYPES_H*/ | |
| | | | |
| /* Generated data ends here */ | | /* Generated data ends here */ | |
| | | | |
End of changes. 3 change blocks. |
| 2 lines changed or deleted | | 5 lines changed or added | |
|
| error.h | | error.h | |
| | | | |
| skipping to change at line 41 | | skipping to change at line 41 | |
| #ifndef VIPS_ERROR_H | | #ifndef VIPS_ERROR_H | |
| #define VIPS_ERROR_H | | #define VIPS_ERROR_H | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
| #endif /*__cplusplus*/ | | #endif /*__cplusplus*/ | |
| | | | |
| const char *vips_error_buffer( void ); | | const char *vips_error_buffer( void ); | |
| void vips_error_clear( void ); | | void vips_error_clear( void ); | |
| | | | |
|
| | | void vips_error_freeze( void ); | |
| | | void vips_error_thaw( void ); | |
| | | | |
| void vips_error( const char *domain, const char *fmt, ... ) | | void vips_error( const char *domain, const char *fmt, ... ) | |
| __attribute__((format(printf, 2, 3))); | | __attribute__((format(printf, 2, 3))); | |
| void vips_verror( const char *domain, const char *fmt, va_list ap ); | | void vips_verror( const char *domain, const char *fmt, va_list ap ); | |
| void vips_error_system( int err, const char *domain, const char *fmt, ... ) | | void vips_error_system( int err, const char *domain, const char *fmt, ... ) | |
| __attribute__((format(printf, 3, 4))); | | __attribute__((format(printf, 3, 4))); | |
| void vips_verror_system( int err, const char *domain, | | void vips_verror_system( int err, const char *domain, | |
| const char *fmt, va_list ap ); | | const char *fmt, va_list ap ); | |
| void vips_error_g( GError **error ); | | void vips_error_g( GError **error ); | |
| void vips_warn( const char *domain, const char *fmt, ... ) | | void vips_warn( const char *domain, const char *fmt, ... ) | |
| __attribute__((format(printf, 2, 3))); | | __attribute__((format(printf, 2, 3))); | |
| void vips_vwarn( const char *domain, const char *fmt, va_list ap ); | | void vips_vwarn( const char *domain, const char *fmt, va_list ap ); | |
|
| void vips_diag( const char *domain, const char *fmt, ... ) | | void vips_info( const char *domain, const char *fmt, ... ) | |
| __attribute__((format(printf, 2, 3))); | | __attribute__((format(printf, 2, 3))); | |
|
| void vips_vdiag( const char *domain, const char *fmt, va_list ap ); | | void vips_vinfo( const char *domain, const char *fmt, va_list ap ); | |
| | | | |
| void vips_error_exit( const char *fmt, ... ) | | void vips_error_exit( const char *fmt, ... ) | |
| __attribute__((noreturn, format(printf, 1, 2))); | | __attribute__((noreturn, format(printf, 1, 2))); | |
| | | | |
| int vips_check_uncoded( const char *domain, VipsImage *im ); | | int vips_check_uncoded( const char *domain, VipsImage *im ); | |
| int vips_check_coding( const char *domain, VipsImage *im, VipsCoding coding
); | | int vips_check_coding( const char *domain, VipsImage *im, VipsCoding coding
); | |
| int vips_check_coding_known( const char *domain, VipsImage *im ); | | int vips_check_coding_known( const char *domain, VipsImage *im ); | |
| int vips_check_coding_noneorlabq( const char *domain, VipsImage *im ); | | int vips_check_coding_noneorlabq( const char *domain, VipsImage *im ); | |
| int vips_check_coding_same( const char *domain, VipsImage *im1, VipsImage *
im2 ); | | int vips_check_coding_same( const char *domain, VipsImage *im1, VipsImage *
im2 ); | |
| int vips_check_mono( const char *domain, VipsImage *im ); | | int vips_check_mono( const char *domain, VipsImage *im ); | |
| | | | |
End of changes. 3 change blocks. |
| 2 lines changed or deleted | | 5 lines changed or added | |
|
| foreign.h | | foreign.h | |
| | | | |
| skipping to change at line 121 | | skipping to change at line 121 | |
| VIPS_TYPE_FOREIGN_LOAD, VipsForeignLoadClass )) | | VIPS_TYPE_FOREIGN_LOAD, VipsForeignLoadClass )) | |
| | | | |
| typedef struct _VipsForeignLoad { | | typedef struct _VipsForeignLoad { | |
| VipsForeign parent_object; | | VipsForeign parent_object; | |
| /*< private >*/ | | /*< private >*/ | |
| | | | |
| /* Open to disc (default is to open to memory). | | /* Open to disc (default is to open to memory). | |
| */ | | */ | |
| gboolean disc; | | gboolean disc; | |
| | | | |
|
| /* Setting this means "I promise to only read sequentially from this | | /* Type of access upstream wants and the loader must supply. | |
| * image". | | | |
| */ | | */ | |
|
| gboolean sequential; | | VipsAccess access; | |
| | | | |
| /* Flags for this load operation. | | /* Flags for this load operation. | |
| */ | | */ | |
| VipsForeignFlags flags; | | VipsForeignFlags flags; | |
| | | | |
|
| | | /* Deprecated and unused, just here for compat. | |
| | | */ | |
| | | gboolean sequential; | |
| | | | |
| /*< public >*/ | | /*< public >*/ | |
| | | | |
| /* The image we generate. This must be set by ->header(). | | /* The image we generate. This must be set by ->header(). | |
| */ | | */ | |
| VipsImage *out; | | VipsImage *out; | |
| | | | |
| /* The behind-the-scenes real image we decompress to. This can be a | | /* The behind-the-scenes real image we decompress to. This can be a | |
| * disc foreign or a memory buffer. This must be set by ->load(). | | * disc foreign or a memory buffer. This must be set by ->load(). | |
| */ | | */ | |
| VipsImage *real; | | VipsImage *real; | |
| | | | |
| skipping to change at line 322 | | skipping to change at line 325 | |
| int vips_jpegload_buffer( void *buf, size_t len, VipsImage **out, ... ) | | int vips_jpegload_buffer( void *buf, size_t len, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| | | | |
| int vips_jpegsave( VipsImage *in, const char *filename, ... ) | | int vips_jpegsave( VipsImage *in, const char *filename, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_jpegsave_buffer( VipsImage *in, void **buf, size_t *len, ... ) | | int vips_jpegsave_buffer( VipsImage *in, void **buf, size_t *len, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_jpegsave_mime( VipsImage *in, ... ) | | int vips_jpegsave_mime( VipsImage *in, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| | | | |
|
| | | int vips_webpload( const char *filename, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_webpload_buffer( void *buf, size_t len, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | | |
| | | int vips_webpsave( VipsImage *in, const char *filename, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_webpsave_buffer( VipsImage *in, void **buf, size_t *len, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_webpsave_mime( VipsImage *in, ... ) | |
| | | __attribute__((sentinel)); | |
| | | | |
| /** | | /** | |
| * VipsForeignTiffCompression: | | * VipsForeignTiffCompression: | |
| * @VIPS_FOREIGN_TIFF_COMPRESSION_NONE: no compression | | * @VIPS_FOREIGN_TIFF_COMPRESSION_NONE: no compression | |
| * @VIPS_FOREIGN_TIFF_COMPRESSION_JPEG: jpeg compression | | * @VIPS_FOREIGN_TIFF_COMPRESSION_JPEG: jpeg compression | |
| * @VIPS_FOREIGN_TIFF_COMPRESSION_DEFLATE: deflate (zip) compression | | * @VIPS_FOREIGN_TIFF_COMPRESSION_DEFLATE: deflate (zip) compression | |
| * @VIPS_FOREIGN_TIFF_COMPRESSION_PACKBITS: packbits compression | | * @VIPS_FOREIGN_TIFF_COMPRESSION_PACKBITS: packbits compression | |
| * @VIPS_FOREIGN_TIFF_COMPRESSION_CCITTFAX4: fax4 compression | | * @VIPS_FOREIGN_TIFF_COMPRESSION_CCITTFAX4: fax4 compression | |
| * @VIPS_FOREIGN_TIFF_COMPRESSION_LZW: LZW compression | | * @VIPS_FOREIGN_TIFF_COMPRESSION_LZW: LZW compression | |
| * | | * | |
| * The compression types supported by the tiff writer. | | * The compression types supported by the tiff writer. | |
| | | | |
| skipping to change at line 405 | | skipping to change at line 420 | |
| int vips_rawsave( VipsImage *in, const char *filename, ... ) | | int vips_rawsave( VipsImage *in, const char *filename, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_rawsave_fd( VipsImage *in, int fd, ... ) | | int vips_rawsave_fd( VipsImage *in, int fd, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| | | | |
| int vips_csvload( const char *filename, VipsImage **out, ... ) | | int vips_csvload( const char *filename, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_csvsave( VipsImage *in, const char *filename, ... ) | | int vips_csvsave( VipsImage *in, const char *filename, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| | | | |
|
| | | int vips_matrixload( const char *filename, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_matrixsave( VipsImage *in, const char *filename, ... ) | |
| | | __attribute__((sentinel)); | |
| | | | |
| int vips_magickload( const char *filename, VipsImage **out, ... ) | | int vips_magickload( const char *filename, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| | | | |
| int vips_pngload( const char *filename, VipsImage **out, ... ) | | int vips_pngload( const char *filename, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_pngload_buffer( void *buf, size_t len, VipsImage **out, ... ) | | int vips_pngload_buffer( void *buf, size_t len, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_pngsave( VipsImage *in, const char *filename, ... ) | | int vips_pngsave( VipsImage *in, const char *filename, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_pngsave_buffer( VipsImage *in, void **buf, size_t *len, ... ) | | int vips_pngsave_buffer( VipsImage *in, void **buf, size_t *len, ... ) | |
| | | | |
End of changes. 5 change blocks. |
| 3 lines changed or deleted | | 23 lines changed or added | |
|
| header.h | | header.h | |
| | | | |
| skipping to change at line 111 | | skipping to change at line 111 | |
| VipsBandFormat vips_image_get_format( const VipsImage *image ); | | VipsBandFormat vips_image_get_format( const VipsImage *image ); | |
| VipsCoding vips_image_get_coding( const VipsImage *image ); | | VipsCoding vips_image_get_coding( const VipsImage *image ); | |
| VipsInterpretation vips_image_get_interpretation( const VipsImage *image ); | | VipsInterpretation vips_image_get_interpretation( const VipsImage *image ); | |
| VipsInterpretation vips_image_guess_interpretation( const VipsImage *image
); | | VipsInterpretation vips_image_guess_interpretation( const VipsImage *image
); | |
| double vips_image_get_xres( const VipsImage *image ); | | double vips_image_get_xres( const VipsImage *image ); | |
| double vips_image_get_yres( const VipsImage *image ); | | double vips_image_get_yres( const VipsImage *image ); | |
| int vips_image_get_xoffset( const VipsImage *image ); | | int vips_image_get_xoffset( const VipsImage *image ); | |
| int vips_image_get_yoffset( const VipsImage *image ); | | int vips_image_get_yoffset( const VipsImage *image ); | |
| const char *vips_image_get_filename( const VipsImage *image ); | | const char *vips_image_get_filename( const VipsImage *image ); | |
| const char *vips_image_get_mode( const VipsImage *image ); | | const char *vips_image_get_mode( const VipsImage *image ); | |
|
| | | double vips_image_get_scale( const VipsImage *array ); | |
| | | double vips_image_get_offset( const VipsImage *array ); | |
| void *vips_image_get_data( VipsImage *image ); | | void *vips_image_get_data( VipsImage *image ); | |
| | | | |
| void vips_image_init_fields( VipsImage *image, | | void vips_image_init_fields( VipsImage *image, | |
| int xsize, int ysize, int bands, | | int xsize, int ysize, int bands, | |
| VipsBandFormat format, VipsCoding coding, | | VipsBandFormat format, VipsCoding coding, | |
| VipsInterpretation interpretation, | | VipsInterpretation interpretation, | |
| double xres, double yres ); | | double xres, double yres ); | |
| | | | |
| int vips_image_copy_fields_array( VipsImage *out, VipsImage *in[] ); | | int vips_image_copy_fields_array( VipsImage *out, VipsImage *in[] ); | |
| int vips_image_copy_fieldsv( VipsImage *out, VipsImage *in1, ... ) | | int vips_image_copy_fieldsv( VipsImage *out, VipsImage *in1, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_image_copy_fields( VipsImage *out, VipsImage *in ); | | int vips_image_copy_fields( VipsImage *out, VipsImage *in ); | |
| | | | |
| void vips_image_set( VipsImage *image, const char *field, GValue *value ); | | void vips_image_set( VipsImage *image, const char *field, GValue *value ); | |
|
| int vips_image_get( VipsImage *image, const char *field, GValue *value_copy | | int vips_image_get( const VipsImage *image, | |
| ); | | const char *field, GValue *value_copy ); | |
| int vips_image_get_as_string( VipsImage *image, const char *field, char **o | | int vips_image_get_as_string( const VipsImage *image, | |
| ut ); | | const char *field, char **out ); | |
| GType vips_image_get_typeof( VipsImage *image, const char *field ); | | GType vips_image_get_typeof( const VipsImage *image, const char *field ); | |
| gboolean vips_image_remove( VipsImage *image, const char *field ); | | gboolean vips_image_remove( VipsImage *image, const char *field ); | |
| typedef void *(*VipsImageMapFn)( VipsImage *image, | | typedef void *(*VipsImageMapFn)( VipsImage *image, | |
| const char *field, GValue *value, void *a ); | | const char *field, GValue *value, void *a ); | |
| void *vips_image_map( VipsImage *image, VipsImageMapFn fn, void *a ); | | void *vips_image_map( VipsImage *image, VipsImageMapFn fn, void *a ); | |
| | | | |
| void vips_image_set_area( VipsImage *image, | | void vips_image_set_area( VipsImage *image, | |
| const char *field, VipsCallbackFn free_fn, void *data ); | | const char *field, VipsCallbackFn free_fn, void *data ); | |
|
| int vips_image_get_area( VipsImage *image, const char *field, void **data ) | | int vips_image_get_area( const VipsImage *image, | |
| ; | | const char *field, void **data ); | |
| void vips_image_set_blob( VipsImage *image, const char *field, | | void vips_image_set_blob( VipsImage *image, const char *field, | |
| VipsCallbackFn free_fn, void *data, size_t length ); | | VipsCallbackFn free_fn, void *data, size_t length ); | |
|
| int vips_image_get_blob( VipsImage *image, const char *field, | | int vips_image_get_blob( const VipsImage *image, const char *field, | |
| void **data, size_t *length ); | | void **data, size_t *length ); | |
| | | | |
|
| int vips_image_get_int( VipsImage *image, const char *field, int *out ); | | int vips_image_get_int( const VipsImage *image, const char *field, int *out
); | |
| void vips_image_set_int( VipsImage *image, const char *field, int i ); | | void vips_image_set_int( VipsImage *image, const char *field, int i ); | |
|
| int vips_image_get_double( VipsImage *image, const char *field, double *out | | int vips_image_get_double( const VipsImage *image, | |
| ); | | const char *field, double *out ); | |
| void vips_image_set_double( VipsImage *image, const char *field, double d )
; | | void vips_image_set_double( VipsImage *image, const char *field, double d )
; | |
|
| int vips_image_get_string( VipsImage *image, const char *field, char **out | | int vips_image_get_string( const VipsImage *image, | |
| ); | | const char *field, const char **out ); | |
| void vips_image_set_string( VipsImage *image, | | void vips_image_set_string( VipsImage *image, | |
| const char *field, const char *str ); | | const char *field, const char *str ); | |
| | | | |
| int vips_image_history_printf( VipsImage *image, const char *format, ... ) | | int vips_image_history_printf( VipsImage *image, const char *format, ... ) | |
| __attribute__((format(printf, 2, 3))); | | __attribute__((format(printf, 2, 3))); | |
| int vips_image_history_args( VipsImage *image, | | int vips_image_history_args( VipsImage *image, | |
| const char *name, int argc, char *argv[] ); | | const char *name, int argc, char *argv[] ); | |
| const char *vips_image_get_history( VipsImage *image ); | | const char *vips_image_get_history( VipsImage *image ); | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| | | | |
End of changes. 7 change blocks. |
| 13 lines changed or deleted | | 15 lines changed or added | |
|
| image.h | | image.h | |
| | | | |
| skipping to change at line 50 | | skipping to change at line 50 | |
| extern "C" { | | extern "C" { | |
| #endif /*__cplusplus*/ | | #endif /*__cplusplus*/ | |
| | | | |
| /* If you read MSB first, you get these two values. | | /* If you read MSB first, you get these two values. | |
| * intel order: byte 0 = b6 | | * intel order: byte 0 = b6 | |
| * SPARC order: byte 0 = 08 | | * SPARC order: byte 0 = 08 | |
| */ | | */ | |
| #define VIPS_MAGIC_INTEL (0xb6a6f208U) | | #define VIPS_MAGIC_INTEL (0xb6a6f208U) | |
| #define VIPS_MAGIC_SPARC (0x08f2a6b6U) | | #define VIPS_MAGIC_SPARC (0x08f2a6b6U) | |
| | | | |
|
| /** | | | |
| * VipsDemandStyle: | | | |
| * @VIPS_DEMAND_STYLE_SMALLTILE: demand in small (typically 64x64 pixel) ti | | | |
| les | | | |
| * @VIPS_DEMAND_STYLE_FATSTRIP: demand in fat (typically 10 pixel high) str | | | |
| ips | | | |
| * @VIPS_DEMAND_STYLE_THINSTRIP: demand in thin (typically 1 pixel high) st | | | |
| rips | | | |
| * @VIPS_DEMAND_STYLE_ANY: demand geometry does not matter | | | |
| * | | | |
| * See vips_demand_hint(). Operations can hint to the VIPS image IO system | | | |
| about | | | |
| * the kind of demand geometry they prefer. | | | |
| * | | | |
| * These demand styles are given below in order of increasing | | | |
| * restrictiveness. When demanding output from a pipeline, | | | |
| * vips_image_generate() | | | |
| * will use the most restrictive of the styles requested by the operations | | | |
| * in the pipeline. | | | |
| * | | | |
| * #VIPS_DEMAND_STYLE_THINSTRIP --- This operation would like to output str | | | |
| ips | | | |
| * the width of the image and a few pels high. This is option suitable for | | | |
| * point-to-point operations, such as those in the arithmetic package. | | | |
| * | | | |
| * This option is only efficient for cases where each output pel depends | | | |
| * upon the pel in the corresponding position in the input image. | | | |
| * | | | |
| * #VIPS_DEMAND_STYLE_FATSTRIP --- This operation would like to output stri | | | |
| ps | | | |
| * the width of the image and as high as possible. This option is suitable | | | |
| * for area operations which do not violently transform coordinates, such | | | |
| * as im_conv(). | | | |
| * | | | |
| * #VIPS_DEMAND_STYLE_SMALLTILE --- This is the most general demand format. | | | |
| * Output is demanded in small (around 100x100 pel) sections. This style wo | | | |
| rks | | | |
| * reasonably efficiently, even for bizzare operations like 45 degree rotat | | | |
| e. | | | |
| * | | | |
| * #VIPS_DEMAND_STYLE_ANY --- This image is not being demand-read from a di | | | |
| sc | | | |
| * file (even indirectly) so any demand style is OK. It's used for things l | | | |
| ike | | | |
| * im_black() where the pixels are calculated. | | | |
| * | | | |
| * See also: vips_demand_hint(). | | | |
| */ | | | |
| typedef enum { | | typedef enum { | |
| VIPS_DEMAND_STYLE_ERROR = -1, | | VIPS_DEMAND_STYLE_ERROR = -1, | |
| VIPS_DEMAND_STYLE_SMALLTILE, | | VIPS_DEMAND_STYLE_SMALLTILE, | |
| VIPS_DEMAND_STYLE_FATSTRIP, | | VIPS_DEMAND_STYLE_FATSTRIP, | |
| VIPS_DEMAND_STYLE_THINSTRIP, | | VIPS_DEMAND_STYLE_THINSTRIP, | |
| VIPS_DEMAND_STYLE_ANY | | VIPS_DEMAND_STYLE_ANY | |
| } VipsDemandStyle; | | } VipsDemandStyle; | |
| | | | |
| /* Types of image descriptor we may have. The type field is advisory only:
it | | /* Types of image descriptor we may have. The type field is advisory only:
it | |
| * does not imply that any fields in IMAGE have valid data. | | * does not imply that any fields in IMAGE have valid data. | |
| | | | |
| skipping to change at line 111 | | skipping to change at line 73 | |
| VIPS_IMAGE_NONE, /* no type set */ | | VIPS_IMAGE_NONE, /* no type set */ | |
| VIPS_IMAGE_SETBUF, /* malloced memory array */ | | VIPS_IMAGE_SETBUF, /* malloced memory array */ | |
| VIPS_IMAGE_SETBUF_FOREIGN, /* memory array, don't free on close
*/ | | VIPS_IMAGE_SETBUF_FOREIGN, /* memory array, don't free on close
*/ | |
| VIPS_IMAGE_OPENIN, /* input from fd with a window */ | | VIPS_IMAGE_OPENIN, /* input from fd with a window */ | |
| VIPS_IMAGE_MMAPIN, /* memory mapped input file */ | | VIPS_IMAGE_MMAPIN, /* memory mapped input file */ | |
| VIPS_IMAGE_MMAPINRW, /* memory mapped read/write file */ | | VIPS_IMAGE_MMAPINRW, /* memory mapped read/write file */ | |
| VIPS_IMAGE_OPENOUT, /* output to fd */ | | VIPS_IMAGE_OPENOUT, /* output to fd */ | |
| VIPS_IMAGE_PARTIAL /* partial image */ | | VIPS_IMAGE_PARTIAL /* partial image */ | |
| } VipsImageType; | | } VipsImageType; | |
| | | | |
|
| /** | | | |
| * VipsInterpretation: | | | |
| * @VIPS_INTERPRETATION_MULTIBAND: generic many-band image | | | |
| * @VIPS_INTERPRETATION_B_W: some kind of single-band image | | | |
| * @VIPS_INTERPRETATION_HISTOGRAM: a 1D image, eg. histogram or lookup tabl | | | |
| e | | | |
| * @VIPS_INTERPRETATION_FOURIER: image is in fourier space | | | |
| * @VIPS_INTERPRETATION_XYZ: the first three bands are CIE XYZ | | | |
| * @VIPS_INTERPRETATION_LAB: pixels are in CIE Lab space | | | |
| * @VIPS_INTERPRETATION_CMYK: the first four bands are in CMYK space | | | |
| * @VIPS_INTERPRETATION_LABQ: implies #VIPS_CODING_LABQ | | | |
| * @VIPS_INTERPRETATION_RGB: generic RGB space | | | |
| * @VIPS_INTERPRETATION_CMC: a uniform colourspace based on CMC(1:1) | | | |
| * @VIPS_INTERPRETATION_LCH: pixels are in CIE LCh space | | | |
| * @VIPS_INTERPRETATION_LABS: CIE LAB coded as three signed 16-bit values | | | |
| * @VIPS_INTERPRETATION_sRGB: pixels are sRGB | | | |
| * @VIPS_INTERPRETATION_scRGB: pixels are scRGB | | | |
| * @VIPS_INTERPRETATION_YXY: pixels are CIE Yxy | | | |
| * @VIPS_INTERPRETATION_RGB16: generic 16-bit RGB | | | |
| * @VIPS_INTERPRETATION_GREY16: generic 16-bit mono | | | |
| * @VIPS_INTERPRETATION_ARRAY: an array | | | |
| * | | | |
| * How the values in an image should be interpreted. For example, a | | | |
| * three-band float image of type #VIPS_INTERPRETATION_LAB should have its | | | |
| * pixels interpreted as coordinates in CIE Lab space. | | | |
| * | | | |
| * These values are set by operations as hints to user-interfaces built on | | | |
| top | | | |
| * of VIPS to help them show images to the user in a meaningful way. | | | |
| * Operations do not use these values to decide their action. | | | |
| * | | | |
| * The gaps in the numbering are historical and must be maintained. Allocat | | | |
| e | | | |
| * new numbers from the end. | | | |
| */ | | | |
| typedef enum { | | typedef enum { | |
| VIPS_INTERPRETATION_ERROR = -1, | | VIPS_INTERPRETATION_ERROR = -1, | |
| VIPS_INTERPRETATION_MULTIBAND = 0, | | VIPS_INTERPRETATION_MULTIBAND = 0, | |
| VIPS_INTERPRETATION_B_W = 1, | | VIPS_INTERPRETATION_B_W = 1, | |
| VIPS_INTERPRETATION_HISTOGRAM = 10, | | VIPS_INTERPRETATION_HISTOGRAM = 10, | |
| VIPS_INTERPRETATION_XYZ = 12, | | VIPS_INTERPRETATION_XYZ = 12, | |
| VIPS_INTERPRETATION_LAB = 13, | | VIPS_INTERPRETATION_LAB = 13, | |
| VIPS_INTERPRETATION_CMYK = 15, | | VIPS_INTERPRETATION_CMYK = 15, | |
| VIPS_INTERPRETATION_LABQ = 16, | | VIPS_INTERPRETATION_LABQ = 16, | |
| VIPS_INTERPRETATION_RGB = 17, | | VIPS_INTERPRETATION_RGB = 17, | |
| VIPS_INTERPRETATION_CMC = 18, | | VIPS_INTERPRETATION_CMC = 18, | |
| VIPS_INTERPRETATION_LCH = 19, | | VIPS_INTERPRETATION_LCH = 19, | |
| VIPS_INTERPRETATION_LABS = 21, | | VIPS_INTERPRETATION_LABS = 21, | |
| VIPS_INTERPRETATION_sRGB = 22, | | VIPS_INTERPRETATION_sRGB = 22, | |
| VIPS_INTERPRETATION_YXY = 23, | | VIPS_INTERPRETATION_YXY = 23, | |
| VIPS_INTERPRETATION_FOURIER = 24, | | VIPS_INTERPRETATION_FOURIER = 24, | |
| VIPS_INTERPRETATION_RGB16 = 25, | | VIPS_INTERPRETATION_RGB16 = 25, | |
| VIPS_INTERPRETATION_GREY16 = 26, | | VIPS_INTERPRETATION_GREY16 = 26, | |
|
| VIPS_INTERPRETATION_ARRAY = 27, | | VIPS_INTERPRETATION_MATRIX = 27, | |
| VIPS_INTERPRETATION_scRGB = 28 | | VIPS_INTERPRETATION_scRGB = 28 | |
| } VipsInterpretation; | | } VipsInterpretation; | |
| | | | |
|
| /** | | | |
| * VipsBandFormat: | | | |
| * @VIPS_FORMAT_NOTSET: invalid setting | | | |
| * @VIPS_FORMAT_UCHAR: unsigned char format | | | |
| * @VIPS_FORMAT_CHAR: char format | | | |
| * @VIPS_FORMAT_USHORT: unsigned short format | | | |
| * @VIPS_FORMAT_SHORT: short format | | | |
| * @VIPS_FORMAT_UINT: unsigned int format | | | |
| * @VIPS_FORMAT_INT: int format | | | |
| * @VIPS_FORMAT_FLOAT: float format | | | |
| * @VIPS_FORMAT_COMPLEX: complex (two floats) format | | | |
| * @VIPS_FORMAT_DOUBLE: double float format | | | |
| * @VIPS_FORMAT_DPCOMPLEX: double complex (two double) format | | | |
| * | | | |
| * The format used for each band element. | | | |
| * | | | |
| * Each corresponnds to a native C type for the current machine. For exampl | | | |
| e, | | | |
| * #VIPS_FORMAT_USHORT is <type>unsigned short</type>. | | | |
| */ | | | |
| typedef enum { | | typedef enum { | |
| VIPS_FORMAT_NOTSET = -1, | | VIPS_FORMAT_NOTSET = -1, | |
| VIPS_FORMAT_UCHAR = 0, | | VIPS_FORMAT_UCHAR = 0, | |
| VIPS_FORMAT_CHAR = 1, | | VIPS_FORMAT_CHAR = 1, | |
| VIPS_FORMAT_USHORT = 2, | | VIPS_FORMAT_USHORT = 2, | |
| VIPS_FORMAT_SHORT = 3, | | VIPS_FORMAT_SHORT = 3, | |
| VIPS_FORMAT_UINT = 4, | | VIPS_FORMAT_UINT = 4, | |
| VIPS_FORMAT_INT = 5, | | VIPS_FORMAT_INT = 5, | |
| VIPS_FORMAT_FLOAT = 6, | | VIPS_FORMAT_FLOAT = 6, | |
| VIPS_FORMAT_COMPLEX = 7, | | VIPS_FORMAT_COMPLEX = 7, | |
| VIPS_FORMAT_DOUBLE = 8, | | VIPS_FORMAT_DOUBLE = 8, | |
| VIPS_FORMAT_DPCOMPLEX = 9, | | VIPS_FORMAT_DPCOMPLEX = 9, | |
| VIPS_FORMAT_LAST = 10 | | VIPS_FORMAT_LAST = 10 | |
| } VipsBandFormat; | | } VipsBandFormat; | |
| | | | |
|
| /** | | | |
| * VipsCoding: | | | |
| * @VIPS_CODING_NONE: pixels are not coded | | | |
| * @VIPS_CODING_LABQ: pixels encode 3 float CIELAB values as 4 uchar | | | |
| * @VIPS_CODING_RAD: pixels encode 3 float RGB as 4 uchar (Radiance coding) | | | |
| * | | | |
| * How pixels are coded. | | | |
| * | | | |
| * Normally, pixels are uncoded and can be manipulated as you would expect. | | | |
| * However some file formats code pixels for compression, and sometimes it' | | | |
| s | | | |
| * useful to be able to manipulate images in the coded format. | | | |
| * | | | |
| * The gaps in the numbering are historical and must be maintained. Allocat | | | |
| e | | | |
| * new numbers from the end. | | | |
| */ | | | |
| typedef enum { | | typedef enum { | |
| VIPS_CODING_ERROR = -1, | | VIPS_CODING_ERROR = -1, | |
| VIPS_CODING_NONE = 0, | | VIPS_CODING_NONE = 0, | |
| VIPS_CODING_LABQ = 2, | | VIPS_CODING_LABQ = 2, | |
| VIPS_CODING_RAD = 6, | | VIPS_CODING_RAD = 6, | |
| VIPS_CODING_LAST = 7 | | VIPS_CODING_LAST = 7 | |
| } VipsCoding; | | } VipsCoding; | |
| | | | |
|
| | | typedef enum { | |
| | | VIPS_ACCESS_RANDOM, | |
| | | VIPS_ACCESS_SEQUENTIAL, | |
| | | VIPS_ACCESS_SEQUENTIAL_UNBUFFERED, | |
| | | VIPS_ACCESS_LAST | |
| | | } VipsAccess; | |
| | | | |
| /* Struct we keep a record of execution time in. Passed to eval signal so | | /* Struct we keep a record of execution time in. Passed to eval signal so | |
| * it can assess progress. | | * it can assess progress. | |
| */ | | */ | |
| typedef struct _VipsProgress { | | typedef struct _VipsProgress { | |
| /*< private >*/ | | /*< private >*/ | |
| struct _VipsImage *im; /* Image we are part of */ | | struct _VipsImage *im; /* Image we are part of */ | |
| | | | |
| /*< public >*/ | | /*< public >*/ | |
| int run; /* Time we have been running */ | | int run; /* Time we have been running */ | |
| int eta; /* Estimated seconds of computation left */ | | int eta; /* Estimated seconds of computation left */ | |
| | | | |
| skipping to change at line 463 | | skipping to change at line 366 | |
| (VIPS_IMAGE_SIZEOF_LINE( I ) * (I)->Ysize) | | (VIPS_IMAGE_SIZEOF_LINE( I ) * (I)->Ysize) | |
| #define VIPS_IMAGE_N_ELEMENTS( I ) \ | | #define VIPS_IMAGE_N_ELEMENTS( I ) \ | |
| ((I)->Bands * (I)->Xsize) | | ((I)->Bands * (I)->Xsize) | |
| #define VIPS_IMAGE_N_PELS( I ) \ | | #define VIPS_IMAGE_N_PELS( I ) \ | |
| ((guint64) (I)->Xsize * (I)->Ysize) | | ((guint64) (I)->Xsize * (I)->Ysize) | |
| | | | |
| /* If VIPS_DEBUG is defined, add bounds checking. | | /* If VIPS_DEBUG is defined, add bounds checking. | |
| */ | | */ | |
| #ifdef VIPS_DEBUG | | #ifdef VIPS_DEBUG | |
| #define VIPS_IMAGE_ADDR( I, X, Y ) \ | | #define VIPS_IMAGE_ADDR( I, X, Y ) \ | |
|
| ( ((X) >= 0 && (X) < (I)->Xsize && \ | | ( ((X) >= 0 && (X) < VIPS_IMAGE( I )->Xsize && \ | |
| (Y) >= 0 && (Y) < (I)->Ysize) ? \ | | (Y) >= 0 && (Y) < VIPS_IMAGE( I )->Ysize && \ | |
| ((I)->data + \ | | VIPS_IMAGE( I )->data) ? \ | |
| | | (VIPS_IMAGE( I )->data + \ | |
| (Y) * VIPS_IMAGE_SIZEOF_LINE( I ) + \ | | (Y) * VIPS_IMAGE_SIZEOF_LINE( I ) + \ | |
| (X) * VIPS_IMAGE_SIZEOF_PEL( I )) : \ | | (X) * VIPS_IMAGE_SIZEOF_PEL( I )) : \ | |
| (fprintf( stderr, \ | | (fprintf( stderr, \ | |
| "VIPS_IMAGE_ADDR: point out of bounds, " \ | | "VIPS_IMAGE_ADDR: point out of bounds, " \ | |
| "file \"%s\", line %d\n" \ | | "file \"%s\", line %d\n" \ | |
| "(point x=%d, y=%d\n" \ | | "(point x=%d, y=%d\n" \ | |
| " should have been within VipsRect left=%d, top=%d, " \ | | " should have been within VipsRect left=%d, top=%d, " \ | |
| "width=%d, height=%d)\n", \ | | "width=%d, height=%d)\n", \ | |
| __FILE__, __LINE__, \ | | __FILE__, __LINE__, \ | |
| (X), (Y), \ | | (X), (Y), \ | |
| 0, 0, \ | | 0, 0, \ | |
|
| (I)->Xsize, \ | | VIPS_IMAGE( I )->Xsize, \ | |
| (I)->Ysize ), abort(), (VipsPel *) NULL) \ | | VIPS_IMAGE( I )->Ysize ), (VipsPel *) NULL) \ | |
| ) | | ) | |
| #else /*!VIPS_DEBUG*/ | | #else /*!VIPS_DEBUG*/ | |
| #define VIPS_IMAGE_ADDR( I, X, Y ) \ | | #define VIPS_IMAGE_ADDR( I, X, Y ) \ | |
| ((I)->data + \ | | ((I)->data + \ | |
| (Y) * VIPS_IMAGE_SIZEOF_LINE( I ) + \ | | (Y) * VIPS_IMAGE_SIZEOF_LINE( I ) + \ | |
| (X) * VIPS_IMAGE_SIZEOF_PEL( I )) | | (X) * VIPS_IMAGE_SIZEOF_PEL( I )) | |
| #endif /*VIPS_DEBUG*/ | | #endif /*VIPS_DEBUG*/ | |
| | | | |
|
| | | #ifdef VIPS_DEBUG | |
| | | #define VIPS_MATRIX( I, X, Y ) \ | |
| | | ((VIPS_IMAGE( I )->BandFmt == VIPS_FORMAT_DOUBLE && \ | |
| | | VIPS_IMAGE( I )->Bands == 1) ? \ | |
| | | ((double *) VIPS_IMAGE_ADDR( I, X, Y )) : \ | |
| | | (fprintf( stderr, "VIPS_MATRIX: not a matrix image\n" ), \ | |
| | | (double *) NULL)) | |
| | | #else /*!VIPS_DEBUG*/ | |
| | | #define VIPS_MATRIX( I, X, Y ) \ | |
| | | ((double *) VIPS_IMAGE_ADDR( I, X, Y )) | |
| | | #endif /*VIPS_DEBUG*/ | |
| | | | |
| int vips_image_written( VipsImage *image ); | | int vips_image_written( VipsImage *image ); | |
| | | | |
| void vips_image_invalidate_all( VipsImage *image ); | | void vips_image_invalidate_all( VipsImage *image ); | |
| | | | |
| void vips_image_minimise_all( VipsImage *image ); | | void vips_image_minimise_all( VipsImage *image ); | |
| | | | |
| void vips_image_preeval( VipsImage *image ); | | void vips_image_preeval( VipsImage *image ); | |
| void vips_image_eval( VipsImage *image, guint64 processed ); | | void vips_image_eval( VipsImage *image, guint64 processed ); | |
| void vips_image_posteval( VipsImage *image ); | | void vips_image_posteval( VipsImage *image ); | |
| void vips_image_set_progress( VipsImage *image, gboolean progress ); | | void vips_image_set_progress( VipsImage *image, gboolean progress ); | |
| | | | |
| skipping to change at line 509 | | skipping to change at line 425 | |
| void vips_image_set_kill( VipsImage *image, gboolean kill ); | | void vips_image_set_kill( VipsImage *image, gboolean kill ); | |
| | | | |
| VipsImage *vips_image_new( void ); | | VipsImage *vips_image_new( void ); | |
| VipsImage *vips_image_new_mode( const char *filename, const char *mode ); | | VipsImage *vips_image_new_mode( const char *filename, const char *mode ); | |
| VipsImage *vips_image_new_buffer( void ); | | VipsImage *vips_image_new_buffer( void ); | |
| VipsImage *vips_image_new_from_file( const char *filename ); | | VipsImage *vips_image_new_from_file( const char *filename ); | |
| VipsImage *vips_image_new_from_file_raw( const char *filename, | | VipsImage *vips_image_new_from_file_raw( const char *filename, | |
| int xsize, int ysize, int bands, guint64 offset ); | | int xsize, int ysize, int bands, guint64 offset ); | |
| VipsImage *vips_image_new_from_memory( void *buffer, | | VipsImage *vips_image_new_from_memory( void *buffer, | |
| int xsize, int ysize, int bands, VipsBandFormat bandfmt ); | | int xsize, int ysize, int bands, VipsBandFormat bandfmt ); | |
|
| VipsImage *vips_image_new_array( int xsize, int ysize ); | | VipsImage *vips_image_new_matrix( int width, int height ); | |
| | | VipsImage *vips_image_new_matrixv( int width, int height, ... ); | |
| void vips_image_set_delete_on_close( VipsImage *image, | | void vips_image_set_delete_on_close( VipsImage *image, | |
| gboolean delete_on_close ); | | gboolean delete_on_close ); | |
| VipsImage *vips_image_new_temp_file( const char *format ); | | VipsImage *vips_image_new_temp_file( const char *format ); | |
| int vips_image_write( VipsImage *image, VipsImage *out ); | | int vips_image_write( VipsImage *image, VipsImage *out ); | |
| int vips_image_write_to_file( VipsImage *image, const char *filename ); | | int vips_image_write_to_file( VipsImage *image, const char *filename ); | |
| | | | |
| gboolean vips_image_isMSBfirst( VipsImage *image ); | | gboolean vips_image_isMSBfirst( VipsImage *image ); | |
| gboolean vips_image_isfile( VipsImage *image ); | | gboolean vips_image_isfile( VipsImage *image ); | |
| gboolean vips_image_ispartial( VipsImage *image ); | | gboolean vips_image_ispartial( VipsImage *image ); | |
| | | | |
| | | | |
End of changes. 10 change blocks. |
| 127 lines changed or deleted | | 28 lines changed or added | |
|
| vips7compat.h | | vips7compat.h | |
| | | | |
| skipping to change at line 199 | | skipping to change at line 199 | |
| */ | | */ | |
| | | | |
| #define im_error vips_error | | #define im_error vips_error | |
| #define im_verror vips_verror | | #define im_verror vips_verror | |
| #define im_verror_system vips_verror_system | | #define im_verror_system vips_verror_system | |
| #define im_error_system vips_error_system | | #define im_error_system vips_error_system | |
| #define im_error_buffer vips_error_buffer | | #define im_error_buffer vips_error_buffer | |
| #define im_error_clear vips_error_clear | | #define im_error_clear vips_error_clear | |
| #define im_warn vips_warn | | #define im_warn vips_warn | |
| #define im_vwarn vips_vwarn | | #define im_vwarn vips_vwarn | |
|
| #define im_diag vips_diag | | #define im_diag vips_info | |
| #define im_vdiag vips_vdiag | | #define im_vdiag vips_vinfo | |
| #define error_exit vips_error_exit | | #define error_exit vips_error_exit | |
| | | | |
| #define im_get_argv0 vips_get_argv0 | | #define im_get_argv0 vips_get_argv0 | |
| #define im_version_string vips_version_string | | #define im_version_string vips_version_string | |
| #define im_version vips_version | | #define im_version vips_version | |
| #define im_init_world vips_init | | #define im_init_world vips_init | |
| #define im_get_option_group vips_get_option_group | | #define im_get_option_group vips_get_option_group | |
| #define im_guess_prefix vips_guess_prefix | | #define im_guess_prefix vips_guess_prefix | |
| #define im_guess_libdir vips_guess_libdir | | #define im_guess_libdir vips_guess_libdir | |
| #define im__global_lock vips__global_lock | | #define im__global_lock vips__global_lock | |
| | | | |
| skipping to change at line 473 | | skipping to change at line 473 | |
| #define IM_TYPE_SAVE_STRING VIPS_TYPE_SAVE_STRING | | #define IM_TYPE_SAVE_STRING VIPS_TYPE_SAVE_STRING | |
| #define IM_TYPE_BLOB VIPS_TYPE_BLOB | | #define IM_TYPE_BLOB VIPS_TYPE_BLOB | |
| #define IM_TYPE_AREA VIPS_TYPE_AREA | | #define IM_TYPE_AREA VIPS_TYPE_AREA | |
| #define IM_TYPE_REF_STRING VIPS_TYPE_REF_STRING | | #define IM_TYPE_REF_STRING VIPS_TYPE_REF_STRING | |
| | | | |
| #define im_header_map_fn VipsImageMapFn | | #define im_header_map_fn VipsImageMapFn | |
| #define im_header_map vips_image_map | | #define im_header_map vips_image_map | |
| | | | |
| #define im_header_int vips_image_get_int | | #define im_header_int vips_image_get_int | |
| #define im_header_double vips_image_get_double | | #define im_header_double vips_image_get_double | |
|
| #define im_header_string vips_image_get_string | | #define im_header_string( IMAGE, FIELD, STRING ) \ | |
| | | vips_image_get_string( IMAGE, FIELD, (const char **) STRING ) | |
| #define im_header_as_string vips_image_get_as_string | | #define im_header_as_string vips_image_get_as_string | |
| #define im_header_get_typeof vips_image_get_typeof | | #define im_header_get_typeof vips_image_get_typeof | |
| #define im_header_get vips_image_get | | #define im_header_get vips_image_get | |
| | | | |
| #define im_histlin vips_image_history_printf | | #define im_histlin vips_image_history_printf | |
| #define im_updatehist vips_image_history_args | | #define im_updatehist vips_image_history_args | |
| #define im_history_get vips_image_get_history | | #define im_history_get vips_image_get_history | |
| | | | |
| #define im_save_string_get vips_value_get_save_string | | #define im_save_string_get vips_value_get_save_string | |
| #define im_save_string_set vips_value_set_save_string | | #define im_save_string_set vips_value_set_save_string | |
| | | | |
| skipping to change at line 736 | | skipping to change at line 737 | |
| int im_zone( VipsImage *out, int size ); | | int im_zone( VipsImage *out, int size ); | |
| int im_fzone( VipsImage *out, int size ); | | int im_fzone( VipsImage *out, int size ); | |
| int im_feye( VipsImage *out, | | int im_feye( VipsImage *out, | |
| const int xsize, const int ysize, const double factor ); | | const int xsize, const int ysize, const double factor ); | |
| int im_eye( VipsImage *out, | | int im_eye( VipsImage *out, | |
| const int xsize, const int ysize, const double factor ); | | const int xsize, const int ysize, const double factor ); | |
| int im_grey( VipsImage *out, const int xsize, const int ysize ); | | int im_grey( VipsImage *out, const int xsize, const int ysize ); | |
| int im_fgrey( VipsImage *out, const int xsize, const int ysize ); | | int im_fgrey( VipsImage *out, const int xsize, const int ysize ); | |
| int im_sines( VipsImage *out, | | int im_sines( VipsImage *out, | |
| int xsize, int ysize, double horfreq, double verfreq ); | | int xsize, int ysize, double horfreq, double verfreq ); | |
|
| | | int im_buildlut( DOUBLEMASK *input, VipsImage *output ); | |
| | | int im_invertlut( DOUBLEMASK *input, VipsImage *output, int lut_size ); | |
| | | int im_identity( VipsImage *lut, int bands ); | |
| | | int im_identity_ushort( VipsImage *lut, int bands, int sz ); | |
| | | | |
| | | int im_tone_build_range( VipsImage *out, | |
| | | int in_max, int out_max, | |
| | | double Lb, double Lw, double Ps, double Pm, double Ph, | |
| | | double S, double M, double H ); | |
| | | int im_tone_build( VipsImage *out, | |
| | | double Lb, double Lw, double Ps, double Pm, double Ph, | |
| | | double S, double M, double H ); | |
| | | | |
| int im_system( VipsImage *im, const char *cmd, char **out ); | | int im_system( VipsImage *im, const char *cmd, char **out ); | |
| VipsImage *im_system_image( VipsImage *im, | | VipsImage *im_system_image( VipsImage *im, | |
| const char *in_format, const char *out_format, const char *cmd_forma
t, | | const char *in_format, const char *out_format, const char *cmd_forma
t, | |
| char **log ); | | char **log ); | |
| | | | |
| int im_c2amph( VipsImage *in, VipsImage *out ); | | int im_c2amph( VipsImage *in, VipsImage *out ); | |
| int im_c2rect( VipsImage *in, VipsImage *out ); | | int im_c2rect( VipsImage *in, VipsImage *out ); | |
| int im_c2imag( VipsImage *in, VipsImage *out ); | | int im_c2imag( VipsImage *in, VipsImage *out ); | |
| int im_c2real( VipsImage *in, VipsImage *out ); | | int im_c2real( VipsImage *in, VipsImage *out ); | |
| int im_ri2c( VipsImage *in1, VipsImage *in2, VipsImage *out ); | | int im_ri2c( VipsImage *in1, VipsImage *in2, VipsImage *out ); | |
| | | | |
| int im_rot90( VipsImage *in, VipsImage *out ); | | int im_rot90( VipsImage *in, VipsImage *out ); | |
| int im_rot180( VipsImage *in, VipsImage *out ); | | int im_rot180( VipsImage *in, VipsImage *out ); | |
| int im_rot270( VipsImage *in, VipsImage *out ); | | int im_rot270( VipsImage *in, VipsImage *out ); | |
| | | | |
| int im_ifthenelse( VipsImage *c, VipsImage *a, VipsImage *b, VipsImage *out
); | | int im_ifthenelse( VipsImage *c, VipsImage *a, VipsImage *b, VipsImage *out
); | |
| int im_blend( VipsImage *c, VipsImage *a, VipsImage *b, VipsImage *out ); | | int im_blend( VipsImage *c, VipsImage *a, VipsImage *b, VipsImage *out ); | |
| | | | |
| DOUBLEMASK *im_vips2mask( VipsImage *in, const char *filename ); | | DOUBLEMASK *im_vips2mask( VipsImage *in, const char *filename ); | |
|
| | | INTMASK *im_vips2imask( IMAGE *in, const char *filename ); | |
| int im_mask2vips( DOUBLEMASK *in, VipsImage *out ); | | int im_mask2vips( DOUBLEMASK *in, VipsImage *out ); | |
| | | | |
| int im_bandmean( VipsImage *in, VipsImage *out ); | | int im_bandmean( VipsImage *in, VipsImage *out ); | |
| int im_recomb( VipsImage *in, VipsImage *out, DOUBLEMASK *recomb ); | | int im_recomb( VipsImage *in, VipsImage *out, DOUBLEMASK *recomb ); | |
| | | | |
| int im_argb2rgba( VipsImage *in, VipsImage *out ); | | int im_argb2rgba( VipsImage *in, VipsImage *out ); | |
| | | | |
|
| | | int im_falsecolour( VipsImage *in, VipsImage *out ); | |
| | | int im_gammacorrect( VipsImage *in, VipsImage *out, double exponent ); | |
| | | | |
| int im_shrink( VipsImage *in, VipsImage *out, double xshrink, double yshrin
k ); | | int im_shrink( VipsImage *in, VipsImage *out, double xshrink, double yshrin
k ); | |
| int im_affinei( VipsImage *in, VipsImage *out, | | int im_affinei( VipsImage *in, VipsImage *out, | |
| VipsInterpolate *interpolate, | | VipsInterpolate *interpolate, | |
| double a, double b, double c, double d, double dx, double dy, | | double a, double b, double c, double d, double dx, double dy, | |
| int ox, int oy, int ow, int oh ); | | int ox, int oy, int ow, int oh ); | |
| int im_affinei_all( VipsImage *in, VipsImage *out, VipsInterpolate *interpo
late, | | int im_affinei_all( VipsImage *in, VipsImage *out, VipsInterpolate *interpo
late, | |
| double a, double b, double c, double d, double dx, double dy ) ; | | double a, double b, double c, double d, double dx, double dy ) ; | |
| int im_rightshift_size( VipsImage *in, VipsImage *out, | | int im_rightshift_size( VipsImage *in, VipsImage *out, | |
| int xshift, int yshift, int band_fmt ); | | int xshift, int yshift, int band_fmt ); | |
| | | | |
| | | | |
| skipping to change at line 846 | | skipping to change at line 863 | |
| | | | |
| int im_lab_morph( VipsImage *in, VipsImage *out, | | int im_lab_morph( VipsImage *in, VipsImage *out, | |
| DOUBLEMASK *mask, | | DOUBLEMASK *mask, | |
| double L_offset, double L_scale, | | double L_offset, double L_scale, | |
| double a_scale, double b_scale ); | | double a_scale, double b_scale ); | |
| | | | |
| #define im_col_dE00 vips_col_dE00 | | #define im_col_dE00 vips_col_dE00 | |
| | | | |
| int im_quadratic( IMAGE *in, IMAGE *out, IMAGE *coeff ); | | int im_quadratic( IMAGE *in, IMAGE *out, IMAGE *coeff ); | |
| | | | |
|
| | | int im_maplut( VipsImage *in, VipsImage *out, VipsImage *lut ); | |
| | | int im_hist( VipsImage *in, VipsImage *out, int bandno ); | |
| | | int im_histgr( VipsImage *in, VipsImage *out, int bandno ); | |
| | | int im_histcum( VipsImage *in, VipsImage *out ); | |
| | | int im_histnorm( VipsImage *in, VipsImage *out ); | |
| | | int im_histeq( VipsImage *in, VipsImage *out ); | |
| | | int im_heq( VipsImage *in, VipsImage *out, int bandno ); | |
| | | int im_histnD( VipsImage *in, VipsImage *out, int bins ); | |
| | | int im_hist_indexed( VipsImage *index, VipsImage *value, VipsImage *out ); | |
| | | int im_histplot( VipsImage *in, VipsImage *out ); | |
| | | int im_project( VipsImage *in, VipsImage *hout, VipsImage *vout ); | |
| | | int im_profile( IMAGE *in, IMAGE *out, int dir ); | |
| | | int im_hsp( VipsImage *in, VipsImage *ref, VipsImage *out ); | |
| | | int im_histspec( VipsImage *in, VipsImage *ref, VipsImage *out ); | |
| | | int im_lhisteq( VipsImage *in, VipsImage *out, int xwin, int ywin ); | |
| | | int im_stdif( VipsImage *in, VipsImage *out, | |
| | | double a, double m0, double b, double s0, int xwin, int ywin ); | |
| | | int im_mpercent( VipsImage *in, double percent, int *out ); | |
| | | int im_mpercent_hist( VipsImage *hist, double percent, int *out ); | |
| | | int im_ismonotonic( VipsImage *lut, int *out ); | |
| | | | |
| | | int im_tone_analyse( VipsImage *in, VipsImage *out, | |
| | | double Ps, double Pm, double Ph, double S, double M, double H ); | |
| | | int im_tone_map( VipsImage *in, VipsImage *out, VipsImage *lut ); | |
| | | | |
| | | /* Not really correct, but who uses these. | |
| | | */ | |
| | | #define im_lhisteq_raw im_lhisteq | |
| | | #define im_stdif_raw im_stdif | |
| | | | |
| /* ruby-vips uses this | | /* ruby-vips uses this | |
| */ | | */ | |
| #define vips_class_map_concrete_all vips_class_map_all | | #define vips_class_map_concrete_all vips_class_map_all | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif /*__cplusplus*/ | | #endif /*__cplusplus*/ | |
| | | | |
| #endif /*VIPS_VIPS7COMPAT_H*/ | | #endif /*VIPS_VIPS7COMPAT_H*/ | |
| | | | |
End of changes. 6 change blocks. |
| 3 lines changed or deleted | | 50 lines changed or added | |
|