[sane-devel] Epson 1650: scanimage produces invalid PNMs

Thomas Wenrich wet@chello.at
01 Apr 2002 13:19:25 +0200


Hi,

There is another bug in the epson backend. With certain values for the
scanarea, get_parameters() will return more lines than the backend
actually sets in set_scan_area().
The frontend (scanimage) uses the lines returned by get_parameters() to
write the PNM/TIFF header, but gets fewer lines than expected due to the
scan area specification.

I don't understand why the backend calculates the line count at each
call of get_parameters() instead of returning the lines already there -
the get_parameters() comment states: "Once a scan was started, this
routine has to report the correct values ...".

A reproduceable case for an 1650 Photo with SANE_DEBUG_EPSON=1 follows.

Regards,

Thomas

+ scanimage -d epson:/dev/usb/scanner0 -v --format pnm --mode Color
--depth 8 --brightness 0 --sharpness 0 --gamma-correction 'High density
printing' --color-correction 'CRT monitors' --resolution 2400 -l 7.8 -t
73.2 -x 34.8 -y 22.8 --source 'Transparency Unit' --film-type 'Positive
Film' --focus-position 'Focus on glass'
[sanei_debug] Setting debug level of epson to 1.
[epson] SANE Epson Backend v0.2.19 - 2002-01-18
[epson] type    B 0x42
[epson] level   8 0x38
[epson] option equipment is installed
[epson] resolution (dpi): 50
[epson] resolution (dpi): 60
[epson] resolution (dpi): 72
[epson] resolution (dpi): 75
[epson] resolution (dpi): 80
[epson] resolution (dpi): 90
[epson] resolution (dpi): 100
[epson] resolution (dpi): 120
[epson] resolution (dpi): 133
[epson] resolution (dpi): 144
[epson] resolution (dpi): 150
[epson] resolution (dpi): 160
[epson] resolution (dpi): 175
[epson] resolution (dpi): 180
[epson] resolution (dpi): 200
[epson] resolution (dpi): 216
[epson] resolution (dpi): 240
[epson] resolution (dpi): 266
[epson] resolution (dpi): 300
[epson] resolution (dpi): 320
[epson] resolution (dpi): 350
[epson] resolution (dpi): 360
[epson] resolution (dpi): 400
[epson] resolution (dpi): 480
[epson] resolution (dpi): 600
[epson] resolution (dpi): 720
[epson] resolution (dpi): 800
[epson] resolution (dpi): 900
[epson] resolution (dpi): 1200
[epson] resolution (dpi): 1600
[epson] resolution (dpi): 1800
[epson] resolution (dpi): 2400
[epson] resolution (dpi): 3200
[epson] maximum scan area: x 27200 y 37440
[epson] Max. supported color depth = 16
[epson] Focus position = 0x40
[epson] Enabling 'Set Focus' support
[epson] TPU detected
[epson] set = 7.800003
[epson] set = 73.199997
[epson] set = 42.599991
[epson] set = 95.999985
[epson] use extension = 1
[epson] Setting focus to glass surface
[epson] sane_start: Setting data format to 8 bits
[epson] sane_start: set_gamma( s, 0x0 ).
[epson] sane_start: set_color_correction( s, 0x80 )
[epson] get para 0x8051288 0x8051930 tlx 7.800003 tly 73.199997 brx
42.599991 bry 95.999985 [mm]
[epson] set_scan_area: 0x8051288 737 6917 3288 2059
[epson] get para 0x8051288 0x8051930 tlx 7.800003 tly 73.199997 brx
42.599991 bry 95.999985 [mm]
scanimage: scanning image of size 3288x2154 pixels at 24 bits/pixel
scanimage: acquiring RGB frame
scanimage: min/max graylevel value = 6/237
scanimage: read 20309976 bytes in total

-- 
Firewall Beispiel: http://wet.port5.com
Bergbilder: http://www.timeware.at/wet