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 ufraw-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ufraw-cvs