merge with Dev

This commit is contained in:
Desmis 2018-01-31 08:22:25 +01:00
commit be28b38b3c
15 changed files with 376 additions and 546 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -160,6 +160,8 @@ void RawImageSource::getAutoMatchedToneCurve(std::vector<double> &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<IImage8> source;
{
@ -205,8 +207,15 @@ void RawImageSource::getAutoMatchedToneCurve(std::vector<double> &outCurve)
}
PreviewProps pp(cx, cy, fw, fh, skip);
ColorTemp currWB = getWB();
std::unique_ptr<Imagefloat> 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

View File

@ -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);

View File

@ -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

View File

@ -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;
}

View File

@ -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;

View File

@ -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"