Commit Graph

75 Commits

Author SHA1 Message Date
John Cupitt a96d851ff2 fix up vipsheader with complex field types
"-f name" displays a detailed form, "-a" displays a summary of each
field

fix a problem with string fields as well
2016-11-01 11:51:20 +00:00
John Cupitt ca7b51fb9e revise header get/set
rework header.c

- built-in enum fields, like "interpretation" are handled as enums, not
  ints
- vips_image_get_*() functions always convert to the target type if they
  can
- rename "field" to "name" in the docs
- clarify docs
2016-10-20 12:41:32 +01:00
John Cupitt dff0960e5f fix error message for metadata get
if the type of the metadata item didn't match theh gtype you were
fetching to, the error message was wrong
2016-09-30 08:54:46 +01:00
John Cupitt b5781a5760 Merge branch '8.3' 2016-07-30 10:57:40 +01:00
John Cupitt 88148318eb fix performance regression
the extra check on bandfmt in sizeof() in 8.3.2 was causing some performance
problems ... move the check to file read, so we only do it once
per image, not once per pixel or scanline

thanks Lovell!
2016-07-30 10:51:54 +01:00
John Cupitt 7ec63c4451 more vips image read fixing
thanks AFL!
2016-05-18 09:00:30 +01:00
John Cupitt 6a445ea9c8 more vips image read fixing
thanks AFL!
2016-05-17 21:58:52 +01:00
John Cupitt 24a51098b1 compiler warning 2016-05-12 14:54:28 +01: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 07a1903390 use g_assert_not_reached()
we were using g_assert(0) ... g_assert_not_reached() makes the
intention clearer
2016-01-24 13:21:53 +00:00
John Cupitt d88dd1ab72 fix a few coverity issues
a couple of minor bugs, and a lot of warnings
2015-09-30 09:54:50 +01:00
John Cupitt 180e5efe6f store all string metadata as refstr
various things break if you attach a G_TYPE_STRING as metadata, so make
sure it's always VIPS_TYPE_REF_STRING

also, type convert on read
2015-07-16 14:46:20 +01:00
John Cupitt 69fc2c1b7c getting closer ...
fix RefString handling, add a test case
2015-07-16 11:14:33 +01:00
John Cupitt e4c53e59dd fix a compile error 2015-06-20 10:54:24 +01:00
JonDeen 67d0ef0769 Merge remote-tracking branch 'owner/add-hsv' into add-hsv
Conflicts:
	libvips/colour/sRGB2HSV.c
2015-06-20 00:25:55 +02:00
John Cupitt be2537938e on second thoughts, put the assert back 2015-06-09 16:17:12 +01:00
JonDeen 6e004961ef interpret include 2015-06-09 16:50:23 +02:00
John Cupitt c3ff482ed7 update guess_interp for HSV
remove the assert as well, safer
2015-06-09 12:42:16 +01:00
John Cupitt a00db6c8f1 doc cleanups 2015-04-24 12:49:50 +01:00
John Cupitt 7495690cd6 remove vips__image_sizeof_bandformat
we had main API macros which used an array behind the scenes,
vips__image_sizeof_bandformat[]. Swap this for a function,
vips_format_sizeof(), to help DLLs.

the array symbol is still there for compatibility
2015-04-20 14:18:17 +01:00
John Cupitt 54c37e7e0d add copy-to-memory
try to make a threadsafe vips_image_wio_input()
2015-04-19 09:45:20 +01:00
John Cupitt 891e6db8f0 Merge branch '7.40' 2014-09-09 11:21:28 +01:00
John Cupitt d085351f0f fix mono <-> rgb converter extra band handling
see

https://github.com/jcupitt/libvips/issues/172

thanks James
2014-09-09 10:07:35 +01:00
John Cupitt 751982d9f0 add make vips matrix from python array 2014-09-05 14:53:05 +01:00
John Cupitt 7608524f61 fix up gtk-doc comments
fewer warnings now, phew
2014-09-03 14:32:55 +01:00
John Cupitt af84b3097c more docs work 2014-08-19 16:57:37 +01:00
John Cupitt f387d13106 Merge remote-tracking branch 'origin/7.36' 2013-12-01 12:30:12 +00:00
John Cupitt d7037618fc use a define for PATH_MAX
add VIPS_PATH_MAX, a long-enough-for-almost-any-path buffer size

we ought to switch to dynamic paths really ... do this when we fix
filename encoding
2013-12-01 12:18:16 +00:00
John Cupitt 12cf71a6a9 combin copy_fields and demand_hint
We had two API calls, vips_image_copy_fields() and vips_demand_hint().
They are now combined in the single vips_image_pipeline() call.

All operations are now slightly smaller and simpler.
2013-10-22 09:29:40 +01:00
John Cupitt 6b3dc259d1 more maplut hacking 2013-07-15 14:57:01 +01:00
John Cupitt 101c60cf42 add a "const" to get_string 2013-07-13 13:02:06 +01:00
John Cupitt 7490da07a6 rename image array as matrix
we had vips_image_new_array(), this was confusing with VIPS_TYPE_ARRAY,
something completely different ... rename image array as matrix
2013-07-02 22:09: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
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 5cd60f3701 better behaviour for labq with bad type
labq images with the type set incorrectly were not handled well
2013-02-18 13:49:32 +00:00
John Cupitt c5a600b286 tag Radiance images as scRGB
They aren't always, but scRGB is also 0-1 range, so conveniently this
now works:

	vips copy car-stack-eighth.hdr x.jpg
2012-12-13 12:21:02 +00:00
John Cupitt 8e72d25c9a better colourspace sniffing 2012-11-01 13:16:54 +00:00
John Cupitt 5771be4186 xres/yres become double
we had them as float before to make load/save easier, but that means we
need lots of hacks to make properties work correctly

instead, convert to/from float on read/write and have them as double
internally
2012-03-02 12:54:50 +00:00
John Cupitt 7ae919e4f4 more hacking on gio warnings
all the serious ones seem to be fixed now
2012-01-01 12:04:46 +00: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 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 b9747f5a06 various size_t->guint64 fixes
some platforms have off_t as 32-bits breaking large file support ...
make sure we use guint64 everywhere
2011-12-09 09:42:39 +00:00
John Cupitt 48763493e5 get byteswap working again 2011-12-01 14:52:49 +00:00
John Cupitt c1f1957e88 break out libvip gtypes
all libvips gtype definitions broken out and renamed for consistency
2011-10-28 10:28:31 +01:00
John Cupitt 5821f6cb40 done im_gbandjoin()
but needs testing, also see TODO for notes
2011-10-27 17:40:39 +01:00
John Cupitt a09929ef94 added image array args 2011-10-27 15:27:03 +01:00
John Cupitt 0c74ac2ebf insert works fully
switched im_insert over, though nip2 make check still fails
2011-10-24 16:21:42 +01:00
John Cupitt 045c2b37aa sync 2011-10-24 08:57:13 +01:00
John Cupitt a5b8a21a54 VipsInsert is working
but array_double from CLI still needs work, see TODO
2011-10-23 22:05:21 +01:00
John Cupitt 2c4cbedc70 insert.c compiles
and we have VipsArea as a public struct for array arguments
2011-10-22 13:10:47 +01:00