Todo List

Member colorbalance_irgb_f32 (float *rgb, size_t size, size_t nb_min, size_t nb_max)
compute I=R+G+B instead of (R+G+B)/3 to save a division

File colorbalance_lib.c
check precision loss, maybe use double precision values

File io_png.c

handle lossless 16bit data

internally handle RGB/gray conversion in io_png_read_raw()

handle deinterlacing as a libpng transform function

Member io_png_read_raw (const char *fname, size_t *nxp, size_t *nyp, size_t *ncp, int png_transform, int dtype)
don't loose 16bit info

Member io_png_read_u8 (const char *fname, size_t *nxp, size_t *nyp, size_t *ncp)
don't downscale 16bit images.

Member io_png_write_f32 (const char *fname, const float *data, size_t nx, size_t ny, size_t nc)
handle 16bit images and flexible min/max

Member io_png_write_raw (const char *fname, const void *data, size_t nx, size_t ny, size_t nc, int dtype)
handle 16bit

Member main (int argc, char *const *argv)

correct io_png API

correct io_png API

Member quantiles_f32 (const float *data, size_t size, size_t nb_min, size_t nb_max, float *ptr_min, float *ptr_max)
instead of sorting the whole array (expensive), select pertinent values with a 128 bins histogram then sort the bins around the good bin
 All Files Functions Variables Defines