IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2013/04/16)2013/04/17 
mvrhel_laptop tkamppeter_ are you there?05:08.25 
  ok. so the color monitoring stuff is written except for high level c-list images. that is going to be a little ugly so will tackle that in the morning05:40.53 
Robin_Watts paulgardiner: So, you're coming to Miami.08:28.30 
paulgardiner Right. Great08:28.56 
Robin_Watts We are on VS005 out on the 7th, and VS006 back on the 8th08:29.26 
  9th!08:29.31 
kens Robin_Watts : re your comment on bug #69391708:29.42 
  It really is the downsampling we want for pdfwrite, not downscaling08:29.56 
  I waqnt to reduce the effective resolution of the image data08:30.10 
Robin_Watts kens: Right. The terms downsampling and downscaling are really interchangable in general.08:31.13 
  but in gs, we have 2 completely different implementations.08:31.30 
kens Hmm, well...08:31.44 
Robin_Watts the downsampler takes 'groups' of pixels and turns them into small groups of pixels.08:31.55 
  typically 4:1, 9:1, 16:1 etc, but also 9:4 etc.08:32.15 
  and the way that's hooked up it's for the tiffscaled device.08:32.25 
kens Sounds like what I want though08:32.47 
Robin_Watts The downscaler takes a stream of image data at any size, and bilinearly interpolates that into a stream of image data at any other size.08:32.54 
  That sounds more to me like what you want.08:33.03 
kens I don't want just bilinear, I need bicubic, average and subsample08:33.21 
  Say I have an image 300x300 samples, scled so that it covers 1 inch on the page08:33.46 
  THat is an effective resolution of 300 dpi.08:33.56 
Robin_Watts right. And if you are working at 72dpi, then you want to change that to be a 72x72 image, right?08:34.18 
kens I want to reduce the number of samples (giving a smaller image) so that there are only 150x15008:34.22 
  Giving a 2:1 ratio08:34.31 
  THat works.08:34.35 
  But a non-integer ratio doesn't08:34.44 
Robin_Watts Why not?08:34.54 
kens Because the ciode doesn't support non-integer downsampling08:35.08 
Robin_Watts kens: whose code?08:35.23 
kens I don't know, its not mine :-(08:35.33 
Robin_Watts which code then?08:35.48 
  pdfwrite?08:35.51 
kens Its called from pdfwrite, but I was under the impression it was in the graphics library08:36.05 
  I've never really looked into it08:36.13 
  Possibly siiscale.c08:36.31 
  judging by comments08:36.38 
  give me a minute and I'll find the filter it uses08:37.19 
Robin_Watts If you're calling siscale.c then you are not restricted to integers.08:38.35 
  "interp" = bilinear, "mitchell" = "bicubic"08:38.59 
kens Not sure, let me find the code first, its in the general case, not pdfwrite per se08:39.01 
  Its in the stream code iut seems08:40.57 
  Yes its the stream code that does all the work in gdevpsds.c08:41.38 
  For example s_Subsample_process08:41.49 
  So essentially ps2write and pdfwrite are using their own code. Of course, why would we use code that already existed when we can write a new implementation.....08:42.25 
Robin_Watts right, so the choice of just subsampling by a given integer amount rather than scaling properly by an arbitrary amount is done in gdevpsds.c08:44.11 
kens Yes. Presumably I could get bicubic (and arbitrary factor) by using sisscale.c, but not for average or subsample08:44.45 
Robin_Watts I *assume* that subsample = nearest neighbour?08:45.23 
  and average is what I think of as simple subsampling.08:45.41 
kens No it just means 'throw away samples'08:45.42 
  average I would guess is take a group of nxn pixels and replace them with a single pixel of the averag value08:46.15 
Robin_Watts kens: Right, so if you're 'subsample' by a factor of 2 in each direction, you throw away 3 of every 4 pixels, and just take the 'nearest' sample. That's nearest neighbour.08:46.40 
kens OK fair enough08:46.52 
Robin_Watts 'average' is what I do in the subsampler.08:47.41 
kens Hmm, this is all too much for a bug, I'm going to change it to an enhancement so I can ignore it more efficiently.08:48.15 
Robin_Watts So in gdevpsds.c, you have an s_Average08:49.49 
kens Indeed and an s_Subsample08:50.00 
  THere's a 'process' for each type08:50.50 
Robin_Watts right.08:51.18 
  so those implementations are hardwired to integer amounts.08:51.30 
kens Yep08:51.35 
  That's what the user is complaining about08:51.43 
  The implementations are pretty noddy by the look of them08:51.56 
Robin_Watts s_Average would be hard to do in a non-integer amount.08:52.15 
  and s_Subsample too.08:52.24 
kens Hmm, I wonder what Acrobat does iwth those.08:52.40 
Robin_Watts but s_Bilinear and s_Bicubic need not have the same restriction.08:52.41 
kens Well we don't support bicubic at the moment, that's a different bug (by the same user)08:53.08 
  When I get the PXL code finished I'll try and come up with an example PostScript image to play with Acrobat a bit. Possibly I can close the bug if Acrobat doesn't do average or subsample at non-integer resolutions.08:54.27 
  err factror, not resoution08:54.57 
Robin_Watts kens: yeah, the "customer" doesn't seem slavishly keen on us being identical to acrobat.09:11.45 
kens I'm not totally averse, but its not a paying customer, I've no idea who he repesents but could easily be an infringer, and its a lot of work for little result.09:12.26 
  I'll do the Acrobat research and then change it to an enhancement09:13.00 
Robin_Watts I got the cluster logfile searching from the dashboard working last night.09:13.39 
kens nice, and I see Henry's links in the bmpcmp result this morning too09:13.58 
Robin_Watts Click on "search" next to a result, then enter a search term, and if we match it, it'll show the logs for those jobs.09:14.18 
  kens: yeah09:14.21 
  If you search with the empty string, you get all the logs.09:14.36 
  I need to add the search links to the User links section. Will do that when I get back.09:14.57 
kens ah, I had ot refresh Chrome to get the search links09:15.27 
Robin_Watts paulgardiner: This may be useful for you, as you can search for "Alert" in a mujstest and see all the js alerts.09:15.30 
  kens: yeah. you'll need to reload, as that's in the html, not the json.09:15.54 
Robin_Watts runs09:16.38 
paulgardiner Robin_Watts: may well be09:16.59 
kens TIMe for me to go too, I won't be in much this afternoon either.09:20.38 
Robin_Watts chrisl: dashboard looks suspect...10:35.05 
  same commits different revisions?10:35.14 
chrisl Robin_Watts: I'm having trouble - clusterpush push works, commit run fails - hence the commit fiddling10:35.47 
Robin_Watts ok. if you see the cluster getting into trouble, let me know and I can screw it up worse. I mean fix it.10:38.49 
chrisl Do you know what the differences is between a clusterpush and a commit run?10:38.49 
  it shouldn't matter - we should never be running tiff configure in the tiff directory with that commit10:48.10 
Robin_Watts So the most recent thing the cluster ran... the gs build command is:10:51.00 
  cd __gsSource__ ; make clean >/dev/null 2>&1 ; make -j 1 >__temp__/gs_build.log 2>&110:51.07 
chrisl My best guess is that the commit cluster run does not start with a "clean" repo, but I don't know where the repo is that the commit run uses10:54.07 
Robin_Watts chrisl: /home/marcos/cluster/ghostpdl10:54.24 
chrisl Of course it is, why would I think it lived in /home/regression somewhere - silly me!10:55.03 
Robin_Watts sorry!10:55.16 
  /home/regression/cluster/10:55.30 
  /home/regression/cluster/ghostpdl10:55.37 
  On the remote machines (such as peeves) it's often /home/marcos/cluster/ghostpdl10:56.05 
  ok, user commit searching from the dashboard is up and working.10:56.41 
chrisl But on remote machines, it doesn't use git, does it?10:57.13 
  Balls! It looks like for commit runs, the cluster isn't cleaning out the tiff directory between runs - I'm shocked that hasn't fallen over previously!11:00.02 
  Okay, I *think* I can temporarily work around this in the Ghostscript and GhostPDL configure scripts - it's just a pain that I can only test it by doing a commit :-(11:03.35 
Robin_Watts chrisl: The directory is rsynced from casper to the hosts.11:06.19 
  hence if you clear out /home/regression/cluster/ghostpdl, you should then see the hosts cleared out too.11:06.40 
chrisl No, there must be more to it than that - the directory on casper is clean, but the one on peeves still has the config.status file in it11:08.25 
Robin_Watts cd users/marcos ; rsync -cvvlogDtprxe.iLsz --timeout=60 --progress --delete -e "ssh -l regression -i $HOME/.ssh/cluster_key" regression@casper.ghostscript.com:/home/regression/cluster/users/marcos/ghostpdl . >rsync.log 2>&111:11.27 
chrisl Er, that's not the path you mentioned above.....11:12.44 
Robin_Watts I picked the wrong one from the log.11:13.41 
  Oh!11:14.04 
chrisl And worse, /home/regression/cluster/users/marcos/ghostpdl isn't a git repo11:14.11 
Robin_Watts cd /home/marcos/cluster/ghostpdl/gs ; touch base/gscdef.c ; rm -f base/gscdef.c ; cd /home/marcos/cluster/ghostpdl ; git fetch -q ; git reset --hard -q master ; git reset --hard -q origin/master ; git reset --hard -q 28acb04f77ba58b1507c32d52402e2ff8eaa2e4011:14.22 
  So commit runs are done using git now. That's a change.11:14.46 
  So we probably want a git clean in there too?11:15.01 
  Are the libtiff config products in .gitignore ?11:16.12 
chrisl And that's a different path again - what the hell.....??11:16.22 
  Robin_Watts: I've no idea11:16.37 
Robin_Watts chrisl: On the remotes, as I said, the cluster tends to be installed in /home/marcos/cluster11:16.58 
  and hence the ghostpdl tree is in /home/marcos/cluster/ghostpdl11:17.13 
chrisl Argh, yes the tiff derived files are in .gitignore11:17.25 
Robin_Watts chrisl: That's good. It means I can do: git clean -X -f in the cluster scripts.11:17.53 
chrisl So I should remove them - I wonder if that would solve the problem11:18.05 
Robin_Watts no, don't remove them!11:18.14 
chrisl Why not? They won't exist any more - at least, in the stated paths11:18.40 
Robin_Watts We want them ignored, lest people see them in git status and add them.11:19.00 
  and if I "git clean -X" then it will remove all .gitignored files.11:19.18 
chrisl But the stuff in .gitignore is not correct for the new way of running tiff configure, so it won't work11:19.59 
Robin_Watts chrisl: I've updated run.pl to clean. Try pushing your commits again now.11:20.53 
  We can correct .gitignore later.11:21.03 
chrisl It's on it's way now11:22.20 
  okay, so now, instead of a whole list of explicit files to ignore for tiff, we can just have a single "tiff-config" entry11:25.18 
  Robin_Watts: Yay! Adding the git clean step seems to have work :-) Thanks!11:26.01 
Robin_Watts chrisl: We should have both, at least until every cluster node has cleaned :)11:26.04 
  The aws ones will still be dirty at the moment.11:26.19 
chrisl I don't like the fact that appear to ignore the entire tiff directory just now11:27.19 
tor8 Robin_Watts: ping11:37.04 
Robin_Watts pong11:38.04 
  tor8: I'm being called for lunch...11:39.58 
tor8 Robin_Watts: then ping me when you're back11:50.33 
Robin_Watts tor8: back, sorry.12:33.36 
  tor8, paulgardiner: OK, so http://ghostscript.com/~robin/MuPDF-12.apk is the new build that I plan to put on google play.13:41.29 
paulgardiner Robin_Watts: text selection is broken13:46.59 
Robin_Watts so it is.13:48.21 
  Is it broken on your builds too?13:48.36 
paulgardiner Don't think so13:49.31 
  It was working last time I built here.13:49.44 
Robin_Watts Can you double check please? This is a clean build from a clean tree.13:50.04 
  oh, actually, there is a change.13:50.25 
  Let me rebuild...13:50.30 
paulgardiner My last build was at 6ddde649c594c254ffbb101ef8b8ee8b005992a813:51.39 
Robin_Watts It's probably my change here to do with the text device and images.13:52.18 
  rebuilding now.13:52.40 
  I should probably do separate armeabi/armeabi-v7a builds too.13:54.04 
  http://ghostscript.com/~robin/MuPDF-12-armeabi.apk14:03.08 
  Text selection works in that, forms are ignored.14:04.45 
  http://ghostscript.com/~robin/MuPDF-12-armeabi-v7a.apk14:04.51 
paulgardiner Robin_Watts: I believe I'm testing the v7a one and calc.pdf isn't working14:10.19 
Robin_Watts paulgardiner: Yeah, I'm looking into that now.14:10.33 
  Does it look ok otherwise.14:10.37 
paulgardiner Yes, I think so14:11.33 
Robin_Watts ok, I see the mistake.14:15.37 
  http://ghostscript.com/~robin/MuPDF-12-armeabi-v7a.apk <- New version14:20.36 
  done.14:22.02 
  that seems to work.14:22.08 
  Gah. I need to make the armeabi-v7a version number 13, so v7a devices will get that rather than the armeabi version.14:28.42 
  OK, updated version are published to google play. just have to wait for them to propagate around.14:41.45 
sebras Robin_Watts: not here yet... :(14:45.09 
Robin_Watts 87% of installed users of MuPDF are Android 4 or above. And we have 2204 users currently.15:09.24 
mvrhel_laptop bbiab15:36.01 
sebras Robin_Watts: you have at least one user which is android 2.3 though!16:06.47 
Robin_Watts Me!16:07.07 
sebras Robin_Watts: there is a slight chance that I will upgrade in october since I might be visiting .tw again then...16:07.10 
  Robin_Watts: then we are two! :)16:07.16 
Robin_Watts but I don't generally install off google play :)16:07.28 
  sebras: New version has reached me.16:08.40 
sebras Robin_Watts: nope, not yet.16:09.37 
mvrhel_laptop hi ray_laptop: just tried to call you a bit ago16:29.52 
atmos4 hi16:30.33 
  I'm trying to wrap jpeg images in PDF using gs and viewjpeg.ps, however the images always get recompressed. Is there a way to skip this recompression?16:33.36 
  I've tried setting -dJPEGQ=100 but that had no effect16:34.57 
  neither did -dAutoFilterColorImages=false16:35.39 
chrisl atmos4: there is no way to avoid decompressing the JPEG image data16:37.53 
atmos4 hmm theoretically there is16:38.20 
  if I embed the jpeg data with a hexeditor into the opdf it's fine =)16:38.33 
  so you mean this can't be done with gs?16:39.13 
chrisl Well, you were asking about gs, weren't you?16:39.32 
atmos4 yes16:39.37 
ray_laptop mvrhel_laptop: sorry -- I was on a quick errand16:39.59 
atmos4 chrisl: do you care to explain what's the limitation for that? I can represent a jpeg image in PDF by an xobject w/wubtype image and filter dctdecode which is followed by the raw jpeg data. Is it because that is not possible in PD as opposed to PDF?16:45.05 
  s/PD/PS/16:45.15 
chrisl atmos4: there is no way for pdfwrite to see anything other than the decompressed jpeg data16:45.36 
atmos4 ok16:47.30 
Robin_Watts atmos4: gs runs through the PDF file interpreting the data it finds to a set of graphics primitives sent to the current device.16:47.39 
  pdfwrite is one such device. All it sees is these primitives coming in. When it gets a bitmap in, it is passed the decompressed form. It has no way of knowing if it's come from a jpeg or a png or a fax...16:48.31 
atmos4 Robin_Watts: you mean the PS file? Given that my source is PS not PDF.16:48.32 
Robin_Watts ok, then for PDF read PS.16:48.49 
atmos4 yeah, seems like I'll have to either write my own pdf generation code or look for another tool.16:50.31 
  guess the Developing with PDF book by O'Reilly will finally be read ;-)16:51.35 
  ok, afk for a while, thanks for the explanation!16:52.08 
ray_laptop OK. Ready to start debugging background print changes done, and clean build. First to test foreground printing with NumRenderingThreads > 0 (since I refactored much of that)18:05.18 
  this is the enhancement for cut #801, issue #1018:05.39 
  bbiaw...18:06.02 
Robin_Watts ray_laptop: Nice.18:06.09 
mvrhel_laptop whew. ok indexed case written. now for the real ugly part of going through the high level c-list image data21:25.13 
  then testing the many variations....21:25.39 
  bbiaw22:27.51 
 Forward 1 day (to 2013/04/18)>>> 
ghostscript.com
Search: