--- digikam-5.7.0/core/libs/rawengine/libraw/internal/dcraw_common.cpp.orig 2017-09-05 09:51:22.000000000 +0100 +++ digikam-5.7.0/core/libs/rawengine/libraw/internal/dcraw_common.cpp 2018-01-10 02:46:30.990330876 +0000 @@ -5773,7 +5773,7 @@ static float my_roundf(float x) { static float _CanonConvertAperture(ushort in) { if ((in == (ushort)0xffe0) || (in == (ushort)0x7fff)) return 0.0f; - return powf64(2.0, in/64.0); + return powf64(2.0f, float(in/64.0)); } static float _CanonConvertEV (short in) @@ -6726,7 +6726,7 @@ void CLASS PentaxLensInfo (unsigned id, if (table_buf[iLensData+9] && (fabs(imgdata.lens.makernotes.CurFocal) < 0.1f)) imgdata.lens.makernotes.CurFocal = - 10*(table_buf[iLensData+9]>>2) * powf64(4, (table_buf[iLensData+9] & 0x03)-2); + 10*(table_buf[iLensData+9]>>2) * powf64(4.0f, (float)((table_buf[iLensData+9] & 0x03)-2)); if (table_buf[iLensData+10] & 0xf0) imgdata.lens.makernotes.MaxAp4CurFocal = powf64(2.0f, (float)((table_buf[iLensData+10] & 0xf0) >>4)/4.0f); @@ -7648,7 +7648,7 @@ void CLASS parse_makernote_0xc634(int ba { unsigned char cc; fread(&cc, 1, 1, ifp); - iso_speed = (int)(100.0 * powf64(2.0, (double)(cc) / 12.0 - 5.0)); + iso_speed = (int)(100.0 * powf64(2.0f, (float)((double)(cc) / 12.0 - 5.0))); break; } } @@ -9151,15 +9151,15 @@ void CLASS parse_makernote (int base, in } if (tag == 4 && len > 26 && len < 35) { if ((i=(get4(),get2())) != 0x7fff && (!iso_speed || iso_speed == 65535)) - iso_speed = 50 * powf64(2.0, i/32.0 - 4); + iso_speed = 50 * powf64(2.0f, (float)(i/32.0 - 4)); #ifdef LIBRAW_LIBRARY_BUILD get4(); #else if ((i=(get2(),get2())) != 0x7fff && !aperture) - aperture = powf64(2.0, i/64.0); + aperture = powf64(2.0f, (float)(i/64.0)); #endif if ((i=get2()) != 0xffff && !shutter) - shutter = powf64(2.0, (short) i/-32.0); + shutter = powf64(2.0f, (short) i/-32.0); wbi = (get2(),get2()); shot_order = (get2(),get2()); } @@ -9768,11 +9768,11 @@ void CLASS parse_exif (int base) case 36868: get_timestamp(0); break; case 37377: if ((expo = -getreal(type)) < 128 && shutter == 0.) tiff_ifd[tiff_nifds-1].t_shutter = - shutter = powf64(2.0, expo); + shutter = powf64(2.0f, (float)expo); break; case 37378: // 0x9202 ApertureValue if ((fabs(ape = getreal(type))<256.0) && (!aperture)) - aperture = powf64(2.0, ape/2); + aperture = powf64(2.0f, (float)ape/2); break; case 37385: flash_used = getreal(type); break; case 37386: focal_len = getreal(type); break; @@ -11716,9 +11716,9 @@ void CLASS parse_ciff (int offset, int l aperture = _CanonConvertAperture((get2(),get2())); imgdata.lens.makernotes.CurAp = aperture; #else - aperture = powf64(2.0, (get2(),(short)get2())/64.0); + aperture = powf64(2.0f, (get2(),(short)get2())/64.0); #endif - shutter = powf64(2.0,-((short)get2())/32.0); + shutter = powf64(2.0f,(float)(-((short)get2())/32.0)); wbi = (get2(),get2()); if (wbi > 17) wbi = 0; fseek (ifp, 32, SEEK_CUR);