Issue 2007 (aperture scaling for raw files): committed work in progress. Works, but may be further tuned after more discussion.

This commit is contained in:
torger
2013-10-21 19:04:57 +02:00
parent b341a56f42
commit de17d4722a
4 changed files with 373 additions and 55 deletions

View File

@@ -17,20 +17,23 @@ class CameraConst {
private:
Glib::ustring make_model;
short dcraw_matrix[12];
int white_max;
std::map<int, struct camera_const_levels> mLevels[2];
std::map<float, float> mApertureScaling;
CameraConst();
~CameraConst();
static bool parseLevels(CameraConst *cc, int bw, void *ji);
const struct camera_const_levels *get_Levels(int bw, int iso);
static bool parseLevels(CameraConst *cc, int bw, void *ji);
static bool parseApertureScaling(CameraConst *cc, void *ji);
bool get_Levels(struct camera_const_levels & lvl, int bw, int iso, float fnumber);
public:
static CameraConst *parseEntry(void *cJSON);
bool has_dcrawMatrix(void);
void update_dcrawMatrix(const short *other);
const short *get_dcrawMatrix(void);
int get_BlackLevel(int idx, int iso_speed);
int get_WhiteLevel(int idx, int iso_speed);
int get_BlackLevel(int idx, int iso_speed, float fnumber);
int get_WhiteLevel(int idx, int iso_speed, float fnumber);
void update_Levels(const CameraConst *other);
};