Fix #3259, RT fails with ASan

When compiling RT with `-fsanitize=address` it fails early in
`Options::setDefaults()`. To fix it, initialize `baBehav` directly as
permitted with C++11. As a bonus, I converted `addsetids.h` from
defines to an enum.
This commit is contained in:
Flössie
2016-04-20 20:29:51 +02:00
parent f7af57d11e
commit 296919eb2b
2 changed files with 220 additions and 222 deletions

View File

@@ -4,119 +4,119 @@
// UPDATE THE DEFAULT VALUE IN OPTIONS.CC int babehav[] TOO !!!
enum {
ADDSET_TC_EXPCOMP,
ADDSET_TC_BRIGHTNESS,
ADDSET_TC_BLACKLEVEL,
ADDSET_TC_CONTRAST,
ADDSET_SH_HIGHLIGHTS,
ADDSET_SH_SHADOWS,
ADDSET_SH_LOCALCONTRAST,
ADDSET_LC_BRIGHTNESS,
ADDSET_LC_CONTRAST,
ADDSET_SHARP_AMOUNT,
ADDSET_WB_TEMPERATURE,
ADDSET_WB_GREEN,
ADDSET_ROTATE_DEGREE,
ADDSET_DIST_AMOUNT,
ADDSET_PERSPECTIVE,
ADDSET_CA,
ADDSET_VIGN_AMOUNT,
ADDSET_VIGN_RADIUS,
ADDSET_VIGN_STRENGTH,
ADDSET_VIGN_CENTER,
ADDSET_LC_CHROMATICITY,
ADDSET_TC_SATURATION,
ADDSET_TC_HLCOMPAMOUNT,
ADDSET_TC_HLCOMPTHRESH,
ADDSET_TC_SHCOMP,
ADDSET_DIRPYREQ,
ADDSET_DIRPYRDN_LUMA,
ADDSET_DIRPYRDN_LUMDET,
ADDSET_DIRPYRDN_CHROMA,
ADDSET_DIRPYRDN_CHROMARED,
ADDSET_DIRPYRDN_CHROMABLUE,
ADDSET_DIRPYRDN_GAMMA,
ADDSET_CHMIXER,
ADDSET_PREPROCESS_GREENEQUIL,
ADDSET_PREPROCESS_LINEDENOISE,
ADDSET_RAWCACORR,
ADDSET_RAWEXPOS_LINEAR,
ADDSET_RAWEXPOS_PRESER,
ADDSET_RAWEXPOS_BLACKS,
ADDSET_SHARPENEDGE_AMOUNT,
ADDSET_SHARPENMICRO_AMOUNT,
ADDSET_SHARPENEDGE_PASS,
ADDSET_SHARPENMICRO_UNIFORMITY,
ADDSET_VIBRANCE_PASTELS,
ADDSET_VIBRANCE_SATURATED,
ADDSET_FREE_OUPUT_GAMMA,
ADDSET_FREE_OUTPUT_SLOPE,
ADDSET_CAT_DEGREE,
ADDSET_CAT_ADAPTSCENE,
ADDSET_CAT_ADAPTVIEWING,
ADDSET_CAT_LIGHT,
ADDSET_CAT_CHROMA,
ADDSET_CAT_CONTRAST,
ADDSET_CAT_RSTPRO,
ADDSET_CAT_BRIGHT,
ADDSET_CAT_CONTRAST_Q,
ADDSET_CAT_CHROMA_S,
ADDSET_CAT_CHROMA_M,
ADDSET_CAT_HUE,
ADDSET_CAT_BADPIX,
ADDSET_WB_EQUAL,
ADDSET_GRADIENT_DEGREE,
ADDSET_GRADIENT_FEATHER,
ADDSET_GRADIENT_STRENGTH,
ADDSET_GRADIENT_CENTER,
ADDSET_PCVIGNETTE_STRENGTH,
ADDSET_PCVIGNETTE_FEATHER,
ADDSET_PCVIGNETTE_ROUNDNESS,
ADDSET_BLACKWHITE_HUES,
ADDSET_BLACKWHITE_GAMMA,
ADDSET_DIRPYREQ_THRESHOLD,
ADDSET_DIRPYREQ_SKINPROTECT,
ADDSET_COLORTONING_SPLIT,
ADDSET_COLORTONING_SATTHRESHOLD,
ADDSET_COLORTONING_SATOPACITY,
ADDSET_COLORTONING_BALANCE,
ADDSET_COLORTONING_STRENGTH,
ADDSET_DIRPYRDN_PASSES,
ADDSET_RAWFFCLIPCONTROL,
ADDSET_FILMSIMULATION_STRENGTH,
ADDSET_WA,
ADDSET_WA_SKINPROTECT,
ADDSET_WA_THRR,
ADDSET_WA_THRRH,
ADDSET_WA_THRES,
ADDSET_WA_THRESHOLD,
ADDSET_WA_THRESHOLD2,
ADDSET_WA_CHRO,
ADDSET_WA_CHROMA,
ADDSET_WA_CONTRAST,
ADDSET_WA_RESCON,
ADDSET_WA_RESCONH,
ADDSET_WA_RESCHRO,
ADDSET_WA_SKYPROTECT,
ADDSET_WA_EDGRAD,
ADDSET_WA_EDGVAL,
ADDSET_WA_STRENGTH,
ADDSET_WA_EDGEDETECT,
ADDSET_WA_EDGEDETECTTHR,
ADDSET_WA_EDGEDETECTTHR2,
ADDSET_WA_TMRS,
ADDSET_WA_GAMMA,
ADDSET_RETI_STR,
ADDSET_RETI_NEIGH,
ADDSET_RETI_LIMD,
ADDSET_RETI_GAIN,
ADDSET_RETI_OFFS,
ADDSET_RETI_VART,
ADDSET_RETI_GAM,
ADDSET_RETI_SLO,
#define ADDSET_TC_EXPCOMP 0
#define ADDSET_TC_BRIGHTNESS 1
#define ADDSET_TC_BLACKLEVEL 2
#define ADDSET_TC_CONTRAST 3
#define ADDSET_SH_HIGHLIGHTS 4
#define ADDSET_SH_SHADOWS 5
#define ADDSET_SH_LOCALCONTRAST 6
#define ADDSET_LC_BRIGHTNESS 7
#define ADDSET_LC_CONTRAST 8
#define ADDSET_SHARP_AMOUNT 9
#define ADDSET_WB_TEMPERATURE 10
#define ADDSET_WB_GREEN 11
#define ADDSET_ROTATE_DEGREE 12
#define ADDSET_DIST_AMOUNT 13
#define ADDSET_PERSPECTIVE 14
#define ADDSET_CA 15
#define ADDSET_VIGN_AMOUNT 16
#define ADDSET_VIGN_RADIUS 17
#define ADDSET_VIGN_STRENGTH 18
#define ADDSET_VIGN_CENTER 19
#define ADDSET_LC_CHROMATICITY 20
#define ADDSET_TC_SATURATION 21
#define ADDSET_TC_HLCOMPAMOUNT 22
#define ADDSET_TC_HLCOMPTHRESH 23
#define ADDSET_TC_SHCOMP 24
#define ADDSET_DIRPYREQ 25
#define ADDSET_DIRPYRDN_LUMA 26
#define ADDSET_DIRPYRDN_LUMDET 27
#define ADDSET_DIRPYRDN_CHROMA 28
#define ADDSET_DIRPYRDN_CHROMARED 29
#define ADDSET_DIRPYRDN_CHROMABLUE 30
#define ADDSET_DIRPYRDN_GAMMA 31
#define ADDSET_CHMIXER 32
#define ADDSET_PREPROCESS_GREENEQUIL 33
#define ADDSET_PREPROCESS_LINEDENOISE 34
#define ADDSET_RAWCACORR 35
#define ADDSET_RAWEXPOS_LINEAR 36
#define ADDSET_RAWEXPOS_PRESER 37
#define ADDSET_RAWEXPOS_BLACKS 38
#define ADDSET_SHARPENEDGE_AMOUNT 39
#define ADDSET_SHARPENMICRO_AMOUNT 40
#define ADDSET_SHARPENEDGE_PASS 41
#define ADDSET_SHARPENMICRO_UNIFORMITY 42
#define ADDSET_VIBRANCE_PASTELS 43
#define ADDSET_VIBRANCE_SATURATED 44
#define ADDSET_FREE_OUPUT_GAMMA 45
#define ADDSET_FREE_OUTPUT_SLOPE 46
#define ADDSET_CAT_DEGREE 47
#define ADDSET_CAT_ADAPTSCENE 48
#define ADDSET_CAT_ADAPTVIEWING 49
#define ADDSET_CAT_LIGHT 50
#define ADDSET_CAT_CHROMA 51
#define ADDSET_CAT_CONTRAST 52
#define ADDSET_CAT_RSTPRO 53
#define ADDSET_CAT_BRIGHT 54
#define ADDSET_CAT_CONTRAST_Q 55
#define ADDSET_CAT_CHROMA_S 56
#define ADDSET_CAT_CHROMA_M 57
#define ADDSET_CAT_HUE 58
#define ADDSET_CAT_BADPIX 59
#define ADDSET_WB_EQUAL 60
#define ADDSET_GRADIENT_DEGREE 61
#define ADDSET_GRADIENT_FEATHER 62
#define ADDSET_GRADIENT_STRENGTH 63
#define ADDSET_GRADIENT_CENTER 64
#define ADDSET_PCVIGNETTE_STRENGTH 65
#define ADDSET_PCVIGNETTE_FEATHER 66
#define ADDSET_PCVIGNETTE_ROUNDNESS 67
#define ADDSET_BLACKWHITE_HUES 68
#define ADDSET_BLACKWHITE_GAMMA 69
#define ADDSET_DIRPYREQ_THRESHOLD 70
#define ADDSET_DIRPYREQ_SKINPROTECT 71
#define ADDSET_COLORTONING_SPLIT 72
#define ADDSET_COLORTONING_SATTHRESHOLD 73
#define ADDSET_COLORTONING_SATOPACITY 74
#define ADDSET_COLORTONING_BALANCE 75
#define ADDSET_COLORTONING_STRENGTH 76
#define ADDSET_DIRPYRDN_PASSES 77
#define ADDSET_RAWFFCLIPCONTROL 78
#define ADDSET_FILMSIMULATION_STRENGTH 79
#define ADDSET_WA 80
#define ADDSET_WA_SKINPROTECT 81
#define ADDSET_WA_THRR 82
#define ADDSET_WA_THRRH 83
#define ADDSET_WA_THRES 84
#define ADDSET_WA_THRESHOLD 85
#define ADDSET_WA_THRESHOLD2 86
#define ADDSET_WA_CHRO 87
#define ADDSET_WA_CHROMA 88
#define ADDSET_WA_CONTRAST 89
#define ADDSET_WA_RESCON 90
#define ADDSET_WA_RESCONH 91
#define ADDSET_WA_RESCHRO 92
#define ADDSET_WA_SKYPROTECT 93
#define ADDSET_WA_EDGRAD 94
#define ADDSET_WA_EDGVAL 95
#define ADDSET_WA_STRENGTH 96
#define ADDSET_WA_EDGEDETECT 97
#define ADDSET_WA_EDGEDETECTTHR 98
#define ADDSET_WA_EDGEDETECTTHR2 99
#define ADDSET_WA_TMRS 100
#define ADDSET_WA_GAMMA 101
#define ADDSET_RETI_STR 102
#define ADDSET_RETI_NEIGH 103
#define ADDSET_RETI_LIMD 104
#define ADDSET_RETI_GAIN 105
#define ADDSET_RETI_OFFS 106
#define ADDSET_RETI_VART 107
#define ADDSET_RETI_GAM 108
#define ADDSET_RETI_SLO 109
// When adding items, make sure to update ADDSET_PARAM_NUM
#define ADDSET_PARAM_NUM 110 // THIS IS USED AS A DELIMITER!!
ADDSET_PARAM_NUM // THIS IS USED AS A DELIMITER!!
};
#endif

View File

@@ -498,116 +498,114 @@ void Options::setDefaults ()
#endif
// Reminder: 0 = SET mode, 1 = ADD mode
int babehav[] = {
0, // ADDSET_TC_EXPCOMP
0, // ADDSET_TC_BRIGHTNESS
0, // ADDSET_TC_BLACKLEVEL
0, // ADDSET_TC_CONTRAST
0, // ADDSET_SH_HIGHLIGHTS
0, // ADDSET_SH_SHADOWS
0, // ADDSET_SH_LOCALCONTRAST
0, // ADDSET_LC_BRIGHTNESS
0, // ADDSET_LC_CONTRAST
0, // ADDSET_SHARP_AMOUNT
0, // ADDSET_WB_TEMPERATURE
0, // ADDSET_WB_GREEN
0, // ADDSET_ROTATE_DEGREE
0, // ADDSET_DIST_AMOUNT
0, // ADDSET_PERSPECTIVE
0, // ADDSET_CA
0, // ADDSET_VIGN_AMOUNT
0, // ADDSET_VIGN_RADIUS
0, // ADDSET_VIGN_STRENGTH
0, // ADDSET_VIGN_CENTER
0, // ADDSET_LC_CHROMATICITY
0, // ADDSET_TC_SATURATION
0, // ADDSET_TC_HLCOMPAMOUNT
0, // ADDSET_TC_HLCOMPTHRESH
0, // ADDSET_TC_SHCOMP
0, // ADDSET_DIRPYREQ
0, // ADDSET_DIRPYRDN_LUMA
0, // ADDSET_DIRPYRDN_LUDET
0, // ADDSET_DIRPYRDN_CHROMA
0, // ADDSET_DIRPYRDN_CHROMARED
0, // ADDSET_DIRPYRDN_CHROMABLUE
0, // ADDSET_DIRPYRDN_GAMMA
0, // ADDSET_CHMIXER
0, // ADDSET_PREPROCESS_GREENEQUIL
0, // ADDSET_PREPROCESS_LINEDENOISE
0, // ADDSET_RAWCACORR
0, // ADDSET_RAWEXPOS_LINEAR
0, // ADDSET_RAWEXPOS_PRESER
0, // ADDSET_RAWEXPOS_BLACKS
0, // ADDSET_SHARPENEDGE_AMOUNT
0, // ADDSET_SHARPENMICRO_AMOUNT
0, // ADDSET_SHARPENEDGE_PASS
0, // ADDSET_SHARPENMICRO_UNIFORMITY
0, // ADDSET_VIBRANCE_PASTELS
0, // ADDSET_VIBRANCE_SATURATED
0, // ADDSET_FREE_OUPUT_GAMMA
0, // ADDSET_FREE_OUTPUT_SLOPE
0, // ADDSET_CAT_DEGREE
0, // ADDSET_CAT_ADAPSCEN
0, // ADDSET_CAT_ADAPLUM
0, // ADDSET_CAT_LIGHT
0, // ADDSET_CAT_RSTPRO
0, // ADDSET_CAT_BADPIX
0, // ADDSET_CAT_JLIGHT
0, // ADDSET_CAT_CHROMA
0, // ADDSET_CAT_CONTRAST
0, // ADDSET_CAT_CHROMA_S
0, // ADDSET_CAT_CHROMA_M
0, // ADDSET_CAT_HUE
0, // ADDSET_CAT_BADPIX
0, // ADDSET_WB_EQUAL
0, // ADDSET_GRADIENT_DEGREE
0, // ADDSET_GRADIENT_FEATHER
0, // ADDSET_GRADIENT_STRENGTH
0, // ADDSET_GRADIENT_CENTER
0, // ADDSET_PCVIGNETTE_STRENGTH
0, // ADDSET_PCVIGNETTE_FEATHER
0, // ADDSET_PCVIGNETTE_ROUNDNESS
0, // ADDSET_BLACKWHITE_HUES
0, // ADDSET_BLACKWHITE_GAMMA
0, // ADDSET_DIRPYREQ_THRESHOLD
0, // ADDSET_DIRPYREQ_SKINPROTECT
0, // ADDSET_COLORTONING_SPLIT
0, //ADDSET_DIRPYRDN_PASSES
0, // ADDSET_RAWFFCLIPCONTROL
0, // ADDSET_FILMSIMULATION_STRENGTH
0, //ADDSET_WA
0, //ADDSET_WA_THRESHOLD
0, //ADDSET_WA_THRESHOLD2
0, //ADDSET_WA_THRES
0, //ADDSET_WA_CHRO
0, //ADDSET_WA_CHROMA
0, //ADDSET_WA_CONTRAST
0, //ADDSET_WA_SKINPROTECT
0, //ADDSET_WA_RESCHRO
0, //ADDSET_WA_RESCON
0, //ADDSET_WA_RESCONH
0, //ADDSET_WA_THRR
0, //ADDSET_WA_THRRH
0, //ADDSET_WA_SKYPROTECT
0, //ADDSET_WA_EDGRAD
0, //ADDSET_WA_EDGVAL
0, //ADDSET_WA_STRENGTH
0, //ADDSET_WA_EDGEDETECT
0, //ADDSET_WA_EDGEDETECTTHR
0, //ADDSET_WA_EDGEDETECTTHR2
0, //ADDSET_WA_TMRS
0, //ADDSET_WA_GAMMA
0, //ADDSET_RETI_STR
0, //ADDSET_RETI_NEIGH
0, //ADDSET_RETI_LIMD
0, //ADDSET_RETI_GAIN
0, //ADDSET_RETI_OFFS
0, //ADDSET_RETI_VART
0, //ADDSET_RETI_GAM
0, //ADDSET_RETI_SLO
baBehav = {
0, // ADDSET_TC_EXPCOMP
0, // ADDSET_TC_BRIGHTNESS
0, // ADDSET_TC_BLACKLEVEL
0, // ADDSET_TC_CONTRAST
0, // ADDSET_SH_HIGHLIGHTS
0, // ADDSET_SH_SHADOWS
0, // ADDSET_SH_LOCALCONTRAST
0, // ADDSET_LC_BRIGHTNESS
0, // ADDSET_LC_CONTRAST
0, // ADDSET_SHARP_AMOUNT
0, // ADDSET_WB_TEMPERATURE
0, // ADDSET_WB_GREEN
0, // ADDSET_ROTATE_DEGREE
0, // ADDSET_DIST_AMOUNT
0, // ADDSET_PERSPECTIVE
0, // ADDSET_CA
0, // ADDSET_VIGN_AMOUNT
0, // ADDSET_VIGN_RADIUS
0, // ADDSET_VIGN_STRENGTH
0, // ADDSET_VIGN_CENTER
0, // ADDSET_LC_CHROMATICITY
0, // ADDSET_TC_SATURATION
0, // ADDSET_TC_HLCOMPAMOUNT
0, // ADDSET_TC_HLCOMPTHRESH
0, // ADDSET_TC_SHCOMP
0, // ADDSET_DIRPYREQ
0, // ADDSET_DIRPYRDN_LUMA
0, // ADDSET_DIRPYRDN_LUDET
0, // ADDSET_DIRPYRDN_CHROMA
0, // ADDSET_DIRPYRDN_CHROMARED
0, // ADDSET_DIRPYRDN_CHROMABLUE
0, // ADDSET_DIRPYRDN_GAMMA
0, // ADDSET_CHMIXER
0, // ADDSET_PREPROCESS_GREENEQUIL
0, // ADDSET_PREPROCESS_LINEDENOISE
0, // ADDSET_RAWCACORR
0, // ADDSET_RAWEXPOS_LINEAR
0, // ADDSET_RAWEXPOS_PRESER
0, // ADDSET_RAWEXPOS_BLACKS
0, // ADDSET_SHARPENEDGE_AMOUNT
0, // ADDSET_SHARPENMICRO_AMOUNT
0, // ADDSET_SHARPENEDGE_PASS
0, // ADDSET_SHARPENMICRO_UNIFORMITY
0, // ADDSET_VIBRANCE_PASTELS
0, // ADDSET_VIBRANCE_SATURATED
0, // ADDSET_FREE_OUPUT_GAMMA
0, // ADDSET_FREE_OUTPUT_SLOPE
0, // ADDSET_CAT_DEGREE
0, // ADDSET_CAT_ADAPSCEN
0, // ADDSET_CAT_ADAPLUM
0, // ADDSET_CAT_LIGHT
0, // ADDSET_CAT_RSTPRO
0, // ADDSET_CAT_BADPIX
0, // ADDSET_CAT_JLIGHT
0, // ADDSET_CAT_CHROMA
0, // ADDSET_CAT_CONTRAST
0, // ADDSET_CAT_CHROMA_S
0, // ADDSET_CAT_CHROMA_M
0, // ADDSET_CAT_HUE
0, // ADDSET_CAT_BADPIX
0, // ADDSET_WB_EQUAL
0, // ADDSET_GRADIENT_DEGREE
0, // ADDSET_GRADIENT_FEATHER
0, // ADDSET_GRADIENT_STRENGTH
0, // ADDSET_GRADIENT_CENTER
0, // ADDSET_PCVIGNETTE_STRENGTH
0, // ADDSET_PCVIGNETTE_FEATHER
0, // ADDSET_PCVIGNETTE_ROUNDNESS
0, // ADDSET_BLACKWHITE_HUES
0, // ADDSET_BLACKWHITE_GAMMA
0, // ADDSET_DIRPYREQ_THRESHOLD
0, // ADDSET_DIRPYREQ_SKINPROTECT
0, // ADDSET_COLORTONING_SPLIT
0, // ADDSET_DIRPYRDN_PASSES
0, // ADDSET_RAWFFCLIPCONTROL
0, // ADDSET_FILMSIMULATION_STRENGTH
0, // ADDSET_WA
0, // ADDSET_WA_THRESHOLD
0, // ADDSET_WA_THRESHOLD2
0, // ADDSET_WA_THRES
0, // ADDSET_WA_CHRO
0, // ADDSET_WA_CHROMA
0, // ADDSET_WA_CONTRAST
0, // ADDSET_WA_SKINPROTECT
0, // ADDSET_WA_RESCHRO
0, // ADDSET_WA_RESCON
0, // ADDSET_WA_RESCONH
0, // ADDSET_WA_THRR
0, // ADDSET_WA_THRRH
0, // ADDSET_WA_SKYPROTECT
0, // ADDSET_WA_EDGRAD
0, // ADDSET_WA_EDGVAL
0, // ADDSET_WA_STRENGTH
0, // ADDSET_WA_EDGEDETECT
0, // ADDSET_WA_EDGEDETECTTHR
0, // ADDSET_WA_EDGEDETECTTHR2
0, // ADDSET_WA_TMRS
0, // ADDSET_WA_GAMMA
0, // ADDSET_RETI_STR
0, // ADDSET_RETI_NEIGH
0, // ADDSET_RETI_LIMD
0, // ADDSET_RETI_GAIN
0, // ADDSET_RETI_OFFS
0, // ADDSET_RETI_VART
0, // ADDSET_RETI_GAM
0, // ADDSET_RETI_SLO
};
baBehav = std::vector<int> (babehav, babehav + ADDSET_PARAM_NUM);
rtSettings.darkFramesPath = "";
rtSettings.flatFieldsPath = "";