summaryrefslogtreecommitdiff
path: root/rspl/rev.c
diff options
context:
space:
mode:
Diffstat (limited to 'rspl/rev.c')
-rw-r--r--rspl/rev.c34
1 files changed, 24 insertions, 10 deletions
diff --git a/rspl/rev.c b/rspl/rev.c
index 237dbe3..1dbf6cc 100644
--- a/rspl/rev.c
+++ b/rspl/rev.c
@@ -22,11 +22,24 @@
Should fix the clipping case so that a direction weighting
funtion can be applied. This should be used just like
the perceptual case to increase L* constance for dark
- colors. Will this stuff up the geometric consistency though ?
- [ See fill_nncell(), fill_nncell() and users of calc_fwd_nn_cell_list(),
- ie. nnearest_clip_solve(), clipn_setsort() etc. ]
+ colors. This would entail large scale changes though,
+ since a lot of code assumes minimal euclidean distance
+ goal, from the cell selection structure [ See fill_nncell(),
+ fill_nncell() and users of calc_fwd_nn_cell_list() ] and
+ the within cell computation [ ie. See nnearest_clip_solve(),
+ clipn_setsort() etc. ]
+ XYZ PCS couldn't work with a simple weighting - it would have
+ to be a position dependent weighting.
The SVD least squares computation case makes this hard to change ?
Would have to feed in a weighting function, or can it be general ?
+ -
+ Can this be solved some other way, ie. by using gamut
+ mapping type look up ? Problem is precision.
+ -
+ Vector clip could be used (if intent can be turned
+ into computable vector clip direction), but it is slow,
+ because it search all cells from source until it
+ hits surface.
Allow function callback to set auxiliary values for
flag RSPL_AUXLOCUS.
@@ -1437,7 +1450,8 @@ unsigned int tcount /* grid touch count for this operation */
nunlk++;
}
fprintf(stdout,"Diagnostic: rev.sz = %lu, rev.max_sz = %lu, numlocked = %d, nunlk = %d\n",
- rc->s->rev.sz, rc->s->rev.max_sz, rc->nunlocked,nunlk);
+ (unsigned long)rc->s->rev.sz, (unsigned long)rc->s->rev.max_sz,
+ rc->nunlocked, nunlk);
error("Not enough memory to process in chunks");
}
break; /* cache has run out of room, so abandon, and do it next time */
@@ -4971,7 +4985,7 @@ rspl *s /* Pointer to rspl grid */
g_no_rev_cache_instances > 1 ? "are" : "is",
g_no_rev_cache_instances,
g_no_rev_cache_instances > 1 ? "s" : "",
- ram_portion/1000000);
+ (unsigned long)ram_portion/1000000);
}
}
@@ -6165,7 +6179,7 @@ if (prop != NULL) {
g_no_rev_cache_instances > 1 ? "are" : "is",
g_no_rev_cache_instances,
g_no_rev_cache_instances > 1 ? "s" : "",
- ram_portion/1000000);
+ (unsigned long)ram_portion/1000000);
}
s->rev.rev_valid = 1;
@@ -6233,7 +6247,7 @@ rspl *s /* Pointer to rspl grid */
g_no_rev_cache_instances > 1 ? "are" : "is",
g_no_rev_cache_instances,
g_no_rev_cache_instances > 1 ? "s" : "",
- ram_portion/1000000);
+ (unsigned long)ram_portion/1000000);
}
}
s->rev.rev_valid = 0;
@@ -6497,7 +6511,7 @@ rspl *s
if (g_avail_ram > safe_max_vmem) {
g_avail_ram = safe_max_vmem;
if (s->verbose && repsr == 0)
- fprintf(stdout,"%cTrimmed maximum cache RAM to %lu Mbytes to allow for VM limit\n",cr_char,g_avail_ram/1000000);
+ fprintf(stdout,"%cTrimmed maximum cache RAM to %lu Mbytes to allow for VM limit\n",cr_char,(unsigned long)g_avail_ram/1000000);
}
}
@@ -6516,7 +6530,7 @@ rspl *s
}
if (max_vmem != 0 && g_avail_ram > max_vmem && repsr == 0) {
g_avail_ram = (size_t)(0.95 * max_vmem);
- fprintf(stdout,"%cARGYLL_REV_CACHE_MULT * RAM trimmed to %lu Mbytes to allow for VM limit\n",cr_char,g_avail_ram/1000000);
+ fprintf(stdout,"%cARGYLL_REV_CACHE_MULT * RAM trimmed to %lu Mbytes to allow for VM limit\n",cr_char,(unsigned long)g_avail_ram/1000000);
}
}
@@ -6525,7 +6539,7 @@ rspl *s
DBG(("reverse cache max memory = %d Mbytes\n",s->rev.max_sz/1000000));
if (s->verbose && repsr == 0) {
- fprintf(stdout, "%cRev cache RAM = %lu Mbytes\n",cr_char,g_avail_ram/1000000);
+ fprintf(stdout, "%cRev cache RAM = %lu Mbytes\n",cr_char,(unsigned long)g_avail_ram/1000000);
repsr = 1;
}