2bpp issue
Posted by: coethium ()
Date: March 04, 2009 11:24AM

Hi, i have got a Laserjet 1600 so i can do tests on it.
As said on the website, 2bpp is not tuned.
I found why :
in the current code, 2bpp is done as cups do, with 4 values :
00 : no ink
01 : little ink
10 : middle ink
11 : full ink

But HP Laserjet 1600 works with 3 values :
00 : no ink
01 : half ink
10 : full ink

11 has no mean, because that's an half AND full ink spot, so it prints the same as 10

I hope this can help for future.
(sorry with my poor english)

Re: 2bpp issue
Posted by: rickrich ()
Date: March 04, 2009 01:10PM

$ zjsdecode -dxxx <windows-hp1600-testpage-bw-2bpp.prn >xxx
$ xod xxx-01-3.pbm | grep " 33" | tail
002346e0: 33 00 c0 30 00 00 00 80  30 0c 00 00 c0 30 0c 0f | 3..0....0....0.. |
00235ee0: e0 3c f0 f3 f0 f3 f3 f3  ff c2 f0 bc 2f 33 c2 f0 | .<........../3.. |
00235f30: d5 55 f5 55 55 57 d5 57  33 f0 e0 38 2e 0f 57 d5 | .U.UUW.W3..8..W. |
002363c0: 33 00 c0 30 00 00 00 80  30 0c 00 00 c0 30 0c 0f | 3..0....0....0.. |
00237140: 00 00 00 00 33 fb d7 ff  ff ff ff d4 00 00 00 00 | ....3........... |
002392d0: 00 c0 30 0c 03 00 c0 30  33 0f eb fa fe 94 00 00 | ..0....03....... |
002397a0: 80 e0 30 0c 03 00 c0 30  33 0f fb fe ff 94 00 00 | ..0....03....... |
0023b950: 30 0c 03 00 c0 30 08 02  33 c2 f8 be 2b 30 00 00 | 0....0..3...+0.. |
0023db20: 00 00 00 00 00 00 00 00  28 0a fb e1 7f d6 2f 33 | ........(...../3 |
00244b30: c0 30 0c 03 00 c0 33 3e  00 00 0f f8 df ff ff ff | .0....3>........ |
$

Any other theories???? 00, 01, 10, and 11 are all in the data from Windows/XP.

I paid $$$ to profile one at 600dpi and 1 bit per plane. Sorry. You should do 2 bits per plane if that is your option. NOTE: the *default* is 1 bpp!



Edited 1 time(s). Last edit at 03/05/2009 09:40AM by rickrich.

Re: 2bpp issue
Posted by: coethium ()
Date: March 05, 2009 02:49AM

Good idea taking a .prn from windows !
So i maked others tests from a prn, and the only 3 values theory seems good, even if all values are in the data.

You're right for 11, that's the full ink value. 10 is the half ink value, and 00 no ink.

01 is less used than the others. Here some stats :

$ hexdump xxxx-01-3.pbm | grep " 0" | wc -l
377916
$ hexdump xxxx-01-3.pbm | grep " 1" | wc -l
136
$ hexdump xxxx-01-3.pbm | grep " 2" | wc -l
195867
$ hexdump xxxx-01-3.pbm | grep " 3" | wc -l
167931
$ hexdump xxxx-01-3.pbm | grep " 4" | wc -l
99
$ hexdump xxxx-01-3.pbm | grep " 5" | wc -l
2204
$ hexdump xxxx-01-3.pbm | grep " 6" | wc -l
152
$ hexdump xxxx-01-3.pbm | grep " 7" | wc -l
1285
$ hexdump xxxx-01-3.pbm | grep " 8" | wc -l
193099
$ hexdump xxxx-01-3.pbm | grep " 9" | wc -l
114
$ hexdump xxxx-01-3.pbm | grep " a" | wc -l
82061
$ hexdump xxxx-01-3.pbm | grep " b" | wc -l
117206
$ hexdump xxxx-01-3.pbm | grep " c" | wc -l
164765
$ hexdump xxxx-01-3.pbm | grep " d" | wc -l
786
$ hexdump xxxx-01-3.pbm | grep " e" | wc -l
117558
$ hexdump xxxx-01-3.pbm | grep " f" | wc -l
126790

We can see the file contain only more and more 0, 2, 3, 8, a, b, c and f ; but a few 1, 4, 5, 6, 7, 9 and d.

These hexa values are the only one with the "code" 01 in the binary format.

The question is why they are in the file ?


I also hacked your foo2hp.c code, directly in the "write_bitmap_page" function, to print large map with 11, 10, 01 and 00. I can see the 11 print is the same as the 01 print.

Re: 2bpp issue
Posted by: rickrich ()
Date: March 05, 2009 11:50AM

Download tarball.

$ zjsdecode -dxxx ~/hp2600-win-testpage-mono-2bpp.prn >xxx
$ pgmhist xxx-01-3.pgm 
value   count            b%      w%
-----   -----            --      --
0       1320163          4.16%    100%
1       286382           5.06%   95.8%
2       434033           6.43%   94.9%
3       29695742          100%   93.6%
$ 

Re: 2bpp issue
Posted by: coethium ()
Date: March 06, 2009 12:40PM

You can find a tarball of my .prn here :
http://www.andozyme.fr/hp1600-tests.tar.gz

Sorry, only registered users may post in this forum.
This forum powered by Phorum.