Film negative processing: first usable version. Only supports bayer raw files, thumbnails don't work

Added performance improvements suggested by heckflosse. Lowered median sampling step from 7 to 5 since calculation is now much faster.

Added support for Fuji X-Trans raw files.

Applied SSE2 patch provided by @heckflosse, improves performance in main processing loop.

Moved film negative processing stuff in its own compilation unit.

Code cleanup: removed redundant omp directives.

Added check for dead pixels, going above threshold after inversion. ST_BAYER only for now.

Reverted leftover hack in cropwindow.cc
This commit is contained in:
rom9
2019-06-04 21:31:03 +02:00
parent 3b19b9f55b
commit 9df8008949
32 changed files with 1033 additions and 2 deletions

View File

@@ -1501,6 +1501,23 @@ struct RAWParams {
static Glib::ustring getFlatFieldBlurTypeString(FlatFieldBlurType type);
};
/**
* Parameters of film negative
*/
struct FilmNegativeParams {
bool enabled;
double redExp;
double greenExp;
double blueExp;
FilmNegativeParams();
bool operator ==(const FilmNegativeParams& other) const;
bool operator !=(const FilmNegativeParams& other) const;
};
/**
* This class holds all the processing parameters applied on the images
*/
@@ -1559,6 +1576,8 @@ public:
ExifPairs exif; ///< List of modifications appplied on the exif tags of the input image
IPTCPairs iptc; ///< The IPTC tags and values to be saved to the output image
FilmNegativeParams filmNegative; ///< Film negative parameters
/**
* The constructor only sets the hand-wired defaults.
*/