int im_LabQ2disp( IMAGE *in, IMAGE *out, struct im_col_display *d );
void *im_LabQ2disp_build_table( IMAGE *out, struct im_col_display *d );
int im_LabQ2disp_table( IMAGE *in, IMAGE *out, void *table );
im_LabQ2disp() converts in to out using the display profile d. It has to build a large lookup table, so takes a while to start.
im_LabQ2disp_build_table() is just the table-build phase of im_LabQ2disp(). It returns a handle to the built table (or NULL for error). The memory for the table is allocated local to out (ie is freed when out is closed).
im_LabQ2disp_table() converts in to out using the supplied table.