| 12/5/10 started 7.22.1 |
| - fix a problem with tiff pyramid write and >1cpu, thanks Ruven |
| - constant ops clip to target range |
| - oops, moreconst and moreeqconst were the same |
| - better buffer handling in sinkdisc for single-line images |
| - less chatty errors from "vips" |
| - oops, don't rename "copy_set" as "copy_", thanks Ole |
| |
| 12/5/10 started 7.22.0 |
| - bump and rename |
| - vipsthumbnail has a manualpage and sharpens correctly |
| - more interpolator work |
| - fixes to --disable-cxx mode (thanks Mike) |
| - added German translation, thanks Chris Leick |
| - fixed typos in some messages, thanks Chris Leick |
| - fix gettext startup |
| - all "colour" in messages changed to "color", have a proper en_GB |
| translation file |
| - vipsthumbnail delete profile failed if there was a profile |
| - interpolate cli unref was broken |
| - more accurate, slightly faster bilinear and bicubic (thanks Nicolas) |
| |
| 21/3/10 started 7.21.3 |
| - added progress feedback to threadpool |
| - --vips-wbuffer2 switch does all wbuffer use now |
| - im_wbuffer2() renamed as vips_discsink(), some cleanups |
| - im_gammacorrect() can do 16-bit images too |
| - im_histplot() could fail for signed int histograms |
| - im_fwfft() and im_invfft() could free their output image too early |
| - added im_local_imask(), im_local_dmask() |
| - added im_mpercent_hist() |
| - im_maplut() casts the index image to one of the uint types |
| - fixed a couple of /0 problems with scale == 0 masks |
| - set G_LOG_DOMAIN to VIPS so we can use g_warning etc. |
| - added VIPS_DEBUG_MSG() macro |
| - --vips-wbuffer2 turns on threadpool for im_iterate as well |
| - im_vips2tiff() uses vips_sink() instead of threadgroup |
| - strip out threadgroup |
| - add --enable-debug=xxx flag |
| - im_iterate() -> vips_sink() |
| - better number-of-bands detection for im_magick2vips() |
| - added im_get_argv0() |
| - added PFM read / write |
| |
| 16/1/10 started 7.21.2 |
| - "invalidate" is careful to keep images alive, so invalidate callbacks can do |
| im_close() |
| - flood_blob could loop if start point == ink |
| - added im_meta_remove() |
| - added remove profile option to vipsthumbnail |
| - added vips_bandfmt_iscomplex() and friends, im_iscomplex() and friends |
| deprecated |
| - im_bandjoin()/im_gbandjoin() work with images of varying formats |
| - added im_copy_native(), deprecated im_copy_from() and friends |
| - im_check*() name rationalisation |
| - finally removed old flood stuff |
| - im_insert*() bandalike and formatalike |
| - im_*join() bandalike and formatalike |
| - im_ri2c() bandalike |
| - im_vips2png() saves 16-bit PNGs, if necessary |
| - vipsthumbnail has selectable interpolators, optional sharpen |
| - moved a lot of stuff (eg. im_iscomplex()) from deprecated to |
| almostdeprecated to avoid breakage |
| - im_csv2vips(): allow lines that end with EOF rather than \n |
| - im_vips2tiff has a bigtiff option |
| - oops, im_lineset() needs to ask for WIO of mask and ink |
| - move cache invalidation to REGION, fixes a race |
| - don't im_invalidate() after paint, it can cause horrible performance |
| problems ... for example, im_plotmask() used as the action operator for |
| im_fastlineuser() is terrible |
| - instead, users of the inplace operations need to call im_invalidate() at the |
| end of a set of paint actions to trigger an update |
| - parent/child renamed as upstream/downstream in DAG |
| - set VIPS_ICC_DIR in configure |
| - ICC profiles are looked for in VIPS_ICC_DIR as a fallback |
| - im_render() mask image generation no longer triggers image calc |
| - threadgroups scale output buffers with number of threads for smalltile ... |
| improves SMP scaling for narrow images on many-way machines |
| - default to max number of processors (--vips-concurrency and IM_CONCURRENCY |
| set >0 can override) on linux and win32 |
| - better nprocs guesser |
| - im_render() fixes to help the paintbox, some speedups too |
| - added im_wbuffer2(), a new distributed threading system, and --vips-wbuffer2 |
| to enable it, thank you Christian |
| |
| 15/1/10 started 7.21.1 |
| - added "written" callbacks, used to implement write to non-vips formats |
| |
| 26/11/09 started 7.21.0 |
| - branch for new dev cycle |
| - argh, missing init from colour.c (thanks Peter) |
| - argh, im_measure() was not looping over bands correctly (thanks Peter) |
| - removed mmap_limit, we now always use windows ... reduces VM use hugely, |
| because mmap windows are freed when their regions are freed, while images |
| are only unmapped when they are closed |
| - have a min bytes for mmap windows as well, so we don't make too many tiny |
| windows |
| - im_disp2Lab() was broken |
| - deprecated.h is now defined in terms of current functionality, rather than |
| repeating stuff |
| - im_flood() and friends rewritten, typically 4x faster |
| - removed --with-cimg option, added --disable-cxx |
| - added im_system_image() (thanks Roland) |
| - added postclose callbacks |
| - added vipsthumbnail |
| - oops, generate C++/Python wrappers for deprecated operations by default |
| - read TIFF images strip-wise, not scanline-wise |
| - better TIFF YCbCr reading (thanks Ole) |
| - isanalyze generates fewer silly error messages |
| |
| 26/11/09 started 7.20.3 |
| - updated en_GB.po translation |
| - file_length is gint64 to avoid win32 breakage |
| |
| 23/11/09 started 7.20.2 |
| - GETTEXT_PACKAGE now includes lib version number (thanks Jay) |
| |
| 11/11/09 started 7.20.1 |
| - oop, im_clip2fmt() was missing PTOP flag, should get a small speedup |
| - im_conv() / im_convf() didn't like all-zero masks |
| - small updates to im_convf() from im_conv() |
| - im_read_imask() produced an incorrect error message if passed a doublemask |
| - rename im_convf(), im_convsepf() as _f() |
| - vips.c drops _f suffix when overloading |
| - regenerate C++ binding, don't make deprecated package |
| |
| 9/11/09 started 7.20.0 |
| - removed vips-7.x.spec.in, shouldn't really have this in SVN |
| - bumped version to 7.20 |
| - fixes to get "make dist" working again |
| |
| 3/4/09 started 7.19.0 |
| - version bump |
| - tiny conv speedup |
| - catch lcms error messages |
| - fix includes for gtk+-3.0 |
| - report virtual memory too in im__print_all() |
| - cosmetic changes to nohalo |
| - im_magick2vips() needs to invert alpha |
| - now (more or less) passes -Wextra |
| - added "fail" option to im_jpeg2vips: fail with an error on any warning |
| (thank you Ole) |
| - started gtk-doc changes |
| - renamed im_meta_get_type() and im_header_get_type() as |
| im_meta_get_typeof() and im_header_get_typeof() to prevent confusion with |
| GObject type definers (was breaking gtkdoc object scan) |
| - revised more names, limited documented API |
| - im_buildlut() could segv for non-zero based tables (thanks Jack) |
| - VIPS_BUF_STATIC() does not take length arg |
| - check for SetImageOption() so we work with GraphicsMagick too |
| - "header" sets a non-zero exit code if anything failed |
| - add and use im_check_uncoded() and friends |
| - matlab load handles column-major and plane-separated images (thanks Mikhail) |
| - JPEG save allows "none" for profile, meaning don't attach a profile |
| - saner, simpler, faster typecasting for im_add(), im_subtract(), |
| im_multiply(), im_divide(), im_remainder() |
| - im_remainder() has a float result for float types |
| - im_measure() allows sel == NULL, meaning all patches |
| - added "deprecated" package |
| - faster, simpler, better im_max(), im_min, im_avg(), im_deviate() |
| - im_max() returns true modulus, not square of modulus, for complex images |
| - im_avg() works for complex, returning average modulus |
| - im_system() fix (thanks Roland) |
| - im_system() rewrite |
| - im_maxpos()/im_minpos() are partial and work for complex |
| - im_max()/im_min() are now convenience functions |
| - im_maxpos_avg() handles complex and multi-band images |
| - added im_point(), rewrite im_point_bilinear() in terms of this |
| - close callbacks now happen *after* images have closed resources (such as |
| open files) ... this lets them delete temps and stuff. Expect breakage :( |
| - added vips_interpolate_get_window_offset() |
| - boolean revised: smaller, more general, faster |
| - im_remainderconst_vec() renamed to im_remainder_vec() for consistency |
| - added im_shift*_vec() |
| - renamed im_eor_vec() as im_eorimage_vec() for consistency, also and, or |
| - renamed im_eorconst() as im_eorimage_const() for consistency, also and, or |
| - relational revised: smaller, more general, faster |
| - im_blend()/im_ifthenelse() allows many-band conditional, 1-band then/else |
| - im_blend()/im_ifthenelse() allows band and format to differ between then |
| and else parts |
| - better im_check() functions |
| - added im_flood_other() as start of simple segmentation operator |
| - added im_label_regions() |
| - im_printlines(), im_debugim() deprecated (use im_vips2csv() instead) |
| - meta, header, callback, error, region, check, generate, memory gtkdocs |
| - removed printlines tool, vips2csv is much better |
| - removed other useless tools as well: debugim, binfile |
| - fix up addr calcs on 64-bit machines with >2gb images and inplace ops |
| (thanks Christoph) |
| - im_generate() checks that im_demand_hint() has been called for this image |
| - im_jpeg2vips.c, set scale_num on shrink (thanks Guido) |
| - heh argh reading history always stopped after the first line (thanks Haida) |
| - added im_histindexed |
| - new im_iterate() calls start and stop functions from workers so resources |
| they make are owned by the worker thread ... this makes it possible to have |
| start functions which create mutiple regions and therefore allows |
| im_iterate() to scan more than one image at once |
| - threadgroup no longer has any default action, you must attach a work |
| function |
| - added im_copy_file() |
| - added im_insertset() |
| - im_insertplace() allows small to be outside big |
| - added im__colour_difference(), colour ops now work on any image format |
| - added im_col_display_get_table(), so display tables are now shared by name |
| - added im__colour_unary() |
| - drop "set" postfix from names, so "insert" can now take a vector of positions |
| - deprecate all the "_raw" variants, not really necessary now |
| - removed "contrib", not very useful anymore |
| - added im_header_as_string() |
| - im_malloc()/im_free() now call g_try_malloc()/g_free() ... removes confusion |
| over whether to use im_free() or g_free() for things like im_header_string() |
| - added im_history_get(), im_getexp(), im_printdesc() as wrapped functions ... |
| so you no longer need the "header" program |
| - image vectors from Python work, woo |
| |
| 25/3/09 started 7.18.0 |
| - revised version numbers |
| - updated vipsmanual |
| - revised manpages |
| - removed name and "changed" from vipsobject since we don't use them yet |
| - explicitly link with stdc++ for nohalo etc. stuff |
| - wrap im_gauss_imask_sep in C++/Python |
| |
| 6/3/09 started 7.17.3 |
| - revised nohalo |
| - remove fading stuff from im_render() -- cleaner and simpler |
| - configure spots support for "restrict" |
| - reset dcm:display-range on magick read to help DICOM |
| - saner im_buildlut() behaviour |
| - added im_gauss_imask_sep() |
| - allow open and view of truncated images (thanks Joe & Rachel) |
| - revising rounding on im_affine*() coordinate transforms to make them more |
| stable |
| - added Radiance write |
| - added im_float2rad() |
| - added IM_CODING_RAD, support where it makes sense (extract, flip, rotate, |
| etc.) |
| - IM_PROGRESS env var |
| - docs for rad2float and IM_CODING_RAD |
| |
| 3/3/09 started 7.17.2 |
| - im_magick2vips.c: allow funky bit depths, like 14 (thanks Mikkel) |
| - isradiance was returning TRUE too often |
| - radiance loader now loads packed RGBE/XYZE instead of unpacking to float |
| - added im_rad2float() |
| |
| 11/10/08 started 7.17.0 |
| - merge vips-7.16 brach back into trunk |
| - bumped version number to 7.17.0 |
| - re-added type.[hc] |
| - added vipsinterpolate and im_affinei |
| - added yafrsmooth interpolation |
| - added yafrtest |
| - added yafrnohalo |
| - ubuntu 8.10 changes |
| - interpolators get an output pointer, not region |
| - tuning for bicubic |
| - revised transform / clip code, we now do corner not centre |
| - yafr-smooth reworked along the lines of bicubic |
| - cleanups after yafr hacking |
| - added affinei_all |
| - don't set im_error() on failed callback |
| - moved im_format_t to VipsFormat, now sits over VipsObject |
| - IM_FORMAT_FLAG_PARTIAL -> VIPS_FORMAT_PARTIAL |
| - updated docs |
| - interpolators use type introspection |
| - added vips --list classes, does formats too |
| - include sys/param.h to get PATH_MAX in more places |
| - added vips_format_get_flags() |
| - oop, forgot to check for cancel during tiled tiff write |
| - don't use mmap for tiff read: no performance advantage, chews up VM |
| - VIPS_INTERPOLATE_SHIFT bumped to 12, we need the extra precision for u16 gel |
| data |
| - added string->double transform for cmdline args |
| - merged class-params branch back into trunk |
| - IM_FREE() can do "const char*" variables |
| - im_buf_t renamed as VipsBuf |
| - added vips_object_to_string() |
| - added "nickname" and "description" properties to VipsObject |
| - shift/and/or/eor ops were broken for non-int types |
| - added nohalo interpolator |
| - updated format docs |
| - IM_INPUT_INTERPOLATE() now used by affinei and affinei_all |
| - added vips_object_new |
| - resamplers/interpolators now in a resample package |
| - removed yafrnohalo.c |
| - added matio as a dependency |
| - added Matlab save file read |
| - added Radiance file read |
| - better file-not-found messages |
| |
| 11/9/08 started 7.16.3 |
| - oop typo in manpage for im_project() |
| - doc fixes |
| - returning non-zero from eval callbacks was not always stopping computation |
| |
| 11/9/08 started 7.16.2 |
| - added --without-v4l option |
| - added -no-undefined to libsrcCC build, so we get a libvipsCC.dll |
| - removed the swig dependency: we include the generated bindings in the |
| distribution tarball |
| |
| 6/9/08 started 7.16.1 |
| - trigger eval callbacks on tiled tiff write |
| - added vips as an im_format_t |
| - added im_format_write()/_read() convenience functions |
| - more cleanups for the format API, argh |
| - removed win32/ directory now mingw finally makes DLLs correctly |
| - removed the windowed spcor for now, it has some edge effects |
| |
| 24/8/08 branch for 7.16 |
| - renames and version numbers |
| - load plgs from libdir as well as libdir/vips-x.x for compat |
| - complex -> complex conversion was broken |
| - refstring <-> gstring transforms |
| - better behaviour with Magick non-presence |
| - added --enable-links switch to configure ... we no longer make the bin/im_* |
| links by default |
| - started a 'format' section in the docs |
| - configure fails if no gettext found |
| - revised po/ |
| - released as 7.16.0! |
| |
| 25/5/08 fork for loadable image format branch |
| - image load/save in non-vips format code moved to own dir |
| - simple format searching added |
| - some cleanups for vips load |
| - im_open() simplified |
| - add im_format_flags |
| - only consider formats with a save method in im_format_for_name() |
| - oops, format sort order was reversed |
| - im_filename_suffix() includes "." in suffix |
| - merge back into trunk for 7.15.1 |
| - remove im_ispng(), im_png2vips_header() etc. & friends |
| - add "vips --list formats" |
| - rename VBuf as im_buf_t for consistency |
| - add type.[hc], start of new type system |
| - removed man pages for IM_MIN, MAX and RINT to avoid case confusion on |
| OS X / win |
| |
| 7/3/08 started 7.15.0 |
| - MAGIC constants should be tagged as unsigned |
| - write MAGIC correctly on sparc/powerpc machines (thanks Joe) |
| - oop, we were still making fade threads even when not fading |
| - tiny cond jump fixes for valgrind in colour.c |
| - remove -lstdc++ from libs, except on windows |
| - push Magick cflags earlier in the include order to make it easier to pick |
| GraphicsMagick over ImageMagick (thanks Mikhail) |
| - fix the en_GB translation |
| - use meta to preserve resunit between tiff load and save |
| - small doc improvements |
| - read and write CMYKA tiff (thanks Doron) |
| - performance improvements for morphology ops, esp. when zooming out |
| - oop, im_render() was broken for mask == NULL |
| - better support for multiple Python installs (thanks Jay) |
| - better IM_SETSTR() stops some warnings |
| - im_histcum() works for signed histograms |
| - better rounding for im_conv(), im_convsep() |
| - tiny speedup for im_conv() |
| - better /0 test for remainderconst |
| - revise i18n configure, get rid of intltool |
| - command-line IMAGVEC input could segv with non-vips image output |
| - added .tobuffer()/.frombuffer(), .tostring()/.fromstring() to Python binding |
| - add PIL_mode_from_vips () and vips_from_PIL_mode () utility functions |
| - update docs for new Python stuff |
| - FIND_ macros no longer search for stuff, you have to specify prefixes if the |
| packages are not on the default path (or in $prefix). This avoids some |
| accidents on some platforms |
| - configure prints a summary of optional packages found at the end |
| - im_lhisteq() checks for window too small |
| - added invalidate callbacks |
| - now tests for MagickWand before ImageMagick (thanks Adam) |
| - added "-rotate" option to vips2dj |
| - added man page for im_resize_linear |
| - better jpeg-in-tiff YCbCr read (thanks Ole) |
| - oops, invalidatefns were not being freed on im__close() |
| - VMask() can init from std::vector, so Python can init from [] |
| - added IM_LIBDIR, im_guess_libdir() |
| - load plugins from libdir/vips-x.x on startup |
| - added meta get/set int/double/string/area/blob/GValue to C++ API |
| - include time_t in vips.h, thanks nicola |
| - lock global image list (thanks lee) |
| |
| 25/1/08 started 7.14.0 |
| - bump all version numbers for new stable |
| - better CMYK JPEG read (thanks Ole) |
| - add __str__ to VError in Python (thanks Ole) |
| - revert the dynamic wrapping for Python :-( next version! |
| - added VImage::convert2disc (thanks Ole) |
| - you can now set the jpeg quality factor for tiff pyramids (thanks Joe) |
| - you can now shrink jpegs during read, see "man im_jpeg2vips" |
| - added CMYK JPEG write |
| - optionally use GraphicsMagick (thanks Bob Friesenhahn) |
| - look for MAGICKCORE_HDRI_SUPPORT (thanks Marcel) |
| - set icc profiles in tiff pyramids explicitly (thanks Joe) |
| - add --without-cimg configure option |
| - add im_maxpos_subpel |
| - make im_abs compile without liboil |
| - add im_align_bands |
| - fix type overflow in complex division |
| - fix im_cross_phase and im_addgnoise (Tom) |
| - updated docs, C++ and python |
| - header no longer stops on error |
| - C++ dummy2.cpp helps OS X linking |
| |
| 12/12/07 started 7.13.3 |
| - added "include <cstring>" to VImage.cc to help gcc 4.3 |
| - started moving the python binding to dynamic wrapping |
| - added im_wrap(), im_wraptwo(), im_phasecor_fft(), im_cross_phase() (Tom) |
| - memleak plugged in im_save_string_setf() |
| - bugfix in and docs for im_gradcor() (Tom) |
| - use Glib macros to make im_msb work on big-endian platforms (Tom) |
| - use Glib macros to get rid of needless compile warnings (Tom) |
| - fix type overflow in im_c2ps/im_abs (Tom) |
| |
| 31/10/07 started 7.13.2 |
| - build cimg on windows fixes |
| - various include cleanups, updated man pages |
| - break im_wbuffer() out to a separate API |
| - use im_wbuffer() to make im_vips2jpeg() compress in the background |
| - also im_vips2png(), im_vips2tiff(), im_vips2ppm() |
| - revised evaluation progress system |
| - new evalstart/evalend/preclose callbacks fix over/underflow reporting |
| - but the meaning of evalend has changed in a non-backwards-compatible way :( |
| use preclose instead ito get the old behaviour |
| - added "--vips-progress" flag to turn on a simple eval progress tracker |
| - make im_spcor[12] static, im_spcor is wrapper (Tom) |
| |
| 28/9/07 started 7.13.1 |
| - vips2dj can print RGB images |
| - oop, include <stdexcept> missing |
| - add protos for generate/iterate function args, fix warnings |
| - add cimg package, we now have C++ source inside VIPS, sigh |
| - added OUTPUT_DOUBLEVEC and OUTPUT_INTVEC, use for im_maxpos_vec() and friends |
| |
| 29/8/07 started 7.13.0 |
| - we now have a trunk and the version is 7.13.x, woo! |
| - move manpages into a separate man/ dir ... speeds up builds a lot on windows |
| - don't install malkovich |
| - don't fail on unknown args for python (thanks Simon) |
| |
| 1/8/07 started 7.12.5 |
| - im_embed() is more general ... x and y can be negative |
| - predicate.c is smaller and cleaner |
| - libsrcCC link improvement from Pablo |
| - support 32/64-bit ImageMagick as well (thanks Marcel) |
| - better im_magick2vips() for Q8 ImageMagick |
| - split repository to trunk/branches ready for a stable 7.12.x branch |
| |
| 27/7/07 started 7.12.4 |
| - proto.h had vars called small, breaking on win32 |
| - more python fixing, we now have working matricies too |
| |
| 17/7/07 started 7.12.3 |
| - fix to VImage.i for gcc 4.2 (thanks Damir) |
| - eek, off by 1 for more than 1 band hists |
| - needed a slightly larger worst-case buffer in im__b64_encode() |
| - tiny cleanup for make_hI() prevents cond jump on ui in valgrind |
| - --disable-threads was broken again |
| - remove .svn dirs from dist |
| - now passes distcheck again |
| |
| 17/7/07 started 7.12.2 |
| - added im_bandmean() |
| - added support for TIFFTAG_PREDICTOR (Andrey Kiselev) |
| - fix TIFFOpen() mode snafu (Andrey Kiselev) |
| |
| 11/5/07 started 7.12.1 |
| - memory.c abort()s with DEBUG |
| - oops, im_bits_of_fmt() manpage was not being installed |
| - im_histcum() can do all image types |
| - updated NEWS |
| - added im_csv2vips_header() |
| - command-line csv read was broken (thanks Tom) |
| - removed length limit on argument vectors (Tom) |
| - added IM_PREFIX, configure-time install prefix |
| - oop, turned off memory.c DEBUG |
| - fix some bogus gcc 4.1 warnings with im_open_local_array() |
| - better vips usage message |
| - oops, IM_ANY missing from im_demand_hint() manpage (thanks Shahid) |
| - just warn if plugins fail to load in im_init_world() |
| - expose Vargv and make refblock public rather than private so that |
| subclasses of VImage can add vips-style member operations (thanks Pablo) |
| - oops, im_initdesc() needed to have bbits set correctly (thanks Shahid) |
| - make VError derive from std::exception more officially |
| - woo, got exceptions working in SWIG |
| - soname version bumped to 12.x.x |
| - oops, added vector ops to Python |
| - check for overflow of int in return of strtol in dispatch system (Tom) |
| - add im_[di]mask_[xy]size to dispatch system (Tom) |
| - add im_gradcor(), im_grad_[xy] (Tom) |
| |
| 26/3/07 started 7.11.21 |
| - ooo, added %include "std_except.i" & friends to VError.i, VImage.i |
| - im_init_world() is more lenient about recursive invocation |
| - im_gbandjoin() falls back to im_copy() for 1 input image |
| - race condition fixed in im_render.c (thanks Simon) |
| - bump for 7.12!!! |
| |
| 26/1/07 started 7.11.20 |
| - another fix to im_region_image() (thanks Mikkel) |
| - tiny speed up to im_rect_includesrect() |
| - avoid recursive invocation in im_init_world() (thanks Christian) |
| - fix to extract_prefix (thanks Christian) |
| - buffer cache is now per thread |
| - combine buffer unref and ref in a single operation to reduce malloc/free |
| cycles |
| - new internal API for passing regions between threads means we can remove |
| buffer locks |
| - more buffer/region sanity checks, plus a memory barrier |
| - lock around error buffer changes |
| - im_vips2mask() was wrong for nx1 m-band images |
| - liboil back to "test" |
| - add buffer_cache_list to avoid GHashTable _insert()s |
| - oop, --vips-concurrency was broken |
| - renamed (in dispatch layer) im_and/or/eor_const -> im_and/or/eorimageconst |
| for consistency |
| - C++ API wraps IMAGEVEC, DOUBLEVEC, INTVEC arguments |
| - oop, IMAGE % vector<double> was broken |
| |
| 21/12/06 started 7.11.19 |
| - added im_linreg() (Tom) |
| - various C++ API polishes, plus a bugfix (Dennis Lubert) |
| - vips.spec split to devel and python too (Dennis Lubert) |
| - be more explicit about sizeof(magic) |
| - init magic to native order by default (thanks Dennis) |
| - Hist becomes im_history_get() |
| - new history mechanism is faster, uses much less memory, and removes |
| duplicate lines |
| - added im_get_option_group() |
| - added official im_concurrency_set()/_get()() |
| - don't read bbits from vips files ... set ourselves from bandfmt |
| - oops add RGB16 and GREY16 to C++ header |
| - --list packages option to vips.c |
| - updated docs to 7.12 |
| - oops, im_region_image() snafu was causing a lot of recomputation |
| - make im_mpercent() suck a little less |
| - EXIF save was a bit bOrked ... cause of mac crashes? |
| - im_histgr(), im_heq(), im_hist() all number bands from zero now |
| - fix stride in liboil calls |
| - set RGB16 on 16-bit RGB ICC export |
| |
| 29/11/06 started 7.11.18 |
| - added im_buffer_t so regions can share calculated pixels: 2-3x speedup on |
| the benchmark |
| - im_region_local() -> im_region_buffer() |
| - im_sharpen() order change to help sharing |
| - im_invalidate() clears buffer caches |
| - add sentinel attributes |
| - add some missing im_demand_hint()s |
| - paint ops invalidate the output image |
| - fix nothread eval |
| - raise threads limit to 1024 (thanks Christian) |
| - manual redone |
| - vipsCC python init() hooks |
| - add liboil dependency |
| - use liboil for im_abs(), im_add(), im_divide(), im_floor(), im_multiply(), |
| im_subtract(), im_lintra(), im_avg(),im_deviate() |
| - quiet libtoolize test (thanks Tom) |
| - im_benchmarkn now regrows image each time |
| - strip meta from sample2.v ... saves a lot of mem (esp. Hist) |
| - added im_isscalar() (Tom) |
| - added IM_REGION_ADDR_TOPLEFT() (Tom) |
| - reduce size of im_rightshift_size.c to help compile (Tom) |
| - make im_stop_many(NULL) safe (Tom) |
| |
| 24/11/06 started 7.11.17 |
| 1;5Q |
| - better benchmark script makes graphing easier |
| - double-buffer image file writes |
| - reuse write threads |
| - clean up threadgroup / iterate / generate |
| - added im_benchmarkn to make it easier to make a CPU-bound op on large |
| machines |
| - im_cache() failed for cpus > 1 |
| |
| 1/11/06 started 7.11.16 |
| - moved im__convert_saveable() into im_copy() (thanks Christian) |
| - missing gobject dependency (thanks Christian) |
| - --enable-threads was broken (thanks Christian) |
| - eval without theads was broken (thanks Christian) |
| - LIBADD libvips.la to libvipsCC.la (thanks Simon) |
| - benchmark.sh is now plain sh, not bash |
| - set ORIENTATION_TOPLEFT in im_vips2tiff (thanks Josef) |
| - oops, im_vips2csv() output separator was broken |
| - added im_benchmark2 |
| - move XYZ2Lab LUT build outside the eval thread |
| |
| 30/10/06 started 7.11.15 |
| - print leaked windows |
| - oops, race condition in im_window_unref() |
| - integrated im_region_window() into im_region_image(), tiny speed up |
| |
| 6/10/06 started 7.11.14 |
| - ifthenelse and affine dhints revised |
| - buildlut no longer outputs x cods |
| - configure asks for glib >= 2.6 (we need GOption) |
| - configure uses AC_TOOL_CHECK to find tool names to help cross-compiling. |
| - better configure test for libexif |
| - add </libexif/ prefix if required |
| - test for glibtoolize during bootstrap to help OS X |
| - add --version to vips main prog |
| - don't set Type in im_scale, want to be able to scale hists, for example |
| - im_vips2mask() allows multiband hists as well |
| - im_vips2csv() lets you specify an output separator |
| - vips.c cleanups in arg handling |
| - removed python binding to C layer, too hard to get it working right |
| - leak test python test program |
| - added throw() decls to C++ to help SWIG |
| - no longer derive VError from std::exception, can't get it to work with SWIG |
| - added mmap window manager to share windows between regions ... big reduction |
| in VM use for large workspaces and for SMP |
| - add im_spcor2 (with sliding window) (Tom) |
| |
| 15/9/06 started 7.11.12 |
| - python vips wrapper hooks into init to start vips |
| - oop, python detect was broken again |
| - im_file_length() error return was wrong (thanks Christian) |
| - im_csv2vips() isnored last column if there was no trailing |
| whitespace/quoting |
| - test for NULL filename/mode, common if you forget to check argc |
| (thanks Bruno) |
| - im_break_token() returns NULL on trailing whitespace ... helps read_dmask |
| work with trailing whitespace on matrix headers |
| - added im_buildlut(3) |
| - removed extra im_free() in im_copy() fallback in im_msb() |
| - added GValue input/output args |
| - various C++ binding improvements (thanks Dennis): namespace support, |
| VError inherits from std::exception, small fixups |
| - remove im_msb() warning on fallback to copy for uchar ... not very serious, |
| happens a lot in nip2 |
| - added <vips/vips> C++ include ... include in a namespace |
| - added im_benchmark / SMP benchmark script |
| - add im_maxpos_avg() and im_point_bilinear() (Tom) |
| - make im_region_free(NULL) safe (Tom) |
| - link in manpages for im_contrast_surface (Tom) |
| |
| 8/9/06 started 7.11.11 |
| - add im_norm_dmask() |
| - removed old code for gradient and lindetect |
| - internal decls split from proto.h to help SWIG |
| - test for python and SWIG during configure |
| - added python dir for the binding |
| - python binding done! |
| - oops, --without-python was broken (thanks Tom) |
| - added python/test |
| - add im_lu_decomp() im_lu_solve(), rewrite NR type functions in terms of these (Tom) |
| |
| 23/6/06 started 7.11.10 |
| - still more im_affine() rounding/clipping tweaks |
| - ignore "--" arguments to vips.c |
| - im_init_world() also sets g_*_prgname() and loads plugins |
| - add manpage for im_init_world() (oops) |
| - error_exit() prints prgname |
| - various cygwin fixes |
| - fix cache thread assert failure (thanks Joe) |
| - "header" now uses GOption, slightly different args, will loop over args |
| - fixed assert() overenthusiasm in im_prepare() |
| - im_csv2vips() now has separate whitespace / separator tables |
| - add im_rightshift_size() (Tom) |
| - add im_maxpos_vec(), im_minpos_vec() (Tom) |
| - add im_norm_dmask() (Tom) |
| - make im_free_[di]mask(NULL) safe (Tom) |
| |
| 23/6/06 started 7.11.9 |
| - back on sourceforge CVS again |
| - require openexr 1.2.2 or greater |
| - range check xy on im_insert*() for sanity |
| - VMask::invertlut decl removed (thanks Jean) |
| - added \"all\" option to vips.c |
| |
| 17/5/06 started 7.11.8 |
| - debrokened openexr read |
| - added im_tile_cache() |
| - added tiled read to im_exr2vips() |
| - im_tiff2vips() now uses im_tile_cache() rather than its own cache ... |
| faster in some cases, less RAM use in some cases, saves 200+ lines |
| - removed 'broken' read option from im_tiff2vips() |
| - read/write doubles with g_ascii_strtod() and friends where appropriate |
| - add a "thread" member to region to help sanity check region ownership |
| - saner threadgroup fixes a race problem on gcc 4.0.3 / amd64 |
| - added im_vips2csv() |
| - im_open() now does CSV read/write too |
| - oops, broke vips main prog for function name in argv1 case |
| |
| 22/4/06 started 7.11.7 |
| - split vips_png.c to im_vips2png.c and im_png2vips.c |
| - added OpenEXR dependency |
| - added im_exr2vips(), im_exr2vips_header() |
| - added im_isexr(), im_open() knows about OpenEXR |
| - added im_contrast_surface(), im_contrast_surface_raw() (Tom) |
| - added im_msb(), im_msb_band() (Tom) |
| - im_scale() sets Type on output |
| - added RGB16, GREY16 types |
| - im_*2vips() set these types if appropriate |
| - configure fixes for mac |
| - vips main prog uses GOption |
| - im_icc_* locks around calls to cmsDoTransform() to avoid corruption on SMP |
| machines |
| - add im_prepare_many() (Tom) |
| |
| 10/3/06 started 7.11.6 |
| - typo in manpage and header for im_rect_dup() (Tom) |
| - don't abort image load if XML read fails |
| - added im_video_test() ... test video source |
| - oops, lcms .pc finder was not working |
| - clipping problem in im_affine() fixed (thanks Clare) |
| - test for attr support in libmagick |
| - im_text() returns an error for empty string |
| - im_falsecolour() scale reversed |
| - im_remosaic() could crash on bad mosaics |
| - configure changes to fix --without-magick, lcms and fftw (but sadly we now |
| require .pc files for these libs) |
| - im_vips2jpeg() automatically converts to 1 or 3 band sRGB uchar for write |
| - also im_vips2png() |
| - added im_project() |
| |
| 20/2/06 started 7.11.5 |
| - added im_csv2vips() |
| - commas in filename options can be escaped with a '\' |
| - raise tile buffer limit (thanks Ruven) |
| - im_spcor() and im_fastcor() have prettier borders |
| - im_fastcor() returns sum of squares of differences, not sum of abs of |
| differences |
| |
| 18/11/05 started 7.11.4 |
| - small win32 fixes, thanks Juan |
| - added im_flood_blob_copy() ... a temporary hack |
| - much faster im_histplot() |
| - read RGBA palette-ized PNG images more robustly (thanks Tom) |
| - turn on -ms-bitfields automatically for mingw |
| |
| 26/9/05 started 7.11.3 |
| - better error recovery for im_binfile() file too large |
| - all raw files now use mmap windows, so (eg.) ppm and analyze reads can go |
| >2GB |
| - remove DISABLE_COMPAT ... you now have to define IM_ENABLE_DEPRECATED to get |
| broken #defines |
| - fix to build without exif, thanks Chas |
| - use native win32 API for seek()/truncate() to work with large files |
| - use attribute to check printf-style args with gcc |
| - fix gcc4 warnings |
| - removed ebuild, since it's in gentoo now |
| - im_magick2vips() sets meta from attributes (good for dicom) |
| - im_magick2vips() writes many-frame images as tall thin VIPS images |
| - im_histcum() was broken for vertical histograms |
| - im_histnorm() is neater |
| - simpler and faster inner loop for im_conv() and im_convf() avoids gcc4 bug |
| - appendc() was reading past the end of the buffer on MSB machines |
| |
| 13/6/05 started 7.11.2 |
| - im_copy_set() was messed up in 7.11.1 |
| - put into CVS, phew |
| - fixed a rounding bug in im_affine() ... should no longer get black edges on |
| image resize |
| - if TIFF open fails in im_open(), try going through libmagick |
| - merge requires all bands == 0 for transparency (used to just check 1st |
| band) |
| - 16 bit LAB TIFF read/write was wrong |
| - new GType for refstring makes it visible from im_header_map() |
| - jpeg loader attaches exif data (and human-readable meta fields) |
| - jpeg saver writes any exif data |
| - meta not wiped by im_*incheck() in a "w" image |
| - meta keeps traverse order |
| - now require glib >= 2.4 |
| - require libxml-2.0 for meta save and new history mechanism |
| - no more .desc files, history saved in XML after pixel data |
| - i/s/d meta fields saved there too |
| - added base64 encode/decode |
| - added blob header write |
| - added a save string type: types which define transforms to and from the |
| save format get serialized |
| - GValue meta API now exposed, since we can serialise anything |
| - jpeg loader loads ICC profiles |
| - jpeg saver saves ICC profiles from the VIPS header |
| - src/header.c knows about meta system |
| - added im_analyze2vips(), im_grid(), im_raw2vips() |
| - extract/grid/replicate/zoom were not setting TRANSFORM flag |
| - better falsecolour LUT |
| - less stupid + more portable read/write of VIPS header |
| - better im_updatehist() |
| - jpeg load sets vips xres/yres from exif, if possible |
| - jpeg save sets exif xres/yres from vips, if possible |
| - icc_export and icc_transform attach profiles and intents to output images |
| - added im_icc_import_embedded() to import with an embedded profile |
| - split vips_jpeg.c into two, it was getting too big |
| - added im_cp_descv(), im_cp_desc_array(), funcs use them |
| - removed im_append_Hist() from API |
| - fixed meta copy bug |
| - better history copy, removed nonsense about 1st line of Hist being special |
| - tiff read/write now reads/writes ICC profile from meta |
| - edvips rewritten to remove stupidness, and can now set xml |
| - header can now print xml extension block |
| - IM_ prefix for colour temp names |
| |
| 1/6/05 started 7.11 |
| - added im_copy_morph() |
| - im_region_region() allows Bands and BandFmt to differ, provided |
| sizeof( pel ) is the same ... makes im_copy_morph() work |
| - added im_meta*() functions (MW) |
| - im_header_*() rewritten for meta |
| - added im_header_exists(), im_header_map() |
| - use pkg-config to find libpng and ImageMagick |
| - added im_lineset() |
| - added im_extract_areabands() (JF) |
| - added im_copy_from() (JF) |
| |
| 15/4/05 started 7.10.12 |
| - im_ifthenelse just evals left/right for region all zero/all one |
| - also im_blend |
| - swap g_setenv() back to plain setenv() so we work with glib 2.2 |
| |
| 9/4/05 JC started 7.10.11 |
| - docs no longer have broken links |
| - fixed memleak in im_text() |
| |
| 8/4/05 |
| - one bit tiff read was sometimes reading a byte too far in each scanline |
| |
| 14/1/05 started 7.10.9 |
| - im_filename_split() will now usually work for filenames containing ':' |
| characters |
| - added im_render_fade() for fancier nip2 image repaint |
| - added "ccittfax4" as a TIFF compression option |
| - fix all 64-bit compiler warnings |
| - "," allowed as column separator in mask read |
| - better at spotting singular matricies |
| - small im_render() tidies |
| - glib dependancy reduced to just 2.0, but untested ... helps people building |
| on older systems who aren't interested in nip2 |
| - removing leading spaces from IMAGEVEC arguments |
| - load non-interlaced PNGs more efficiently |
| - 1 point mosaic functions work on more image types |
| - better memory allocation debugging info |
| - local memory on regions can shrink as well as grow |
| - shut down threadgroups on render if no dirty tiles |
| - limit number of simultaneous renders |
| - higher mmap window threshold |
| - allow max == -1 for unlimited render cache |
| - 'priority' marks non-suspendable renders |
| - im_embed() mode == 4 paints white pels |
| - im_tiff2vips() was broken with --disable-threads |
| - oops, im_errormsg() compat macros were GCC only |
| - larger default tile size and strip height |
| - tiff write sets PHOTOMETRIC_CIELAB for vips TYPE_LAB images ... so we can |
| write float LAB as well as float RGB (thanks Ruven) |
| - also 16 bit LAB TIFF write |
| - im_render() rewritten |
| |
| 20/11/04 started 7.10.8 |
| - im_sharpen() is ~15% faster |
| - more quoting for MAGICK finder |
| - im_XYZ2Lab() uses a LUT rather than cbrt(), 5x faster |
| - --disable-threads removes gthread dependency completely (thanks Simon) |
| - intercept TIFF warnings as well as errors ... stops occasional libMagick |
| exceptions |
| - add im_init_world() to im_init() as well to help backwards compat (thanks |
| Simon) |
| - im_icc_present() function description was broken, thanks Jay |
| - oops, libtool library versioning was wrong, thanks Jay |
| - can now make TIFF pyramids of any non-complex image type (was uchar and LAB |
| only), thanks Ruven |
| - 1st order mosaic code now works for LABQ too |
| - build system changes to make "make distcheck" work |
| - RPM .spec files fixed up and updated by configure (thanks Simon) |
| - tiny cleanups for vdump |
| - use g_setenv()/g_getenv() |
| - tiny improvements to IM_FREE*() |
| - tiny VImage debug print fixes (thanks Jay) |
| - swap off_t for gint64 to fix LARGEFILE support on win32 |
| - computation feedback now uses gint64 for number of pels, so we give feedback |
| correctly on images with >2**31 pels |
| - other small fixes for >2**31 pels in an image |
| |
| 10/11/04 started 7.10.7 |
| - im_histnD() was not checking BandFmt (thanks Kirk) |
| - improvements to threading system speed up non-vips output in some cases |
| - use cbrt(x) where we can ... 10x faster than pow(x,1.0/3) on win32 |
| - typeo in im_text() when built without PANGOFT2 (thanks Stefan) |
| |
| 1/11/04 styarted 7.10.6 |
| - tiny doc fixes |
| - scripts now only depend on 'vips' program |
| - im_open( "r" ) is now lazier ... for non-VIPS formats, we delay read until |
| the first ->generate() |
| - so im_open_header() now deprecated since im_open("r") is identical |
| - now looks for fftw3 as well as fftw2 ... slightly faster ffts |
| |
| 19/10/04 started 7.10.5 |
| - fix to light_correct (thanks Jay) |
| - edvips knows about xoffset/yoffset |
| - better vips enum<->char conversions |
| |
| 4/10/04 started 7.10.4 |
| - man page fixes (thanks Jay) |
| - removed last csh scripts (thanks Jay) |
| - scripts default VIPSHOME to $prefix (thanks Jay) |
| - doc build system tidies |
| - im_rank() edge padding was wrong |
| - im_vips2tiff() can now embed ICC profiles |
| |
| 22/9/04 started 7.10.3 |
| - mildly better im_vips2tiff() |
| - *, -, +, /, % between two images now work for mixed number of bands |
| - im_free() was missing a man page |
| - revised documentation |
| |
| 1/9/04 started 7.10.2 |
| - C++ .pc files were still set for 7.9, grr |
| - im_insertplace() didn't check compatibility of images (thanks Matt) |
| |
| 27/7/04 started 7.10.1 |
| - set default stack size explicitly to help platforms with a very low default |
| - 16 bit RGB tiff read was broken (bug introduced in 7.9.5, thanks Haida) |
| - !pangoft2 was broken, thanks Kenneth |
| - win32 build fixes |
| |
| 12/7/04 renamed as 7.10.0 |
| - added NOCACHE function flag ... stops nip memoising video & paint ops |
| - added im_extract_bands() ... takes out many bands from an image |
| - im_vips2tiff() scanline write speed up for area pipelines |
| |
| 10/6/04 started 7.9.6 |
| - tiny polishing of im_ppm2vips() |
| - im_blend() can now work on labq |
| - boolean ops all work on float/complex images (by casting to int) |
| - im_maplut() was broken for 1 band image + many band lut + >8 bit output |
| - im_lintra_vec() now handles 1 band image and many band vector to make many |
| band image |
| - oops, im_lintra_vec() was missing a man page |
| - im_measure() can work on labq |
| - im_lhisteq() uses new embed mode, _raw() version is one pixel smaller, sets |
| Xoffset/Yoffset for new origin scheme |
| - generalised im_tone_build() to any image type to make im_tone_build_range() |
| |
| 20/5/04 started 7.9.5 |
| - tiff output res can be a single number too |
| - added im_text() to make a bitmap from a string with pango |
| - im_tiff2vips() does 16 bit RGBA |
| - im_binfile() was broken since 7.9.2 due to im_mapfile() change |
| - im_ppm2vips() now works for 16 bit images |
| - added im_copy_swap() ... copies, reversing byte order |
| - im_resize_linear() was broken for some images, thanks Javi |
| |
| 8/3/04 started 7.9.4 |
| - oops, config.h include missing in a few places |
| - im_vips2tiff() can now write 1 bit images |
| - im__find_lr/tboverlap() now exported to nip |
| - better edge tile handling for tiff read/write (thanks Ruven) |
| - added extend-pixels-from-edge mode to im_embed() |
| - im_conv*(), im_rank(), im_stdif(), im_dilate(), im_erode() all use it to |
| expand their input, so their output now has guess borders, not black borders |
| - im_fastcor() now does an im_embed( 1 ) on the output ... the zero borders |
| were very annoying before, since you would usually be searching for the |
| minimum point |
| - no change to im_spcor(), since you will usually be searching for the maximum |
| - better im_render() cache behaviour under heavy loads |
| - im_affine() revised |
| * clip, resample and transform is now pixel-perfect for all |
| inputs (I hope) |
| * uses the new embed to make sure there are no black borders |
| from edge interpolation |
| * about 20 - 30% faster |
| - policy change: Xoffset and Yoffset are now set by all operations to record |
| the position of the input origin in the output |
| - im_replicate() is much faster for some cases |
| - added tile and mirror flags to im_embed() |
| - added im_cache() convenience function |
| - better ETA for image calculation |
| - im_tiff2vips() now has a "broken" option so it can read tiled tiffs made |
| with earlier versions of vips |
| - on convert float to int format, now does floor() not rint() ... more |
| 'mathematical' |
| - added im_rint() |
| - im_sharpen() now uses a gaussian mask |
| - im_convsep() more resistant to int overflow problems |
| - added im_make_xy(), avoids rounding problems with the old float-based thing |
| - im_profile() now makes vertical images for a vertical profile |
| - added im_vips2tiff() option to set the resolution in inches not cm (thanks |
| Andrey) |
| - im_binfile() is now exported |
| |
| 6/2/04 started 7.9.3 |
| - added an im_init_world() to im_open(), to help old progs |
| - renamed VSemaphore as im_semaphore_t |
| - started using libtool library versioning |
| - now uses g_module_*() in place of dlopen() |
| - now uses pkg-config instead of vips-config (thanks Simon) |
| - fixes to vips.h for _ADDR() with DEBUG on (thanks Konrad) |
| |
| 10/12/03 started 7.9.2 |
| - patches for freebsd, thanks Lev Serebryakov |
| - vips2dj knows about my colour laser printer |
| - added i18n support, glib/gmodule/gthread dependency |
| - im_error*() API revised to be more i18n friendly |
| - List type removed, now uses g_slist |
| - VBuf added, some more utility funcs pushed down from nip |
| - im_thread stuff removed, now uses g_thread |
| - im_lock stuff removed, now uses g_mutex |
| - im_semaphore_t renamed to VSemaphore, not sure this is a good idea |
| - build with --disable-threads to turn off threaded render |
| - #include <vips/vips.h> now pulls in most of the public API, you shouldn't |
| need other vips includes very often |
| - im_close() is better at cleaning up if there's an error |
| - inverse FFTs could fail for wider-than-high images with fftw |
| - better im_icc_transform error messages |
| - bug fix in im_render with large caches |
| - im_binfile() now has an offset parameter |
| - im_mapfile()/im_unmapfile() now work on IMAGE and record the length of the |
| file they mapped ... this lets VIPS successfully unmap a file if it changes |
| size while it's open |
| |
| 20/10/03 started 7.9.1 |
| - threadgroups now have their own kill flag |
| - im_plotmask() now does anti-aliasing |
| - im_iterate() fix for operations on mmap window images (thanks Clare) |
| - im_writeline() stops on kill |
| - fix for im_fwfft() segv for wider-than-high real images (thanks Andrey) |
| - fix for im_fwfft() to work for non-square real images (thanks Andrey) |
| - can now read and write 32-bit IEEE float TIFF (Andrey Kiselev) |
| - clean-ups for colour.c (Andrey Kiselev) |
| - no longer lets you make an image with width|height|bands == 0 (thanks Joe) |
| - im_vips2tiff(), im_vips2*jpeg*(), im_vips2png(), im_vips2ppm() could |
| sometimes fail for mmap window input images (thanks David) |
| - added IM_RECT_HCENTRE(), IM_RECT_VCENTRE() macros |
| |
| 20/8/03 JC |
| - started 7.9.0 |
| - added im_rank_image() ... im_maxvalue() a special case of this |
| - im_subtract() goes up to int earlier for better value preserving, thanks |
| Haida |
| - im_rank() much faster for large windows, correct result on all platforms |
| (dratted memcpy() was causing problems before) |
| - fixed problem with libMagick config if installed somewhere strange |
| - fixed problem with include order in library compile |
| - added --without-magick configure option |
| - added im_render(), threaded background image paint |
| - added im_replicate(), replicate an image horizontally and vertically |
| |
| 31/5/03 JC |
| - started 7.8.11 |
| - fixed a problem with relational operators and some combinations of input |
| types (bug introduced in 7.8.9), thanks Haida |
| - vips-7.8 script overrides VIPSHOME environment variable |
| - better im_guess_prefix |
| - stupid light_correct script no longer uses /pics/tmp |
| - added batch_crop script |
| |
| 22/5/03 |
| - started 7.8.10 |
| - the JPEG writer can embed ICC profiles in output images ... although I've |
| yet to see it make any difference :-( test this carefully at some point |
| - fixed a possible coredumper in jpeg write |
| - jpeg read now spots truncated files |
| - im_invertlut() now makes an image, not a mask ... sorry :-( |
| - im_histnD() makes an n-dimensional histogram from an n-band image |
| - im_col_pythagoras() patch |
| - IM_NUMBER() now returns int not size_t |
| - new win32 build system from Juan and friends, based on tmake |
| - sample project files for MSVC added, thanks Juan |
| - win32/ subdir now has the win32 build systems |
| - spec/ subdir now has the spec files for building RPMs |
| - dist now includes formatted documentation |
| - license change: VIPS is now LGPL, nip stays GPL ... this means proprietary |
| programs can link against the vips library |
| - had a report of a working VIPS build on a 64 bit system (!) |
| - im_log_dmask() now includes all of the negative lobe, thanks matt |
| - vips-7.8 start script now auto-relocates |
| - im_spcor_raw(), im_fastcor_raw() now exported |
| |
| 29/4/03 |
| - started 7.8.9 |
| - changes to build to help MSVC |
| - oops, makedef.pl missed out function names with an initial cap, and |
| error_exit() |
| - im_min() and im_max() gave random wrong results for >1 thread on >1 CPU |
| machines (bug introduced in 7.7.20), thanks Joe |
| - vips.c no longer generates C++ wrappers for functions with no image argument |
| (thanks Haida) |
| - im_invertlut() now wrapped by hand in VMask.cc |
| - C++ docs updated |
| - added im_open_header(), returns an IMAGE with just width/height/etc and no |
| data |
| - ... so now "header" will print useful stuff even on truncated files |
| - tiff writer knows about alpha (thanks Jenny) |
| |
| 7/2/03 |
| - started 7.8.8 |
| - build failed with lcms turned off |
| - im_spcor() could segv for 16bit images (thanks Joe) |
| - im_tiff2vips() read resolution expressed as pixels/cm incorrectly |
| - im_vips2tiff() tries not to write mad resolutions |
| - header and im_open file type tests reordered for slight speedup |
| - im_copy_set() had a broken dispatch function for xres/yres |
| - im_fwfft() exploits libfftw real -> complex transform if possible for a 2x |
| speed-up (thanks Matt) |
| - im_invfftr() added for complex -> real inverse transform for 2x speed-up |
| (thanks Matt) |
| - im_freqflt() now uses im_invfftr() for real result and speedup |
| - im_flipver() could segv on some inputs, thanks Clare |
| - relational operators now work on complex |
| - relational rewritten ... now fractionally slower, but 1/3 the size |
| - vips2dj -1:1 produced incorrect height |
| - better overlap-too-small detection in mosaicing code |
| - im_system() can have NULL output |
| - global balance ignores overlaps with only transparent pixels |
| |
| 3/1/03 |
| - started 7.8.7 |
| - worked in patch from Hans Breuer (thanks!) |
| - png read/write with im_png2vips(), im_png2vips_header(), |
| im_vips2png(), im_ispng() |
| - im_errorstring() and im_col_displays() are now functions not externs |
| (helps DLLs) |
| - many include fixes to help native win32 build |
| - added libMagick support, 78 file formats now loadable with |
| im_magick2vips(), im_magick2vips_header() and im_ismagick(), w00t |
| - now installs vips.m4 to $prefix/share/aclocal |
| - added im_icc_export_depth() ... export to device space with a specified bit |
| depth (8 or 16) |
| - vips.def now rebuilt with custom rule in libsrc/Makefile.am |
| - removed externs im_Type, im_BandFmt, im_Coding, im_Compression to simplify |
| DLL build |
| - im_mmap() -> im__mmap(), since it's supposed to be an internal function |
| - new vips-7.8.x/proj directory holds unsupported sample makefiles and |
| config.h for building with the MSC toolchain |
| - new scripts batch_image_convert and batch_rubber_sheet (thanks Joe) |
| - added the RPM .spec files to the main distribution |
| - InitializeMagic() now passed "" rather than NULL to avoid assert() problems |
| on some libMagic versions |
| |
| 2/12/02 |
| - started 7.8.6 |
| - now reads 8-bit RGBA tiff |
| - C++ build guide fixes (thanks fsicre) |
| - im_Type2char array text slightly messed up |
| - global_balance is safer for complex mixed mosaics |
| - removed im_lintra() fallback to im_copy() for scale == 1, offset == 0 ... |
| too confusing |
| - im_tiff2vips() now reads 16-bit LAB |
| - added im_Lab2LabS() and im_LabS2Lab() |
| |
| 5/11/02 |
| - started 7.8.5 |
| - fix for mmap window of local region ... caused im_iterate() to break |
| sometimes for large images, in turn occasionally breaking |
| im_max()/im_min()/etc. (thanks Joe) |
| - tiny speed up for im_rot90()/270() |
| - on install on win32, add .exe suffix for links |
| - vips.c knows to remove .exe suffix for linked commands |
| - added im_errormsg_system() ... decode win32 error codes too |
| - pagesize calcs for roving mmap windows were messed up on win32 (thanks Kirk) |
| - some TODO cleanups |
| - global balance broke horribly if you had filenames with spaces in (thanks |
| Clare) |
| |
| 31/10/02 |
| - started 7.8.4 |
| - im_unmapfile() includes mixed up on mac os x |
| - libtool patched for mac os x |
| - vips.c sets numeric locale to "C" |
| |
| 27/10/02 |
| - started 7.8.3 |
| - configure fixes help mac os x |
| - im_guess_prefix() adds ".exe" suffix on w32 if not there |
| - changed im_measure() error messages to number bands from 1 |
| - added func descriptor for im_read_dmask() to help nip, updated C++ API, docs |
| |
| 21/10/02 JC |
| - started 7.8.2 |
| - tries rand() if random() is not available |
| - tries mktemp() if mkstemp() is not available |
| - turns off realpath() if not available |
| - added IM_DIR_SEP/IM_DIR_SEP_STR directory separator character/string |
| - added IM_PATH_SEP/IM_PATH_SEP_STR path separator character/string |
| - added im_path_is_absolute() |
| - vips.c knows to link to vips.exe on win32 |
| - spot mingw* and set BINARY_OPEN |
| - open images in binary too (since we now read() the header) |
| |
| 10/10/02 JC |
| - im_lintra() and im_lintra_vec() were broken for complex images :-( thanks |
| matt |
| - renamed im_and() as im_andimage(), im_eor() as im_eorimage() and im_or() as |
| im_orimage() ... avoids breakage in the C++ layer |
| - added im_dE00_fromLab() |
| - limited release as vips-7.8.0 |
| |
| 2/10/02 |
| - renamed as vips-7.8, woohoo |
| - revised documentation |
| |
| 19/9/02 JC |
| - started sorting out VIPS #defines ... there are now a sensible set of new |
| names (eg. NOCODING becomes IM_CODING_NONE, LAB becomes IM_TYPE_LAB) |
| - define IM_NO_VIPS7_COMPAT to turn off the old names |
| - added im_mmap()/im_munmap() layer for windows portability |
| - removed the contents of history.h .. obsolete |
| - added IM_IMAGE_ADDR() macro |
| |
| 10/9/02 JC |
| - handle errors from TIFF lib correctly |
| - configure fixes for cygwin |
| - CMYK TIFF write fixed |
| - configure fixes for mingw |
| |
| 5/9/02 JC |
| - im_cp_desc() now copies Xoffset/Yoffset |
| |
| 21/8/02 JC |
| - started 7.7.24 |
| - reads CMYK TIFF |
| - reads dpi from TIFFs |
| - better float Xres/Yres |
| |
| 14/8/02 JC |
| - new header fields Xoffset and Yoffset ... used by functions to hint |
| the position of the origin in output images |
| - support added to c++ api and to header |
| - im__lrmerge(), im__tbmerge(), im__affine(), im_insert(), |
| set Xoffset/Yoffset |
| - now uses <lcms.h>, not <lcms/lcms.h> for better suse w0rkage |
| - better configure for fftw (uses libdfftw name if libfftw not found) |
| |
| 8/8/02 JC |
| - large file support with mmap() windows ... had to change |
| im_prepare_inplace() to im_prepare_to() |
| |
| benchmark: |
| |
| - system |
| |
| hardware: 2 x 2.5GHz P4, 1GB RAM, 15k SCSI, ReiserFS |
| os: suse 8 (kernel 2.4.18) |
| compiler: gcc 2.95.3, -O2, threads turned on |
| images: fred.v, fred2.v; both 4k by 4k LABPACK (64MB) |
| images: jim.v, jim2.v; both 15k by 15k LABPACK (900MB) |
| time: smallest real of 5 runs, system idle |
| vips: 7.7.23, debug on in im_openin.c, window limit set with an |
| environment variable |
| |
| - benchmarks |
| |
| cpu-bound: im_sharpen fred.v fred3.v 11 1.5 20 50 1 2 |
| io-bound: im_insert fred.v fred2.v fred3.v 4000 0 |
| worst-case: im_rot90 fred.v fred3.v |
| |
| - results |
| |
| desktop: |
| |
| no mmap windows mmap windows |
| |
| cpu-bound real 0m3.712s real 0m3.970s |
| user 0m6.010s user 0m6.390s |
| sys 0m0.900s sys 0m1.110s |
| |
| io-bound real 0m1.813s real 0m1.865s |
| user 0m0.900s user 0m0.990s |
| sys 0m1.720s sys 0m1.520s |
| |
| worst-case real 0m1.344s real 0m3.039s |
| user 0m1.270s user 0m2.230s |
| sys 0m0.850s sys 0m3.050s |
| |
| not quite sure why sharpen is a little slower (4%?) ... IO speed is about |
| the same though ... worst-case is having to constantly move windows about |
| (500,000 page faults, vs 10,000 for no windows) |
| |
| again, with an image larger than RAM |
| |
| no mmap windows mmap windows |
| |
| io-bound real 2m52.759s real 2m11.172s |
| user 0m14.940s user 0m14.890s |
| sys 0m29.940s sys 0m26.560s |
| |
| worst-case real 3m35.391s real 3m50.760s |
| user 0m19.850s user 0m26.600s |
| sys 0m12.650s sys 0m43.130s |
| |
| mmap windows actually slightly faster in this case ... plus they stress the |
| OS less |
| |
| 31/7/02 JC |
| - added -lm for better lcms detect |
| - README notes for fftw on suse8 |
| - im_profile() sets HISTOGRAM for output image |
| - im_copy()/im_copy_set() function descriptor no longer sets PTOP ... helps |
| avoid LUT problems |
| - im_subsample()/im_zoom() fall back to im_copy() for shrink/grow == 1 |
| - im_lintra() falls back to im_copy() for scale == 1, offset == 0 |
| - no longer use Type == LUT ... all just Type == HISTOGRAM now |
| - im_blend() was messed up for > 1 band images :( |
| |
| 16/7/02 JC |
| - started 7.7.23 |
| - im_XYZ2sRGB() wasn't setting Type = sRGB |
| - im_icc_import() was broken for rgb |
| - im_header_string() had wrong return type in function database |
| |
| 13/7/02 JC |
| - added im_flood_blob() |
| - added im_open_local_array() ... C API convenience function |
| - oop, im_flood() was missing a man page |
| - Type == FOURIER added to help visualisation |
| - released as 7.7.22 |
| |
| 30/6/02 JC |
| - JPEG, TIFF and PPM import all now set sRGB Type for RGB import |
| - im_header_int(), im_header_double() and im_header_string() added to aid |
| UIs |
| - now uses gettimeofday(), not time() |
| - for consistency with other trig functions, im_c2amph() now returns degrees |
| not radians (ouch) |
| - added im_c2rect() ... turn (amp, phase) to rectangular |
| - added im_sign() ... unit vector in direction of value |
| - better im_scaleps() ... old code was terrible |
| - rewritten im_rotquad() ... now partial |
| - im_icc_export()/_import() now do ABSOLUTE correctly |
| - added im_icc_ac2rc() ... converts absolute to relative colorimetry |
| |
| 25/6/02 JC |
| - added im_copy_set(3) ... like im_copy(), but set informational header fields |
| |
| 20/6/02 JC |
| - added im_ceil(), im_floor() |
| - im_Lab2LabQ was not clipping a/b range correctly |
| - im_icc_export(), own ABSOLUTE mode |
| - released as 7.7.21 |
| |
| 28/5/02 JC |
| - im_remainderconst_vec broken for float/double |
| - added Yxy colourspace |
| |
| 16/05/02 JC |
| - auug, libtool was all messed up ... redone all the autotools stuff |
| - uses libtool convenience libraries to build vips in sections |
| - uses config subdir for temp files and .m4 things |
| - patched stupid suse config.guess |
| - vips2dj patched for better raw cmyk |
| - released as 7.7.20 |
| |
| 12/5/02 JC |
| - im_vips2jpeg*() and im_vips2ppm() now both partial |
| - started updating the C++ guide |
| - had to change the location of the C++ headers :-( all C++ progs should now |
| have: |
| |
| #include <vips/vipscpp.h> |
| |
| this is so things can work on systems which do not have case sensitive |
| file systems |
| |
| - changes for Mac OS X |
| * im_system() TRUE/FALSE removed |
| * searches /*/[lib|include] to get fink libs for tiff and jpeg |
| |
| 30/4/02 JC |
| - several functions were missing IM_FN_PIO in their descriptor ... this was |
| harmless for nip/ip/C, but broke the ref counting in the C++ layer |
| - im_system() now defaults "/tmp" for temp files |
| - STRING input and output args were broken for C++ :-( |
| - threads exit more quickly on error |
| - im_min()/im_max() now partial (at last) |
| - im_remainderconst()/im_remainderconst_vec() added |
| - --with-dmalloc configure switch |
| - vips2dj does CMYK and mono too |
| - im_vips2tiff() allows any number of bands (but not the right way to |
| write CMYK, see TODO) |
| |
| 26/4/02 JC |
| - old ICC profile reader removed |
| - little cms wrapped ... configure spots it, im_icc_transform() uses it to map |
| between two images |
| - also im_icc_import() and im_icc_export() so you can see PCS images |
| - im_icc_present() to test for existence of lib |
| - README fixes |
| |
| 4/4/02 JC |
| - TODO changes |
| - oops, DEBUG left on in im_invertlut() |
| |
| 2/4/02 JC |
| - im_fwfft.c/im_invfft.c now use libfftw if available ... about 5x speed up |
| and double precision |
| - added FIND_FFTW autoconf macro |
| - include/vips/proto.h changes |
| |
| 26/3/02 JC |
| - started 7.7.19 |
| |
| 25/3/02 JC |
| - im_log_dmask() was broken (thanks matt) |
| - casts between VDMask and VIMask were broken (thanks matt) |
| - various error msgs improvements and tiny man page fixes |
| |
| 13/3/02 JC |
| - tb/lr merge first/last cache moved to per-call state for better sharing |
| - im_remosaic() bails out faster on error and makes better error messages |
| |
| 13/3/02 ruven |
| - im_vips2tiff() pyramids stop at tilesize, not 64x64 |
| |
| 25/02/02 JC |
| - im_remosaic() is smarter, and works better with im_global_balance() |
| - im_affine() 2x faster |
| |
| 14/2/02 JC |
| - started 7.7.18 |
| - vips.m4 and libsrc/Makefile.am fixes for IRIX |
| |
| 11/02/02 JC |
| - vips/thread.h and vips/threadgroup.h were missing extern "C" for C++ |
| - VImage::write() now tracks dependencies, so you can write() to a partial |
| safely ... although it's not a very useful thing to do (thanks Mike) |
| - new VImage::print() function for debugging |
| - added im_print() |
| |
| 22/01/02 JC |
| - started 7.7.17 |
| |
| 15/01/02 JC |
| - im_rect_unionrect() and im_rect_intersectrect() safer for repeated args |
| - im_video_v4l() no longer perrror()s on ioctl fail for less spam |
| |
| 03/01/02 JC |
| - started 7.7.16 |
| - im_version_string() really does return the date as well now |
| |
| 12/12/01 JC |
| - im_guess_prefix() extra smartness for relative path names |
| - VImage() no longer uses tmpnam() (thanks Paul) |
| |
| 11/12/01 JC |
| - renamed im_fexists() as im_existsf() |
| |
| 7/12/01 JC |
| - ppm man pages added (doh) |
| |
| 28/11/01 JC |
| - warnings on g++ 2.96 fixed |
| |
| 22/11/01 JC |
| - started 7.7.15 |
| - im_video_v4l() failed to compile on non-linux platforms |
| |
| 7/11/01 JC |
| - im_remosaic() added |
| - im_*merge() are more intelligent about transparency in bizarre overlaps |
| - grr! putenv() semantics change on more recent clibs ... should be safer |
| now |
| |
| 19/10/01 JC |
| - VDisplay( "display name" ) segved on unknown display :-( thanks mike |
| |
| 26/9/01 JC |
| - contrib tools get data files from share/vips/xxx area now |
| - im_vipshome() renamed as im_guess_prefix(), reworked for new package layout |
| - doc/ build sorted out |
| - ... but of course, docs still need updating for 7.8 |
| |
| 20/9/01 JC |
| - fix to im_vipshome() |
| - ip2 renamed as nip |
| - split to library only ... separate ip and nip packages |
| - new VIPS_VERSION_* macros set from configure.in in vips/version.h.in |
| - vips.m4 VIPS finder |
| - reworked README, doc/README and TODO |
| - now installs to /usr/local/ by default |
| - fmask4th.c was including varargs.h ... d'oh |
| - include area reorganised: everything inside <vips/..> now ... hopefully the |
| only user-visible change is that all plain C progs need to change: |
| |
| #include <vips.h> |
| |
| to: |
| |
| #include <vips/vips.h> |
| |
| the C++ API should be unaltered |
| |
| 21/8/01 ruven |
| - im_setupout() was missing some #includes |
| |
| 20/8/01 JC |
| - started 7.7.14 |
| |
| 15/8/01 JC |
| - added libxml dependency for ip2 |
| |
| 27/7/01 JC |
| - im_conv(), im_convf(), im_convsep(), im_convsepf() now reject masks with |
| scale == 0 |
| |
| 26/7/01 JC |
| - started 7.7.12 |
| |
| 25/7/01 JC |
| - started 7.7.11 |
| - oop, im_histeq() and im_tonemap() also missed |
| - better error messages from im_run_command() |
| |
| 23/7/01 JC |
| - started 7.7.10 |
| - im_sharpen() failed due to change in im_band_extract() offset |
| |
| 20/7/01 JC |
| - started 7.7.9 |
| |
| 4/7/01 JC |
| - im_open(,"w") open() delayed until im_setupout(), very slightly safer |
| - updated im_open() man page |
| - im_tiff2vips() now embeds index in filename ... and it's page number (from |
| 0), not subsample factor |
| - finally bit the bullet ... im_extract()/im_extract_band() now number from |
| zero (sorry!) |
| - and im_lrmosaic()/im_tbmosaic() bandno param too |
| |
| 29/6/01 JC |
| - im_region_free() now frees immediately |
| |
| 27/6/01 JC |
| - im_vips2tiff() man page updated for deflate, 2 years late |
| |
| 22/6/01 JC |
| - oops, limit wrong on im_rank() |
| |
| 21/6/01 JC |
| - better post_install for --prefix outside VIPS's tree |
| - -ltiff needs -lm in acinclude.m4 ... fixes configure on redhat 7.x |
| |
| 13/6/01 JC |
| - started 7.7.8 |
| |
| 6/6/01 JC |
| - im_invertlut() added |
| |
| 31/5/01 JC |
| - im_colour_temperature, im_XYZ2Lab_temp, im_Lab2XYZ_temp added |
| - ... colour temp stuff needs sorting out properly |
| |
| 25/5/01 JC |
| - added vips-config script, cf. gtk-config |
| - --without-threads option added |
| - did a bit of work on the C++ API docs |
| |
| 24/5/01 JC |
| - added im_tiff2vips_header(), im_jpeg2vips_header() and im_ppm2vips_header() |
| - header uses these to print fields quickly |
| - switched to config.h |
| - configure.in rewritten ... much nicer, fewer options, more automatic |
| |
| 17/5/01 JC |
| - im_matinv() didn't free stuff correctly on singular matrix |
| |
| 16/5/01 JC |
| - vips2dj now knows about 5000ps printers |
| - allow RW mode for non-native VIPS image files, for 8 bit images |
| |
| 2/5/01 JC |
| - started 7.7.7 |
| |
| 1/5/01 JC |
| - im_addgnoise() did not work for >1 band images |
| |
| 23/4/01 JC |
| - configure options to remove support for JPEG and TIFF ... helpful for a no- |
| dependencies build |
| |
| 20/4/01 JC |
| - im_(v)snprintf() added |
| - all sprintf()s removed |
| |
| 15/4/01 JC |
| - im_affine() had a rounding problem |
| |
| 11/4/01 JC |
| - tiny mosaicing bug fixed in im__lrcalcon |
| - started 7.7.6 |
| |
| 21/3/01 JC |
| - new iblend code in im_tbmerge() was typo-d |
| - mosaic1 was broken by affine too |
| |
| 20/3/01 JC |
| - im_image() failed for FMTUCHAR |
| |
| 12/3/01 JC |
| - started 7.7.5 |
| - im_sharpen() uses seperable convolution for big speed up |
| - new "Print" menu |
| |
| 11/3/01 JC |
| - REALVEC renamed as DOUBLEVEC |
| - added IMAGEVEC |
| - added IM_INPUT_IMAGEVEC |
| - gbandjoin now has function description |
| - new function im_maxvalue() |
| - im_compass()/im_lindetect() reimplemented with im_conv()/im_maxvalue(), |
| about 15% faster, works for any type, partial |
| - im_gradient() reimplemented with im_conv()/im_abs()/im_add(), about 30% |
| slower, works for any type, partial |
| |
| 10/3/01 JC |
| - new function, im_clip2fmt() converts between any image formats ... |
| slightly faster than the old im_clip() |
| - legacy im_clip2us() etc. functions now just call this |
| |
| 9/3/01 JC |
| - im_conv() rewritten, simpler, about 10% faster |
| - im_convsep() rewritten, now does any non-complex type, partial, 20% faster |
| - new functions: im_convf(), im_convsepf() for DOUBLEMASK |
| - raw versions of each |
| - legacy convolvers (eg. im_convbi()) removed |
| |
| 8/3/01 JC |
| - new function im_blend() |
| - new function im_lab_morph() |
| - speed up to im_ifthenelse() |
| - speed up to im_*merge() (uses integer arithmetic for integer blends) |
| |
| 4/3/01 JC |
| - tiny speed ups to im_histgr() |
| - speed ups to im_maplut() |
| |
| 3/3/01 JC |
| - new functions: im_histnorm(), im_histcum() |
| - im_histeq() more general |
| - im_vipshome() --- better behaviour for relative paths |
| |
| 2/3/01 JC |
| - new video package |
| - im_video_v4l1() (video for linux) added |
| - configure.in switches to turn v4l1 on and off |
| |
| 1/3/01 JC |
| - new im_histspec() implementation ... more general, bugs removed |
| |
| 14/2/01 JC |
| - better vips2dj usage message |
| |
| 13/2/01 JC |
| - im_image_sanity() added, called in various places in iofuncs |
| |
| 9/2/01 JC |
| - added 'check' and 'name' class member stuff to ip from ip_gtk2 |
| - new "Plot" menu |
| - new "Overlay" menu |
| - more stuff in _stdenv/_list ... curried forms of head/tail etc. |
| |
| 7/2/01 JC |
| - started 7.7.4 |
| - vips2dj and vdump now use im_vipshome() |
| |
| 5/2/01 JC |
| - new im_vipshome() function |
| - min()/max() macros renamed as MIN()/MAX() |
| - new im_load_plugins() function |
| - vips.exe and ip now load $VIPSHOME/lib plugins at startup |
| |
| 2/2/01 JC |
| - mosaicing functions now have an extra max blend width parameter |
| |
| 30/1/01 JC |
| - fixed tbmerge no overlap detect |
| |
| 13/12/00 JC |
| - started 7.7.3 |
| |
| 30/12/00 JC |
| - vips.h fixes for cygwin/wingdi conflict |
| |
| 27/11/00 JC |
| - added im_vips2ppm(), im_open() imports and exports it |
| - fixed nasty implicit output conversion problem for PIO dispatch() calls |
| |
| 21/11/00 JC |
| - added im_ppm2vips() |
| |
| 16/11/00 JC |
| - configure.in fixes ... jpeg found correctly now |
| - searches for libz as well |
| |
| 16/11/00 JC |
| - started 7.7.2 |
| |
| 5/11/00 JC |
| - speed up to lab2labq |
| |
| 19/10/00 JC |
| - started 7.7.1 |
| |
| 13/1/00 JC |
| - oops, im_open() was missing an 'else' in jpeg/tiff load |
| |
| 5/8/00 JC |
| - im_vips2tiff() now has mode string embedded in output filename |
| - im_vips2jpeg() now has qfac in output filename |
| - im_open() understands this |
| |
| 11/7/00 JC |
| - new im_image() function ... wraps a VIPS image around a memory buffer |
| - C++ layer changes: |
| * now use #include <vips/Vips.h> |
| * error renamed as VError |
| * new VMask() constructors |
| * new VImage() constructor |
| * new VImage::data() access member |
| * more operator equivalences: <, >, <=, >=, ==, !=, &, |, ^, % |
| |
| 17/6/00 JC |
| - more consts added to vips protos |
| |
| 10/5/00 JC |
| - minor configure.in changes to help solaris |
| - removed _TIFFmalloc() and _TIFFfree() calls |
| |
| 9/3/00 JC |
| - fixed rounding problem in generate grid |
| |
| 8/3/00 JC |
| - fixup to im_system() temp dir |
| |
| 7/3/00 JC |
| - added im_system() |
| - small tidies |
| |
| 1/3/00 JC |
| - better plugin test in configure.in |
| |
| 26/2/00 JC |
| - fixes to Makefile.am in ip/src* and configure.in, to help ip find the right |
| gtk includes on systems with more than one gtk-xxx installed |
| |
| 21/2/00 JC |
| - now builds ip and ip_gtk2 |
| |
| 16/2/00 JC |
| - configure.in fixes for xil and some TIFF/JPEG strangeness |
| |
| 15/2/00 JC |
| - im_global_balancef() was broken! d'oh |
| - note in README about enabling video cards |
| |
| 10/2/00 JC |
| - configure now searches for xil ... FIND_XIL macro |
| - im_zoom() spots integer overflow |
| - better shape set on region drag end in ip |
| - better zoom-too-far handling in ip |
| |
| 13/1/00 JC |
| - fixes to configure etc. to help cygwin |
| - jpeg is now searched for too ... FIND_JPEG macro |
| |
| 10/1/00 JC |
| - global_balance() now uses new affine() atuff |
| |
| 27/12/99 JC |
| - mosaic1 stuff now uses new affine() funcs |
| |
| 21/12/99 JC |
| - added Joe's docs |
| - im_LabS2LabQ() rounding on a/b slightly broken for a/b == 0 |
| |
| 20/12/99 JC |
| - new function: im_affine() |
| - similarity*() now in terms of affine() |
| - tests for error return in reduce.c from maplut |
| - small clean-ups |
| |
| 15/12/99 |
| - im_version() added, new iofuncs package for it |
| - ip did not call zero-input-arg vips functions |
| - vips.c did not like zero-input-arg functions |
| |
| 6/12/99 JC |
| - Sobel filter was a bit broken |
| |
| 3/12/99 JC |
| - menu reorganisation |
| - generate gauss mask dialog |
| |
| 2/12/99 JC |
| - reworked text file IO, better error messages |
| |
| 1/12/99 JC |
| - reworked .iprc filename stuff, cleaner |
| |
| 30/11/99 JC |
| - better menu set switcher in calc preferences |
| - ip now thinks it's 7.7 |
| - did a spellcheck on the ip guide |
| |
| 29/11/99 JC |
| - 7.7 started! |
| - srgb D65->D50 converter |
| - Negate added to arith |
| - find similar pixel value dialog |
| - find similar colour dialog |
| - paste into background dialog |
| |
| 19/11/99 JC |
| - adjust labq was mising |
| - shrink image defaulted to /2 not /1 |
| - sharpdropshadow broken |
| - Rotate.* broken |
| - vips-7.6.3 release |
| |
| 18/11/99 JC |
| - ip didn't report space free on >2GB filesystems correctly |
| - ip did not link statically against libXpm on solaris7 |
| |
| 17/11/99 JC |
| - im_histplot() failed for all 0's histogram |
| - new profile_image dialog |
| - man pages for im_sRGB2XYZ/im_XYZ2sRGB were broken |
| - new colourize image dialog |
| - new shrink image image dialog |
| - new expand image image dialog |
| - better doc Makefiles |
| |
| 16/11/99 JC |
| - more menu reorganising |
| - new image_to_mask/mask_to_image buttons |
| - new match_two_images dialog |
| - new measure_colour_chart dialog |
| |
| 15/11/99 JC |
| - new custom LABQ sharpen in Image menu |
| - configure support for SGI video (thanks Ruven) |
| - menu fiddling in ip |
| - new "resize canvas" menu item |
| - im_insert_noexpand() added, no docs tho' |
| |
| 11/11/99 JC |
| - new ip menu item: Image=>Adjust white/black/saturation of LabQ |
| - fixed bug in decompose complex number |
| - browse-icons now ignores errors |
| - better error msg for "12 12" etc cases |
| |
| 10/11/99 JC |
| - open hi-res gives proper error msg if no file found |
| - made file-select boxes a bit more compact and clearer |
| - updated configure.in for vips-examples-7.6 |
| |
| 9/11/99 JC |
| - new column start point moved |
| - vdump now defaults to subsample 1, portrait |
| - navigation boxes were broken |
| - no longer shrink-to-fit if loading as high res |
| - better positioning of zoom windows |
| - removed some old cruft |
| |
| 8/11/99 JC |
| - ooops, im_remainder() got lost somehow |
| - refguide converted to latex and updated |
| - cppguide updated |
| |
| 5/11/99 JC |
| - libguide converted to latex and updated |
| |
| 4/11/99 JC |
| - ip guide now latex2htmls cleanly ... still needs updating tho' |
| - cpp/app guide latex2html redone |
| |
| 2/11/99 JC |
| - configure no longer adds -32 to IRIX builds for you |
| - some more stuff in README |
| - simple DEBUGM malloc tracking, made libsrc/iofuncs/memory.c |
| - changed im_malloc() to return void * |
| - removed duplicate im_malloc() proto from util.h |
| - changed all malloc/free to go through im_malloc()/im_free() |
| |
| 23/10/99 JC |
| - double-click on error image now pops a load browser and an error dialog |
| - add-new-column no longer scrolls to right edge of workspace |
| - better scroll-to-bottom on item add |
| - load ws twice does not cause 'already open' errors |
| - memorise directory button in fsb |
| |
| 18/10/99 JC |
| - new FIND_TIFF/FIND_MOTIF macros for acinclude.m4 |
| - new ./configure switches, see ./configure --help |
| - enabled static libs |
| |
| 8/10/99 |
| - broke action_proc_bop() into smaller functions, stops bad code gen on |
| gcc2.95.1 (and others, prolly) |
| - restored old Makefiles in doc/src/ipguide |
| - vips7.6 script renamed as vips-7.6 |
| |
| 5/10/99 |
| - replace image was broken |
| - some menu reorganisation |
| - 'reload all menus' button |
| |
| 4/10/99 |
| - computed regions in ip were broken |
| - updated system.iprc defaults |
| - new menu item: adjust white/black points |
| |
| 2/10/99 |
| - browse icons was broken |
| - greyscale 16-bit tiled tiff was broken |
| - extra mutex locks for TIFF*() in im_tiff2vips() |
| |
| 1/10/99 |
| - some automake probs fixed |
| - squished two ip bugs |
| |
| 30/9/99 |
| - fixed problem with pthreads, now works on suse6.2 as well |
| - new API stuff for threaded evaluation with im_threadgroup_t |
| - new public interface provide platform independent threads/locks/semaphores |
| - no error box if you zoom out too far now |
| |
| 26/9/99 |
| - lr/tb merge blend was not quite right ... should be smoother now |
| - histplot broken for float images |
| |
| 24/9/99 |
| - better mono->labq converter |
| - more portable ispoweroftwo detect for freq filter stuff |
| |
| 23/9/99 |
| - better graphics expose handling |
| |
| 17/9/99 |
| - >/< stuff in ip was a bit mixed up |
| - ink preview fixed for mono images |
| - help popup fixed |
| |
| 15/9/99 |
| - linedetect and sobel filters for ip, thnx Kirk |
| |
| 14/9/99 |
| - Find_histogram was broken |
| - im_profile() man pages was broken |
| - ooops, ip had old set of macros |
| |
| 10/9/99 |
| - im_and/im_or/im_eor now work for any integer type |
| |
| Summer hols: (2nd half August '99) |
| - initial heap block larger to avoid start gcs |
| - def slicer fixed |
| - larger max heap |
| - toolkits with initial '_' hidden by default |
| - custom recomb |
| - dialog.def removed |
| - ... other menu fixes |
| - generate grid menu |
| - im_remainder() added |
| - new cursor change code, hglass rotates during comp! |
| - dialog.c handles cursor changes better |
| - rubber band in paintbox displays |
| - mag widget stays on right! |
| - undo/redo single pixel paint ops |
| - heap size control from prefs |
| - cancel for reductions as well as for image calc |
| - browse stuff reworked, no more .icon.v files |
| - save stops you overwriting open .v files |
| - better animate_countdown() handling |
| - better resize behaviour for bars added to images |
| - better code generation, bug fixed in state tracking |
| - auto recover from crash |