Commit Graph

36 Commits

Author SHA1 Message Date
Kleis Auke Wolthuizen 0337c09700
Cleanup gettext handling (#2695)
Use GLib's i18n support instead of copying and pasting that
logic into its own header. This deprecates the vips/intl.h
header in favour of glib/gi18n.h.
2022-02-27 15:27:28 +00:00
Kleis Auke Wolthuizen d1b4d12388 Move sink_disc and sink_screen threads to threadpool
And deprecate the vips_g_thread_new and vips_g_thread_join
functions.
2021-05-03 13:21:45 +02:00
Kleis Auke Wolthuizen 4144049174 Remove mutex lock for VipsThreadStartFn
vips_{avg,deviate,hough,max,min,stats} are the only arithmetic functions
that do not require a mutex on the _start and/or _stop function. All
other arithmetic functions still needs this, so move it to sink instead.
2021-05-03 13:21:45 +02:00
Kleis Auke Wolthuizen 9246094033 Fix function pointer cast issues
It is undefined behavior in C and C++ to cast a function pointer
to another type and call it that way. This does work in most native
platforms, however, despite it being UB, but in WASM it can fail.

See:
https://emscripten.org/docs/porting/guidelines/function_pointer_issues.html
2020-06-30 13:35:41 +02:00
John Cupitt 01eed391ab add sync locks to vips_sink()
vips_sink() used to just fire off threads willy nilly -- this could
cause problems with sequential images if a worker fell too far behind
the pack

copy over the area locking mechanism from vips_sink_memory(): new
threads are now stalled if an old thread has not finished
2018-01-31 16:25:06 +00:00
Alistair Thomas 7452d046ca Update GObject introspection annotations for libvips/iofuncs directory 2017-09-30 13:31:00 +01:00
John Cupitt c0f5fcd975 rename nlines as n_lines
to improve consistency
2017-04-26 09:45:00 +01:00
John Cupitt b08e8cba78 Revert "better cache sizing"
This reverts commit 09774740a7.
2017-02-27 10:23:46 +00:00
John Cupitt 09774740a7 better cache sizing 2017-02-22 20:11:52 +00:00
John Cupitt af84b3097c more docs work 2014-08-19 16:57:37 +01:00
John Cupitt eb3ad6d64f add lots of instrumentation
also svg output
2013-11-26 14:57:56 +00:00
John Cupitt 111a82c06e possible fix for tiff write assert fail 2013-09-25 12:57:36 +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 8f364a8b51 rename some _get funcs
all the _get_ funcs that returned a bool have become _isthing()
functions, eg.

vips_object_argument_get_assigned() ->
  vips_object_argument_isset()
2012-11-09 13:08:59 +00:00
John Cupitt 0290eb009d more accurate progress reporting
computation progress used to be done incrementally based on the number
of tiles allocated. This did not take account of half tiles at image
edges, so you could sometimes see "110% complete"

it's now calculated based on the absolute number of pixels processed, so
it should always report 100% at the end.
2012-04-12 10:01:17 +01:00
John Cupitt b34c07a88f reorganise sink base class
the thread state made by sinkmemory was missing a member needed by the
base class ... move ->stop into vips thread state
2011-11-02 10:27:33 +00:00
John Cupitt f2d9001cce rename function members
some function members were not named with a trailing _fn, causing
confusion
2011-11-02 09:22:30 +00:00
John Cupitt ae8faf6597 remove dmalloc support
we never used it and valgrind etc. is better anyway
2011-09-23 17:12:47 +01:00
John Cupitt 2909cb93a4 add a 'stop' param to generate
generate now has a 'stop' param, set this to indicate early successful
termination

this will be used by VipsMin and friends to stop scanning early for
conditions like seen a 0 in a uchar image while searching for min
2011-08-29 14:29:33 +01:00
John Cupitt 1cfa33e4fb better termination handling
setting and detecting ->kill is now treated more like a message ... you
can now cancel calculation in nip2 without breaking calculation
2011-08-15 16:24:46 +01:00
John Cupitt 35a7515e3f small bugfixes
various bugfixes ... nip2 runs reliably again now
2011-06-02 15:34:57 +01:00
John Cupitt 79a7a37d71 create output images in _build()
new idea: output image get made in _build(), we copy them out after
calling the operation's build, see TODO

vips_image_new() param removed, it just always makes "p" images now
2011-05-18 11:03:31 +01:00
John Cupitt c8fc3e6c85 fix a progress crash
progress was not always being signalled on the right image in sink.c
2011-03-31 18:04:23 +01:00
John Cupitt b13872f111 clean up sink
common up some stuff in the sinks
2011-03-28 14:08:42 +01:00
John Cupitt b8e4c57830 move im_generate to vips_
rename and reorganise im_generate and friends
2011-03-25 09:52:36 +00:00
John Cupitt ac801dd1fc rename Rect as VipsRect
move Rect to the new Vips namespace, add gtkdoc comments, add back
compat stuff
2011-03-17 13:05:46 +00:00
John Cupitt cfe34cacd2 back to vipsobject again
but without properties now
2011-03-16 18:26:32 +00:00
John Cupitt 2abb0f8d99 move VipsRegion off VipsObject again
We were having various unfixable segvs with VipsRegion on top of
VipsObject. Move back to a simple struct to reestablish stability,
then try slowly moving back to GObject again.
2011-03-16 14:27:34 +00:00
John Cupitt 834630e562 removed debug.c
debug and sanity checking are now part of object
2011-03-10 14:17:02 +00:00
John Cupitt fd26b098b7 it runs!
"vips im_avg poop.png" now works, amazing. Test a few more things before
we merge back to master.
2011-03-07 15:52:53 +00:00
John Cupitt 6fa48b0e7d region done
VipsRegion now exists, up to semaphore.c
2011-03-03 14:49:12 +00:00
John Cupitt 6b9ddf6f54 up to REGION now
more hackery, we've now reached REGION
2011-03-02 14:13:05 +00:00
John Cupitt 6671591791 fixes to get paintbox working again 2010-04-17 22:02:34 +00:00
John Cupitt 54730feadc im_vips2tiff() uses vips_sink() instead of threadgroup 2010-04-16 15:48:30 +00:00
John Cupitt 56c1c9c036 im_iterate() has an optional threadpool backend too 2010-04-09 16:51:45 +00:00
John Cupitt 5b00c86bab add VIPS_DEBUG_MSG 2010-04-06 09:02:26 +00:00