Commit Graph

54 Commits

Author SHA1 Message Date
John Cupitt 5569022dbd use G_GNUC_* attribute system
Instead of our own compiler attr thing.

see https://github.com/libvips/libvips/issues/2871
2022-09-23 14:37:35 +01:00
Kleis Auke Wolthuizen 07edfe37b1
Improve symbol visibility (#2688)
* Improve symbol visibility

* Decorate required internal symbols with VIPS_API

* Remove a couple of stray header decls

* Incorporate review comment

- Ensure symbol visibility is also set on static libraries.
- Prefer to use `cc.has_function_attribute('visibility:hidden')`.

* Don't export internal deprecated symbols

* Move deprecated symbols to vips7compat.h

* `IM_FORMAT_H` -> `VIPS_FORMAT_H`

* Move `vips_window_ref` compat stub to `vips7compat.c`

* Disable deprecation warnings internally

* `vips_image_get_kill` -> `vips_image_iskilled`

* Ensure API compatibility

* Add missing include directives

* Move `vips__init` decl to vips7compat

* Move `vips__get_sizeof_vipsobject` to vips7compat

* Fix introspection build

* Fix 2 introspection warnings

* Ensure compatibility with vipsdisp

/usr/bin/ld: tilesource.o: in function `tile_source_new_from_source':
vipsdisp/tilesource.c:1627: undefined reference to `vips__region_no_ownership'
2022-04-16 10:58:55 +01:00
John Cupitt 28999aa5b6 add vips_profile_load()
and use it in icc_transform
2019-01-10 22:48:21 +00:00
John Cupitt b8a158b69b seems to work
added some more consts as well
2019-01-03 13:34:13 +00:00
John Cupitt c5d0ca8300 add cmyk2xyz and back
seems to work, still to do:

- tests
- try:

```
$ vipsthumbnail NordicsLIQUOR-SFBag_300_cmyk.JPG

(vipsthumbnail:7868): VIPS-WARNING **: 16:53:17.166: profile incompatible with image
```

see https://github.com/libvips/libvips/issues/1186
2018-12-27 17:35:35 +00:00
John Cupitt e686614f2c drop incompatible profiles from save
libpng has started throwing hard errors if the profile does not match
the image -- this can happen all the time with perofiles inherited from
images that have been processed.

Test profiles before save and drop them (with a warning) if they are
incompatible with the image.
2018-04-01 10:32:48 +01:00
John Cupitt 955a5a97cc sRGB2scRGB uses the colour luts directly
rather than going via a function that clips ... about 2x faster
2017-11-26 16:47:24 +00:00
John Cupitt a42232a9a1 boilerplate for hsv colourspace 2015-06-09 10:18:30 +01:00
John Cupitt a0aacad871 much better convert to greyscale
mix RGB channels as .2, .7, .1 in linear light

see https://github.com/jcupitt/libvips/issues/266
2015-04-17 11:33:27 +01:00
John Cupitt 044bdf38d1 more doc tweaks 2015-02-18 16:32:30 +00:00
John Cupitt 0257dda270 first hack at supporting XYZ PCS
still need to fix new encode / decode
2013-11-12 14:58:59 +00:00
Benjamin Gilbert 8cc76a6ba3 Update address for Free Software Foundation
Also update LGPLv2.1 license text from the copy currently on the GNU
website.
2013-03-07 00:40:19 -05:00
John Cupitt 89ff89ebf8 remove sRGB2XYZ and back
now go via scRGB
2012-12-12 12:43:26 +00:00
John Cupitt c341f0d134 add scRGB functions 2012-12-11 15:25:28 +00:00
John Cupitt cb4965536d added 16-bit sRGB/XYZ conversion
need to get it working on images though
2012-11-06 09:35:34 +00:00
John Cupitt e0b3b4157f get ready for a 16-bit path in srgb/xyz 2012-11-05 22:11:15 +00:00
John Cupitt bf11e2ff55 added vips_colourspace_issupported() 2012-11-02 13:13:13 +00:00
John Cupitt 4c5dd969bc rename colour_convert as colourspace
also rework im_icc_ac2rc
2012-11-01 14:59:20 +00:00
John Cupitt f5790be152 rename UCS as CMC 2012-11-01 10:21:55 +00:00
John Cupitt a2d4c15049 move dE00 to a class 2012-10-31 11:22:28 +00:00
John Cupitt de3298d69e redo dEUCS as a class 2012-10-31 11:04:10 +00:00
John Cupitt db0c05434f dE_from_lab() as a class 2012-10-25 23:07:09 +01:00
John Cupitt d56943f2c2 add vips_colour_convert()
generic thing to change colourspace
2012-09-26 21:53:02 +01:00
John Cupitt 52a188c3c5 new icc stuff now works 2012-09-26 14:53:14 +01:00
John Cupitt e793d38aa7 new icc transformer compiles 2012-09-25 22:06:24 +01:00
John Cupitt f8dddf23a9 remove disp stuff, just sRGB now
all the old monitor calibration stuff is gone, we only support sRGB now

im_Lab2disp() etc. have become vips_Lab2sRGB() etc.

compatibility macros keep old code compiling
2012-09-24 11:23:32 +01:00
John Cupitt 2ce7bc9618 started moving disp funcs 2012-09-21 14:47:50 +01:00
John Cupitt 5fff90bc95 redo LabQ2LabS / LabS2LabQ as classes 2012-09-21 11:55:31 +01:00
John Cupitt 969e355701 LabS <-> Lab as classes 2012-09-20 21:53:47 +01:00
John Cupitt 2e1b8bb9ef LabQ <-> Lab as classes 2012-09-20 21:21:08 +01:00
John Cupitt 7130a74d0e redo rad2float / float2rad as classes 2012-09-20 15:13:44 +01:00
John Cupitt 7b665c24df redo im_Yxy2XYZ() and im_XYZ2Yxy() as classes 2012-09-20 09:49:05 +01:00
John Cupitt e688bf29b6 redo im_XYZ2Lab() as a class 2012-09-20 09:18:52 +01:00
John Cupitt 496b4373a4 redo im_UCS2LCh() and im_LCh2UCS() as classes 2012-09-19 14:13:37 +01:00
John Cupitt 8abbcc4e77 redo im_LCh2Lab() as a class 2012-09-19 12:01:02 +01:00
John Cupitt 91e52a1ee2 redo im_Lab2LCh() as a class 2012-09-18 14:52:21 +01:00
John Cupitt a38fa9302e redo im_Lab2XYZ() as a class 2012-09-18 14:14:08 +01:00
John Cupitt 57cf9011e7 fix openslide read
previously it returned Cairo-style pre-multiplied argb, now it always
unpacks to png-style rgba for you

there was no real use for the coded form and it was annoying to have to
call im_argb2rgba() explicitly
2012-04-09 18:03:17 +01:00
John Cupitt 0983b50905 Merge remote-tracking branch 'origin/gobject-introspection' into goi-merge
Conflicts:
	TODO
	libvips/arithmetic/im_recomb.c
	libvips/arithmetic/im_stats.c
	libvips/deprecated/im_measure.c
	libvips/include/vips/header.h
	libvips/include/vips/image.h
	libvips/include/vips/object.h
	libvips/iofuncs/header.c
	libvips/iofuncs/image.c
	libvips/iofuncs/object.c
2011-12-24 17:36:55 +00:00
John Cupitt 3e45e2cd6b move rad over to the new thing 2011-12-20 14:57:05 +00:00
John Cupitt 7fe4843250 Merge remote-tracking branch 'origin/master' into format-hacking
also, start adding openslide.c to foreign

Conflicts:
	ChangeLog
	TODO
	libvips/iofuncs/image.c
2011-12-11 15:54:08 +00:00
John Cupitt 6c3b8ad96d add im_argb2rgba() for openslide
im_openslide2vips() now does not repack, we have a separate operator for
that
2011-12-11 11:58:50 +00:00
John Cupitt dd14948652 new-style jpeg save works 2011-11-25 14:34:17 +00:00
John Cupitt f94541ba64 more introspection hackery 2011-06-21 14:41:38 +01:00
John Cupitt 071abecbff rename IMAGE to VipsImage
all headers revised to rename IMAGE as VipsImage, also trimmed some junk
2011-03-10 09:41:45 +00:00
John Cupitt 60280aa318 various cleanups, remove liboil 2010-07-31 10:35:57 +00:00
John Cupitt 6d05b16923 7.16 compat whoops 2009-12-08 09:27:24 +00:00
John Cupitt ea4562a24a stuff 2009-11-02 22:01:09 +00:00
John Cupitt 83fc4b907b finished colour 2009-11-02 17:54:42 +00:00
John Cupitt d17691ea0c stuff 2009-11-01 21:28:49 +00:00