kopia lustrzana https://gitlab.com/sane-project/backends
handling of x start position is working
rodzic
661933ecdb
commit
6bcc1fb121
|
@ -5132,6 +5132,8 @@ genesys_fill_read_buffer (Genesys_Device * dev)
|
|||
{
|
||||
while (dev->cur < dev->len && count < size)
|
||||
{
|
||||
if(dev->settings.depth==8)
|
||||
{
|
||||
/* even pixel */
|
||||
work_buffer_dst[count] =
|
||||
dev->oe_buffer.buffer[dev->cur + dev->skip + dev->oe_buffer.pos];
|
||||
|
@ -5141,6 +5143,24 @@ genesys_fill_read_buffer (Genesys_Device * dev)
|
|||
dev->oe_buffer.pos];
|
||||
count += 2;
|
||||
dev->cur++;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* even pixel */
|
||||
work_buffer_dst[count] =
|
||||
dev->oe_buffer.buffer[dev->cur + dev->skip + dev->oe_buffer.pos];
|
||||
work_buffer_dst[count+1] =
|
||||
dev->oe_buffer.buffer[dev->cur + dev->skip + dev->oe_buffer.pos+1];
|
||||
/* odd pixel */
|
||||
work_buffer_dst[count + 2] =
|
||||
dev->oe_buffer.buffer[dev->cur + dev->skip + dev->dist +
|
||||
dev->oe_buffer.pos];
|
||||
work_buffer_dst[count + 3] =
|
||||
dev->oe_buffer.buffer[dev->cur + dev->skip + dev->dist +
|
||||
dev->oe_buffer.pos+1];
|
||||
count += 5;
|
||||
dev->cur+=2;
|
||||
}
|
||||
}
|
||||
/* go to next line if needed */
|
||||
if (dev->cur == dev->len)
|
||||
|
|
|
@ -788,7 +788,7 @@ static Genesys_Motor Motor[] = {
|
|||
{ /* power mode 0 */
|
||||
{ 2343, 1017, 128, 0.80}, /* full step */
|
||||
{ 4678, 2034, 64, 0.80}, /* half step */
|
||||
{ 3*2652, 3*2652, 16, 0.80}, /* quarter step 0.75*2712 */
|
||||
{ 3*2712, 3*2712, 16, 0.80}, /* quarter step 0.75*2712 */
|
||||
/*{ 4*2034, 4*2034, 32, 0.80}, quarter step */
|
||||
/* extra values kept for documentation
|
||||
{ 2343, 864, 32, 0.80}, full step
|
||||
|
@ -973,7 +973,7 @@ static Genesys_Model canon_lide_100_model = {
|
|||
| GENESYS_FLAG_DARK_CALIBRATION
|
||||
| GENESYS_FLAG_CUSTOM_GAMMA,
|
||||
GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW,
|
||||
150,
|
||||
100,
|
||||
400
|
||||
};
|
||||
|
||||
|
|
|
@ -1571,14 +1571,21 @@ gl847_init_optical_regs_scan (Genesys_Device * dev,
|
|||
/* words(16bit) before gamma, conversion to 8 bit or lineart*/
|
||||
words_per_line = (used_pixels * dpiset) / gl847_get_dpihw (dev);
|
||||
|
||||
dev->bpl = words_per_line;
|
||||
dev->bpl = words_per_line*(depth/8);
|
||||
dev->cur=0;
|
||||
dev->len=pixels/2;
|
||||
dev->dist=dev->bpl/2;
|
||||
dev->skip=0;
|
||||
dev->skip=((start*dpiset)/gl847_get_dpihw (dev))/2;
|
||||
if(dev->skip>=dev->dist)
|
||||
{
|
||||
dev->skip-=dev->dist;
|
||||
}
|
||||
DBG (DBG_io2, "%s: dev->len=%d\n", __FUNCTION__, dev->len);
|
||||
DBG (DBG_io2, "%s: dev->dist=%d\n", __FUNCTION__, dev->dist);
|
||||
DBG (DBG_io2, "%s: dev->skip=%d\n", __FUNCTION__, dev->skip);
|
||||
|
||||
RIE (sanei_genesys_buffer_free (&(dev->oe_buffer)));
|
||||
RIE (sanei_genesys_buffer_alloc (&(dev->oe_buffer), (dev->bpl)));
|
||||
RIE (sanei_genesys_buffer_alloc (&(dev->oe_buffer), dev->bpl*channels));
|
||||
|
||||
words_per_line *= channels;
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue