IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2013/10/29)2013/10/30 
Robin_Watts ray_laptop: Could this be related to the fact that we see "leaking" profiles with NumRenderingThreads?00:02.17 
ray_laptop mvrhel_laptop: I see the following pattern (looking at the large 550Kb chunks):00:19.18 
  [a+]gs_malloc(gsicc_load_profile)(557168) = 0x3aa0058: OK, used=18849477, max=1943464100:19.20 
  [a+]gs_malloc(lcms)(557168) = 0x3b30058: OK, used=19410025, max=1943464100:19.22 
  [a+]gs_malloc(gsicc_load_profile)(557168) = 0x3bc0058: OK, used=19987681, max=1998768100:19.23 
  [a+]gs_malloc(lcms)(557168) = 0x3c50058: OK, used=20548229, max=2054822900:19.25 
  [a+]gs_malloc(gsicc_load_profile)(557168) = 0x3ce0058: OK, used=21125885, max=2112588500:19.26 
  [a+]gs_malloc(lcms)(557168) = 0x3d70058: OK, used=21686433, max=2168643300:19.28 
  [a-]gs_free(rc_free_icc_profile) 0x3ce0058(557168)00:19.29 
  [a-]gs_free(lcms) 0x3d70058(557168)00:19.31 
  [a+]gs_malloc(gsicc_load_profile)(557168) = 0x3ce0058: OK, used=21125885, max=2171104900:19.32 
  [a+]gs_malloc(lcms)(557168) = 0x3d70058: OK, used=21686433, max=2171104900:19.34 
  [a+]gs_malloc(gsicc_load_profile)(557168) = 0x3e00058: OK, used=22243945, max=2224394500:19.35 
  [a+]gs_malloc(lcms)(557168) = 0x3e90058: OK, used=22804493, max=2280449300:19.37 
  [a-]gs_free(rc_free_icc_profile) 0x3e00058(557168)00:19.38 
  [a-]gs_free(lcms) 0x3e90058(557168)00:19.40 
  In this snippet 0x3750058 gets allocated, then 0x3b30058 followed by 0x3bc0058, 0x3c50058, 0x3ce0058 and 0x3d70058. The onliest one I see getting freed in the sequence is 0x3ce0058. Since each of these is 550Kb, no wonder there's a problem. I _do_ see a lot of these getting freed by a GC later, so it seems we aren't managing these properly00:19.41 
ray_laptop floods IRC :-)00:19.44 
  after the GC, it seems that the usage goes from 323,948,769 down to 26,744,325.! The garbage truck must have been really full :-)00:21.56 
  Robin_Watts: sorry. I was putting together that flood for mvrhel_laptop. Maybe email might have been better. :-/00:22.52 
  Robin_Watts: Do we see a lot of leaked profiles during rendering. I thought it was only one or two ?00:23.27 
Robin_Watts ray_laptop: For tiger it's 3 blocks per band.00:26.07 
  but tiger hardly stresses the color system.00:26.19 
ray_laptop Robin_Watts: OK, but after each band, those get freed.00:26.36 
Robin_Watts ray_laptop: Right, but what if in a more complex file than tiger, we're leaking more blocks.00:28.44 
ray_laptop Robin_Watts: please try tests_private/pdf/PDF_1.7_ATS/tests_private/pdf/AIX361DC_Save.pdf if you want, but all of the problems I see are during *writing* the clist00:28.45 
Robin_Watts oh, ok. I was just mentioning it as an idea.00:29.02 
  That does sound different.00:29.15 
ray_laptop The "used" at Outputpage start is 616,549,476 and at Outputpage end it is 618,125,584 and there are no GC's during print_page00:31.19 
  Robin_Watts: and I don't mind questions. Mostly this is for mvrhel_laptop when he consults the logs00:32.05 
  and me answering you helps keep him from some dead-ends00:32.30 
  maybe00:32.39 
  mvrhel_laptop: I am running HEAD debug build on Windows with: debugbin/gswin32c -r600 -dBandHeigt=128 -sDEVICE=ppmraw -o x.ppm -dPDFDEBUG -Z:a c:/Artifex/tests_private/pdf/PDF_1.7_ATS/AIX361DC_Save.pdf00:34.17 
  the -Za is noisy, but tracks the large allocations well00:34.42 
  I have the -Z: so I can separate parsing and rendering in the log. I capture the output with: > log 2>&100:35.48 
Robin_Watts ray_laptop: You know you misspelt BandHeight there, right?00:36.35 
ray_laptop mvrhel_laptop: I am going to see if there are other things I can see leaking.00:36.39 
  Robin_Watts: oops.00:36.45 
Robin_Watts just in case that is significant00:36.55 
ray_laptop but it shouldn't make a difference during clist writing.00:37.09 
  I'll re-run it00:37.19 
Robin_Watts Bah. No SSE3 support in VS2005 :(00:37.27 
ray_laptop that's why it had so many bands (729)00:38.07 
  Robin_Watts: so what? Is anybody running anything older than 2008 ?00:38.36 
Robin_Watts I run 2005 routinely.00:38.45 
ray_laptop (although I still have MSVC 6)00:38.53 
Robin_Watts It's important that releases are done with VS2005.00:39.01 
  cos VS2008 binaries don't run on anything older than XP SP1, if memory serves.00:39.25 
ray_laptop Robin_Watts: so why do you want (need) SSE3 ?00:39.25 
Robin_Watts With SSE3 I can save a few cycles.00:39.38 
  so I have some #ifdefs in there.00:39.50 
ray_laptop might be. I have an old machine I can check. Are you concerned about Windows 95 ??00:40.13 
Robin_Watts ray_laptop: Frankly I don't care. But 801 might not have SSE3 available in their targets.00:40.45 
  so I'll leave the ifdef stuff in there for now.00:40.54 
ray_laptop Robin_Watts: true.00:40.55 
  Robin_Watts: can't that be a runtime check ?00:41.06 
  iirc, there's a call to check SSE level00:41.26 
Robin_Watts ray_laptop: It could be a runtime check, but unless we really need them, runtime checks are bad.00:42.10 
ray_laptop Robin_Watts: BTW, the max_used with -dBandHeight=128 (52 bands) is 894,485,169 (slightly worse) and at Outputpage start it is the same, so the problem is totally during parsing00:44.12 
Robin_Watts cool.00:44.43 
ray_laptop well, maybe :-/00:44.54 
Robin_Watts So with a single band, same issue?00:45.01 
  Does it need to be 600dpi?00:45.41 
ray_laptop I haven't tried, but I will -- the allocation for the buffer will be larger, of course00:45.44 
  Robin_Watts: that's there params00:45.54 
  s/there/their/00:46.02 
Robin_Watts If it was my problem I'd try to whittle everything down as small as possible, cos smaller things fit in my small brain more easily :)00:46.40 
ray_laptop Robin_Watts: as expected. max_used at Outputpage start time is: 1,398,485,17000:47.55 
  !!!! :-000:48.13 
Robin_Watts That's with 1 band at 600dpi?00:48.33 
ray_laptop yep00:48.57 
  testing page mode now. Should be similar00:49.10 
Robin_Watts oh, the problem shows up in page mode too?00:49.47 
ray_laptop if it's during clist writing, why not (don't know yet)00:50.11 
  of course, it could be a *lot* worse since the PDF 14 transparency will be in page mode. This is a pretty awful file.00:51.40 
  and it is taking a LOT longer.00:51.50 
  OK. in page mode max is: 889,346,96500:53.36 
  and that happens before "Outputpage start time" as expected00:54.49 
  although the larger max for a single band is somewhat inconguous00:55.31 
Robin_Watts So it's not a clist problem. I'd find that a relief personally :)00:58.16 
ray_laptop I don't think I spelled incongruous correctly00:58.47 
Robin_Watts Is the size of the leak resolution independent ?00:58.48 
ray_laptop I'll check... still collecting logs for BandHeight=12801:01.34 
  OK, running -r72 page mode...01:01.45 
  wow! page mode 72 dpi, max = 1,820,165,51901:03.15 
  although, bear in mind that page mode allocates whatever size transparency buffers are needed, not constrained to a band01:04.07 
Robin_Watts how can 72dpi be larger than 600dpi?01:04.28 
  889Meg vs 1.8Gig ?01:04.38 
ray_laptop -r72 -dBandHeight=128 has a max at Outputpage start of 833,667,05101:05.51 
Robin_Watts oh, I see. page mode > clist. gotcha.01:06.41 
ray_laptop retesting page mode 60001:06.56 
Robin_Watts rats. Just thought of a better way to do this last SSE case.01:07.41 
  will look at it tomorrow. I should go to bed. Have a good night ray.01:07.54 
ray_laptop you, too, Robin_Watts 01:08.17 
  the supposed page mode 600 was really 729 bands. I had used -dMaxBitmap=500m, but with transparency that used clist mode, and I didn't use -dBufferSpace=500m which would have given me 6 bands.01:15.18 
  but the page mode 72 dpi is conclusive that it _is_ a parsing time problems01:15.40 
  back to the pad+alignment debug...01:16.00 
  hmm... it appears that ghostbot might be down04:40.08 
  restarting it...04:40.18 
  OK, seeing if that fixes it.04:41.58 
  I suspect that doing edits on the logs messes up infobot04:42.26 
  If it's OK, I should see this is a few04:42.48 
  ghostbot appears OK.04:45.46 
  OK. Step 1 "cure everything my changes broke" :-)04:52.28 
  At least it tigers :-)04:52.39 
  regression running with the "normal" defaults.05:02.02 
  Next I try forcing a pad and alignment locally.Alignment of 8 (default is 4) and pad of 505:02.48 
mvrhel_laptop ray_laptop: you around?05:30.33 
ray_laptop mvrhel_laptop: yes, for a bit05:36.48 
mvrhel_laptop ok. 05:36.58 
  So I was just sending a file to Robin for him to check with customer 801's device05:37.20 
ray_laptop I got around 17K segfaults from my alignment changes, so I would like an excuse to set it aside for the night05:37.44 
mvrhel_laptop the interpreter is doing a range check error late in the running of the file and I can't quite figure out why05:37.47 
  ray_laptop: wow that sounds like something I would do05:38.06 
ray_laptop naw, it's just that the planar device probably has some hidden assumptions05:38.34 
mvrhel_laptop anyway, I can't get very far with my color testing until I figure out what is going wrong here. I will cc you in the email if you want to take a look in the morning05:39.20 
ray_laptop sort of "I know how memory is arranged -- don't bother me with accessing it the right way" ;-)05:39.22 
mvrhel_laptop I was not aware that there were ICC profiles leaking by the way05:39.33 
ray_laptop mvrhel_laptop: I can look now.05:39.36 
mvrhel_laptop or is it links05:39.38 
  ray_laptop05:39.48 
  ok let me email you the file05:39.53 
ray_laptop mvrhel_laptop: do we generate links during the parsing stage when it's going to the clst ?05:40.07 
  but it is suspicious that the profiles are all exactly the same size as the one (just one) in the PDF -- obj 2405:41.05 
  so, in the email, do you describe the problem ? or do you want to tell me here ?05:41.59 
mvrhel_laptop ray_laptop: we will for graphic fills05:42.12 
  ray_laptop: I just sent the email and described the issue05:42.38 
ray_laptop mvrhel_laptop: OK. Checking ...05:42.48 
mvrhel_laptop basically if you run it with the 8 bit customer device 05:42.49 
  no need to worry about a profile05:42.56 
ray_laptop got it05:42.59 
mvrhel_laptop when an error like this happens in the interpreter it gets hard for me to debug05:43.46 
  ray_laptop: so with the icc stuff, if we are doing a graphic fill, we will go ahead and render to the device value05:45.14 
  no icc profile stored.05:45.17 
  only in the case of images, and tranparency do profiles get put in the clist05:45.34 
ray_laptop well, you know that rangecheck is not as common as something line undefined05:45.39 
  mvrhel_laptop: private tab, please05:47.34 
mvrhel_laptop ok05:47.40 
ray_laptop mvrhel_laptop: do you see the tab ?05:49.03 
  mvrhel_laptop: I'll have to pull in and build Robin's stuff. I get a segfault down in their device05:59.02 
mvrhel_laptop oh wow05:59.16 
ray_laptop width600 == 0 when trying to divide05:59.23 
mvrhel_laptop well Robin's stuff is an improvement over that....05:59.39 
ray_laptop in their print_page05:59.51 
  OK. well, I guess I'll have a look in the AM.06:00.08 
mvrhel_laptop ray_laptop: ok sounds good06:00.17 
  I am fading fast06:00.19 
  since my son's as gotten into middle school late nights are harder for me06:00.41 
ray_laptop if you want to work on it in the meantime, set a brakpoint with a big count in gs_log_error06:00.42 
mvrhel_laptop ray_laptop: yes I did that06:00.55 
  the problem is that the error is printed by the interpreter06:01.05 
ray_laptop conditional on err == -1506:01.15 
mvrhel_laptop hmm ok let me do that06:01.49 
ray_laptop gs_log_error will (should) show you the C code that sets it.06:01.55 
mvrhel_laptop I would have thought though -Z# would have shown it06:02.03 
  and it does not06:02.05 
ray_laptop unless it is done with PS and signalerror06:02.10 
mvrhel_laptop that is what it seems to me, as I never got the -15 at the gs_log_error. 06:02.50 
  when Errror: range_check is printed06:03.06 
  and it is bookended by some standard errors in indict.c 06:04.03 
  right before the rangecheck from the interpreter there is a idict.c error -2 but that occurs about a zillion times06:04.51 
  also a -20 in gsparam, also a common one06:05.07 
  no -1506:05.12 
  just Error: /rangecheck06:05.32 
  anyway. maybe Robin will figure it out while we sleep06:05.55 
  have a good night ray_laptop06:06.02 
ray_laptop mvrhel_laptop: there are rangecheck signalled from the PS interp.06:06.13 
  finding them is a bitch06:06.22 
mvrhel_laptop ray_laptop: yes that is why I called you in :)06:06.33 
ray_laptop -dESTACKPRINT can help if you can get that printout.06:06.42 
mvrhel_laptop oh I can stick on in where the error occurs06:07.15 
ray_laptop toward the bottom it shows you the "tail" of what you were executing (what remains in a proc)06:07.16 
mvrhel_laptop in the ps code06:07.17 
ray_laptop mvrhel_laptop: I will pull in Robin's code and build and have a look in the AM06:07.51 
  I am also fading.06:07.57 
mvrhel_laptop ok. sounds good06:08.03 
ray_laptop g'nite06:08.08 
mvrhel_laptop good night06:08.38 
shmoon hi09:15.18 
  are there any differences between what poppler and ghostscript does09:15.33 
kens Yes, many09:15.39 
shmoon or fundaentally both are meant to solve the dame purpose09:15.39 
  same*09:15.49 
  i am trying to understand what each are for09:16.27 
  from what i read, i understand that ghostscript is used to render pdf or PS documents09:16.40 
  poppler does the same (rendering of pdf)09:16.47 
kens Its a PostScript and PDF interpreter (there are also PCL and XPS interpreters)09:17.01 
shmoon whether it is display (monitor) or printer09:17.01 
kens AFAIK poppler does not handle PostScript09:17.12 
shmoon so fundamentally both are meant for same purposes, kens ?09:18.37 
kens depends what exactly you mean. From your point of view, possibly yes.09:18.54 
shmoon hm ok09:19.19 
kens I am not an expert on Poppler09:19.21 
shmoon in poppler i can do pdf2text to get text out of pdf, can i do same with ghostscript?09:20.11 
kens There's the txtwrite device09:20.20 
shmoon hm, will read up a bit on it, thanks09:21.00 
kens If you have a goal in mind, explaining it might allow us to answer better. Generral questions tend to get general answers09:21.42 
shmoon yeah i completely agree09:24.07 
kens forgot to read the IRC logs :-(09:25.00 
chrisl kens: that "new" warning is down to change I did a while back - it's benign, but I have a change to stop the warning which I'll commit later09:26.02 
kens Oh, OK, I'm surprised you triggered a warning09:26.16 
tor7 Robin_Watts: (re yesterdays discussion with amonakov) I had an experimental patch to do gamma correct anti-aliasing (linearise colors, blend, convert back to srgb) for text09:26.54 
kens I got one of my colour problems fixed already this morning, going to try for another before I go out09:26.57 
chrisl kens: It wasn't something I considered - why would we warn when an optional entry is missing? I suspect it's for the benefit of Type 3 fonts......09:27.24 
kens That's possible. I don't suppose Alex's Git log had any kind of explanation ?09:27.47 
chrisl Not of use, that I remember - I'll check again.....09:28.36 
kens I wouldn't be surprised to find it wasn't helpful09:28.50 
tor7 Robin_Watts: the problem with do fz_gamma_pixmap is that all non-b&w colors are already in sRGB color space, so they'll get all messed up.09:30.07 
  amonakov: there's a patch sitting in my personal repo to do gamma correct antialiasing (on the "gamma" branch)09:31.36 
chrisl kens: the commit message doesn't explain the warning(s) - it's about encodings and symbolic fonts......09:31.54 
kens Well, taht's definitely unhelpful :(09:32.10 
tor7 http://git.ghostscript.com/?p=user/tor/mupdf.git;a=commit;h=14693ddb7980c9754aa5a641c4b1dd1e9e620ecd09:32.15 
kens sybolic fonts aren't supposed to have encodings09:32.20 
chrisl Yes, true, but they often do..... anyway, it was basically that I missed that it's up to the caller of the proc to check if the font object has an encoding, when the encoding is optional09:38.11 
  Off to squash.....09:43.43 
kens bye folks, back in a bit10:25.17 
Steve___ hello10:51.24 
  I was wondering if anyone here could help with me some problems ive been having with Ghostscript?10:52.52 
tor7 Steve___: no one can help you if you first don't explain your problems.11:00.22 
Steve___ hi tor7 - we use ghostscript with another program called PDF2TIFF - its basically a front end that sorts files into various folders depending on their extension11:01.33 
  the problem we are having is that ghostscript seems to be converting 40kB PDFs into 8MB TIFFs - is there any way we can make the output smaller?11:02.02 
tor7 Steve___: TIFF generally doesn't compress very well. if you're looking for small file sizes and can live with RGB colors, I'd recommend using PNG instead.11:03.49 
  also, PDF is a vector format, so files that only contain text or line art can be very small. render them to a bitmap and they'll be big no matter what.11:04.21 
  if your TIFF are black&white (no grayscale) then you could try the tiffg4 device11:05.57 
Steve___ right ok11:07.56 
  how would I use the tiffg4 device?11:09.16 
  we dont actually run ghostscript ourselves, we use another program as a front end that basically runs it for us11:10.02 
tor7 Steve___: I have no idea, you'd have to look at the front end program and see if you can tweak the options it calls gs with11:11.37 
Steve___ ah ok, I was worried you might say that haha11:11.59 
  ive had a look and there are no options for that, all it does is sort files in a folder before running the PDFs through ghostscript11:12.34 
  im in contact with the guys who made the front end to see if they can recommend anything, but thanks for your help anyway11:13.05 
sebblonline Hi, does anyone know or can say, when there will be the next official release of mupdf downloadable on mupdf.com? Does that depend on the number of fixes or commits? I'm asking, because I made a report a month ago and wanted to know, when the fix will be available in the release.11:18.39 
Steve___ hello again11:28.10 
  what commands would I need in the command line to get it to output in smaller resolutions?11:31.50 
  I found where our front end software runs the executable for ghostscript, and I was wondering if I could just add some specific options to the end of the filepath to change the output resolution, similar to this: "c:\path\to\exe\program.exe" -option1 - would that work with ghost script?11:35.46 
  so something like "c:\program files\gs\gs9.10\bin\gswin64c.exe" -gs -sDEVICE=tiffg4 -r600x600 ?11:57.09 
tor7 Steve___: yes, something like that should work12:18.24 
  sebblonline: we normally aim for two releases a year12:18.44 
  I believe we're aiming at march for the next mupdf release12:19.36 
sebblonline Ok, thanks for the info!12:21.06 
Robin_Watts sebblonline: Has a fix gone in for your bug?12:36.15 
  ok, SSE code all working.12:55.09 
  Morning mvrhel_laptop 13:57.13 
mvrhel_laptop good morning Robin_Watts 14:08.18 
  did you get a chance to look at the error?14:08.28 
  it had me puzzled14:08.41 
henrys kind of a pain in the ass recompiling everything when I switch git branches - guess I could change the GENDIR makefile variable for each branch. Does this only bother me?14:26.21 
kens I don't often switch branches14:27.00 
chrisl henrys: In theory, if all the dependencies are good, it should only rebuild what's changed, but...... well, hmmm :-(14:29.06 
henrys once you have a project off on the side for a while something important will change like a makefile than your hosed.14:31.01 
kens I guess I just don't work like that14:31.36 
chrisl Well, when makefiles change, all bets are off - deal with it!14:31.43 
  henrys: I don't find a minute or so to rebuild especially onerous, personally14:32.26 
kens takes longer on Windows...14:32.45 
chrisl True, but I assume henrys is on Mac most of the time14:33.15 
henrys oh no parallel compile on windows?14:37.49 
kens nope14:37.58 
chrisl Not with nmake, no14:38.08 
  Interesting: qt has an nmake clone that supports parallel builds.......14:42.55 
henrys chrisl: wow 14:46.10 
chrisl henrys: I think it might balls up our detection of the VS version, though :-(14:46.49 
Robin_Watts mvrhel_laptop: No, no luck at all.14:47.19 
  mvrhel_laptop: I found myself pondering whether we actually need DeviceN stuff at all...14:47.38 
  We only need to deal with 5 colorants; do we need to resort to DeviceN as soon as we do anything other than gray/rgb or cmyk ?14:49.04 
  mvrhel_laptop: Aha. The rangecheck thing is my fault. It's in the put_params stuff. Let me try and figure out where/why14:56.56 
  henrys: Did you read Marti's proposal about lcms2?15:05.22 
henrys not carefully yet I will get to it shortly15:06.06 
Robin_Watts ok, np.15:06.57 
  mvrhel_laptop: ping me when you return.15:13.48 
mvrhel_laptop Robin_Watts: I am back15:20.00 
  so you have a fix for the rangecheck15:20.16 
Robin_Watts I have found the rangecheck mistake. that was me, sorry.15:20.19 
  I get reasonable CMYB output, but the K output is broken for your file.15:20.42 
  trying to figure out why now.15:20.46 
  Do you want a new copy of the device?15:20.55 
mvrhel_laptop yes that would be great15:21.15 
  then I will look at the deviceN handling15:21.24 
Robin_Watts gdevXXXX.c in my home dir.15:21.45 
mvrhel_laptop ok thanks15:21.53 
Robin_Watts I've got a hack in there at the moment.15:21.56 
  The current code lists both "Blue" and "XXXXBlue" as colorants.15:22.21 
mvrhel_laptop that is one odd thing that I don't believe is right15:22.46 
Robin_Watts I've hacked the 'get_comp_index' function to treat "Blue" and "XXXXBlue" and "XxxxBlue" as being the same.15:23.05 
mvrhel_laptop oh15:23.11 
Robin_Watts in the new version on casper.15:23.19 
mvrhel_laptop ok15:23.30 
Robin_Watts You may decide that's a bad thing.15:23.31 
  I did that just to see if that was the cause of the rangecheck (It wasn't)15:23.43 
mvrhel_laptop right15:23.47 
  I had done a similar thing15:23.54 
  what was the source of the issue?15:24.12 
tor7 Robin_Watts: oh, bollocks. did you turn fz_stroke_state into a shared reference counted struct?15:24.17 
mvrhel_laptop out of curiosity15:24.17 
Robin_Watts mvrhel_laptop: put_params tests the values for being out of range.15:25.16 
  and throws a range check if they are bad.15:25.27 
  I had cocked up some of those tests :(15:25.34 
  tor7: It is reference counted, and shared, yes. That may even have been me.15:25.53 
tor7 Robin_Watts: I'm scared. sharing a struct that just bundles some state... so I basically have to malloc a new stroke_state struct for each path I draw?15:26.56 
Robin_Watts tor7: not sure offhand. Let me look.15:27.38 
tor7 I wonder why you did that though... before we just copied the data into the display list when needed15:27.39 
  which is kind of what I still assumed, but now I've got pointers in the display list into my (stale and overwritten) stack-stored fz_stroke_state... :(15:28.31 
Robin_Watts Currently I think you should always be using fz_new_stroke_state.15:29.18 
  which will malloc.15:29.22 
tor7 Robin_Watts: I am making good progress on having the svg-device tigering15:29.31 
  Robin_Watts: bah. I don't like it... it's a lot of keeping track of stroke states when I didn't use to have to, so as not to clobber any stowed away states by accident :( please tell me you had a good reason.15:30.45 
Robin_Watts We *could* allow the use of stack based stroke_states by having them use a negative ref count, and when we 'keep' them, we could clone it automatically?15:30.55 
tor7 svg-input, not device15:31.03 
Robin_Watts tor7: I'm sure I had a very good reason.15:31.07 
  tor7: Right.15:31.11 
  and I'm sure I discussed it with you at the time. Though I cannot remember why or when :)15:31.51 
tor7 Robin_Watts: me neither... though I do have a vague recollection of having discussed it! :)15:32.11 
  my main worry is if we make the eventual "canvas" api, everyone and his mother is going to screw up and clobber stroke states that have been put into display lists15:33.05 
Robin_Watts tor7: We have an 'unshare' mechanism in there.15:33.26 
tor7 Robin_Watts: if you'd done it to add dynamically allocated dash-stroke-lists I would have understood, but the dash list is still capped to 32 entries15:34.02 
Robin_Watts tor7: No, it's not.15:34.14 
  fz_new_stroke_state_with_len15:34.20 
tor7 ah, so that's why!15:34.36 
  that ought to be ...with_dash_len15:34.49 
Robin_Watts feel free to rename.15:35.24 
tor7 will do.15:35.36 
  Robin_Watts: how do you feel about not reference counting, still mallocing, but cloning when inserting into the display list?15:36.02 
  or maybe we should make it opaque, and use some sort of copy-on-write mechanism15:36.31 
Robin_Watts The 'unshare' is supposed to be copy on write.15:36.47 
tor7 anyway, I can proceed now that I know what's going on but this could be a sore spot in the api15:36.51 
Robin_Watts I like the idea of having stack based ones with a negative ref count.15:37.13 
  so we'd do: fz_stroke_state ss = fz_default_stroke_state;15:37.38 
  Then ss.blah = ...; to set it up.15:37.46 
  Then do the call with &ss15:37.56 
  Then when the called thing does fz_keep_stroke_state, we have that spot refs = -1 and do a malloc/copy.15:38.20 
tor7 Robin_Watts: yeah, I think that's a reasonable approach15:44.10 
  or just refs = 0?15:44.23 
  seeing as we use refs = -1 for const stuff15:44.38 
Robin_Watts refs = -1 generally denotes constant...15:44.42 
  yes.15:44.44 
  I worry that 0 might work under debug builds and fail under release ones?15:45.02 
  if people forget to init them.15:45.10 
chrisl Use MAX_INT for stack based?15:46.08 
tor7 Robin_Watts: yeah, that is a worry15:47.05 
Robin_Watts chrisl: yeah, -2, MAX_INT, any value like that would be fine.15:47.07 
tor7 I'm not opposed to -1 (if we think of it as 'magic' rather than 'const')15:47.25 
  Robin_Watts: did you take a look at the commits on tor/master yet?15:47.42 
Robin_Watts tor7: I suspect -2 would be better, as we get the option of having both 'const' and 'magic'.15:47.54 
  tor7: sorry, no. Busy with 801 currently.15:48.17 
  but I will try to as soon as I fix what I've broken here.15:48.26 
tor7 right. no rush.15:48.28 
mvrhel_laptop Robin_Watts: I see that yes, there is an issue with black15:50.56 
  do you want me to figure it for you?15:51.07 
Robin_Watts mvrhel_laptop: I'm working on it now.15:51.17 
mvrhel_laptop ok15:51.43 
  let me know when you have it fixed then I will take another look at things15:51.58 
Robin_Watts I'm very confused, cos this was working earlier.15:52.30 
  Oh, it works for tiger, but not for your file!15:52.56 
mvrhel_laptop Robin_Watts: I get black output with my file. but it is def wrong15:53.41 
Robin_Watts I get diagonal noise for black on your file.15:54.30 
mvrhel_laptop oh not me15:55.08 
  I get nice rectangles in the black plane15:55.18 
Robin_Watts actually, I don't even get the other planes out readably. This is going to be something really stupid...15:55.25 
mvrhel_laptop but I am using the icc profile and defining the colorants15:55.28 
  too15:55.31 
  i.e. using the customer command line15:55.41 
henrys Robin_Watts: so the docx of October 14 is complete and latest.15:56.03 
mvrhel_laptop Robin_Watts: I am going to create the psdcmyk output for this case as we should match that15:56.32 
  plane for plane with their profile15:56.42 
Robin_Watts henrys: If it has his time estimates at the bottom, yes.15:56.48 
  mvrhel_laptop: Well, no.15:56.59 
  Their device gets the noise offsets wrong per band.15:57.27 
mvrhel_laptop color wise yes if I use the same profile15:57.28 
Robin_Watts unless you set the bandheight to 256 or something.15:57.52 
henrys Robin_Watts: no I don't see time estimates are you certain I was copied in?15:58.06 
mvrhel_laptop Robin_Watts: I guess I am not following you15:58.13 
  what noise offsets? I are you talking about halftoning?15:58.27 
  s/I are/Are/15:58.41 
Robin_Watts henrys: On Sunday, Marti copied to tech15:58.52 
  mvrhel_laptop: Yes, the halftoning.15:59.06 
chrisl Robin_Watts: only Artifex people can send to tech......15:59.26 
Robin_Watts The output from their device is 4bpp, with halftoning.15:59.34 
mvrhel_laptop ok well the avg. of the squares should match15:59.35 
Robin_Watts ok.15:59.45 
mvrhel_laptop I did not mean pixel for pixel15:59.52 
Robin_Watts Oh, let me forward to tech then.15:59.54 
  mvrhel_laptop: Sorry.15:59.57 
  chrisl: That's... a shame.16:00.45 
  I've copied his message to tech now.16:00.59 
chrisl Robin_Watts: it's been that way since I joined16:01.29 
mvrhel_laptop Robin_Watts: thanks for adding the pgm suffix and getting the range to 255. much better.16:01.29 
ray_laptop morning, all.16:03.36 
Robin_Watts morning ray16:03.41 
mvrhel_laptop Robin_Watts: oh that is interesting16:03.45 
ray_laptop Robin_Watts: I'm going to look into my psdcmyk segfaults now16:03.51 
mvrhel_laptop the psd device with their profile has the blacks wrong16:04.08 
  I need to look at their profile16:04.14 
  I suspect that we have an ordering issue here16:04.53 
henrys Robin_Watts: looks good just need dollar estimate - does he want to send that privately, is that why it was not included in the document?16:06.47 
Robin_Watts henrys: I figured that the rate he decides to charge artifex is nothing to do with me, and could be handled by you and Miles etc :)16:07.30 
henrys okay I'll send him email16:07.55 
mvrhel_laptop and the profile is fine16:09.28 
henrys Robin_Watts: I'm surprised he got away with globals in a shared library without other complaints.16:09.58 
mvrhel_laptop oh due16:10.02 
  duh16:10.04 
  I had copied their command line as it was in their readme16:10.46 
  it will not work the way that they have it for that profile16:10.56 
Robin_Watts EH?! band_height = 132, so how can I be being called with 133 lines of data each time?16:14.06 
mvrhel_laptop interesting. colors are still wrong :(16:14.06 
  oh. no actually they are correct16:14.25 
  Robin_Watts: so the colors from the customer device look correct16:20.06 
  when I use their profile and the proper name ordering16:20.19 
  in the command line16:20.25 
  However, I just left one spot name in the list of colorants16:22.51 
  it makes no sense to have Blue and XXXXBlue16:23.02 
  Since the profile only has XXXXBlue according to their command line16:23.27 
Robin_Watts mvrhel_laptop: I agree that we should just leave 1 spotname in the colorants.16:23.38 
  But I worry that they might have PDF files set to have a "Blue" separation.16:23.57 
  so mapping "Blue" to "XXXXBlue" might be smart?16:24.07 
mvrhel_laptop Robin_Watts: The spot color "Blue" will end up using a lot of XXXXBlue when going through the profile16:25.29 
  And is a common name16:25.58 
Robin_Watts ok. I didn't realise that.16:26.23 
mvrhel_laptop that may have different meanings not associated with their ink16:26.27 
  I will plan to ask them about this16:26.38 
Robin_Watts Then I wonder why they listed it in their device?16:26.39 
  OK.16:26.41 
mvrhel_laptop I would for now, just keep XXXXBlue16:26.53 
Robin_Watts Seems sensible. I will make that change here.16:27.37 
  clist_dev_spec_op is not forwarding in the way I would have hoped it would.16:28.12 
  It forwards to gdev_prn_dev_spec_op.16:28.33 
  Not to the dev_spec_op of the clist target device.16:28.51 
  oh... clist has stolen the dev_spec_op by that point...16:31.39 
  I need to discuss this with ray...16:31.47 
  ray_laptop: You here?16:31.51 
ray_laptop Robin_Watts: I understand why you are able to run without the pad. Each line "wraps" to the next line (maybe in the next plane) and then on the last line of the last plane, you pick up line_ptrs as the garbage. At least you aren't in danger of segfault as long as you have enough line ptrs 16:32.02 
mvrhel_laptop Robin_Watts: I am going over the DeviceN stuff now. num_std_colorant_names is set incorrectly for some reason16:32.04 
Robin_Watts It's set to 5, right?16:32.30 
  ray_laptop: So, I'm having trouble with the bandheight adjustment stuff.16:33.20 
mvrhel_laptop right.16:33.24 
ray_laptop hmm.. I see. So clist should call the device's proc and rely on it calling the gdev_prn_spec_op proc ?16:33.35 
Robin_Watts C M Y K B = 5 ?16:33.39 
mvrhel_laptop looks like an issue in the graphics lib16:33.39 
  right. but XXXXBlue is not a std colorant16:33.51 
  kinda special16:34.00 
Robin_Watts But it's 'standard' for this device maybe? I was guessing when I did this.16:34.14 
  Why would we need to list "CMYK" as standard colorants? If it really means "standard" colorants, then why is that a device thing.16:34.39 
  I assumed it meant "standard for this device".16:34.46 
  i.e. "spot colors that we cope with without having to make new entries".16:35.01 
mvrhel_laptop CMYK are standard. there is a test in the code to see if the device has the std CMYK colorants. and it does it by checking the number of std colorants == 416:35.01 
  not the best test16:35.13 
  I feel16:35.17 
  I need to look a bit closer16:35.25 
Robin_Watts mvrhel_laptop: I'm going to leave this to you :)16:35.31 
mvrhel_laptop like I said, this may be an issue in the graphics lib16:35.33 
Robin_Watts ray_laptop: So, the problem I have here is that with mvrhel_laptop's file, it wants to use a band_height of 133.16:35.57 
  and the band_height calculations are done several times, and each time the gxdso knocks it down to 132.16:36.19 
ray_laptop Robin_Watts: OK. And you want a multiple of 2, right ?16:36.37 
Robin_Watts Then finally it has one last go with 133 only to find that it ends up in clist_dev_spec_op.16:36.52 
  And that forwards to gdev_prn_dev_spec_op, which doesn't know anything about bandheights, so it returns 133.16:37.15 
ray_laptop Robin_Watts: this is all during device setup (prior to clist writing), right ?16:37.34 
Robin_Watts clist_dev_spec_op *can't* forward to the target devices dev_spec_op, because the targets dev_spec_op is clist_dev_spec_op at this point.16:38.08 
  ray_laptop: I assume so, yes.16:38.14 
  In fact, yes, I'm sure it is.16:38.26 
ray_laptop Robin_Watts: clist has the target device and it's procs16:38.31 
Robin_Watts cdev->target->procs.dev_spec_op == clist_dev_spec_op16:38.50 
ray_laptop and this dosen't work with the get_space_params, or didn't you try that ?16:39.42 
  and that's what's being called (the target->procs.dev_spec_op) ?16:40.30 
Robin_Watts I'm in clist_init_data16:40.52 
  in gxclist.c at line 46316:41.04 
mvrhel_laptop Robin_Watts: so yes you should set Number colorants for CMYK to 4 on line 38916:47.29 
  When they use their 5 color profile this has no effect16:47.40 
  but with a CMYK profile it will16:47.46 
  having it at 5 prevents proper color management of the CMYK to CMYK values16:48.07 
ray_laptop Robin_Watts: OK, so it's gdev_prn_allocate that does the dirty. It overwrites the procs with the clist procs right after (?) is does the setup as command list16:48.48 
  it has tucked away the device's orig_procs16:49.03 
Robin_Watts Can it forward to the orig_proc ?16:49.18 
ray_laptop forward to who ?16:49.43 
Robin_Watts Could clist_dev_spec_op forward to the original dev_spec_op somehow? Where is the original one saved?16:50.40 
ray_laptop Robin_Watts: do you mean make the orig_procs part of the gx_device_clist instead of in gx_device_printer ?16:50.53 
Robin_Watts oh.16:51.14 
ray_laptop the original one is in gx_device_printer "orig_procs.dev_spec_op"16:51.26 
Robin_Watts gdev_prn_dev_spec_op could maybe call the original one if there was one?16:52.06 
ray_laptop Are you sure this can't be done with the get_space_params16:52.27 
Robin_Watts I'm not sure of anything anymore!16:53.01 
ray_laptop Robin_Watts: OK, that's an approach. It has the orig_procs16:53.03 
Robin_Watts But when we discussed this before, we decided on the dev_spec_op.16:53.18 
ray_laptop Robin_Watts: yeah, I didn't fight you on it, and it's your favorite hammer ;-)16:53.45 
  but we need to define the chaining process for dev_spec_op to make sure we don't end up with loops16:54.18 
  generally a forwarding device calls its target procs16:54.59 
Robin_Watts I can unlink the orig_proc before calling it, so it can't loop?16:56.06 
ray_laptop and (if I understand it) the actual devices are expected to call gx_default_spec_op ?16:56.07 
Robin_Watts yes.16:56.24 
  Might we ever have the same device having its dev_spec_op being called from more than 1 thread at a time?16:57.32 
ray_laptop Robin_Watts: maybe, why ? remember, each thread is a standalone device struct, so even if the spec_op sets something for the device, we are OK16:58.47 
  I think16:58.55 
Robin_Watts ray_laptop: To avoid loops, I could read orig_procs.dev_spec_op, then set that to NULL, then call it, then on return, reset it.16:59.21 
ray_laptop but the clist playback in threads can't call the spec_op, can it ?16:59.24 
Robin_Watts ray_laptop: Maybe not now, maybe not tomorrow, but one day...16:59.54 
ray_laptop Robin_Watts: right, that's done several places, or set it to the default which we know never calls out17:00.00 
mvrhel_laptop Robin_Watts: other than that one change, it all looks good to me color-wise17:00.25 
  nice job17:00.34 
Robin_Watts ray_laptop: Right. The only time this would go wrong is if people had a device with a dev_spec_op and made it call gdev_prn_dev_spec_op at the end.17:01.00 
ray_laptop Robin_Watts: OK, so I like having the gdev_prn_spec_op call the orig_procs.dev_spec_op with the method you describe17:01.07 
Robin_Watts The 'unlinking' trick fails if we have multiple threads calling this.17:01.30 
ray_laptop all a device is ever supposed to call is gx_default_spec_op17:01.35 
mvrhel_laptop Robin_Watts: and line 433 can go away17:01.43 
amonakov hello. what is the recommended way to submit mupdf (fitz) patches?17:02.25 
Robin_Watts ray_laptop: In that case, I am tempted not to bother unlinking.17:02.59 
mvrhel_laptop impressive looking work in the SSE2 area by the way17:03.08 
Robin_Watts mvrhel_laptop: DevCMYKBBComponents is still needed, right?17:03.25 
mvrhel_laptop oh yes17:03.56 
Robin_Watts but the "number of standard colorants" should be 4, not 5?17:04.13 
mvrhel_laptop but just the 5 of them17:04.13 
  yes17:04.19 
Robin_Watts I'm looking at the device definition now...17:04.56 
  There is the XXXX_DEVICE(...) line17:05.14 
  and that has a 5 in it.17:05.18 
  Can you give me specific instructions for what to change please? It'll be safer than me trying to muddle it.17:06.04 
mvrhel_laptop line 389 right after DevCMYKBBComponents 17:06.25 
  with the comment /* @@@ Number colorants for CMYK */17:06.34 
  should be 4 not 517:06.40 
ray_laptop Robin_Watts: let me look at something in the clist processing before we decide on a method.17:07.13 
Robin_Watts But the MaxSeparations should be 5?17:07.27 
mvrhel_laptop yes17:07.32 
Robin_Watts mvrhel_laptop: Do we need the update_spot_equivalent_colors stuff?17:08.03 
  and the ret_devn_params ?17:08.08 
  and the get_color_mapping_procs?17:08.22 
  and the get_color_comp_index17:08.33 
mvrhel_laptop Robin_Watts: so update spot equivalent is not *really* needed for this device. Since it gives the device information that it can use. However, I don't know what happens if you have it null. ret_devn_params is needed17:10.03 
  get_color_mapping_procs is needed17:10.13 
Robin_Watts mvrhel_laptop: Am I right in thinking that your file should give a completely clear black plane ?17:10.21 
mvrhel_laptop no17:10.29 
  oh let me check in the case where we have no profile17:10.46 
  or rather when the profile is CMYK17:11.49 
  as no profile means this to be the case17:11.59 
  Robin_Watts: ok so yes17:12.45 
Robin_Watts Phew.17:12.51 
mvrhel_laptop with out using the customer profile the black plane is blank17:12.58 
  :)17:13.25 
Robin_Watts OK, updated gdevXXXX.c in my home dir17:13.31 
ray_laptop Robin_Watts: since you and mvrhel_laptop have been going back and forth, where's the 'latest and greatest' code you guys are discussing. I wanted to look at it, too, in a bit17:13.55 
Robin_Watts ray_laptop: I will do a zip of all my changes in a mo.17:14.15 
ray_laptop Robin_Watts: You don't have a tree in your home dir on casper ?17:15.19 
Robin_Watts not with all my changes.17:15.32 
ray_laptop oh, I see the gdevXXXX.c file that has a time stamp of just a few minutes ago17:16.08 
  ls -lt | head is your friend :-)17:16.25 
Robin_Watts 801.tar.gz in my home dir is refreshed with everything, including the gdev_prn_dev_spec_op we were just talking about.17:17.26 
ray_laptop Robin_Watts: I see two .zip's should I first grab the big one (XXXX_Project_0822.zip) ?17:17.43 
  if it's the same as was on the FTP site, then I already have it17:18.02 
Robin_Watts ray_laptop: The big one is their original device within 9.06 or something like that.17:18.11 
  that's the one from the ftp site, yes.17:18.17 
mvrhel_laptop Robin_Watts: so you can ditch update_spot_equivalent_colors17:18.22 
Robin_Watts mvrhel_laptop: Great, thanks.17:18.32 
ray_laptop OK. So I just tar -x the 801.zip ?17:18.37 
mvrhel_laptop let me double check on the others to see what the defaults do17:18.46 
ray_laptop on top of the code base I have ?17:18.51 
Robin_Watts mvrhel_laptop: Does that mean I no longer need equivalent_cmyk_color_params equiv_cmyk_colors; in the device definitions?17:20.06 
  ray_laptop: On top of a current ghostpdl, yes.17:20.20 
mvrhel_laptop Robin_Watts: that is true17:20.26 
  you would use those to construct the simulated composited view17:20.43 
  and we are not doing that17:20.52 
Robin_Watts Great. I blindly copied some of this stuff from psdcmyk, I think.17:21.04 
  Hmm.17:21.25 
  the get_color_comp_index function makes reference to the equiv_cmyk_colors17:21.45 
mvrhel_laptop hold on let me look this over more17:22.45 
  Robin_Watts: it can be NULL17:25.55 
  so just remove17:26.13 
  and do the call with NULL17:26.32 
Robin_Watts cool, thanks.17:27.06 
ray_laptop mvrhel_laptop: Len just called. I don't suppose you've gone back to looking at the massive allocation problem, have you ? I think we may need to jump on that soon. They are also P1. 17:27.20 
Robin_Watts Do we need the thing with the warnings about the number of separations?17:27.21 
mvrhel_laptop no that can be removed17:27.50 
ray_laptop mvrhel_laptop: we need to get on this before he continues with some hacky solution (that's what he wanted to talk about)17:27.53 
mvrhel_laptop ray_laptop: gone back to looking at? I really have not really looked at it as I thought we decided it was not an ICC problem, but now I guess it is17:28.58 
  ray_laptop: I am about finished up here I think with helping Robin17:29.22 
Robin_Watts mvrhel_laptop: Yes. MUCH appreciated. Thanks.17:29.35 
mvrhel_laptop then I will help Len17:29.44 
  Robin_Watts: I really did not do much17:29.52 
  let me just check a couple other things17:30.05 
  Robin_Watts: so you can remove warning_given from the device definition17:30.50 
Robin_Watts just doing that.17:31.00 
  So, new 801.tar.gz uploaded.17:34.29 
mvrhel_laptop Robin_Watts: ok I think that is all I have for now17:38.05 
Robin_Watts mvrhel_laptop: Thanks.17:38.16 
mvrhel_laptop Robin_Watts: glad to help out the bit that I could17:38.33 
Robin_Watts ray_laptop: Where did the alignment stuff land? Is that on hold while you fight fires for Len ?17:38.52 
mvrhel_laptop ray_laptop: ok. let me run and do one thing (3 minutes) and then lets have fun with icc leaks17:38.53 
Robin_Watts mvrhel_laptop, ray_laptop: Let me know if I can help with this leaky thing. I can try a memento run if that will help.17:39.21 
amonakov excuse me, I have a few questions, is this a good time?17:44.28 
  I was wondering about the recommended way to submit patches, but there's a couple of other things I'd like to clarify as well17:44.57 
Robin_Watts amonakov: Open a bug on bugs.ghostscript.com, mark it as an enhancement, describe exactly what it solves etc, and attach the patch.17:45.47 
amonakov ok, thanks17:46.37 
  the other two questions were about how to add opt-in font hinting (fitz_enable_device_hints?), and assumed colorspace in fitz re: tor7's patch above17:47.37 
Robin_Watts Either you'd add a hint to the device, or you'd put something in the context, similar to the antialiasing levels that are there now.17:48.36 
ray_laptop mvrhel_laptop: sorry. Took a while to get Len to let me go back to work :-/17:50.01 
  Robin_Watts: They aren't *real* leaks in that they just aren't being GC'd.17:50.40 
  and the profile is getting loaded over and over again even though we already have it laying around. We just "misplaced it" (i.e., forgot about it and left it for the GC to find later)17:51.51 
mvrhel_laptop ray_laptop: ok. what do I need to do see this happening17:52.18 
ray_laptop Robin_Watts: I don't memento will help with that17:52.20 
Robin_Watts ray_laptop: possibly not.17:52.51 
  tor7: ping17:53.02 
mvrhel_laptop ray_laptop: likely a tranparency group issue17:53.08 
  just a guess anyway17:53.32 
amonakov alas, tor7 does not seem to be here; I was hoping to talk to him17:53.39 
mvrhel_laptop ray_laptop: let me get set up with the file17:53.51 
ray_laptop mvrhel_laptop: I ran the file, with HEAD using: debugbin/gswin32c -r72 -sDEVICE=ppmraw -o x.ppm -dMaxBitmap=1g -d PDFDEBUG -Z:a AIX361DC_Save.pdf > log 2>&117:54.17 
Robin_Watts tor7: For the logs: Your reviews all look good. The only thing I have questions about is the first one...17:55.04 
ray_laptop Then in the log you can look for the *magic* size of the blocks being alloc'ed and freed (557168)17:55.19 
Robin_Watts 1) Does our PWG support really do CMYK already?17:56.13 
mvrhel_laptop henrys: might end up doing a mt. bike trip in the Yukon this next summer17:56.14 
henrys mvrhel_laptop: summer is a good time ;-) Sounds like quite an adventure.17:57.04 
Robin_Watts tor7: actually, 1) was my only question in the end :)17:57.04 
ray_laptop mvrhel_laptop: the "forget" part may be that we are in a save / restore, but the profile(s) that we forgot were put in stable memory. stable memory is still subject to GC17:57.16 
  mvrhel_laptop: but that's guessing.18:00.44 
  Robin_Watts: to answer your question, I am going to budget the rest of the morning to the alignment code, then when I do a push, work on the other part of Len's issue -- getting an error page to print after a VMerror, with expected consultations with mvrhel_laptop if he needs it18:02.18 
  so, back to alignment for a bit. 18:02.36 
Robin_Watts ray_laptop: I was going to say that if you want to throw it over to me, and concentrate on Len, feel free.18:02.49 
  801 also did a 'bent' tiff device in their sourcetree.18:03.31 
  I've ignored that for now, but possibly I should be looking at converting that over too ?18:03.45 
  henrys: ^18:03.55 
ray_laptop Robin_Watts: does it also get the same 4-bit munged stuff from their gxclthrd.c18:09.33 
Robin_Watts yes.18:09.39 
ray_laptop Robin_Watts: but, I think they mentioned they need TIFF (not clear why). I thought it was just for monochrome18:10.01 
Robin_Watts ray_laptop: So, the question is, do I push forwards with a new version of their tiff device, or do we just wait for the padding/alignment stuff, fix the SSE to make use of that, and then send them that as a starting shot?18:11.23 
ray_laptop Robin_Watts: well, it seems like the 'process_page' changes are common, so I'd say go ahead and start the tiff changes. We don't have to send it to them (we can send the color part sooner)18:14.05 
Robin_Watts Damn. My dev_spec_op clist fix causes mass timeouts on the cluster18:21.46 
henrys Robin_Watts: let's not worry about the tiff stuff18:29.54 
Robin_Watts good answer :)18:30.13 
henrys anybody have opinions about the best tablet out there these days. My son is looking for one.18:32.39 
Robin_Watts At what size? The new Nexus 7 is pretty damn good.18:33.52 
mvrhel_laptop Robin_Watts: any chance you could add a mention of --debug into the documentation in Use.htm Debug switches18:36.59 
  seems like something that should be there18:37.09 
Robin_Watts sure.18:37.18 
mvrhel_laptop and I think you did that extension yes?18:37.19 
  thanks18:37.20 
  for what ever reason I always forget the notation18:37.36 
  and then have to go back and look at the commit18:37.43 
  after looking at our great documentation :)18:38.03 
Robin_Watts mvrhel_laptop: I did the extension, yes.18:38.58 
henrys Robin_Watts: he wants a 10 he's looking at nexus 10 vs. iPad air 18:43.58 
Robin_Watts well, does he want shiny, but expensive, unexpandable, and walled garden, or does he want android? :)18:45.02 
henrys Robin_Watts: he'll probably get an iPad so he can talk to the girls at the apple store ;-)18:49.43 
Robin_Watts and this is why apple is the most successful company in the world today :)18:51.51 
mvrhel_laptop ray_laptop: so I am seeing some funny stuff go on in the transparency ICC code that may be the source of our problems18:52.42 
  digging a little more to track down18:53.07 
Robin_Watts henrys: Did you read about the peachy printer in the end?18:53.48 
  I just gave in and pledged for castAR.18:54.07 
  I feel that my geek status needed reinforcement :)18:54.37 
henrys Robin_Watts: no I never got around to it. Thanks for reminding me.18:55.23 
  Robin_Watts: the nexus 10 release is imminent and I'm sure the goal will be to outdo the air. The current 2012 model doesn't compete really.19:01.23 
mvrhel_laptop ok. with this debug set up I should be able to figure out the issue19:02.20 
  need to eat now though19:02.24 
ray_laptop mvrhel_laptop: thanks19:02.32 
  darn. I rushed out to deliver lunches and my regression didn't start :-( running it now19:03.44 
  that *should* fix the planar mode alignment+pad change issue19:04.14 
Robin_Watts ray_laptop: Excellent. If there are remaining problems, feel free to mail me, and I can look tomorrow.19:04.38 
  I'm going out to see Enders Game in a bit.19:04.49 
ray_laptop Robin_Watts: this one actually has the pad forced to 5 and the alignment forced to 819:05.13 
  so it's the 'stress test'19:05.29 
  If you want I can run a pad of 64 and alignment of 16 later, as well19:05.55 
  Enjoy the movie! My 14yr old *really* wants to see it. He read the series this summer19:08.15 
pipitas Hi. I'm trying to convert a PDF page with some color to pure grayscale: "gs -o gray.pdf -sDEVICE=pdfwrite -sProcessColorModel=DeviceGray -sColorConversionStrategy=Gray color.pdf". However, it does not work (I *KNOW* it used to work on former occasions).19:12.16 
  I used a current debug build from Git, and added "-Zc" to get debugging output about color.-19:12.22 
  The only (to me) meaningful output line I can spot is this:19:12.22 
  "Unable to convert color space to Gray, reverting strategy to LeaveColorUnchanged."19:12.22 
mvrhel_laptop now I am suspecting that there is some funny stuff going on with the color space setting19:12.24 
henrys Robin_Watts: Orson has really ruffled some feathers here ...19:12.49 
pipitas What could be wrong with my command (or with the input PDF)?19:13.02 
Robin_Watts pipitas: You probably need ken. Try again in about 15 hours time.19:13.55 
pipitas Hmm… I need to print my train ticket for a departure 14 hours from now — on a printer which complains about low level inks for CMY, but which still has K ink enough :)19:15.45 
Robin_Watts pipitas: Print to a greyscale bitmap. Print the bitmap.19:17.10 
ray_laptop pipitas: hopefullly your printer will allow that. I had a KM laser printer that refused to print a black page when out of yellow.19:18.48 
  pipitas: my newer Epson *does* allow black only printing when out of color, in fact, it will even automatically print gray from a color page. Very high user friendly marks19:19.47 
  and when I ran out of black, it let me print in CMY. Both required pressing "OK" on the panel19:20.43 
  that's the way to do it, IMHO19:21.05 
Robin_Watts Damn. Still SEGVs with my new patch. Will have to look why tomorrow.19:21.35 
mvrhel_laptop ray_laptop: so it is interesting that the icc color space has no compareproc.19:21.56 
ray_laptop plus Epson has individual C, M, Y and K cartridges so you don't have to waste the C and M when you run out of Y (which always goes fastest)19:22.28 
mvrhel_laptop The net effect is that I am seeing a free and a new allocation where we don't need to be doing that19:23.31 
  this is a performance hit at the least19:23.50 
  of course it is not the source of our growing pile of profiles19:24.01 
ray_laptop mvrhel_laptop: yeah, that might help (as long as we haven't lost track of the profile we've already loaded). A 'q' /ICCBased ... cs 'Q' could revert to something like DeviceRGB or DeviceGray and lose the profile19:24.04 
pipitas is going to remove the ink cartridges and shake them a bit in order to try and fool the printer in his host's home office…19:24.08 
ray_laptop pipitas: good luck. That often works with laser toner, but some inkjets have "smart" cartridges so you can't even refill them. They count drops and mark it as empty19:25.21 
  my previous company did that nefarious deed since they planned on making lots of money on ink. They went out of business before the $$$ started rolling in19:26.27 
amonakov would it be kosher to add new field `int hint_all_glyphs' into struct fz_context_s?19:27.22 
  hm, fz_font_context_s might be a better fit actually19:28.55 
JakeSays hello.. i have a mupdf question. i'm implementing this method in a custom device: fill_image_mask(fz_device *dev, fz_image *img, fz_matrix ctm, fz_colorspace * colorspace, float *color, float alpha)19:40.24 
  my question is, how can i determine the actual bounds of the image as it will be displayed? the images are much larger than the space they consume in the rendered pdf19:41.12 
Robin_Watts JakeSays: The image is scaled to fit within a square from (0,0) to (1,1). And that square is then transformed by the ctm.20:10.43 
  So if the ctm is (100, 0, 0, 200, 30, 40) then the image will end up being 100 wide by 200 tall, with its corner at (30,40)20:11.22 
  And if you can't instantly see how I got those figures, you should read up on transformation matrices before doing anything else.20:12.16 
JakeSays Robin_Watts: ah ok. yeah i understand the transformation. part i was missing was the scaling.20:15.48 
  Robin_Watts: would i need to convert the image dimensions from pixels to points before scaling/transforming, or does the normalizing to the unit square eliminate that need?20:33.13 
pipitas1 mvrhel_laptop: Are you around?20:39.05 
mvrhel_laptop yes20:39.20 
  pipitas1^^20:39.49 
pipitas1 Did you see my question from about 1hr 20min ago?20:40.09 
mvrhel_laptop no20:40.13 
pipitas1 I tried to convert a 1page color PDF to grayscale, but got again a color PDF with message:    "Unable to convert color space to Gray, reverting strategy to LeaveColorUnchanged."20:41.07 
  Command was: "gs -o gray.pdf -sDEVICE=pdfwrite -sProcessColorModel=DeviceGray -sColorConversionStrategy=Gray color.pdf"20:41.30 
  This *USED* to work. 20:41.48 
  Either I don't remember the correct command, or the input PDF is somehow weird, or GS has a bug…20:42.12 
  mvrhel_laptop: I tried GS 9.10 as well as current Git. Both with same result.20:42.44 
mvrhel_laptop_ sorry connection dropped20:42.54 
  did you see my comment about pdfwrite color?20:43.02 
  kens is in charge of this20:43.10 
  and in the middle of a big change20:43.17 
  pdfwrite did not make sure of the icc color settings20:43.26 
pipitas1 mvrhel_laptop: But it SHOULD work with the 9.10 release, no?20:43.41 
mvrhel_laptop_ but you are not doing that I see20:43.43 
  pipitas1: I would expect to see no real diff with the 9.10 release but you should check with kens20:44.14 
  he will be around UK time20:44.22 
pipitas1 mvrhel_laptop: I know KenS in charge of pdfwrite, but I thought *you* can spot my mistake (if I made one).20:44.37 
mvrhel_laptop pipitas1: I don't see any issue with your command line20:46.16 
  unfortunately I can't test it out now20:46.32 
  in middle of something20:46.35 
pipitas1 mvrhel_laptop: I understand20:55.26 
mvrhel_laptop ray_laptop: cluster testing the icc comparison test.21:23.09 
  now I will see what else is going on21:23.17 
ray_laptop mvrhel_laptop: Ha! I beat you. My test is running first ;-)21:24.50 
mvrhel_laptop hmm where is that reset button21:25.11 
ray_laptop mvrhel_laptop: if you had sudo access on a server, you could su to 'ray' and submit a "git abort" (not that I've ever abused my access that way ;-) )21:26.41 
mvrhel_laptop well this fix has cut way down on the icc allocation noise21:27.13 
ray_laptop not git abort, I mean toolbin/localcluster/gitpush.sh abort21:27.27 
  mvrhel_laptop: Great! so the performance AND allocation should be a *lot* better21:27.57 
mvrhel_laptop in fact it is looking like this was the issue21:28.16 
ray_laptop mvrhel_laptop except we still don't know why the old things were left around for the GC to clean up.21:29.12 
mvrhel_laptop right. let me push on for a bit21:29.23 
ray_laptop mvrhel_laptop: I have to pick up kids today. My wife is on a shopping trip to help our niece decorate with balloons and stuff.21:30.41 
mvrhel_laptop ok21:30.51 
ray_laptop oh. one of our fastest cluster machines, "i7", is --DOWN-- :-(21:31.29 
  marcosw: are you doing maintenance on it, or did it finally overheat due to that extreme overclocking (or water cooling failure) ?21:32.28 
JakeSays Robin_Watts: hey that worked. thanks!21:33.59 
ray_laptop I've (finally) got my phone (mostly free) wi-fi hotspot working. I can now heartily recommend PDAnet for an android based phone !21:34.14 
  it's a commercial product, but a one-time purchase is better than $15/mo my phone provider (Verizon) wants *on top of unlimited internet*21:35.44 
  mvrhel_laptop: my cluster run is almost finished. Thanks for waiting ;-)21:37.03 
mvrhel_laptop np21:37.13 
ray_laptop I'll see if I got less than 30K segfaults this time :-)21:37.42 
  I fixed planar mode and broken non-planar mode :-(21:38.15 
  so maybe now both will work21:38.34 
mvrhel_laptop ray_laptop: so were you seeing the issue during writing or reading (clist)21:51.55 
  I don't see any issues now with writing21:52.07 
  all the profiles see to be getting freed with reference counting21:52.23 
  s/see/seem/21:52.27 
  when my cluster run is finished (assuming all is ok with it). would you mind checking if you still see the issue21:53.12 
  ray_laptop; for the logs when you get back. I am seing about a 5percent speed improvement with the fix on that file22:42.40 
  not huge, but at least in the right direction22:42.56 
marcosw2 rayjj or mvrhel_laptop: I'm trying to figure out which version of Visual Studio I want to install on the Win7 regression machine. Is Visual Studio Express 2013 for Windows Desktop a reasonable choice? Or do I want Visual Studio Team Foundation Server Express 2013? 22:43.30 
JakeSays marcosw2: team foundation server express isnt an ide22:57.22 
mvrhel_laptop The express should be fine marcosw223:02.43 
Robin_Watts mvrhel_laptop: Why do we want anything newer than VS2005 installed?23:50.19 
  All our projects build with VS2005.23:50.32 
mvrhel_laptop Robin_Watts: VS2005 would be fine23:55.06 
JakeSays dang. thats old.23:55.20 
mvrhel_laptop tell me about it23:55.26 
Robin_Watts JakeSays: Anything newer than VS2005 loses compatability with old machines for no good reason.23:55.43 
JakeSays i built mupdf earlier today with vs2012. worked fine.23:55.58 
  Robin_Watts: well, the good reason is more $$ for ms. lol23:56.24 
marcosw I figured I should install the latest visual studio since the first thing we do when a ghostscript user complains about something being broken is to tell them to upgrade to the latest release. 23:59.39 
 Forward 1 day (to 2013/10/31)>>> 
ghostscript.com
Search: