merge with dev
This commit is contained in:
commit
7c79cc7184
@ -195,7 +195,7 @@ CJSON_PUBLIC(cJSON *) cJSON_CreateObject(void);
|
|||||||
/* Create a string where valuestring references a string so
|
/* Create a string where valuestring references a string so
|
||||||
* it will not be freed by cJSON_Delete */
|
* it will not be freed by cJSON_Delete */
|
||||||
CJSON_PUBLIC(cJSON *) cJSON_CreateStringReference(const char *string);
|
CJSON_PUBLIC(cJSON *) cJSON_CreateStringReference(const char *string);
|
||||||
/* Create an object/arrray that only references it's elements so
|
/* Create an object/array that only references it's elements so
|
||||||
* they will not be freed by cJSON_Delete */
|
* they will not be freed by cJSON_Delete */
|
||||||
CJSON_PUBLIC(cJSON *) cJSON_CreateObjectReference(const cJSON *child);
|
CJSON_PUBLIC(cJSON *) cJSON_CreateObjectReference(const cJSON *child);
|
||||||
CJSON_PUBLIC(cJSON *) cJSON_CreateArrayReference(const cJSON *child);
|
CJSON_PUBLIC(cJSON *) cJSON_CreateArrayReference(const cJSON *child);
|
||||||
|
@ -253,7 +253,7 @@ CameraConst::parseEntry(void *cJSON_, const char *make_model)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (i % 4 != 0) {
|
if (i % 4 != 0) {
|
||||||
fprintf(stderr, "\"masked_areas\" array length must be divisable by 4\n");
|
fprintf(stderr, "\"masked_areas\" array length must be divisible by 4\n");
|
||||||
goto parse_error;
|
goto parse_error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1382,7 +1382,7 @@ public:
|
|||||||
* @param HH hue before [-PI ; +PI]
|
* @param HH hue before [-PI ; +PI]
|
||||||
* @param Chprov1 chroma after [0 ; 180 (can be superior)]
|
* @param Chprov1 chroma after [0 ; 180 (can be superior)]
|
||||||
* @param CC chroma before [0 ; 180]
|
* @param CC chroma before [0 ; 180]
|
||||||
* @param corectionHuechroma hue correction depending on chromaticity (saturation), in radians [0 ; 0.45] (return value)
|
* @param correctionHueChroma hue correction depending on chromaticity (saturation), in radians [0 ; 0.45] (return value)
|
||||||
* @param correctlum hue correction depending on luminance (brightness, contrast,...), in radians [0 ; 0.45] (return value)
|
* @param correctlum hue correction depending on luminance (brightness, contrast,...), in radians [0 ; 0.45] (return value)
|
||||||
* @param munsDbgInfo (Debug target only) object to collect information
|
* @param munsDbgInfo (Debug target only) object to collect information
|
||||||
*/
|
*/
|
||||||
|
@ -4433,6 +4433,10 @@ void CLASS foveon_interpolate()
|
|||||||
|
|
||||||
void CLASS crop_masked_pixels()
|
void CLASS crop_masked_pixels()
|
||||||
{
|
{
|
||||||
|
if (data_error) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
int row, col;
|
int row, col;
|
||||||
unsigned r, c, m, mblack[8], zero, val;
|
unsigned r, c, m, mblack[8], zero, val;
|
||||||
|
|
||||||
|
@ -5725,7 +5725,7 @@ void ImProcFunctions::getAutoExp(const LUTu &histogram, int histcompr, double cl
|
|||||||
|
|
||||||
whiteclipg = CurveFactory::igamma2((float)(whiteclipg / 65535.0)) * 65535.0; //need to inverse gamma transform to get correct exposure compensation parameter
|
whiteclipg = CurveFactory::igamma2((float)(whiteclipg / 65535.0)) * 65535.0; //need to inverse gamma transform to get correct exposure compensation parameter
|
||||||
|
|
||||||
//corection with gamma
|
//correction with gamma
|
||||||
black = (int)((65535 * black) / whiteclipg);
|
black = (int)((65535 * black) / whiteclipg);
|
||||||
//expcomp = log(65535.0 / (whiteclipg)) / log(2.0);
|
//expcomp = log(65535.0 / (whiteclipg)) / log(2.0);
|
||||||
|
|
||||||
|
@ -1492,9 +1492,9 @@ void CropWindow::expose (Cairo::RefPtr<Cairo::Context> cr)
|
|||||||
const float kernel_size2 = SQR(2.f * blur_radius2 + 1.f); // count of pixels in the small blur kernel
|
const float kernel_size2 = SQR(2.f * blur_radius2 + 1.f); // count of pixels in the small blur kernel
|
||||||
const float rkernel_size2 = 1.0f / kernel_size2; // reciprocal of kernel_size to avoid divisions
|
const float rkernel_size2 = 1.0f / kernel_size2; // reciprocal of kernel_size to avoid divisions
|
||||||
|
|
||||||
// aloocate buffer for precalculated Luminance
|
// allocate buffer for precalculated Luminance
|
||||||
float* tmpL = (float*)malloc(bHeight * bWidth * sizeof(float) );
|
float* tmpL = (float*)malloc(bHeight * bWidth * sizeof(float) );
|
||||||
// aloocate buffers for sums and sums of squares of small kernel
|
// allocate buffers for sums and sums of squares of small kernel
|
||||||
float* tmpLsum = (float*)malloc((bHeight) * (bWidth) * sizeof(float) );
|
float* tmpLsum = (float*)malloc((bHeight) * (bWidth) * sizeof(float) );
|
||||||
float* tmpLsumSq = (float*)malloc((bHeight) * (bWidth) * sizeof(float) );
|
float* tmpLsumSq = (float*)malloc((bHeight) * (bWidth) * sizeof(float) );
|
||||||
float* tmpstdDev2 = (float*)malloc((bHeight) * (bWidth) * sizeof(float) );
|
float* tmpstdDev2 = (float*)malloc((bHeight) * (bWidth) * sizeof(float) );
|
||||||
@ -1631,7 +1631,7 @@ void CropWindow::expose (Cairo::RefPtr<Cairo::Context> cr)
|
|||||||
&& stdDev_L2 > stdDev_L //this is the key to select fine detail within lower contrast on larger scale
|
&& stdDev_L2 > stdDev_L //this is the key to select fine detail within lower contrast on larger scale
|
||||||
&& stdDev_L > focus_threshby10 //options.highlightThreshold
|
&& stdDev_L > focus_threshby10 //options.highlightThreshold
|
||||||
) {
|
) {
|
||||||
// transpareny depends on sdtDev_L2 and maxstdDev_L2
|
// transparency depends on sdtDev_L2 and maxstdDev_L2
|
||||||
float transparency = 1.f - std::min(stdDev_L2 / maxstdDev_L2, 1.0f) ;
|
float transparency = 1.f - std::min(stdDev_L2 / maxstdDev_L2, 1.0f) ;
|
||||||
// first row of circle
|
// first row of circle
|
||||||
guint8* currtmp = &curr[0] + (-3 * pixRowStride);
|
guint8* currtmp = &curr[0] + (-3 * pixRowStride);
|
||||||
|
@ -55,7 +55,7 @@ class RTSurface;
|
|||||||
* - drag1
|
* - drag1
|
||||||
* - button1Released
|
* - button1Released
|
||||||
*
|
*
|
||||||
* Actually, only curves does use this class, and everything is handled for curve implementor (as much as possible).
|
* Actually, only curves does use this class, and everything is handled for curve implementer (as much as possible).
|
||||||
* See the curve's class documentation to see how to implement the curve's pipette feature.
|
* See the curve's class documentation to see how to implement the curve's pipette feature.
|
||||||
*
|
*
|
||||||
* ### Event handling
|
* ### Event handling
|
||||||
|
@ -229,7 +229,7 @@ Glib::ustring Options::getPreferredProfilePath()
|
|||||||
*
|
*
|
||||||
*@param profName path + filename of the procparam to look for. A filename without path can be provided for backward compatibility.
|
*@param profName path + filename of the procparam to look for. A filename without path can be provided for backward compatibility.
|
||||||
* In this case, this parameter will be updated with the new format.
|
* In this case, this parameter will be updated with the new format.
|
||||||
*@return Send back the absolute path of the given filename or "Neutral" if "Neutral" has been set to profName. Implementor will have
|
*@return Send back the absolute path of the given filename or "Neutral" if "Neutral" has been set to profName. Implementer will have
|
||||||
* to test for this particular value. If the absolute path is invalid (e.g. the file doesn't exist), it will return an empty string.
|
* to test for this particular value. If the absolute path is invalid (e.g. the file doesn't exist), it will return an empty string.
|
||||||
*/
|
*/
|
||||||
Glib::ustring Options::findProfilePath(Glib::ustring &profName)
|
Glib::ustring Options::findProfilePath(Glib::ustring &profName)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user