diff options
Diffstat (limited to 'backend/canon_dr.h')
| -rw-r--r-- | backend/canon_dr.h | 23 | 
1 files changed, 19 insertions, 4 deletions
| diff --git a/backend/canon_dr.h b/backend/canon_dr.h index 4ffb360..a945d00 100644 --- a/backend/canon_dr.h +++ b/backend/canon_dr.h @@ -167,11 +167,21 @@ struct scanner    int max_y_fb;    int can_color;     /* actually might be in vpd, but which bit? */ +    int need_ccal;     /* scanner needs software to help with afe calibration */ -  int need_fcal;     /* scanner needs software to help with fine calibration */ -  int need_fcal_buffer; /* software to apply calibration stored in scanner*/    int ccal_version;  /* 0 in most scanners, 3 in newer ones */ +  int fcal_src;      /* where fine offset/gain calibration data comes from */ +  int fcal_dest;     /* where fine offset/gain calibration data is used */ + +#define FCAL_SRC_NONE 0  /* scanner does not require fine calibration */ +#define FCAL_SRC_SCAN 1  /* make calibration scans, store gain/offset in struct */ +#define FCAL_SRC_HW 2    /* calibration permanently stored in scanner, downloaded into struct */ + +#define FCAL_DEST_NONE 0 /* scanner does not require fine calibration */ +#define FCAL_DEST_SW 1   /* use gain/offset in struct to adjust output in software */ +#define FCAL_DEST_HW 2   /* send calibration data into scanner for use in hardware */ +    int has_counter;    int has_rif;    int has_adf; @@ -304,7 +314,7 @@ struct scanner    unsigned char lut[256];    /* --------------------------------------------------------------------- */ -  /* values used by the software enhancment code (deskew, crop, etc)       */ +  /* values used by the software enhancement code (deskew, crop, etc)       */    SANE_Status deskew_stat;    int deskew_vals[2];    double deskew_slope; @@ -441,6 +451,7 @@ enum {  #define GRAY_INTERLACE_NONE 0  #define GRAY_INTERLACE_2510 1  #define GRAY_INTERLACE_gG 2 +#define GRAY_INTERLACE_C120 3  #define COLOR_INTERLACE_UNK 0  #define COLOR_INTERLACE_RGB 1 @@ -450,12 +461,14 @@ enum {  #define COLOR_INTERLACE_RRGGBB 5  #define COLOR_INTERLACE_rRgGbB 6  #define COLOR_INTERLACE_2510 7 +#define COLOR_INTERLACE_C120 8  #define DUPLEX_INTERLACE_NONE 0  #define DUPLEX_INTERLACE_FfBb 1  #define DUPLEX_INTERLACE_FBfb 2  #define DUPLEX_INTERLACE_2510 3  #define DUPLEX_INTERLACE_fFBb 4 +#define DUPLEX_INTERLACE_PER_CHANNEL 5  #define JPEG_INTERLACE_ALT 0  #define JPEG_INTERLACE_NONE 1 @@ -609,7 +622,9 @@ static SANE_Status gain_buffers (struct scanner *s, int setup);  static SANE_Status calibrate_AFE(struct scanner *s);  static SANE_Status calibrate_fine(struct scanner *s); -static SANE_Status calibrate_fine_buffer(struct scanner *s); +static SANE_Status calibrate_fine_src_scan(struct scanner *s); +static SANE_Status calibrate_fine_src_hw(struct scanner *s); +static SANE_Status calibrate_fine_dest_hw(struct scanner *s);  static SANE_Status write_AFE (struct scanner *s);  static SANE_Status calibration_scan (struct scanner *s, int); | 
