Update of /cvsroot/ufraw/ufraw
In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv24615
Modified Files:
dcraw.cc dcraw_api.cc ufobject.cc ufraw_lensfun.cc
Log Message:
Port UFRaw to OpenSolaris. Patch by James Lee.
Index: ufraw_lensfun.cc
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_lensfun.cc,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- ufraw_lensfun.cc 5 Apr 2010 14:30:18 -0000 1.17
+++ ufraw_lensfun.cc 2 May 2010 06:30:25 -0000 1.18
@@ -149,9 +149,9 @@
int precision;
if (number > 10.0 && (int)(10*number)%10 != 0)
// Support non-integer focal lengths longer than 10mm.
- precision = MAX(-floor(log(number) / log(10) - 1.99), 0);
+ precision = MAX(-floor(log(number) / log(10.0) - 1.99), 0);
else if (number > 0.0)
- precision = MAX(-floor(log(number) / log(10) - 0.99), 0);
+ precision = MAX(-floor(log(number) / log(10.0) - 0.99), 0);
else
precision = 0;
snprintf(buffer, _buffer_size, "%.*f", precision, number);
@@ -256,7 +256,7 @@
double value = 0.25;
while (value < 1001) {
*this << new UFString(ufPreset, _StringNumber(buffer, value));
- value *= sqrt(2);
+ value *= sqrt(2.0);
if (value > 127 && value < 129) value = 125;
}
}
Index: dcraw.cc
===================================================================
RCS file: /cvsroot/ufraw/ufraw/dcraw.cc,v
retrieving revision 1.215
retrieving revision 1.216
diff -u -d -r1.215 -r1.216
--- dcraw.cc 6 Apr 2010 15:50:36 -0000 1.215
+++ dcraw.cc 2 May 2010 06:30:25 -0000 1.216
@@ -3663,7 +3663,7 @@
if ((nc = colors) == 3 && filters) nc++;
FORC(nc) { /* denoise R,G1,B,G3 individually */
for (i=0; i < size; i++)
- fimg[i] = 256 * sqrt(image[i][c] << scale);
+ fimg[i] = 256 * sqrt((float) (image[i][c] << scale));
for (hpass=lev=0; lev < 5; lev++) {
lpass = size*((lev & 1)+1);
for (row=0; row < iheight; row++) {
@@ -3707,7 +3707,7 @@
window[2][col-1] + window[2][col+1] - black*4 )
* mul[row & 1] + (window[1][col] - black) * 0.5 + black;
avg = avg < 0 ? 0 : sqrt(avg);
- diff = sqrt(BAYER(row,col)) - avg;
+ diff = sqrt((float) BAYER(row,col)) - avg;
if (diff < -thold) diff += thold;
else if (diff > thold) diff -= thold;
else diff = 0;
@@ -4132,7 +4132,7 @@
for (i=0; i < 0x10000; i++) {
r = i / 65535.0;
- cbrt[i] = r > 0.008856 ? pow(r,1/3.0) : 7.787*r + 16/116.0;
+ cbrt[i] = r > 0.008856 ? pow(r, (float) (1/3.0)) : 7.787*r + 16/116.0;
}
for (i=0; i < 3; i++)
for (j=0; j < colors; j++)
@@ -4319,7 +4319,7 @@
dcraw_message (DCRAW_VERBOSE,_("Rebuilding highlights...\n"));
- grow = pow (2, 4-highlight);
+ grow = pow (2.0, 4-highlight);
FORCC hsat[c] = 32000 * pre_mul[c];
for (kc=0, c=1; c < colors; c++)
if (pre_mul[kc] < pre_mul[c]) kc = c;
Index: ufobject.cc
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufobject.cc,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- ufobject.cc 4 Mar 2010 04:52:32 -0000 1.8
+++ ufobject.cc 2 May 2010 06:30:25 -0000 1.9
@@ -190,7 +190,7 @@
AccuracyDigits(std::max(accuracyDigits < 0 ?
3 - (int)floor(log(Maximum - Minimum) / log(10.0)) :
accuracyDigits, 0)),
- Accuracy(pow(10, -AccuracyDigits)),
+ Accuracy(pow(10.0, -AccuracyDigits)),
Step(step == 0.0 ? Accuracy * 10.0 : step),
Jump(jump == 0.0 ? Step * 10.0 : jump) { }
};
@@ -542,7 +542,7 @@
class _UFNameCompare {
public:
- bool operator()(char const *a, char const *b) {
+ bool operator()(char const *a, char const *b) const {
return strcmp(a, b) < 0;
}
};
Index: dcraw_api.cc
===================================================================
RCS file: /cvsroot/ufraw/ufraw/dcraw_api.cc,v
retrieving revision 1.70
retrieving revision 1.71
diff -u -d -r1.70 -r1.71
--- dcraw_api.cc 28 Mar 2010 17:45:14 -0000 1.70
+++ dcraw_api.cc 2 May 2010 06:30:25 -0000 1.71
@@ -365,12 +365,13 @@
static inline void shrink_row(dcraw_image_type *obase, int osize,
dcraw_image_type *ibase, int isize, int colors, int scale)
{
- unsigned sum[osize];
+ unsigned *sum;
dcraw_image_type *iptr;
int cl, i;
+ sum = (unsigned*) g_malloc(osize * sizeof(unsigned));
for (cl = 0; cl < colors; ++cl) {
- memset(sum, 0, sizeof (sum));
+ memset(sum, 0, osize * sizeof (unsigned));
iptr = ibase;
for (i = 0; i < scale; ++i) {
shrink_accumulate_row(sum, osize, iptr, scale, cl);
@@ -379,6 +380,7 @@
for (i = 0; i < osize; ++i)
obase[i][cl] = sum[i] / (scale * scale);
}
+ g_free(sum);
}
static inline void shrink_pixel(dcraw_image_type pixp, int row, int col,
@@ -388,8 +390,8 @@
int ri, ci, cl;
dcraw_image_type *ibase;
- memset(sum, 0, sizeof (sum));
- memset(count, 0, sizeof (count));
+ memset(sum, 0, 4 * sizeof (unsigned));
+ memset(count, 0, 4 * sizeof (unsigned));
for (ri = 0; ri < scale; ++ri) {
ibase = hh->raw.image + ((row * scale + ri) / 2) * hh->raw.width;
for (ci = 0; ci < scale; ++ci) {
@@ -408,7 +410,7 @@
DCRaw *d = (DCRaw *)hh->dcraw;
int h, w, fujiWidth, r, c, ri, recombine, pixels, f4;
dcraw_image_type *ibase, *obase;
- unsigned fseq[scale];
+ unsigned *fseq;
unsigned short *pixp;
g_free(d->messageBuffer);
@@ -435,6 +437,7 @@
#pragma omp parallel for schedule(static) private(r,ri,fseq,c,pixp)
#endif
for (r = 0; r < h; ++r) {
+ fseq = (unsigned*) g_malloc(scale * sizeof(unsigned));
for (ri = 0; ri < scale; ++ri)
fseq[ri] = fc_sequence(f4, r + ri);
for (c = 0; c < w; ++c) {
@@ -443,6 +446,7 @@
if (recombine)
pixp[1] = (pixp[1] + pixp[3]) / 2;
}
+ g_free(fseq);
}
} else {
if (hh->filters!=0) scale /= 2;
------------------------------------------------------------------------------
_______________________________________________
ufraw-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ufraw-cvs