IRC Logs

Log of #ghostscript at

 <<<Back 1 day (to 2011/07/19)2011/07/20 
Robin_Watts night all00:16.30 
henrys night00:16.43 
mvrhel2 Is the polarity of the cups device correct in colorinfo when the 0 colorspace. tkamppeter? 03:16.29 
  is it supposed to be additive or subtrative?03:16.55 
  let me check CMYK and see what it does...03:18.53 
  argh! cab we no do away with #define cups((gx_device_cups *)pdev)03:21.27 
  and just use pdev in gdevcups.c03:21.44 
  good grief. can I not type03:22.03 
  looks to me like the polarity is not getting set up correctly for these cups color spaces03:22.53 
  oh there it goes03:23.31 
  so CMYK polarity is getting set OK03:24.00 
  hmm according to the cups code CUPS_CSPACE_K should be subtractive, but when I am in the thresholding code it is not showing up that way03:34.25 
  something is mucking it up and I bet it is the pdf14 code....03:34.55 
henrys which bug is this?03:35.37 
mvrhel2 oh hey the cups color space changed!03:37.01 
  this is the blocker03:37.10 
  so I specified cups space 003:37.38 
  which is the subtractive K space. 03:37.47 
  and gdevcups.c sets it up correctly at first03:38.01 
  then during a get or set params it has changed the color space to additive W03:38.28 
  and so when I get to do the thresholding it is set to the opposite polarity on me03:38.50 
  very strange03:38.56 
  if you put a break point at cups->color_info.polarity = GX_CINFO_POLARITY_SUBTRACTIVE03:39.27 
  and at cups->color_info.polarity = GX_CINFO_POLARITY_ADDITIVE03:39.34 
  you will see it happen03:39.43 
  it is also nice to add in gx_device_cups *pdev_cups = (gx_device_cups *)pdev; into cups_set_color_info03:40.08 
  they have a macro #define cups ((gx_device_cups *)pdev) and use cups everywhere which is a pain in Visual studio03:40.35 
  I have half a mind to replace that devine with pdev_cups and do the above03:41.00 
  anyway. I have to get the kids to bed. I can get the correct output on this if I can get the polarity to be correct in color info.03:41.47 
  this is basically what I need to do for our planar device also.03:41.56 
  I have a fix in place that will switch the threshold call based upon the polarity. It basically does the same call but swaps the image data and threshold parameters in the call03:42.36 
  so that you have Image < threshold in one case and threshold < Image in the other03:42.54 
  easy enough03:43.01 
  but this cups color space is changing along the way which is causing me a problem.03:43.53 
  I may be back later tonight to dig more...03:44.05 
henrys okay talk to you later.03:44.47 
mvrhel2 oh I see CUPS_CSPACE_W is 004:14.34 
  which is an additive color space04:14.43 
  something odd is going on here though04:14.53 
  I see color space 0 is supposed to be gray in cups. color space 3 is black which is subtractive.04:17.38 
  ok. I have another way to take care of this...04:26.39 
  ok sure enough gx_device_white is 0 with pbmraw and 1 with cups04:31.52 
  and vice versa for gx_device_black04:32.07 
  just need to do a minor fix on the copy_mono04:32.47 
  henrys: so this should be easy to fix04:33.13 
  calling it an early night tonight though. I will fix this in the morning04:33.32 
kens chrisl did you see the mail to support from Phil last night ?08:37.08 
chrisl kens: yes, I saw it08:38.40 
kens There's a definite problem08:38.53 
  Its fonts and its not FreeType08:39.02 
  8.71 has the same problem08:39.08 
  There is something very weird about the font matrices htough I think.08:39.25 
chrisl Yep, I checked it enough to make sure it wasn't a regression, but I'm in the middle of pulling xfonts out, so I want to finish doing that.08:40.44 
kens OK, in that case did you see henrys bug report about xfotns ? ;-)08:41.03 
  BTW I'm just reducing Phil's file.08:41.14 
chrisl I did, Henry assigned both to me - not sure why we need to two bugs to track the problem.......08:41.40 
kens Fair ebough then, you're on top if it.08:42.02 
chrisl Oh, it looks like Henry took one of the bugs back again, I missed that!08:42.36 
kens :-)08:42.45 
chrisl The xfonts stuff is *crazy* complicated for what it does, I'm really not impressed with it.08:43.27 
kens Interesting. Phil's file has hte text matrix rotated 90 degrees, but the text renders upright. I wonder how that happens.... Bet its related to the problem.08:43.33 
  chrisl another reason to lose it ;-)08:43.43 
chrisl Absolutely!08:44.17 
kens Off for a couple of hours back later.09:02.03 
chrisl kens: (for when you get back) the problem (I'm fairly sure) with A216.pdf is that the WMode does not get copied from the CMap dictionary object in the PDF, to the CMap resource dictionary created from the PDF stream.11:22.19 
  going to lunch......11:22.25 
nitin i donn know whether i am doing it right or not... I have a query for you all, i am tryin to compile the muPDF source and not able to do it... please help me in providing me any possible clue or way to ahieve this11:57.23 
Robin_Watts nitin: What OS ?11:59.05 
nitin i am using windows and have got cygwin11:59.41 
Robin_Watts nitin: Why not use MSVC ?11:59.53 
nitin what is this?12:00.06 
Robin_Watts Microsoft Visual C ?12:00.20 
  Visual Studio.12:00.28 
nitin ok... is it easier with VS12:00.42 
Robin_Watts It's what I use.12:00.51 
nitin i need to compile the whole source tree as i need to use it in one of my android app...12:01.25 
  i need the .so file12:01.35 
Robin_Watts Ah, so you want to build for android then, not windows.12:01.53 
nitin yes12:02.00 
Robin_Watts Right, different kettle of fish.12:02.09 
  In that case, get the source from git.12:02.23 
  The follow the instructions in the 'android' directory.12:02.38 
nitin yes... i have got that12:02.39 
Robin_Watts The android stuff builds a simple viewer.12:03.17 
  You'll almost certainly need to make changes to it, but it should point the way.12:03.41 
nitin ya...12:04.01 
  i will make some changes but first thing is to compile the source tree... and m stuck here12:04.47 
Robin_Watts ok, what stage of the instructions do you get stuck at?12:05.06 
nitin i didn't follow the same available in the android folder12:05.34 
Robin_Watts nitin? Sorry?12:06.43 
nitin thanks for suggesting... let me try this way as well and if i am not successful then i will get back to this channel12:07.24 
Robin_Watts ok.12:07.30 
nitin thanks a lot12:07.31 
Robin_Watts np.12:07.35 
nitin hey Robin_Watts, it is the generated directory12:34.30 
  how to i get it????12:34.38 
chrisl kens: testing a fix for A216.pdf now12:34.42 
kens that was quick chris !12:34.51 
chrisl It's pretty simple :-)12:35.03 
nitin i am trying to compile the mupdf source but it is giving me some errors like "../generated/cmap_cns.h: No such file or directory" ... when i look back, the generated directory is empty12:37.11 
  please help me in fixing this... i have no clues12:37.27 
  i am using ndk and cygwin12:38.30 
chrisl kens: should Phil's bugs be P1 or P2, do you know?12:40.16 
kens I normally make customer bugs P2 unless htey are a crahs or regression.12:40.35 
  But, I am not really part of support....12:40.55 
chrisl No, you are awake just now ;-) Thanks!12:41.20 
kens Ah, but they are a Very Importan Customer, so maybe P1 is appropriate12:41.39 
chrisl Well, in this case, it's not going to make difference to how quickly it gets fixed!12:42.06 
kens But you can claim it as a P1 fix :-)12:44.17 
  I assume this is the CMap WMode ?12:44.26 
  I was thinking that looked like a new one for me initially12:44.38 
chrisl Yes, it is. I just realised my fix isn't quite right, need to be a bit smarter :-(12:45.35 
kens Well, at least you know what the problem is.12:46.00 
chrisl Yeh, it's just, that if there isn't a WMode, we don't want to create one.12:46.39 
nitin please help me in getting the "generated" directory as what ReadMe.txt says in #8...i am still not able to get it12:46.47 
kens nitin you ned either tor8 or Robin_Watts for MuPDF on Android12:47.19 
nitin do i need to post these privately to them12:47.47 
kens No, but if they are awayf rom their desk, then they won't be seeing your queries.12:48.19 
  I'm sure they will read the logs when they return.12:48.29 
nitin oh... i see12:48.34 
  anyways thanks.. i am waiting for them to come back n reply12:49.18 
tor8 nitin: compile mupdf natively first (for windows, with the makefile, or anywhere really), that will create a "generated" directory for you.12:49.23 
  the files in the generated directory are not platform specific12:49.57 
  so you can copy them from any build12:50.06 
nitin ok...12:50.20 
  can u please help me lil further.... how to "copy them from any build"... i am a newbie in using native codes12:51.38 
  any guide or something12:51.55 
tor8 compile mupdf for windows or linux. that will create a "generated" directory that you can use.12:52.20 
nitin using gcc12:52.49 
kens As I unserstand it, it doesn't mmatter what compiler you use. These are not object files, they are device independent files used by MuPDF.12:56.54 
  THey will later be compiled into MuPDF.12:57.14 
tor8 exactly. the generated directory contains C source files that are generated from various font and character encoding files.12:57.55 
  Robin_Watts: osx lion was released today13:01.46 
Robin_Watts back.13:07.32 
kens tor8 I just sent you a text file.13:30.20 
Robin_Watts tor8: We should put the generated directory up for download really.13:30.27 
tor8 Robin_Watts: I'm not entirely comfortable with that, since sometimes the format of the files change (like when we were optimising the cmap data structures)13:31.31 
Robin_Watts tor8: Right. But when we do a release, we do a thirdparty, and we should also do a generated.13:32.30 
tor8 Robin_Watts: how much work would it be for the android build to be able to generate them when you run make?13:33.26 
Robin_Watts I can update the android instructions to say "we provide a copy of the generated directory to download at each release. If the format changes between releases and you are getting your source from git, you will have to generate your own."13:34.10 
  tor8: using what compiler ?13:34.15 
  to do that we'd need a native compiler too.13:34.29 
tor8 the android sdk only has a cross compiler?13:34.47 
Robin_Watts tor8: the sdk only has a java compiler. the ndk only has a cross compiler.13:35.09 
tor8 meh.13:35.22 
kens chrisl when are you thinking of tagging/branching for release ?13:37.22 
chrisl kens: I'm going to create the branch on Friday, barring strong complaints13:37.48 
kens OK, I am hoping to have something vaguely functional in textwrite for inclusion. Its not risky, because it only affects a device which currently does nothing.13:38.23 
  I'll try and get it checked in on Friday13:38.40 
chrisl kens: I can still cherry-pick it after the branch, it's not going to affect any existing functionality, after all13:40.37 
kens Its not a problem I hope, I'd just liek to have something for people to look at in the release.13:41.03 
  Oh, two tors double the fun.13:45.14 
tor3 kens: I'm about to upgrade my laptop, so tor8 will disappear for a bit13:45.43 
chrisl bye-bye XFonts.......13:55.23 
kens cheers13:55.36 
chrisl :-) There'll be partying in the streets!13:55.57 
tor8 \o/13:58.34 
Robin_Watts 3.5Gig of OS-X download. Joy. This'll keep my ADSL warm.14:18.04 
tor3 kens: I'm looking at the captions.pdf textwrite output14:20.17 
  the missing bits of text are curious indeed!14:20.42 
kens Its my fault, somewhere my consolidation is eating the text.14:20.56 
  I've had similar problems before, its prbably not hard to fix, once I can find t, it'll be a stupid logic flaw.14:21.22 
tor3 it looks like the second column, or text after some odd horizontal spacing, is eaten14:21.41 
kens I believe its when it decides it can't join text and issues a new y scan.14:22.06 
tor3 possibly font change related, since most of the missing bits are the boldened headlines14:22.10 
kens I don't care btou fonts, beyond noting the names ;-)14:22.25 
  Like I said, it'll be easy when I find it. At the moment I'm looking at the spacing in adobe.pdf because its worse there.14:22.53 
tor3 the odd one out is the "Biology is a subject..." line14:22.58 
kens Yes, there's something wrong with teh spacing there too.14:23.41 
  Of course, its never going to be perfect ;-)14:23.49 
tor3 indeed. but it looks like a very good approximation at least :)14:24.27 
Robin_Watts I hate garbage collection.14:24.30 
kens tor3 overall I'm quite happy with that one.14:24.38 
tor3 ARGH! they've reversed the two-finger multi-touch scroll direction!14:34.26 
  scrolling down scrolls up!14:34.35 
chrisl that'll be to match smart phone touch screens14:35.06 
Robin_Watts cancels downloads.14:35.27 
  tor3: That must be an option.14:35.42 
tor3 stupid steve... I really really hope there's an option14:35.51 
chrisl Why would there be an option? Apple is "right ", by definition! 14:36.34 
tor3 last step of the intall wizard: use multi-touch to scroll down to click the "next" button14:37.26 
  okay, found the option. uncheck "scroll direction: natural".14:38.09 
kens See, you're un-natural :-)14:38.37 
tor3 most definitely! :)14:38.43 
  they could've picked a better space background picture... this one is full of jpeg quantization artefacts14:39.20 
kens Most people won't notice14:39.54 
  Or possibly think space looks like that anyway14:40.33 
tor3 :)14:40.47 
  oh noes. they've gone and renamed "Airport" to "Wi-Fi"14:41.01 
Robin_Watts Good.14:41.15 
tor3 they're both stupid names. but at least wi-fi is universally recognised.14:41.46 
  wow, they finally gave up on the rounded buttons. they're definitely more rectangular now.14:42.58 
  if I was being mean I'd say it looks like vista :)14:43.22 
Robin_Watts does the mvrhel2 summoning dance.15:09.13 
henrys chrisl:might be confusing I assigned that bug to you so you would remove xfonts - I said in the other bug it was to be deprecated and we wouldn't investigate the problem.15:23.20 
chrisl henrys: I understood in the end. Anyway, xfonts is gone now! :-)15:24.10 
henrys yeah!15:24.17 
Robin_Watts ray's next laptop?,two-screen-laptops-complete-overkill-or-completely-logical.aspx15:25.22 
chrisl Robin_Watts: that would be great on the plane ;-)15:26.19 
kens Yes, you could use your neighbours space too :-)15:26.49 
henrys if you buy 2 seats15:26.58 
chrisl henrys: I went to look at removing the lx5000 device but, erm, it seems to work now........15:28.16 
henrys I remember it worked for some resolutions.15:30.27 
chrisl I followed the bug report15:31.53 
henrys right I do remember it crashing and looking at the code and deciding I didn't know enough about the device to fix it.15:33.36 
  I'll try it too if I don't see it I'll throw it back to marcos - circle complete15:34.54 
chrisl Cool, thanks.15:35.06 
henrys I really thought shelly would find more fixes than that, we must be pretty good at closing what we fix.15:42.29 
Robin_Watts I keep reading comments in the source (or maybe just one comment read multiple times) that says that once a pdf14 device is created it's never destroyed.16:09.09 
  It just gets reused again and again.16:09.15 
  If that's true, why do we have more than one of them ?16:09.27 
kens I didn't know we did16:09.35 
chrisl Pre and post clist?16:09.48 
Robin_Watts No, I've got like 60 of 'em :)16:10.02 
kens Not good....16:10.14 
chrisl Oops! That don't sound right16:10.21 
kens Presumably something doesn't realise there is one, and makes a new one16:10.50 
henrys chrisl:if the aes problem if phil's it's p1 and needs a customer number you can ping marcos to do it. But I don't want the bug to get buried.16:10.57 
  as low priority16:11.03 
chrisl henrys: I know, I just made it P1.16:11.26 
henrys thanks16:11.32 
chrisl In the "new bug" page, I don't get a priority menu, should I?16:12.13 
henrys no priority, it seems we should have that though.16:14.01 
chrisl Right, well that's why it's two steps (three, actually, as I can't seem to create private attachments on the new bug page either).16:14.48 
henrys yes I should have waited a bit before saying something.16:17.04 
Robin_Watts Aha. mvrhel2.16:17.51 
  Want to fetch coffee? You may need caffiene to help with the pdf14 questions... :)16:18.08 
chrisl alexcher: ping?16:18.50 
mvrhel2 morning Robin_Watts16:18.59 
  we can just dive in right now16:19.09 
Robin_Watts I've been tracking the problems with stars.pdf.16:19.27 
  And they seem to come to the fact that we end up doing a garbage collection on a pdf14 device, which has a non zero target.16:19.56 
  but the target points to a freed block.16:20.03 
  so either we move into hyperspace or we scribble on freed memory etc.16:20.32 
mvrhel2 the pdf14 device should never be remove once inserted16:20.33 
Robin_Watts Right.16:20.39 
mvrhel2 but should just pass along its compositor commands16:20.44 
Robin_Watts So why do I have 60 of the buggers? :)16:20.47 
mvrhel2 now in the case of the pattern we have a unique case16:20.54 
  the pdf14 device for the pattern should be done but not closed16:21.11 
  well I am not sure about that actually16:21.21 
Robin_Watts 60 may be an underestimation.16:21.37 
mvrhel2 hold on let me look at one thing in the code16:22.07 
Robin_Watts When the pdf14 device is done with, we call pdf14_disable_device.16:22.23 
  Can I just set the target to be NULL in there?16:22.31 
mvrhel2 yes that is what I was looking for16:23.29 
Robin_Watts I've just (literally just) tested it, and that seems to work.16:23.50 
  Any call to recreate the compositor, will reset the target, so that should be safe.16:24.18 
mvrhel2 I would not think the target would have been gc'd16:24.18 
  since you are running into a gc issue this must be during clist writing16:24.36 
Robin_Watts See line 467 of gdevp14.c16:25.00 
mvrhel2 ok. can't deny that16:25.16 
  yes. I would set that to NULL16:25.27 
Robin_Watts For the 720dpi case at least, it's in the gc that's done just before exit.16:25.30 
  OK. I'll clusterpush and test that out.16:25.52 
mvrhel2 there is still something weird there16:26.16 
Robin_Watts just *one* thing ?16:26.25 
mvrhel2 hehe16:26.28 
  ok. I am going to fix my blocker bug now16:26.55 
Robin_Watts mvrhel2: Thanks.16:29.52 
mvrhel2 np. I don't think I was too much help though.16:30.05 
kens Night all16:50.08 
Robin_Watts stars.pdf seems to take 10 mins now (profile build rather than debug)16:50.26 
  night kens16:50.32 
kens That sounds good16:50.37 
henrys mvrhel2:i'd be incline to close 688638 we've made noises about creating a rop compositor but I doubt we'll do it.17:00.39 
mvrhel2 ok17:01.34 
  are there real rendering issues that we need to worry about with respect to this though?17:01.47 
henrys it's not as if compositors have been a "design coup" anyway.17:02.02 
mvrhel2 hehe no17:02.09 
Robin_Watts mvrhel2: Setting the target to NULL there provokes many SEGVs :(17:02.58 
mvrhel2 ok. darn17:03.07 
  Robin_Watts: I am about to wrap up this blocker bug17:03.18 
  maybe I can help.17:03.22 
Robin_Watts Thanks.17:03.31 
  This is all improving my knowledge of the pdf14 device, but I'd trade that for a quick fix :)17:03.54 
mvrhel2 I need ray_laptop to do the commit on the icc_dir before I finish up my gray to K fix on the other bug that I want to get in 9.0417:03.55 
henrys right ... haven't heard from ray_laptop today.17:04.31 
mvrhel2 I may give him a call. Is he going to add in the SMALL_ICC_PROFILES stuff for 9.04 also?17:05.18 
henrys I'd like to know that also, I would switch the language to use small profiles if so.17:05.51 
mvrhel2 yes. I had really wanted to get the "dumb" CMM in place too but that is not going to happen before the end of the month...17:07.40 
Robin_Watts oh, damn.17:08.01 
  the device stays in place as a forwarding device.17:08.12 
  hence it has to keep target being valid.17:08.30 
  I think the problem may be that the compositor really ought to be destroyed when we're finished with it at the end of clist band playback.17:09.00 
henrys early lunch be back in an hour or so.17:10.03 
mvrhel2 I am bothered that we had no GC issues until we started fixing bbox issues. I don't understand how that could have caused this17:10.16 
Robin_Watts mvrhel2: I think we probably did have such issues.17:13.10 
mvrhel2 ok17:13.15 
Robin_Watts just in the way of gcness, sometimes they don't show up.17:13.22 
mvrhel2 I have seen that before17:13.45 
  oh henrys: I had a question I meant to ask you Tuesday17:14.48 
  did you ever hear back about bug 692183 and 692186?17:15.12 
  about the JPEG and TIFF writing of ICC profile17:15.24 
  I would like to get something back from them about the source of this code before we add it in17:15.48 
Robin_Watts Right. We're getting a new pdf14 compositor device created on every clist_playback_band.17:22.24 
  There must be a way to kill that device at the end.17:22.43 
  If I'm understanding this correctly, we're currently relying on garbage collection to get the old compositors removed.17:26.13 
  Which really won't play nice with the other languages.17:26.25 
mvrhel2 sorry I was on the phone with ray17:26.44 
Robin_Watts np.17:26.49 
mvrhel2 henrys: he seems to think we will be able to get the SMALL_PROFILE fix in for 9,0417:27.02 
  Robin_Watts: so with the clist there is a compositor installed during writing that goes through GC. during playback there is no GC17:27.52 
Robin_Watts That's not what I'm seeing here.17:28.16 
mvrhel2 you are seeing GC during playblack?17:28.27 
Robin_Watts I believe so.17:28.37 
mvrhel2 oh I guess I mean VMreclaim17:28.45 
  never happens during playback17:28.53 
Robin_Watts or rather... I am seeing VMreclaim when the whole file is finished, and that destroys the compositor objects created during playback.17:29.30 
mvrhel2 ok at the very end17:29.49 
Robin_Watts So the gc doesn't happen during playback, but objects created during playback are gc'd.17:29.53 
mvrhel2 yes17:30.05 
  can you send me a patch I can apply or publish a branch?17:30.32 
Robin_Watts So, if I'm understanding this correctly we will 'leak' 1 compositor for every band until the file completes.17:30.44 
mvrhel2 no I can show you where those are destroyed. or where they should be17:31.11 
  hold on17:31.17 
Robin_Watts Ah, please...17:31.17 
mvrhel2 I thought it is supposed to occur in gxclrast.c around in line 213917:33.16 
  remember this fun part of code?17:33.21 
Robin_Watts oh, right.17:33.45 
mvrhel2 hold on my clusterpush finished 17:33.59 
  ok. cool only diffs in the cups device17:34.46 
Robin_Watts I never liked that code :(17:34.57 
mvrhel2 yes. 17:35.25 
Robin_Watts I would have preferred: if (target->r.ref_count == 1) { dev_proc(target, close_device)(target); } rc_decrement(target);17:35.43 
  because, AIUI, the rc_decrement does the free (and any required finalise)17:36.02 
mvrhel2 yes I agree. Not sure why the test is needed17:36.48 
Robin_Watts BUT... I'd have liked it even more if the close_device was done as part of the finalise - but I don't know the device procedures well enough to know if that's feasible.17:36.54 
mvrhel2 oh you have to close it hgouth17:36.56 
Robin_Watts right, but my rejigging of the code given above is clearer, IMAO.17:37.19 
mvrhel2 yes. that could stand some clean up 17:37.21 
  but I fear trying to fix that is going to send us on a journey that we don't have time to complete before 9.0417:37.54 
Robin_Watts So, OK, this should free the compositors after each band. Let me try and see whether it is or not.17:38.07 
  In stars, I see clist_playback_band start, then a device_push happens and we create a compositor 253d6c817:41.43 
  then I get another call to clist_playback_band.17:42.13 
  and that exits without creating a compositor.17:42.20 
  and another call that likewise exits without creating a compositor.17:42.48 
  (same thing another 5 times)17:43.17 
  then we exit with target=253d6c8, and orig_target 253944017:43.44 
  target->rc = 7.17:43.56 
  so I think each of those sub calls to clist_playback_band are incrementing the reference count and not decrementing it, which means we're not destroying here, and hence running into the gc crash later on.17:44.54 
mvrhel2 ah ok17:47.14 
  ok bmpcmp finishied..17:48.12 
  hmmm are the bmpcmp results of cups inverted?17:49.37 
Robin_Watts I don't believe so.17:51.30 
  Oh, certainly they can't be inverted in the sense that your results would suggest :)17:52.14 
  because both old and new versions are loaded by the same code.17:52.26 
mvrhel2 well the file that I generated opened ok with rasterview. 17:52.47 
  I need to double check17:52.52 
  I guess I should build bmpcmp17:52.57 
Robin_Watts mvrhel2: If you disable your patch, does the file that you generate open ok with rasterview too ?17:54.04 
mvrhel2 no17:54.12 
  well it is inverted17:54.17 
Robin_Watts Ah, right.17:54.24 
mvrhel2 give me a moment17:54.25 
Robin_Watts Well, it's entirely possible that bmpcmp gets it inverted in that sense, yes, sorry.17:54.44 
mvrhel2 visual studio doesnt like the lack of casting of the Malloc in bmpcmp17:57.00 
  Robin_Watts: can I send you a file to look at?17:59.02 
Robin_Watts Sure.17:59.10 
  but honestly, I'd just assume it was bmpcmp at fault.17:59.22 
  When I wrote the code, I was aiming for being able to get recognisable diffs out.17:59.40 
  it wouldn't surprise me to find that I get the polarity wrong in at least some cases18:00.00 
  If you think it's a progression from rasterview, then it probably is.18:00.15 
mvrhel2 I am having trouble seeing the output in bmpcmp18:06.21 
  I built it in Ubuntu18:06.28 
  and I am running it on the file that views ok on rasterview18:06.47 
  bmpcmp test.ras test.ras out\diff18:07.03 
  where test.ras is the cups raster file18:07.11 
Robin_Watts Right, so there are no differences between a file and itself :)18:07.31 
  hence no output.18:07.44 
mvrhel2 ugh18:07.48 
Robin_Watts Sorry. bmpcmp is a dead simple thing thats designed to do *just* enough to let me have a perl script make the html pages you see.18:08.29 
mvrhel2 maybe I have the wrong one laying around here18:08.30 
  I understand18:08.36 
Robin_Watts Just so I'm clear here...18:09.07 
  you've done a change that you expect should invert the images?18:09.20 
  and bmpcmp is showing them as being the wrong way around ?18:09.35 
henrys mvrhel2:no response on either of those bugs.18:09.46 
mvrhel2 I have fixed it so that rasterview shows the images correctly18:09.46 
Robin_Watts and rasterview shows them correctly?18:09.58 
  Well, don't spend another second thinking about it.18:10.06 
mvrhel2 well I want to double check though18:10.14 
Robin_Watts It's bmpcmp at fault.18:10.16 
mvrhel2 I was going to send you the file 18:10.21 
  you can see if it views correctly with bmpcmp18:10.32 
Robin_Watts how? :)18:10.46 
mvrhel2 hehe18:10.50 
  hold on18:10.54 
Robin_Watts I can look at it in a hex editor and check the color spaces etc.18:11.14 
mvrhel2 let me run the file both with and without the fix18:11.59 
  I just want to make sure I did not make a mistake18:12.18 
  I will then look at the results with rasterview18:12.30 
Robin_Watts Can you put the file on casper ?18:12.41 
mvrhel2 yes18:12.48 
  hold on18:12.50 
  so that views correctly with rasterview18:15.35 
  henrys: ok. that is too bad18:16.25 
Robin_Watts 72dpi18:17.26 
mvrhel2 yes 72dpi18:17.31 
Robin_Watts 612 x 792 pixels18:18.25 
  colorspace 'gray'18:19.26 
mvrhel2 I don't know why they call this space gray18:19.53 
  basically in gs the device_white and device_black for the cups device with this color space is the inverse of pbmraw18:20.46 
Robin_Watts I support colorspace=0 and colorspace=318:20.53 
  which is gray and black.18:21.00 
  I bet one is positive and one is negative.18:21.07 
mvrhel2 yes18:21.11 
  0 is inverted18:21.19 
Robin_Watts not in bmpcmp :)18:21.36 
mvrhel2 ok. 18:22.06 
Robin_Watts would you be happier with a fix to bmpcmp ?18:22.37 
mvrhel2 well yes, it would be great to have it show the correct way18:22.55 
  so you know that you had a progression as opposed to a regression18:23.15 
Robin_Watts just a tick then.18:23.23 
  Run a bmpcmp, and you should be sorted.18:25.30 
mvrhel2 so on the bmpcmp syntax the first parameter will be the file on the left and the second will be the fill on the right18:25.36 
  I am just double checking manually here too18:25.51 
Robin_Watts CRD18:25.57 
  Candidate, Reference, Diff is what you get on the html page.18:26.11 
  and I think the args are in the same order, because I have little imagination :)18:26.23 
mvrhel2 ah18:28.44 
  so I ran bmpcmp (before your fix) with test_old.ras test_new.ras out\diff18:29.30 
  and the 0000 output is shown ok18:29.45 
  and 0001 is inverted18:29.55 
  rasterview shows test_old inverted18:30.05 
  and test_new ok18:30.11 
  let me update18:30.15 
Robin_Watts Right, that sounds consistent with what I'd expect.18:30.24 
  It looks like gx_pattern_accum_alloc is being called, and that ups the reference count to the target.18:31.18 
  but then it never gets knocked down again.18:31.25 
  What's the counterpart to gx_pattern_accum_alloc ?18:32.17 
mvrhel2 there is a finalize I think for the accumulator18:32.36 
  hold on18:32.38 
Robin_Watts pattern_accum_close doesn't seem to get called.18:32.41 
mvrhel2 why does my bmpcmp not work still locally18:33.18 
  after updating18:33.20 
  oh there it goes18:34.12 
Robin_Watts phew. I committed without testing. You had me worried there :)18:34.32 
mvrhel2 Robin_Watts: I am not seeing any differences18:35.38 
  in the bmpcmp results18:35.41 
  I thought I didnt get your commit, but I did18:35.52 
Robin_Watts You've run a cluster based bmpcmp and you're still getting the old results ?18:36.21 
mvrhel2 no I am running bmpcmp locally. oh shit need to rebuild it18:36.41 
Robin_Watts np.18:37.03 
mvrhel2 ok all is well18:37.06 
Robin_Watts cool.18:37.11 
mvrhel2 rerunning my bmpcmp on the cluster to check18:37.45 
Robin_Watts mvrhel2: Can you have a quick look at gx_pattern_accum_alloc please?18:44.10 
mvrhel2 Robin_Watts: I need to head out for a bit. Need to get kids from track camp18:44.14 
  oh yes18:44.22 
  hold on18:44.24 
  ok I am there18:44.44 
Robin_Watts It's in two halves. the second half is the clist writer.18:44.47 
mvrhel2 yes18:44.52 
Robin_Watts and it does cwdev->finalize = NULL18:45.00 
  presumably that's wrong ?18:45.13 
mvrhel2 I would think there should be some clean up there18:45.27 
Robin_Watts ok, I'll play with that, thanks.18:45.37 
  go get your kids.18:45.41 
mvrhel2 ok. ttyl18:46.05 
ray_laptop I pushed the merged patches for the ICCProfilesDir change (to lib_ctx). My clusterpush was OK.19:38.01 
Robin_Watts ok, stars.pdf down to 10 mins, with no crash.20:38.36 
  2 minutes 7 seconds if we disable interpolation20:41.12 
ray_laptop Robin_Watts: w.r.t. interpolation -- is that downscale or upscale ?23:21.05 
Robin_Watts ray_laptop: in stars.pdf it's upscale.23:21.19 
  The 'shadings' behind the stars are actually scaled images.23:21.35 
  If you disable interpolation, it becomes obvious.23:21.43 
ray_laptop wonders whether we should bother with interpolation when downscaling to contone devices23:21.45 
Robin_Watts ray_laptop: For some things, absolutely, yes.23:22.02 
ray_laptop Robin_Watts: what target res ?23:22.16 
Robin_Watts nearest neighbour can cause terrible dropouts on some sources.23:22.39 
  gs/profbin/gswin32c.exe -r720 -sDEVICE=png16m -o out.png ../MyTests/stars.pdf23:23.14 
ray_laptop I see. 720 dpi can be expensive, but not visible on real printers much beyond 180 dpi23:23.32 
Robin_Watts Aha.23:24.03 
  mvrhel2: I committed a fix with a simple finaliser.23:24.20 
  and that seems to have done the trick.23:24.27 
mvrhel2 I see that23:24.27 
  I see that you have the time down 23:24.36 
Robin_Watts yeah, release vs debug build.23:24.52 
mvrhel2 nice way to end the day23:24.55 
ray_laptop mvrhel2: have you had a chance to check COMPILE_INITS=0 ?23:24.57 
Robin_Watts I have 491 diffs though, pretty much all in the cups device.23:25.18 
mvrhel2 oh hi ray_laptop: no, I am testing my gray_to_k fix23:25.25 
  having the directory in the lib_ctx made life sooo easy23:25.38 
ray_laptop mvrhel2: np. just curious.23:25.43 
mvrhel2 ray_laptop. I will test it out now 23:25.52 
Robin_Watts mvrhel2: Did you have any idea why the cups device might be the only one to misbehave ?23:26.10 
mvrhel2 Robin_Watts: no idea at all23:26.23 
Robin_Watts When will your cups fix go in?23:26.39 
mvrhel2 it already has23:26.45 
ray_laptop doesn't really like pseudo-globals, but this does seem like the straightest path through23:26.49 
Robin_Watts mvrhel2: Ah, cool.23:27.04 
mvrhel2 the thing about this global is that it should not cause any MT issues23:27.20 
  hopefully different threads are not setting different directories23:27.39 
ray_laptop Robin_Watts: cups has really strange modes, like RGB subtractive and CMYK additive and all kinds of screwy stuff23:27.41 
Robin_Watts mvrhel2: thanks.23:28.22 
  ray_laptop: Yes. I'm wondering if this points to something I'm doing wrong in the pdf14 stuff.23:28.40 
  like if we need colour conversion, maybe I can't restrict the bbox to just the dirty bit - maybe we have to do the whole buffer ?23:29.10 
ray_laptop Robin_Watts: you are probably doing lots of stuff wrong in the pdf14 device ;-)23:29.12 
mvrhel2 they have just been there all along23:29.36 
ray_laptop mvrhel2: do any of the blend modes change any 23:30.19 
mvrhel2 Robin_Watts: no the transparency color spaces should all be their own thing between themselves.23:30.24 
ray_laptop mvrhel2: do any of the blend modes change any 'unmarked' areas (I hope not)23:30.35 
mvrhel2 that is, we should be only having CMYK subtractive, RGB additive and gray additive23:30.42 
  plus DeviceN which is a different thing all together and in which there are no group color spaces23:31.14 
  the conversion to the output device will happen during the putimage23:31.29 
ray_laptop at least the pdf14 that way. And also Separations when in subtractive mode23:31.32 
  oops. typed too slow23:31.52 
mvrhel2 ray_laptop: we should be skipping unmarked areas. There is some funny business though with respect to softmasks and the "background" setting which can have an affect outside the bbox of the softmask group.23:32.47 
  that is a real pain23:32.51 
  I believe we addressed those issues23:33.22 
  but I don't recall how.....23:33.27 
  I swear my memory isnt what it used to be23:33.43 
ray_laptop I remember when my memory was better (so I guess my memory isn't totally non-functional) ;-)23:34.40 
mvrhel2 :)23:34.52 
Robin_Watts I wonder if its the softmask thing that I'm getting wrong.23:36.12 
mvrhel2 a file that has the issue, iirc was the one with the euro symbol23:36.37 
  is that one coming up as a problem23:36.45 
Robin_Watts Like maybe for softmask groups, I should set the dirty rectangle to be full rather than empty.23:36.55 
  don't know. will look when the bmpcmp finishes (and my windows PC wakes up again)23:37.09 
mvrhel2 Robin_Watts: yes, you may want to try that to see if it makes a difference though23:37.20 
ray_laptop occasionally I force myself to stop and recall when I otherwise might just 'grep' or look at logs or email -- just to keep my "chops". Also I don't use reading glasses, but work to read tiny print (at least tiny for my age) 23:37.24 
mvrhel2 bbiab23:39.06 
Robin_Watts Hmm.23:42.42 
  The bmpcmp doesn't show any cups differences.23:42.56 
  Will check 'em manually tomorrow.23:48.46 
  Bedtime now. Night all.23:48.57 
ray_laptop g'nite, Robin_Watts 23:49.23 
 Forward 1 day (to 2011/07/21)>>>