diff --git a/TODO b/TODO index 6827fbeb..5a02bb05 100644 --- a/TODO +++ b/TODO @@ -1,18 +1,6 @@ - add something to dzsave to control pyramid depth ... can then use it for straight tiling -- add mono as a colourspace? also rad? unpack to RGB with rad2float - - grey16 too? rgb16? - -- should we have a better thing to stop convert_saveable running for vips - images? - -- why do we need the extra vips_image_write() at the end of - vips_colour_convert_build()? why can't we just g_object_set() x? - - - - boolean.c has vips_check_noncomplex( "VipsBoolean", binary->left ) ) @@ -36,77 +24,14 @@ vips_Lab2XYZ( in, out, "temp", fred, 3, NULL ); -colour - -colour operations: - - process just first three bands - one in, one out - float only - uncoded only - - LabS2Lab, LCh2UCS etc. etc. - - uncoded - one in, one out - - icc ops - disp2XYZ - XYZ2disp - - uncoded - two in, one out - float output - possibly auto-convert inputs to LAB - - dE, dE00, dECMC - - one in, one out - - rad2float, LabQ2Lab, LabQ2disp - - - - - - - lab [100,0,0] -> srgb [255, 255, 254]? how odd - use D65 in cmsCreateLab4Profile() ? not sure -how about a base colour class with 1 in, 1 out, - - PCS operations all operate on three float bands - - first three bands passed through the operation, other bands bypass - - - import ops go from device space to PCS - - - export ops go from PCS to n-band device space - - how do we handle alpha in import/export ops? op must declare the number of - bands required (eg. 4 for cmyk import, or 1 for greyscale), other bands - appended - -- can we do CMC(2:1) by warping UCS space? - - remove dECMC_fromLab etc. just have a pythag operation in arith? needs to - pass extra bands through though - - -- CMC(l:c) needs optional args for l and c - - - - - add a simple wrapping of im_affinei_all() to the po db, perhaps the name of the interpolator as a string? -- dzsave should maybe write some xml as well, see the Python dz writer? - - the operation cache needs to detect invalidate - see diff --git a/libvips/iofuncs/object.c b/libvips/iofuncs/object.c index fdbd6080..af035bc2 100644 --- a/libvips/iofuncs/object.c +++ b/libvips/iofuncs/object.c @@ -2284,7 +2284,7 @@ vips_type_find( const char *basename, const char *nickname ) void vips_object_local_cb( VipsObject *vobject, GObject *gobject ) { - g_object_unref( gobject ); + VIPS_FREEF( g_object_unref, gobject ); } typedef struct { @@ -2301,8 +2301,7 @@ vips_object_local_array_cb( GObject *parent, VipsObjectLocal *local ) VIPS_FREEF( g_object_unref, local->array[i] ); VIPS_FREEF( g_free, local->array ); - - g_free( local ); + VIPS_FREEF( g_free, local ); } /**