Hi,

Progress here ! It turns out MP990 needs Data[0x25]=0x01 like some other scanners. Sadly, I now have a color problem, white is greenish. Is that a gamma table problem ?

Bye.

Le 09/11/2014 21:12, Guillaume Courtois a écrit :
Hi,

Worked a few hours again on the problem. It seems like I don't get the
correct datas from the scanner (or it's being badly post-processed)
when I'm using bigger resolutions than 300 dpi with TPU unit. Flatbed
seems all ok.

300 dpi scans do not give me underruns, but all the others do, and
with bigger and bigger values. The resulting pictures are bigger and
bigger in size, but the image inside them is worse : it seems like the
bigger the resolution I choose, the less I get actual lines of datas.

Again, if you have any ideas, that would be cool. I can provide datas,
logs, whatever you want.

Thanks guys.

Bye.

Le 02/11/2014 16:47, Guillaume Courtois a écrit :
Hi Rolf,

I've just seen I sent my first response to you but not the list, sorry
about that (but it contained nothing interesting in fact).

I made some progress today, color shifting seem ok and I don't have
the white columns anymore.
I'll have to give a clean patch to the list for that, but first I have
to solve my last problem, which is underrun.

I tried to find the source of that problem but with no luck until now.
It seem to happen only with TPU unit, strange ?

Here is the result at 1200 dpi :

pixma] **mp810_fill_buffer***** end of image *****
[pixma] WARNING:image size mismatches
[pixma] 859431936 expected (14032 lines) but 222452736 received (3632 lines)
[pixma] pixma_read_image(): completed (underrun detected)

(in debug :
[pixma] *mp810_fill_buffer***** moving 504704 bytes into buffer *****
[pixma] *mp810_fill_buffer***** 507904 bytes received by read_image_block *****
)

and at 600 dpi :

[pixma] **mp810_fill_buffer***** end of image *****
[pixma] WARNING:image size mismatches
[pixma] 214857984 expected (7016 lines) but 111226368 received (3632 lines)
[pixma] pixma_read_image(): completed (underrun detected)

(in debug :
[pixma] *mp810_fill_buffer***** moving 260096 bytes into buffer *****
[pixma] *mp810_fill_buffer***** 245760 bytes received by read_image_block *****
)

Buffer size seem to be twice the size when raising the resolution.
Shouldn't it be 4 times bigger ?

I hope you have an idea here because my head is exploding...

Thanks !

Bye.

Le 27/10/2014 16:57, Rolf Bensch a écrit :
Hi Guillaume,

If you want to dig into the source code, you can look here:

file: pixma_mp810.c
function: post_process_image_data()

It's possible that post processing image data is broken. Please check
these git commits:
b4bb0062c5cbb77c895b439b5f47e70b506305b1 (2013-01-11 16:37:00) and
1da5bcc2aa16a6382e5bd78a47cb3ec222a9aafc (2012-01-15 03:48:19)

Many thanks for your help.

Cheers,
Rolf


Am 19.10.2014 um 15:20 schrieb Guillaume Courtois:

Hi guys,

I'm currently trying to make the TPU correctly work on my MP990
scanner. It seems like there are shifting problems both in datas and
in the 3 colors (which seem to be 2 separate issues, but not sure).

I'm currently testing on my debian SID with sane GIT version, but I
have tested packages from SID and made tests on a Mint 17 netbook
also. All seem to give the same results.

It seems like datas are not shifted in 300 dpi but are more and more
shifted when you choose higher resolutions (600, 1200, 2400 dpi).

I'm happy to provide pictures if you want to see what it gives, but
that gives vertical black stripes on the captured picture.

Here is the output of xscanimage with some debug activated :

Here is the 300 dpi correct scan :

[pixma] pixma_scan(): start
[pixma]   line_size=3378 image_size=9674592 channels=3 depth=16
[pixma] Reader task id=140539733346048 (threaded)
[pixma]   dpi=300x300 offset=(780,88) dimension=563x2864
[pixma]   gamma_table=0xd939e0 source=2
[pixma]   threshold=127 threshold_curve=0
[pixma]   ADF page count: 0
[pixma] Setting non-blocking mode
[pixma] Current status: paper=0 cal=0 lamp=2 busy=0
[pixma] Current status: paper=0 cal=0 lamp=2 busy=0
[pixma] Current status: paper=0 cal=0 lamp=2 busy=0
[pixma] Lamp status: 3 , timeout in: 19
[pixma] pixma_read_image():completed
[pixma] Reader task terminated
[pixma] Reader task started
[pixma] Reader task id=140539733346048 (threaded)

Here is the not-so-correct 1200 dpi scan :

[pixma] pixma_scan(): start
[pixma]   line_size=13938 image_size=67376292 channels=3 depth=16
[pixma]   dpi=1200x1200 offset=(282,446) dimension=2323x4834
[pixma]   gamma_table=0xd939e0 source=2
[pixma]   threshold=127 threshold_curve=0
[pixma]   ADF page count: 0
[pixma] Setting non-blocking mode
[pixma] Current status: paper=0 cal=0 lamp=2 busy=0
[pixma] Current status: paper=0 cal=0 lamp=2 busy=0
[pixma] Current status: paper=0 cal=0 lamp=2 busy=0
[pixma] Lamp status: 3 , timeout in: 19
[pixma] WARNING:image size mismatches
[pixma] 67376292 expected (4834 lines) but 44044080 received (3160
lines)
[pixma] pixma_read_image(): completed (underrun detected)

As you can see, mismatch and underrun tells me I have to dig around that.

Also, it seems like data coming from the preview window is
mis-interpreted : I have to pick a smaller and decaled window in order
to get the actual correct part of the scan I want to have (I don't
know if I'm pretty clear on that one ?).

I'm still digging into the code to see if I can correct that but if
you guys could point me to the right direction, that would save me
lots of time.

Thanks for your attention, keep up the nice work on sane !

Bye.



--
sane-devel mailing list: [email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/sane-devel
Unsubscribe: Send mail with subject "unsubscribe your_password"
            to [email protected]

Reply via email to