Commit Graph

68 Commits

Author SHA1 Message Date
Lovell Fuller 1f5d6f6bc9
Add gifsave operation, depends on cgif and libimagequant (#2381) 2021-08-22 18:11:41 +01:00
John Cupitt def025da3e reorganise loadable modules
- heifload operation now defined in heifload.c, etc.
- C API wrappers moved to foreign.c
2021-05-17 09:45:27 +01:00
John Cupitt e00ca4e6b7 make jxlload/save a loadable module 2021-05-10 16:45:28 +01:00
John Cupitt bd8f2de6fd fix libnsgif build
"make dist" was picking up .o files in libnsgif/
2021-04-30 14:28:29 +01:00
John Cupitt 023f74b037
Merge branch 'master' into gmodulized 2021-04-26 09:03:12 +01:00
Kleis Auke Wolthuizen 34c0f31643 Build a dynamically loadable module for *magick
By default, a dynamically loadable module is built for *magick (i.e.
`--with-magick=module`) when:
* ImageMagick or GraphicsMagick is found;
* GModule is supported (`gmodule_supported` pkg-config variable).

This can be overridden on the command line with:
* `--without-magick` - to disable *magick usage;
* `--with-magick[=yes]` - to restore the previous behavior;
* `--disable-modules` - to disable the build of dynamic modules.
2021-04-22 12:28:37 +02:00
Kleis Auke Wolthuizen 0c0b68b4b9 Build a dynamically loadable module for poppler
By default, a dynamically loadable module is built for poppler (i.e.
`--with-poppler=module`) when:
* poppler is found;
* GModule is supported (`gmodule_supported` pkg-config variable).

This can be overridden on the command line with:
* `--without-poppler` - to disable poppler usage;
* `--with-poppler[=yes]` - to restore the previous behavior;
* `--disable-modules` - to disable the build of dynamic modules.
2021-04-22 12:28:37 +02:00
Kleis Auke Wolthuizen 2b1daff256 Build a dynamically loadable module for libheif
By default, a dynamically loadable module is built for libheif (i.e.
`--with-heif=module`) when:
* libheif is found;
* GModule is supported (`gmodule_supported` pkg-config variable).

This can be overridden on the command line with:
* `--without-heif` - to disable libheif usage;
* `--with-heif[=yes]` - to restore the previous behavior;
* `--disable-modules` - to disable the build of dynamic modules.
2021-04-22 12:28:37 +02:00
Kleis Auke Wolthuizen 6fd38df95a Build a dynamically loadable module for OpenSlide
By default, a dynamically loadable module is built for OpenSlide (i.e.
`--with-openslide=module`) when:
* OpenSlide is found;
* GModule is supported (`gmodule_supported` pkg-config variable).

This can be overridden on the command line with:
* `--without-openslide` - to disable OpenSlide usage;
* `--with-openslide[=yes]` - to restore the previous behavior;
* `--disable-modules` - to disable the build of dynamic modules.
2021-04-22 12:28:37 +02:00
Kleis Auke Wolthuizen a63d37fc9b Initial support for dynamic loadable modules with GModule 2021-04-22 12:28:37 +02:00
John Cupitt 10a0c5a4bb start adding jxlsave 2021-04-03 11:57:11 +01:00
John Cupitt 950606406f compiles 2021-04-01 16:54:42 +01:00
John Cupitt c7f69718da start adding jxl 2021-04-01 09:21:41 +01:00
John Cupitt 09c6074014 ... and quantise 2021-03-27 16:18:56 +00:00
John Cupitt 32fca6f21b ... and two pdfloads 2021-03-27 16:09:41 +00:00
John Cupitt fd56067f54 oop, left gifload.c in the merge 2021-03-27 15:39:29 +00:00
John Cupitt 69fcf1b9e9
Merge branch 'master' into add-openjpeg 2021-03-27 15:22:13 +00:00
John Cupitt 454f448c5b add jp2ksave
works, but not quite done
2021-03-19 11:49:07 +00:00
John Cupitt c2eebacf5a start adding jp2k load 2021-03-17 11:31:25 +00:00
John Cupitt b995a6d244 move the nsgif source into the tree
and remove the old giflib loader
2021-02-28 12:20:05 +00:00
John Cupitt 345fee4917 Merge branch 'master' into add-libnsgif 2020-06-29 23:07:13 +01:00
John Cupitt 02327b6214 add an experimental libspng reader
it compiles, but I've not tried running it yet heh
2020-05-01 16:05:48 +01:00
John Cupitt 1a0e61510b rewrite matrixsave
uses new target API
2020-02-22 17:55:04 +00:00
John Cupitt 17b994419b move ppm save into the class
no separate save function now
2019-11-15 10:23:45 +00:00
John Cupitt 1d77a57780 reinstate libnsgif loader
only 1/2 done
2019-08-15 14:30:25 +01:00
John Cupitt bd8a6980f5 more consistent behaviour for multi-page load
Some loaders were setting page-height even when the user was loading a
single page triggering unexpected multi-page behaviour from later
savers.

New rule: only set page-height when loading more than one page.

See https://github.com/libvips/libvips/issues/1318
2019-05-29 10:10:28 +01:00
John Cupitt a833764878 start heifsave 2019-01-29 10:27:00 +00:00
John Cupitt 33fd2a48f0 basic load works
no metadata, no options
2019-01-20 11:33:12 +00:00
John Cupitt 06a40cc7ee sort-of works
but can't set meta correctly, try:

	$ vipsheader -a sub-CC00050XX01_ses-7201_T2w.nii.gz

see all fields, but

	$ vips copy sub-CC00050XX01_ses-7201_T2w.nii.gz x.v
	$ vipsheader -a x.v

only see a few, odd
2018-07-18 17:09:53 +01:00
John Cupitt 6dc6b4f722 add niftiload skeleton 2018-06-29 17:31:17 +01:00
John Cupitt cb76ffb0bd break quantise out to a separate file
slightly simpler reference and memory handling too
2018-06-20 15:38:33 +01:00
John Cupitt 05456125b6 builds, links and mostly runs 2018-04-07 17:36:52 +01:00
John Cupitt 7ab77d66c3 move magicksave write struct into class
magicksave used to have its own Write struct to track write state.
Instead, keep the write state in the save class.

break the magick6/magick7 compat wrappers out into a separete file so they
can be shared with the loaders.

small style changes.
2017-12-23 12:12:11 +00:00
Dirk Lemstra e22282a844 Start of support for writing files with ImageMagick. 2017-12-16 21:37:17 +01:00
John Cupitt 47222bc1f5 move exif handling out to exif.c
now used by webpload as well
2016-11-07 12:20:56 +00:00
John Cupitt c90b8be0b8 add tiffsave_buffer
add tests

also some cleanups to foreign include files

see https://github.com/jcupitt/libvips/issues/417
2016-10-15 12:29:14 +01:00
John Cupitt 40f8a8af85 add autoconf stuff
todo:

- copypaste magick2vips into magick7load

- move to magick7 API

- test with magick6 and GM too, of course

see https://github.com/jcupitt/libvips/issues/480
2016-07-08 10:45:29 +01:00
Felix Bünemann 6418ab2307 Extract shared pdfload/svgload code into cairo.c 2016-05-09 00:16:48 +02:00
John Cupitt d79407f285 almost there
not unpacking correctly though
2016-02-11 08:35:29 +00:00
John Cupitt 153886d2eb add svgload
load from bubffer is not working though, strange ... it seems to be
generating a 16-biit image?
2016-02-09 11:01:12 +00:00
John Cupitt 991cc4f88b rename as pdfload 2016-02-08 20:25:03 +00:00
John Cupitt 8da4e706dd start adding poppler support 2016-02-07 23:33:43 +00:00
John Cupitt 6c0eced22c build fixes for OS X
stupid libjpeg and their stupid bool type argh
2013-10-04 11:54:01 +01:00
John Cupitt e9afbe59e2 added webpsave boilerplate 2013-08-06 16:18:30 +01:00
John Cupitt 1af06d5ac9 boilerplate for webp read 2013-08-06 10:01:50 +01:00
John Cupitt 9278498623 add vips_matrixload(), vips_matrixsave()
read and write vips mat format to and from VipsImage

also fix a leak with vips_check_matrix()
2013-07-02 12:08:46 +01:00
John Cupitt 90709538e6 update configure system 2013-01-23 10:17:51 +00:00
John Cupitt a07b73f73e dropped some oops 2012-03-21 14:56:01 +00:00
John Cupitt ef19ecc923 win32 fixes
we had a dropped file and a mode_t in a va_get() that should have been
an int
2012-02-25 17:47:40 +00:00
John Cupitt d0ec401a12 hackery to get goi working 2011-12-31 18:22:42 +00:00