Skip to content

TODO_vips8

John Cupitt edited this page Mar 29, 2017 · 1 revision

title: TODO vips8 permalink: /TODO_vips8/

This page lists ideas and proposals for the next major revision of VIPS. The plan is to break compatibility and modernise the thing. This probably won't happen for several years (2007?).

Small changes should go into the TODO vips7 page.

new API

The bluesky page has details on what we've done so far.

documentation

  • use gtkdoc for API docs
  • other guides can stay in latex I guess

build system

  • win32 build needs to make DLLs too
  • better support for MS compiler would be good

new functions

  • put the acohir calibrator into VIPS
  • colour stuff needs reworking to do differing colour temperatures cleanly, some docs would be nice
  • add lots of basic image processing funcs missing - possibly with API to openCV?

API changes

  • rename: change Rect to VipsRect, im_add() to vips_add(), IMAGE to VipsImage, etc. etc.
  • need to change im_prepare( region, area ) meaning
    • after calling, can read pixels inside area from region (area will not be touched ... not even clipped against image size)
    • no guarantees about valid, except ir will be >= area
  • generate function passed an output region plus a rect (not valid):
    • generate function is asked to supply im_prepare()'s guarantee ... that someone will be able to read area pixels from oregion (area <= valid)
  • same for iterate scan functions ... passed a region to read from, and an area to read separately
    • change im_prepare() so that if the requested region is inside valid, it does nothing ... regions can start to act like little caches
  • valid always means "this many pixels are fine and up to date"
    • for vips_region_other_region() etc. need an extra layer with refcounting?
    • something to make sure we don't get dangling pointers when we move regions
  • VMask( x, y, s, o, ...) constructor must go, add a separate varargs convenience function

iofuncs

  • replace callbacks with signals
  • function dispatch should trace VIPS calls (with im_diagnostics())
    • need some mechanism so diagnostics can write to a buffer which apps can display ... or at least set a handler for
    • use glog for general event logging?
  • fix function dispatch stuff to include <-> char functions for each type ... see notes in nip/TODO
  • add stuff from nip's vips_call.c: operation memoisation, automatic LUTs, etc.
Clone this wiki locally