Changes to black compression and saturation controls. Black compression from 0-50 acts the same as 0-100 on the previous version, compressing dark tones without crushing blacks. 50-100 then starts crushing blacks until by 100 on the slider, all tones up to the set black point are sent to zero. In the new saturation control, negative values of the slider set a linear curve rather than an inverted S curve, and smoothly decrease saturation to zero across the board.

This commit is contained in:
Emil Martinec
2010-10-26 22:59:18 -05:00
commit 926056c2c2
620 changed files with 130476 additions and 0 deletions

49
winclude/common.h Executable file
View File

@@ -0,0 +1,49 @@
#ifndef _COMMON_
#define _COMMON_
#define ISRED(image,row,col) \
((image->filters >> ((((row) << 1 & 14) + ((col) & 1)) << 1) & 3)==0)
#define ISGREEN(image,row,col) \
((image->filters >> ((((row) << 1 & 14) + ((col) & 1)) << 1) & 3)==1)
#define ISBLUE(image,row,col) \
((image->filters >> ((((row) << 1 & 14) + ((col) & 1)) << 1) & 3)==2)
#define CMAXVAL 65535
#include <time.h>
struct RawImage {
int width;
int height;
unsigned filters;
double red_multiplier;
double green_multiplier;
double blue_multiplier;
double camwb_red;
double camwb_green;
double camwb_blue;
int blackpoint;
int rgb_max;
int rotate_deg;
int fuji_width;
struct tm* time;
float iso_speed, aperture, focal_len, shutter;
char *make, *model;
int exifbase, exiflocation, exiforder;
unsigned short** data; // holds pixel values, data[i][j] corresponds to the ith row and jth column
float coeff[3][4];
float icoeff[3][4];
};
#endif