Commit Graph

1600 Commits

Author SHA1 Message Date
John Cupitt
3c696d9a18 notes about sharp needs 2016-06-06 06:39:34 +01:00
John Cupitt
15878bffca Revert "free main-thread pixel buffers"
This reverts commit 2a77301033.
2016-06-06 06:38:18 +01:00
John Cupitt
2a77301033 free main-thread pixel buffers
threads keep pixel buffers in thread-private storage, and free these
buffers on thread exit ... this means buffers created by the main thread will
only be freed on program exit!

if your program creates any main-thread buffers, these buffers will
eventually fill the operation cache and force everything else out,
making the cache useless

this patch explicitly frees main-thread pixel buffers on image close
2016-06-05 16:59:07 +01:00
John Cupitt
cf56b43ebf notes 2016-06-05 16:34:10 +01: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
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
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
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
493ac80890 intltool mystery solved
carefully removed 8 years ago, according to the logs
2016-05-18 19:54:27 +01:00
John Cupitt
c84f642d09 removed intltool again
and ignire more standard m4/ macros
2016-05-18 16:24:06 +01:00
John Cupitt
db11d3b973 allow nested [] in CLI args
this now works:

	vips copy x y.dz[suffix=.jpg[Q=90]]
2016-05-16 11:09:47 +01:00
John Cupitt
2cfe4842d3 notes 2016-05-15 09:48:02 +01:00
John Cupitt
24a51098b1 compiler warning 2016-05-12 14:54:28 +01:00
John Cupitt
9fba3b5577 notes on TODO 2016-05-12 08:55:19 +01:00
John Cupitt
38fe936eee Merge remote-tracking branch 'origin/8.3' 2016-05-08 11:09:28 +01:00
John Cupitt
379b69fda8 note on test suite failure 2016-05-08 10:02:34 +01:00
John Cupitt
948d1103d4 note more webp tests needed 2016-05-07 19:53:00 +01:00
John Cupitt
37c716be89 more webp doc improvements 2016-05-03 09:36:49 +01:00
John Cupitt
48ef215479 tiny fixups for the webp commit
just small formatting changes, plus an unneeded var

see

	https://github.com/jcupitt/libvips/pull/430
2016-05-02 09:55:16 +01:00
John Cupitt
d46a57cf6b update notes 2016-04-11 13:27:04 +01:00
John Cupitt
269cbb8641 better mask sizing for lanczos 2016-04-11 13:19:00 +01:00
John Cupitt
511a0a7da5 better rounding in reducev orc path 2016-04-10 17:52:51 +01:00
John Cupitt
bf1c8707c7 better draw docs
add a caching discussion to the start of draw

see https://github.com/jcupitt/libvips/issues/411
2016-04-06 10:26:53 +01:00
John Cupitt
8aa4566c87 update notes 2016-04-02 20:24:54 +01:00
John Cupitt
bc320f1090 much better int mask creation
removes some banding from the orc path for reducev
2016-04-02 18:46:10 +01:00
John Cupitt
5f24468dba tiny code cleanup, note a bug 2016-04-02 11:25:27 +01:00
John Cupitt
95a74cbf28 tiny help polishing 2016-03-25 16:35:28 +00:00
John Cupitt
ddd7ab7459 doc fixups 2016-03-25 10:56:59 +00:00
John Cupitt
1a25c7a083 better rounding in vipsthumbnail 2016-03-25 10:42:21 +00:00
John Cupitt
2996947b0d start fixing up test_thumbnail
since --interpolator no longer does anything
2016-03-25 06:11:01 +00:00
John Cupitt
213f9e23b4 count colour pixels
more overcomputation testing
2016-03-24 17:41:05 +00:00
John Cupitt
3c98ba78a0 small experiment 2016-03-22 14:19:32 +00:00
John Cupitt
e8b5cb6c23 add VIPS_COUNT_PIXELS, overcomputation tracking
added VIPS_COUNT_PIXELS(), use like this:

	static int vips_shrinkh_gen( VipsRegion *or, ... )
	{
        	VIPS_COUNT_PIXELS( or, "vips_shrinkh_gen" );
	}

and on image close, if more than 100% of the pixels have been
calculated, you get a warning

only if you enable debugging, since this hurts perf slightly
2016-03-22 12:26:45 +00:00
John Cupitt
4f8aca3a93 sync 2016-03-21 16:40:55 +00:00
John Cupitt
385f8a167f notes 2016-03-21 11:36:15 +00:00
John Cupitt
05156edd15 add orc path for reducev
works, but still not quite right, see some banding
2016-03-18 17:41:51 +00:00
John Cupitt
c20eb9dca0 remove old unrolled case for reduce
not used any more
2016-03-15 17:34:31 +00:00
John Cupitt
ff88087a28 try making the reduce mask larger with residual 2016-03-15 14:59:59 +00:00
John Cupitt
45c3fea6ac more resize tuning 2016-03-15 09:49:30 +00:00
John Cupitt
773b474116 Merge branch 'master' of github.com:jcupitt/libvips 2016-03-14 13:35:47 +00:00
John Cupitt
82cecf3d9f bilinear interp. supports complex types
in line with cubic etc.
2016-03-14 10:06:45 +00:00
John Cupitt
fba2ac2f85 fix sizing issues with new reduce code
a couple of bugs and some changed conventions
2016-03-13 17:44:24 +00:00
John Cupitt
f12fef4aa9 fix compile 2016-03-13 11:35:35 +00:00
John Cupitt
dc7902b12f Merge branch 'master' into add-lanczos3 2016-03-13 11:23:03 +00:00
John Cupitt
70db9aa77b better rounding in resize 2016-03-12 13:14:34 +00:00
John Cupitt
493482c8a7 hey ho, line cache goes back too 2016-03-11 14:56:06 +00:00
John Cupitt
a832a0c254 notes 2016-03-11 14:42:12 +00:00
John Cupitt
4f41617d89 TODO notes 2016-03-11 13:47:19 +00:00
John Cupitt
2ca7b29214 better gauss mat generation 2016-03-10 22:01:55 +00:00
John Cupitt
4974a1ed9c better rounding for vips_resize()
we were getting off by one size errors
2016-03-10 19:53:05 +00:00
John Cupitt
9209fb25c5 update notes 2016-03-10 17:40:19 +00:00
John Cupitt
d351e07a6b finish up 2016-03-10 17:33:34 +00:00
John Cupitt
e9728e389b first commit 2016-03-09 12:56:30 +00:00
John Cupitt
2ea5c5f7e5 make python bandrank() work like bandjoin()
we had a custom wrapper for bandjoin(), but bandrank(), a function with
an almost identical interface, did not ... this was confusing

bandrank() now has a custom wrapper too ... this breaks API
unfortunately, but hopefully very few people were using this thing and
it's better to make this change as soon as possible
2016-03-01 12:12:51 +00:00
John Cupitt
25c3c49d1c better handling of cast+shift for non-int formats
before, im.cast(uchar, shift = true) where im was float and tagged as
rgb16 would not shift the image, since it's unclear how much to shift a float
type by

now we do two casts: first, we guess the numeric range from the
interpretation, so rgb16 would be ushort, so we cast float->ushort;
second, we cast to the target type and do the shift on the way

see https://github.com/jcupitt/libvips/issues/397

thanks apacheark
2016-03-01 11:31:54 +00:00
John Cupitt
b197773095 oop, overflow in sharpen
plus another tweak of the defaults
2016-02-28 11:24:35 +00:00
John Cupitt
35650c2244 reduce the number of copy() ops
reduce the number of copy() ops issued during colour conversion
2016-02-26 14:05:35 +00:00
John Cupitt
c95bbe43b5 oops in sharpen 2016-02-26 12:26:12 +00:00
John Cupitt
d33306836f better rgb16 -> scrgb handling
helps new sharpen tests
2016-02-26 09:08:42 +00:00
John Cupitt
04cc13e321 notes 2016-02-25 11:47:53 +00:00
John Cupitt
c1f1a7c1b3 improve sharpen for screen work
it was a bit granular (since it was designed for offset work), make sharpen
easier to adjust for smaller effects

- new 'sigma' parameter
- greater parameter range
- more self-tests
2016-02-25 11:16:24 +00:00
John Cupitt
789e154cd7 phew, done 2016-02-13 14:04:29 +00:00
John Cupitt
fdf0c349ae almost there
seeing transparency tags when we shouldn't, strange
2016-02-13 11:51:50 +00:00
John Cupitt
c2be771342 fix load from buffer, update APIs 2016-02-12 20:04:46 +00:00
John Cupitt
0dbd64a122 fix gifload memleak 2016-02-12 17:53:15 +00:00
John Cupitt
b10f332404 very close now
just a leak to nail down and some small stuff
2016-02-12 17:30:56 +00:00
John Cupitt
9262d672b7 almost done
a valgrind failure still
2016-02-12 10:53:04 +00:00
John Cupitt
4a63e961ea much faster is_a_svg 2016-02-09 14:42:27 +00:00
John Cupitt
56e45545d3 fix load from buffer 2016-02-09 11:58:43 +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
8ffbe98a29 note svg and gif loader needs 2016-02-08 21:47:12 +00:00
John Cupitt
5ca90dc2be final polish 2016-02-08 21:40:44 +00:00
John Cupitt
676d35ed74 add pdfload tests 2016-02-08 20:39:39 +00:00
John Cupitt
991cc4f88b rename as pdfload 2016-02-08 20:25:03 +00:00
John Cupitt
bff4157773 add load pdf from buffer 2016-02-08 17:48:18 +00:00
John Cupitt
b7030d004a add file type sniffing 2016-02-08 17:04:31 +00:00
John Cupitt
5db2c64d90 add @scale option
and set xres/yres
2016-02-08 16:57:37 +00:00
John Cupitt
adfd25a5ed byteswap popplerload
and better path absoluteization
2016-02-08 16:37:47 +00:00
John Cupitt
be574be539 popplerload hacking
metadata, relative filenames
2016-02-08 14:41:57 +00:00
John Cupitt
a7192ce8c6 update notes 2016-02-08 10:00:18 +00:00
John Cupitt
a41a1d5c33 popplerload seems to work
though it's not been tested much
2016-02-08 09:30:33 +00:00
John Cupitt
8da4e706dd start adding poppler support 2016-02-07 23:33:43 +00:00
John Cupitt
8cffd136e9 finish reduce
and fix up bicubic a bit, it works better on int32 images now
2016-02-07 17:41:39 +00:00
John Cupitt
39e6963033 start tests 2016-01-29 17:55:54 +00:00
John Cupitt
67f3ecfd8d wire up to resize / similarity
still need tests
2016-01-29 15:23:00 +00:00
John Cupitt
fbe010b80a in-line reduceh as well 2016-01-29 15:01:54 +00:00
John Cupitt
dd7b30bd00 in-line reducev
bit quicker
2016-01-29 13:16:00 +00:00
John Cupitt
3bb24f2567 some tinkering
still not very quick
2016-01-28 09:33:32 +00:00
John Cupitt
4d18300560 add VIPS_FABS/MAX/MIN/CLIP
macros which use the gcc __builtin_fabs() etc. functions when they can
2016-01-26 12:26:21 +00:00