diff --git a/rtdata/profiles/Auto-Matched Curve - ISO High.pp3 b/rtdata/profiles/Auto-Matched Curve - ISO High.pp3 new file mode 100644 index 000000000..c3f286ae3 --- /dev/null +++ b/rtdata/profiles/Auto-Matched Curve - ISO High.pp3 @@ -0,0 +1,70 @@ +[Version] +AppVersion=5.3-544-gc2e7d924 +Version=330 + +[HLRecovery] +Enabled=true +Method=Blend + +[Exposure] +Auto=false +Clip=0.02 +Compensation=0 +Brightness=0 +Contrast=0 +Saturation=0 +Black=0 +HighlightCompr=0 +HighlightComprThreshold=33 +ShadowCompr=50 +HistogramMatching=true +CurveMode=FilmLike +CurveMode2=WeightedStd +Curve=1;0;0;1;1; +Curve2=0; + +[Directional Pyramid Denoising] +Enabled=true +Enhance=false +Median=true +Luma=50 +Ldetail=60 +Method=Lab +LMethod=SLI +CMethod=AUT +C2Method=AUTO +SMethod=shal +MedMethod=55 +RGBMethod=soft +MethodMed=Lpab +Redchro=0 +Bluechro=0 +Gamma=1.7 +Passes=1 +LCurve=0 +CCCurve=0 + +[LensProfile] +LcMode=lfauto +UseDistortion=true +UseVignette=true +UseCA=false + +[RAW] +CA=true + +[RAW Bayer] +Method=lmmse +CcSteps=2 +LMMSEIterations=2 + +[RAW X-Trans] +Method=1-pass (medium) +CcSteps=2 + +[Color Management] +ToneCurve=false +ApplyLookTable=true +ApplyBaselineExposureOffset=true +ApplyHueSatMap=true +DCPIlluminant=0 diff --git a/rtdata/profiles/Auto-Matched Curve - ISO Low.pp3 b/rtdata/profiles/Auto-Matched Curve - ISO Low.pp3 new file mode 100644 index 000000000..0e9827677 --- /dev/null +++ b/rtdata/profiles/Auto-Matched Curve - ISO Low.pp3 @@ -0,0 +1,40 @@ +[Version] +AppVersion=5.3-544-gc2e7d924 +Version=330 + +[HLRecovery] +Enabled=true +Method=Blend + +[Exposure] +Auto=false +Clip=0.02 +Compensation=0 +Brightness=0 +Contrast=0 +Saturation=0 +Black=0 +HighlightCompr=0 +HighlightComprThreshold=33 +ShadowCompr=50 +HistogramMatching=true +CurveMode=FilmLike +CurveMode2=WeightedStd +Curve=0; +Curve2=0; + +[LensProfile] +LcMode=lfauto +UseDistortion=true +UseVignette=true +UseCA=false + +[RAW] +CA=true + +[Color Management] +ToneCurve=false +ApplyLookTable=true +ApplyBaselineExposureOffset=true +ApplyHueSatMap=true +DCPIlluminant=0 diff --git a/rtdata/profiles/Auto-Matched Curve - ISO Medium.pp3 b/rtdata/profiles/Auto-Matched Curve - ISO Medium.pp3 new file mode 100644 index 000000000..02487a9cd --- /dev/null +++ b/rtdata/profiles/Auto-Matched Curve - ISO Medium.pp3 @@ -0,0 +1,62 @@ +[Version] +AppVersion=5.3-544-gc2e7d924 +Version=330 + +[HLRecovery] +Enabled=true +Method=Blend + +[Exposure] +Auto=false +Clip=0.02 +Compensation=0 +Brightness=0 +Contrast=0 +Saturation=0 +Black=0 +HighlightCompr=0 +HighlightComprThreshold=33 +ShadowCompr=50 +HistogramMatching=true +CurveMode=FilmLike +CurveMode2=WeightedStd +Curve=0; +Curve2=0; + +[Directional Pyramid Denoising] +Enabled=true +Enhance=false +Median=false +Luma=0 +Ldetail=0 +Chroma=0 +Method=Lab +LMethod=SLI +CMethod=AUT +C2Method=AUTO +SMethod=shal +MedMethod=55 +RGBMethod=soft +MethodMed=Lpab +Redchro=0 +Bluechro=0 +Gamma=1.7 +Passes=1 +LCurve=0 +CCCurve=0 + +[LensProfile] +LcMode=lfauto +UseDistortion=true +UseVignette=true +UseCA=false + +[RAW] +CA=true + +[Color Management] +ToneCurve=false +ApplyLookTable=true +ApplyBaselineExposureOffset=true +ApplyHueSatMap=true +DCPIlluminant=0 diff --git a/rtdata/profiles/Default ISO High.pp3 b/rtdata/profiles/Default ISO High.pp3 deleted file mode 100644 index c15085093..000000000 --- a/rtdata/profiles/Default ISO High.pp3 +++ /dev/null @@ -1,171 +0,0 @@ -[Version] -AppVersion=5.1 -Version=326 - -[Exposure] -Auto=true -Clip=0.02 -Saturation=0 -CurveMode=Perceptual -CurveMode2=Perceptual -Curve=0; -Curve2=0; - -[Retinex] -Enabled=false - -[Channel Mixer] -Red=100;0;0; -Green=0;100;0; -Blue=0;0;100; - -[Black & White] -Enabled=false - -[Luminance Curve] -Brightness=0 -Contrast=0 -Chromaticity=0 -AvoidColorShift=false -RedAndSkinTonesProtection=0 -LCredsk=true -LCurve=0; -aCurve=0; -bCurve=0; -ccCurve=0; -chCurve=0; -lhCurve=0; -hhCurve=0; -LcCurve=0; -ClCurve=0; - -[Sharpening] -Enabled=false - -[Vibrance] -Enabled=false - -[SharpenEdge] -Enabled=false - -[SharpenMicro] -Enabled=false - -[White Balance] -Setting=Camera -Equal=1 -TemperatureBias=0 - -[Color appearance] -Enabled=false - -[Impulse Denoising] -Enabled=false - -[Defringing] -Enabled=false - -[Directional Pyramid Denoising] -Enabled=true -Enhance=false -Median=true -Auto=false -Luma=40 -Ldetail=80 -Method=Lab -LMethod=SLI -CMethod=MAN -C2Method=AUTO -SMethod=shal -MedMethod=soft -RGBMethod=soft -MethodMed=Lpab -Gamma=1.7 -Passes=1 - -[EPD] -Enabled=false - -[Shadows & Highlights] -Enabled=false - -[Gradient] -Enabled=false - -[PCVignette] -Enabled=false - -[Color Management] -InputProfile=(cameraICC) -ToneCurve=false -ApplyLookTable=false -ApplyBaselineExposureOffset=true -ApplyHueSatMap=true -BlendCMSMatrix=false -DCPIlluminant=0 -WorkingProfile=ProPhoto -OutputProfile=RT_sRGB -OutputProfileIntent=Relative -OutputBPC=true -Gammafree=default -Freegamma=false -GammaValue=2.2200000000000002 -GammaSlope=4.5 - -[Wavelet] -Enabled=false - -[Directional Pyramid Equalizer] -Enabled=false - -[HSV Equalizer] -HCurve=0; -SCurve=0; -VCurve=0; - -[Film Simulation] -Enabled=false - -[RGB Curves] -LumaMode=false -rCurve=0; -gCurve=0; -bCurve=0; - -[ColorToning] -Enabled=false - -[RAW] -DarkFrame=/szeva -DarkFrameAuto=false -FlatFieldFile=/szeva -FlatFieldAutoSelect=false -CA=true -HotPixelFilter=false -DeadPixelFilter=false -HotDeadPixelThresh=100 -PreExposure=1 -PrePreserv=0 - -[RAW Bayer] -Method=lmmse -ImageNum=1 -CcSteps=0 -PreBlack0=0 -PreBlack1=0 -PreBlack2=0 -PreBlack3=0 -PreTwoGreen=true -LineDenoise=0 -GreenEqThreshold=0 -DCBIterations=2 -DCBEnhance=true -LMMSEIterations=2 - -[RAW X-Trans] -Method=3-pass (best) -CcSteps=0 -PreBlackRed=0 -PreBlackGreen=0 -PreBlackBlue=0 - diff --git a/rtdata/profiles/Default ISO Medium.pp3 b/rtdata/profiles/Default ISO Medium.pp3 deleted file mode 100644 index 0bd94097f..000000000 --- a/rtdata/profiles/Default ISO Medium.pp3 +++ /dev/null @@ -1,184 +0,0 @@ -[Version] -AppVersion=5.1 -Version=326 - -[Exposure] -Auto=true -Clip=0.02 -Saturation=0 -CurveMode=Perceptual -CurveMode2=Perceptual -Curve=0; -Curve2=0; - -[Retinex] -Enabled=false - -[Channel Mixer] -Red=100;0;0; -Green=0;100;0; -Blue=0;0;100; - -[Black & White] -Enabled=false - -[Luminance Curve] -Brightness=0 -Contrast=0 -Chromaticity=0 -AvoidColorShift=false -RedAndSkinTonesProtection=0 -LCredsk=true -LCurve=0; -aCurve=0; -bCurve=0; -ccCurve=0; -chCurve=0; -lhCurve=0; -hhCurve=0; -LcCurve=0; -ClCurve=0; - -[Sharpening] -Enabled=true -Method=usm -Radius=0.75 -Amount=200 -Threshold=20;80;2000;1200; -OnlyEdges=false -EdgedetectionRadius=1.9 -EdgeTolerance=1800 -HalocontrolEnabled=false -HalocontrolAmount=85 -DeconvRadius=0.75 -DeconvAmount=75 -DeconvDamping=20 -DeconvIterations=30 - -[Vibrance] -Enabled=false - -[SharpenEdge] -Enabled=false - -[SharpenMicro] -Enabled=false - -[White Balance] -Setting=Camera -Equal=1 -TemperatureBias=0 - -[Color appearance] -Enabled=false - -[Impulse Denoising] -Enabled=false - -[Defringing] -Enabled=false - -[Directional Pyramid Denoising] -Enabled=true -Enhance=false -Median=false -Auto=false -Luma=0 -Ldetail=80 -Method=Lab -LMethod=SLI -CMethod=MAN -C2Method=AUTO -SMethod=shal -MedMethod=soft -RGBMethod=soft -MethodMed=Lonly -Gamma=1.7 -Passes=1 - -[EPD] -Enabled=false - -[Shadows & Highlights] -Enabled=false - -[Gradient] -Enabled=false - -[PCVignette] -Enabled=false - -[Color Management] -InputProfile=(cameraICC) -ToneCurve=false -ApplyLookTable=false -ApplyBaselineExposureOffset=true -ApplyHueSatMap=true -BlendCMSMatrix=false -DCPIlluminant=0 -WorkingProfile=ProPhoto -OutputProfile=RT_sRGB -OutputProfileIntent=Relative -OutputBPC=true -Gammafree=default -Freegamma=false -GammaValue=2.2200000000000002 -GammaSlope=4.5 - -[Wavelet] -Enabled=false - -[Directional Pyramid Equalizer] -Enabled=false - -[HSV Equalizer] -HCurve=0; -SCurve=0; -VCurve=0; - -[Film Simulation] -Enabled=false - -[RGB Curves] -LumaMode=false -rCurve=0; -gCurve=0; -bCurve=0; - -[ColorToning] -Enabled=false - -[RAW] -DarkFrame=/szeva -DarkFrameAuto=false -FlatFieldFile=/szeva -FlatFieldAutoSelect=false -CA=true -HotPixelFilter=false -DeadPixelFilter=false -HotDeadPixelThresh=100 -PreExposure=1 -PrePreserv=0 - -[RAW Bayer] -Method=amaze -ImageNum=1 -CcSteps=0 -PreBlack0=0 -PreBlack1=0 -PreBlack2=0 -PreBlack3=0 -PreTwoGreen=true -LineDenoise=0 -GreenEqThreshold=0 -DCBIterations=2 -DCBEnhance=true -LMMSEIterations=2 - -[RAW X-Trans] -Method=3-pass (best) -CcSteps=0 -PreBlackRed=0 -PreBlackGreen=0 -PreBlackBlue=0 - diff --git a/rtdata/profiles/Default.pp3 b/rtdata/profiles/Default.pp3 deleted file mode 100644 index 227ee2e6b..000000000 --- a/rtdata/profiles/Default.pp3 +++ /dev/null @@ -1,169 +0,0 @@ -[Version] -AppVersion=5.1 -Version=326 - -[Exposure] -Auto=true -Clip=0.02 -Saturation=0 -CurveMode=Perceptual -CurveMode2=Perceptual -Curve=0; -Curve2=0; - -[Retinex] -Enabled=false - -[Channel Mixer] -Red=100;0;0; -Green=0;100;0; -Blue=0;0;100; - -[Black & White] -Enabled=false - -[Luminance Curve] -Brightness=0 -Contrast=0 -Chromaticity=0 -AvoidColorShift=false -RedAndSkinTonesProtection=0 -LCredsk=true -LCurve=0; -aCurve=0; -bCurve=0; -ccCurve=0; -chCurve=0; -lhCurve=0; -hhCurve=0; -LcCurve=0; -ClCurve=0; - -[Sharpening] -Enabled=true -Method=usm -Radius=0.5 -Amount=200 -Threshold=20;80;2000;1200; -OnlyEdges=false -EdgedetectionRadius=1.9 -EdgeTolerance=1800 -HalocontrolEnabled=false -HalocontrolAmount=85 -DeconvRadius=0.75 -DeconvAmount=75 -DeconvDamping=20 -DeconvIterations=30 - -[Vibrance] -Enabled=false - -[SharpenEdge] -Enabled=false - -[SharpenMicro] -Enabled=false - -[White Balance] -Setting=Camera -Equal=1 -TemperatureBias=0 - -[Color appearance] -Enabled=false - -[Impulse Denoising] -Enabled=false - -[Defringing] -Enabled=false - -[Directional Pyramid Denoising] -Enabled=false - -[EPD] -Enabled=false - -[Shadows & Highlights] -Enabled=false - -[Gradient] -Enabled=false - -[PCVignette] -Enabled=false - -[Color Management] -InputProfile=(cameraICC) -ToneCurve=false -ApplyLookTable=false -ApplyBaselineExposureOffset=true -ApplyHueSatMap=true -BlendCMSMatrix=false -DCPIlluminant=0 -WorkingProfile=ProPhoto -OutputProfile=RT_sRGB -OutputProfileIntent=Relative -OutputBPC=true -Gammafree=default -Freegamma=false -GammaValue=2.2200000000000002 -GammaSlope=4.5 - -[Wavelet] -Enabled=false - -[Directional Pyramid Equalizer] -Enabled=false - -[HSV Equalizer] -HCurve=0; -SCurve=0; -VCurve=0; - -[Film Simulation] -Enabled=false - -[RGB Curves] -LumaMode=false -rCurve=0; -gCurve=0; -bCurve=0; - -[ColorToning] -Enabled=false - -[RAW] -DarkFrame=/szeva -DarkFrameAuto=false -FlatFieldFile=/szeva -FlatFieldAutoSelect=false -CA=true -HotPixelFilter=false -DeadPixelFilter=false -HotDeadPixelThresh=100 -PreExposure=1 -PrePreserv=0 - -[RAW Bayer] -Method=amaze -ImageNum=1 -CcSteps=0 -PreBlack0=0 -PreBlack1=0 -PreBlack2=0 -PreBlack3=0 -PreTwoGreen=true -LineDenoise=0 -GreenEqThreshold=0 -DCBIterations=2 -DCBEnhance=true -LMMSEIterations=2 - -[RAW X-Trans] -Method=3-pass (best) -CcSteps=0 -PreBlackRed=0 -PreBlackGreen=0 -PreBlackBlue=0 - diff --git a/rtdata/profiles/Standard Film Curve - ISO High.pp3 b/rtdata/profiles/Standard Film Curve - ISO High.pp3 new file mode 100644 index 000000000..fddcd74a8 --- /dev/null +++ b/rtdata/profiles/Standard Film Curve - ISO High.pp3 @@ -0,0 +1,71 @@ +[Version] +AppVersion=5.3-544-gc2e7d924 +Version=330 + +[HLRecovery] +Enabled=true +Method=Blend + +[Exposure] +Auto=false +Clip=0.02 +Compensation=0 +Brightness=0 +Contrast=0 +Saturation=0 +Black=0 +HighlightCompr=90 +HighlightComprThreshold=33 +ShadowCompr=50 +HistogramMatching=false +CurveMode=FilmLike +CurveMode2=WeightedStd +Curve=1;0;0;0.11;0.09;0.32;0.43;0.66;0.87;1;1; +Curve2=0; + +[Directional Pyramid Denoising] +Enabled=true +Enhance=false +Median=true +Luma=50 +Ldetail=60 +Chroma=0 +Method=Lab +LMethod=SLI +CMethod=AUT +C2Method=AUTO +SMethod=shal +MedMethod=55 +RGBMethod=soft +MethodMed=Lpab +Redchro=0 +Bluechro=0 +Gamma=1.7 +Passes=1 +LCurve=0 +CCCurve=0 + +[LensProfile] +LcMode=lfauto +UseDistortion=true +UseVignette=true +UseCA=false + +[RAW] +CA=true + +[RAW Bayer] +Method=lmmse +CcSteps=2 +LMMSEIterations=2 + +[RAW X-Trans] +Method=1-pass (medium) +CcSteps=2 + +[Color Management] +ToneCurve=false +ApplyLookTable=true +ApplyBaselineExposureOffset=true +ApplyHueSatMap=true +DCPIlluminant=0 diff --git a/rtdata/profiles/Standard Film Curve - ISO Low.pp3 b/rtdata/profiles/Standard Film Curve - ISO Low.pp3 new file mode 100644 index 000000000..9db0b3da8 --- /dev/null +++ b/rtdata/profiles/Standard Film Curve - ISO Low.pp3 @@ -0,0 +1,40 @@ +[Version] +AppVersion=5.3-544-gc2e7d924 +Version=330 + +[HLRecovery] +Enabled=true +Method=Blend + +[Exposure] +Auto=false +Clip=0.02 +Compensation=0 +Brightness=0 +Contrast=0 +Saturation=0 +Black=0 +HighlightCompr=90 +HighlightComprThreshold=33 +ShadowCompr=50 +HistogramMatching=false +CurveMode=FilmLike +CurveMode2=WeightedStd +Curve=1;0;0;0.11;0.09;0.32;0.43;0.66;0.87;1;1; +Curve2=0; + +[LensProfile] +LcMode=lfauto +UseDistortion=true +UseVignette=true +UseCA=false + +[RAW] +CA=true + +[Color Management] +ToneCurve=false +ApplyLookTable=true +ApplyBaselineExposureOffset=true +ApplyHueSatMap=true +DCPIlluminant=0 diff --git a/rtdata/profiles/Standard Film Curve - ISO Medium.pp3 b/rtdata/profiles/Standard Film Curve - ISO Medium.pp3 new file mode 100644 index 000000000..47bcdb0de --- /dev/null +++ b/rtdata/profiles/Standard Film Curve - ISO Medium.pp3 @@ -0,0 +1,62 @@ +[Version] +AppVersion=5.3-544-gc2e7d924 +Version=330 + +[HLRecovery] +Enabled=true +Method=Blend + +[Exposure] +Auto=false +Clip=0.02 +Compensation=0 +Brightness=0 +Contrast=0 +Saturation=0 +Black=0 +HighlightCompr=90 +HighlightComprThreshold=33 +ShadowCompr=50 +HistogramMatching=false +CurveMode=FilmLike +CurveMode2=WeightedStd +Curve=1;0;0;0.11;0.09;0.32;0.43;0.66;0.87;1;1; +Curve2=0; + +[Directional Pyramid Denoising] +Enabled=true +Enhance=false +Median=false +Luma=0 +Ldetail=0 +Chroma=0 +Method=Lab +LMethod=SLI +CMethod=AUT +C2Method=AUTO +SMethod=shal +MedMethod=soft +RGBMethod=soft +MethodMed=Lonly +Redchro=0 +Bluechro=0 +Gamma=1.7 +Passes=1 +LCurve=0 +CCCurve=0 + +[LensProfile] +LcMode=lfauto +UseDistortion=true +UseVignette=true +UseCA=false + +[RAW] +CA=true + +[Color Management] +ToneCurve=false +ApplyLookTable=true +ApplyBaselineExposureOffset=true +ApplyHueSatMap=true +DCPIlluminant=0 diff --git a/rtengine/histmatching.cc b/rtengine/histmatching.cc index 4216c4581..56fe21d80 100644 --- a/rtengine/histmatching.cc +++ b/rtengine/histmatching.cc @@ -160,6 +160,8 @@ void RawImageSource::getAutoMatchedToneCurve(std::vector &outCurve) } ProcParams neutral; + neutral.raw.bayersensor.method = RAWParams::BayerSensor::getMethodString(RAWParams::BayerSensor::Method::FAST); + neutral.raw.xtranssensor.method = RAWParams::XTransSensor::getMethodString(RAWParams::XTransSensor::Method::FAST); std::unique_ptr source; { @@ -205,8 +207,15 @@ void RawImageSource::getAutoMatchedToneCurve(std::vector &outCurve) } PreviewProps pp(cx, cy, fw, fh, skip); ColorTemp currWB = getWB(); + std::unique_ptr image(new Imagefloat(int(fw / skip), int(fh / skip))); - getImage(currWB, TR_NONE, image.get(), pp, neutral.toneCurve, neutral.raw); + { + RawImageSource rsrc; + rsrc.load(getFileName()); + rsrc.preprocess(neutral.raw, neutral.lensProf, neutral.coarse, false); + rsrc.demosaic(neutral.raw); + rsrc.getImage(currWB, TR_NONE, image.get(), pp, neutral.toneCurve, neutral.raw); + } // this could probably be made faster -- ideally we would need to just // perform the transformation from camera space to the output space diff --git a/rtexif/rtexif.cc b/rtexif/rtexif.cc index 6cb1e7ff8..47d885e50 100644 --- a/rtexif/rtexif.cc +++ b/rtexif/rtexif.cc @@ -1928,9 +1928,9 @@ void Tag::initInt (int data, TagType t, int cnt) setInt (data, 0, t); } -void Tag::swapByteOrder2(char *buffer, int count) +void Tag::swapByteOrder2(unsigned char *buffer, int count) { - char* ptr = buffer; + unsigned char* ptr = buffer; for (int i = 0; i < count; i+=2) { unsigned char c = ptr[0]; ptr[0] = ptr[1]; @@ -1966,7 +1966,7 @@ void Tag::initUserComment (const Glib::ustring &text) // Swapping byte order to match the Exif's byte order if (getOrder() != HOSTORDER) { - swapByteOrder2((char*)commentStr, wcStrSize * 2); + swapByteOrder2((unsigned char*)commentStr, wcStrSize * 2); } memcpy(value + 8 + (useBOM ? 2 : 0), (char*)commentStr, wcStrSize * 2); diff --git a/rtexif/rtexif.h b/rtexif/rtexif.h index 33419fe71..453f9b78f 100644 --- a/rtexif/rtexif.h +++ b/rtexif/rtexif.h @@ -236,7 +236,7 @@ public: void initLongArray (const char* data, int len); void initRational (int num, int den); - static void swapByteOrder2 (char *buffer, int count); + static void swapByteOrder2 (unsigned char *buffer, int count); // get basic tag properties int getID () const diff --git a/rtexif/stdattribs.cc b/rtexif/stdattribs.cc index ca19b7f1c..956d493d2 100644 --- a/rtexif/stdattribs.cc +++ b/rtexif/stdattribs.cc @@ -452,8 +452,8 @@ public: } count = std::min (count, 65535); // limit to 65535 chars to avoid crashes in case of corrupted metadata - char *buffer = new char[count - 6]; // include 2 ending null chars for UCS-2 string (possibly) - char *value = (char*)t->getValue(); + unsigned char *buffer = new unsigned char[count - 6]; // include 2 ending null chars for UCS-2 string (possibly) + unsigned char *value = t->getValue(); if (!memcmp(value, "ASCII\0\0\0", 8)) { memcpy(buffer, value + 8, count - 8); @@ -461,14 +461,14 @@ public: } else if (!memcmp(value, "UNICODE\0", 8)) { memcpy(buffer, value + 8, count - 8); buffer[count - 7] = buffer[count - 8] = '\0'; - Glib::ustring tmp1(buffer); + Glib::ustring tmp1((char*)buffer); bool hasBOM = false; enum ByteOrder bo = UNKNOWN; if (count % 2 || (count >= 11 && (buffer[0] == 0xEF && buffer[1] == 0xBB && buffer[2] == 0xBF))) { // odd string length can only be UTF-8, don't change anything - std::string retVal (buffer + 3); + std::string retVal ((char*)buffer + 3); delete [] buffer; return retVal; } else if (count >= 10) { @@ -484,7 +484,7 @@ public: // auto-detecting byte order; we still don't know if it's UCS-2 or UTF-8 int a = 0, b = 0, c = 0, d = 0; for (int j = 8; j < count; j++) { - char cc = value[j]; + unsigned char cc = value[j]; if (!(j%2)) { // counting zeros for first byte if (!cc) { @@ -505,7 +505,7 @@ public: } if (c == (count - 8) && d) { // this is an UTF-8 string - std::string retVal (buffer); + std::string retVal ((char*)buffer); delete [] buffer; return retVal; } @@ -532,7 +532,7 @@ public: glong written; char* utf8Str = g_utf16_to_utf8((unsigned short int*)buffer, -1, nullptr, &written, nullptr); delete [] buffer; - buffer = new char[written + 1]; + buffer = new unsigned char[written + 1]; memcpy(buffer, utf8Str, written); buffer[written] = 0; } else if (!memcmp(value, "\0\0\0\0\0\0\0\0", 8)) { @@ -541,12 +541,12 @@ public: buffer[count - 7] = buffer[count - 8] = '\0'; gsize written = 0; - char *utf8Str = g_locale_to_utf8(buffer, count - 8, nullptr, &written, nullptr); + char *utf8Str = g_locale_to_utf8((char*)buffer, count - 8, nullptr, &written, nullptr); if (utf8Str && written) { delete [] buffer; size_t length = strlen(utf8Str); - buffer = new char[length + 1]; - strcpy(buffer, utf8Str); + buffer = new unsigned char[length + 1]; + strcpy((char*)buffer, utf8Str); } else { buffer[0] = 0; } @@ -558,7 +558,7 @@ public: buffer[0] = 0; } - std::string retVal (buffer); + std::string retVal ((char*)buffer); delete [] buffer; return retVal; } diff --git a/rtgui/options.cc b/rtgui/options.cc index 44f496dfa..80a364a07 100644 --- a/rtgui/options.cc +++ b/rtgui/options.cc @@ -2261,11 +2261,11 @@ void Options::load (bool lightweight) if (!tmpFName.empty()) { if (options.rtSettings.verbose) { - printf ("Raws' default profile \"%s\" found\n", options.defProfRaw.c_str()); + printf ("Default profile for raw images \"%s\" found\n", options.defProfRaw.c_str()); } } else { if (options.rtSettings.verbose) { - printf ("Raws' default profile \"%s\" not found or not set -> using Internal values\n", options.defProfRaw.c_str()); + printf ("Default profile for raw images \"%s\" not found or not set -> using Internal values\n", options.defProfRaw.c_str()); } options.defProfRaw = DEFPROFILE_INTERNAL; @@ -2280,11 +2280,11 @@ void Options::load (bool lightweight) if (!tmpFName.empty()) { if (options.rtSettings.verbose) { - printf ("Images' default profile \"%s\" found\n", options.defProfImg.c_str()); + printf ("Default profile for non-raw images \"%s\" found\n", options.defProfImg.c_str()); } } else { if (options.rtSettings.verbose) { - printf ("Images' default profile \"%s\" not found or not set -> using Internal values\n", options.defProfImg.c_str()); + printf ("Default profile for non-raw images \"%s\" not found or not set -> using Internal values\n", options.defProfImg.c_str()); } options.defProfImg = DEFPROFILE_INTERNAL; diff --git a/rtgui/options.h b/rtgui/options.h index 631a22fe4..d2c1bc5f3 100644 --- a/rtgui/options.h +++ b/rtgui/options.h @@ -32,9 +32,9 @@ // Default bundled profile name to use for Raw images #ifdef WIN32 -#define DEFPROFILE_RAW "${G}\\Default" +#define DEFPROFILE_RAW "${G}\\Auto-Matched Curve - ISO Low" #else -#define DEFPROFILE_RAW "${G}/Default" +#define DEFPROFILE_RAW "${G}/Auto-Matched Curve - ISO Low" #endif // Default bundled profile name to use for Standard images #define DEFPROFILE_IMG "Neutral"