Commit Graph

4419 Commits

Author SHA1 Message Date
Felix Bünemann
b1518a0d5d More accurate dzsave zip size estimation
This improves the checks on when to abort dzsave due to lack of ZIP64
support in libgsf. ZIP64 is required for archives/files larger than 4GB
and if more than 65535 files need to be stored, which is the more likely
limit to hit when saving zoom images.

* Add check to abort when exceeding the 64k file limit
* Modify size check to account for per file and directory overhead

The previous estimation was ways off, subtracting only 100k for overhead
when the actual overhead would be several megabytes for file counts near
the limit.

Estimation Basis:

Per file overhead: 30B fixed size fields + filename + extras
Central directory overhead: 46B fixed size fields + filename + extras
End of central directory: 22B fixed size fields

ZIP64 specific header sizes are not estimated, because the checks are
only done if zip64 support is lacking.

In order to estimate the variable space for filenames we need to track
the total length of all filenames and double that, because the filename
is stored in both the local file header and the central directory.

Because we don't know how big the blank tile and metadata files will be,
we subtract 64k from the max size and also leave room for up to 3 more
files (blank tile, metadata, vips properties).
2016-06-04 07:01:38 +02:00
Felix Bünemann
1f9e81309e Add dzsave zip compression support 2016-06-04 02:14:46 +02:00
Felix Bünemann
e42ddd7f7c Rename dzsave no_compression to is_zip 2016-06-03 21:37:25 +02:00
John Cupitt
0faf5395b2 conversion to grey16 could lock
a typo could cause infinite recursion during conversion
2016-06-03 16:24:21 +01:00
Felix Bünemann
14a64c7b4c Configure Travis CI matrix build
The following environments are used:

* Ubuntu Precise (only cli tests are run)
* Ubuntu Trusty (cli and python tests)
* Mac OS X 10.11 / Xcode 7.3 / mozjpeg (cli and python tests)
2016-06-03 00:50:53 +02:00
Felix Bünemann
e71c247764 Make sure test_formats.sh exits on errors
This is required to make sure we fail if a vips command fails, eg. due
to a missing fixture.
2016-06-02 23:10:14 +02:00
Felix Bünemann
dacca27ac3 Try running python tests in travis ci trusty env 2016-06-02 23:10:14 +02:00
John Cupitt
1bf8e0847f run py tests from "make check"
though they fail on ubuntu 16.04 due to giflib dumbness

magickload is also failing, investigate
2016-06-02 23:10:14 +02:00
Felix Bünemann
8b598d5b77 Run python tests without make install
In order to do this, we need to add some stub gi module init files which
allow us to extend the gi overrides path.
2016-06-02 23:10:14 +02:00
John Cupitt
c5a4afbe40 support --strip for tiffsave
stops metadata save
2016-06-02 13:14:15 +01:00
John Cupitt
ff8f6364a4 update notes 2016-06-01 16:12:20 +01:00
John Cupitt
916e5b5589 set filename on file read for more types
the new loaders were missing the line to set the output filename, so
`vipsheader fred.pdf` was not displaying the filename correctly
2016-06-01 09:14:01 +01:00
John Cupitt
0012cefc25 improve orientation fetch
we were generating some annoying messages
2016-06-01 08:59:44 +01:00
John Cupitt
7a91eaa583 tiff save converts for jpg in jpg mode
when jpg compression is on, tiffsave now converts the input image for
jpg save ... previously, it would try to send a tiff-formatted image
(eg. perhaps with an alpha channel, or float data), which would fail

see https://github.com/jcupitt/libvips/issues/449
2016-05-31 22:04:07 +01:00
John Cupitt
45b6345e7f better stop on sinkdisc fail
we were not always setting stop on allocate fail, could deadlock if (for
example) flush failed
2016-05-31 21:58:01 +01:00
John Cupitt
d51911cda8 fix up orientation docs
document the new orientation system

various tiff/jpeg doc fixups too
2016-05-28 11:17:17 +01:00
John Cupitt
93d0d15f88 Merge branch 'master' into add-tiff-orientation 2016-05-27 20:25:41 +01:00
John Cupitt
cefc4ce64d all done
seems to all work and pass tests
2016-05-27 20:24:48 +01:00
John Cupitt
2590559e56 basic tests 2016-05-27 20:18:25 +01:00
John Cupitt
0b646ffcc7 oops, filename 2016-05-27 16:59:21 +01:00
John Cupitt
f0521d4b5d all done!
a few more tests though
2016-05-27 16:53:25 +01:00
John Cupitt
23f4d9a235 todo notes 2016-05-27 09:56:11 +01:00
John Cupitt
094470c9c1 done, just a few things left
- tif->jpg copy seems to loose tag

- add tests
2016-05-27 09:48:08 +01:00
John Cupitt
073c2fff28 Merge pull request #456 from felixbuenemann/support-older-librsvg2
Support older librsvg2 / Add Travis checks for svgload / gifload
2016-05-27 08:36:37 +01:00
Felix Bünemann
fdeb1b3b12 Test gifload in make check and on Travis CI 2016-05-27 01:26:45 +02:00
Felix Bünemann
f9dc33c8f2 Test svgload in make check and on Travis CI 2016-05-27 01:26:45 +02:00
Felix Bünemann
ffa4f6b720 Lower librsvg version requirement to 2.34
This is the first version that works properly with gtk3. Lowering the
requirement enables SVG support on older Linux distributions like
Ubuntu Precise LTS or Debian Wheezy.
2016-05-27 00:55:32 +02:00
John Cupitt
c077be231c Merge pull request #455 from felixbuenemann/fix-bootstrap-echo
Use printf instead of non-portable echo -n in bootstrap.sh
2016-05-26 23:07:09 +01:00
Felix Bünemann
8afa96ff79 Use printf instead of echo -n in bootstrap.sh
The behavior of `echo -n` is not portable and some implementations will
just prtint the literal string "-n".
2016-05-26 23:15:15 +02:00
John Cupitt
5a9f2c787b compiles
needs testing etc.
2016-05-26 14:58:04 +01:00
John Cupitt
ac2ce4228b notes 2016-05-26 07:30:29 +01:00
John Cupitt
5f75e5363b radsave_base should be abstract
now we can set suffs on it, but pick the actual saver from the subclass
2016-05-24 11:19:02 +01:00
John Cupitt
50468a07a2 clean up foreign
various cosmetic changes:

- pngsave_buffer now uses Write, not WriteBuf, same change for
  radsave_buffer

- move C wrappers out to class defs from foreign.c

- use g_free() not vips_free() for buffer free from low-level savers

- fix var names in some comments

- various style changes for radiance.c
2016-05-24 10:57:02 +01:00
John Cupitt
0cdfc8396c Merge pull request #452 from Sterblue/master
Add unit test for radiance buffer save
2016-05-24 10:56:28 +01:00
Henri Chain
701f4aaf6e close right after write 2016-05-24 11:42:23 +02:00
Henri Chain
957c4cbb43 fix hdr-specific typo 2016-05-24 11:40:40 +02:00
Henri Chain
6c1aa2b63f add unit test for radiance buffer save 2016-05-24 11:15:54 +02:00
John Cupitt
0c28fc71d6 fix radsave
oop, suffix was being set ono the base class
2016-05-24 07:55:30 +01:00
John Cupitt
fa8a91ea72 Merge pull request #451 from Sterblue/master
Add buffer write support for HDR Radiance
2016-05-24 06:52:58 +01:00
Henri Chain
d2c4bbeda2 Move common RLE code to function 2016-05-23 18:21:13 +02:00
Henri Chain
922b237d9e Add changelog 2016-05-23 17:24:00 +02:00
Henri Chain
ffff989211 Merge branch 'master' of github.com:Sterblue/libvips 2016-05-23 16:53:01 +02:00
Henri Chain
98c7a766de remove debug stuff 2016-05-23 16:52:43 +02:00
Henri Chain
486a08d8a6 relive debug stuff 2016-05-23 16:49:47 +02:00
Henri Chain
5678f93257 Add buffer-write support for Radiance 2016-05-23 16:37:28 +02:00
John Cupitt
bcc93d2dbb docs note about restarting vips
add note that you can't stop and restart vips

see https://github.com/jcupitt/libvips/issues/450
2016-05-23 13:30:23 +01:00
John Cupitt
dbbd2850a1 better max_alpha default
it used to default to 255, now it sniff the interpretation and defaults to
65535 for RGB16 and GREY16

see https://github.com/jcupitt/libvips/issues/449
2016-05-23 12:18:39 +01:00
John Cupitt
445d419efb Merge branch 'master' of github.com:jcupitt/libvips 2016-05-21 19:00:12 +01:00
Henri Chain
14d7a97afc change write_new to make it independent from file I/O 2016-05-20 11:28:33 +02:00
Henri Chain
4c599ea272 fix typo 2016-05-20 11:27:41 +02:00