kopia lustrzana https://gitlab.com/sane-project/backends
* backend/genesys.c: Some annotations about endianess of scanned data
* backend/genesys_gl646.c: Convert gamma tables to little endianmerge-requests/1/head
rodzic
385fa20988
commit
50fc452e8b
|
@ -1,3 +1,9 @@
|
|||
2006-03-09 Pierre Willenbrock <pierre@pirsoft.dnsalias.org>
|
||||
|
||||
* backend/genesys.c: Some annotations about endianess of scanned
|
||||
data
|
||||
* backend/genesys_gl646.c: Convert gamma tables to little endian
|
||||
|
||||
2006-03-06 Stéphane Voltz <stefdev@modulonet.fr>
|
||||
|
||||
* backend/genesys_gl646.c: power saving fixes
|
||||
|
|
|
@ -1238,7 +1238,15 @@ sanei_genesys_exposure_time (Genesys_Device * dev, Genesys_Register_Set * reg,
|
|||
|
||||
|
||||
|
||||
/* ? */
|
||||
/* Sends a block of shading information to the scanner.
|
||||
The data is placed at address 0x0000 for color mode, gray mode and
|
||||
unconditionally for the following CCD chips: HP2300, HP2400 and HP5345
|
||||
In the other cases (lineart, halftone on ccd chips not mentioned) the
|
||||
addresses are 0x2a00 for dpihw==0, 0x5500 for dpihw==1 and 0xa800 for
|
||||
dpihw==2. //Note: why this?
|
||||
|
||||
The data needs to be of size "size", and in little endian byte order.
|
||||
*/
|
||||
static SANE_Status
|
||||
genesys_send_offset_and_shading (Genesys_Device * dev, u_int8_t * data,
|
||||
int size)
|
||||
|
@ -2112,7 +2120,9 @@ genesys_coarse_calibration (Genesys_Device * dev)
|
|||
return status;
|
||||
}
|
||||
|
||||
|
||||
/* Averages image data.
|
||||
average_data and calibration_data are little endian 16 bit words.
|
||||
*/
|
||||
static void
|
||||
genesys_average_data (u_int8_t * average_data,
|
||||
u_int8_t * calibration_data, u_int16_t lines,
|
||||
|
@ -2683,7 +2693,7 @@ genesys_send_shading_coefficient (Genesys_Device * dev)
|
|||
{
|
||||
SANE_Status status;
|
||||
u_int16_t pixels_per_line;
|
||||
u_int8_t *shading_data;
|
||||
u_int8_t *shading_data;/*contains 16bit words in little endian*/
|
||||
u_int8_t channels;
|
||||
int x, j, o;
|
||||
unsigned int i;
|
||||
|
|
|
@ -3095,7 +3095,7 @@ gl646_send_gamma_table (Genesys_Device * dev, SANE_Bool generic)
|
|||
int size;
|
||||
int address;
|
||||
int status;
|
||||
u_int16_t *gamma;
|
||||
u_int8_t *gamma;
|
||||
int i;
|
||||
|
||||
/* don't send anything if no specific gamma table defined */
|
||||
|
@ -3131,7 +3131,7 @@ gl646_send_gamma_table (Genesys_Device * dev, SANE_Bool generic)
|
|||
}
|
||||
|
||||
/* allocate temporary gamma tables: 16 bits words, 3 channels */
|
||||
gamma = (u_int16_t *) malloc (size * 2 * 3);
|
||||
gamma = (u_int8_t *) malloc (size * 2 * 3);
|
||||
if (!gamma)
|
||||
return SANE_STATUS_NO_MEM;
|
||||
|
||||
|
@ -3141,9 +3141,12 @@ gl646_send_gamma_table (Genesys_Device * dev, SANE_Bool generic)
|
|||
/* fill with default values */
|
||||
for (i = 0; i < size; i++)
|
||||
{
|
||||
gamma[i] = (u_int16_t) i;
|
||||
gamma[i + size] = (u_int16_t) i;
|
||||
gamma[i + size * 2] = (u_int16_t) i;
|
||||
gamma[i * 2] = i & 0xff;
|
||||
gamma[i * 2 + 1] = i >> 8;
|
||||
gamma[i * 2 + size] = i & 0xff;
|
||||
gamma[i * 2 + 1 + size] = i >> 8;
|
||||
gamma[i * 2 + size * 2] = i & 0xff;
|
||||
gamma[i * 2 + 1 + size * 2] = i >> 8;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -3151,9 +3154,12 @@ gl646_send_gamma_table (Genesys_Device * dev, SANE_Bool generic)
|
|||
/* copy sensor specific's gamma tables */
|
||||
for (i = 0; i < size; i++)
|
||||
{
|
||||
gamma[i] = dev->sensor.red_gamma_table[i];
|
||||
gamma[i + size] = dev->sensor.green_gamma_table[i];
|
||||
gamma[i + size * 2] = dev->sensor.blue_gamma_table[i];
|
||||
gamma[i * 2] = dev->sensor.red_gamma_table[i] & 0xff;
|
||||
gamma[i * 2 + 1] = dev->sensor.red_gamma_table[i] >> 8;
|
||||
gamma[i * 2 + size] = dev->sensor.green_gamma_table[i] & 0xff;
|
||||
gamma[i * 2 + 1 + size] = dev->sensor.green_gamma_table[i] >> 8;
|
||||
gamma[i * 2 + size * 2] = dev->sensor.blue_gamma_table[i] & 0xff;
|
||||
gamma[i * 2 + 1 + size * 2] = dev->sensor.blue_gamma_table[i] >> 8;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue