IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2012/05/13)2012/05/14 
Robin_Watts tor8: ping09:53.53 
tor8 Robin_Watts: morning!09:54.58 
Robin_Watts Morning.09:55.02 
  I had an idea about linearized support over the weekend.09:55.15 
tor8 funny exasperated bug report that last one, WE NEED MUPDF IN C# NAO!09:55.26 
Robin_Watts Yes, I just added a comment.09:55.35 
tor8 d'oh!09:55.59 
  I didn't notice the double post until now :)09:56.19 
  okay, so about linearization?09:56.24 
Robin_Watts My existing plan was to write the file out once to find all the offsets, then seek back to the start, and write it out again knowing all the offsets.09:56.34 
tor8 wait, shouldn't you spell it "linearisation"?09:56.39 
Robin_Watts Indeed. It's correctly spelt linearisation, but adobe gets it wrong, so I'm torn....09:57.05 
tor8 we spell colo[u]rspace wrong everywhere so keep misspelling ;)09:57.41 
Robin_Watts It dawned on me last night that if we clone all the fprintf etc entry points as fz_fprintf, we could have a special 'null' output device which we dumped to just to find the offsets.09:58.23 
  It dawned on me last night that if we clone all the fprintf etc entry points as fz_fprintf, we could have a special 'null' output device which we dumped to just to find the offsets.09:58.49 
tor8 argh, stupid wifi drivers on the new macbooks keep failing randomly :(09:58.51 
Robin_Watts so the first pass would be a null one to find the offsets, then the second pass would be a real one to write the file.09:59.15 
  No temp files, no need to seek.09:59.22 
tor8 Robin_Watts: what about opening with "w+" so you can seek back and overwrite for the backpatching pass?09:59.33 
Robin_Watts It's not just a backpatching pass.09:59.57 
  We need to know all the offsets for every page so we can write the hint table, which has to go in the middle.10:00.18 
tor8 you know the maximum size for both the linearisation params dict and the first xref. the hints table, you should know how big that is up front too or am I wrong about that?10:00.40 
Robin_Watts so it needs to be 2 whole passes (or to use temporary files and copy data)10:00.41 
  We don't know the size of the hint table.10:00.57 
tor8 Robin_Watts: we used to have write support with all the streams and filters once. major source of bugs that was.10:01.27 
  but it let us print to memory buffers etc10:01.39 
Robin_Watts If we knew we have '/dev/null/' we could do an output pass to that, then again to the real file.10:02.15 
tor8 yeah, but I don't think we can rely on that10:02.31 
Robin_Watts (assuming ftell on /dev/null gives that same offsets - which is questionable I guess)10:02.34 
  Indeed, hence my thought that we could clone fprintf etc,and implement our own device.10:03.02 
  It would mean we could pipe the output.10:03.29 
  which is always nice.10:03.40 
  brb10:04.01 
tor8 yeah, we could add a wrapper printf that either just counts and swallows, or forwards to a real file. do you think it'll be small enough to just keep in pdf_write.c ?10:05.00 
Robin_Watts I don't know.10:09.09 
  My instinct would be to put it in it's own file.10:09.32 
  but I have to make this version work first.10:09.58 
naveen_ Hey Robin..Is Base64 decoding available in muPDf?10:40.06 
Robin_Watts Morning10:40.23 
naveen_ Morning Robin..10:40.40 
Robin_Watts That's not a standard PDF decoder is it?10:40.49 
naveen_ No I think..10:41.09 
Robin_Watts So, no.10:41.17 
naveen_ :) ok.10:41.27 
Robin_Watts why do you need it?10:41.38 
naveen_ i need to decrypt a key that is encoded in base6410:42.05 
Robin_Watts Ah, I see.10:43.37 
  tor8: I see the problem here.11:07.47 
  pdf writing is a 'destructive' event currently.11:08.17 
  If you decompress streams in one pass, then when we come to do the second pass, it thinks the streams are decompressed already.11:09.19 
kens2 Robin_Watts : has been watching too many reruns of Red Dwarf :-)11:13.29 
Robin_Watts I haven't seen a rerun of red dwarf in years. but that is one of my favorite meme's from the series :)11:14.01 
kens2 :-)11:14.07 
  I think Dave keeps rerunning them11:14.19 
Robin_Watts I'm sure. Last I heard, they'd actually commisioned a new series.11:14.47 
kens2 Yes, I think I heard that too.11:14.59 
Robin_Watts tor8: png12:19.38 
  ping, even12:19.42 
sebras Robin_Watts: I think he's out for a long lunch so be patient.12:28.04 
Robin_Watts np.12:28.12 
kens2 Hmm12:42.38 
  Robin_Watts : I think something is up with the cluster12:42.47 
  My last commit hasn't entered the queue for testing yet12:43.04 
  forget that, its my browser12:43.19 
  not updating for some reason12:43.25 
Robin_Watts Lunchtime. bbs.13:14.03 
galtgendo is there any interest in gsx rewritten a bit to make it (potentially) build against gtk3 ?14:52.22 
chrisl galtgendo: I see no reason that would we turn down such a patch, but I doubt we'd do the work ourselves (any time soon)14:56.27 
Robin_Watts chrisl: <StupidQuestion>What is gsx?</StupidQuestion>14:57.30 
henrys well it would be a regression - are they simple compile errors?14:57.35 
galtgendo OK, just to make sure about a thing: gsx is meant only for unix/macos, right ?14:57.47 
henrys I know gs worked with gtk don't know bout gtk3.14:58.21 
  gsx is the old name for the exe that used the shared lib...14:59.58 
  shared lib and gtk15:00.30 
galtgendo cause I already have a patch, but a certain change there makes it use glib unix specific API15:00.41 
Robin_Watts But we don't supply the gsx source (any more?) right?15:01.17 
chrisl Yes, gsx in built when you do a make so15:01.40 
henrys chrisl:oh I thought it was deprecated.15:02.00 
Robin_Watts AH, so that's why I've not seen it.15:02.06 
galtgendo (and from the looks of it, while there seems to be win32 API looking similar, it's description would suggest it wouldn't be working right)15:02.30 
chrisl henrys: I assumed it was unsupported, which is why we wouldn't want to do work on it, if someone else wanted to, I don't see a reason to turn it down15:03.00 
  galtgendo: IIRC, the Windows exe and gsx use the "display device" API, so they will look similar15:03.39 
  galtgendo: FWIW, I'm happy to review a patch for it, but I'll say up front, I'd like it if it didn't break the current compatibility with (I assume) gtk215:05.11 
henrys IMHO support it or remove it from the documentation. I don't know the difference between gtk+ and gtk3 we don't say anything about the latter.15:05.58 
  gtk+ may very well work okay.15:06.41 
chrisl gtk+ comes in 1.x, 2.x and 3.x versions, he's talking about gtk+ 3.x.x15:07.30 
galtgendo well, I'm talking about g_io_channel_unix_new - while there is g_io_channel_win32_new_fd, its description isn't very promising15:08.02 
chrisl galtgendo: like I say, gsx is Unix only, so if what you've got works on Unix, that's fine.15:09.14 
  I have to head off...... ttfn15:09.52 
galtgendo anyway, my patch doesn't break gtk2, only modifies the source to be possible to build with minimal #ifdef against gtk315:14.30 
Robin_Watts galtgendo: That sounds great. If you go to bugs.ghostscript.com you can make a new bug there, and attach your patch to it.15:16.51 
  List it as a "build bug" and it will get assigned to chris.15:17.06 
kens2 henrys, taht commit I did a little earlier seems to resolve the major problems with pdfwrite/ps2write and 'one file per page' output.15:20.07 
  I cna now complete both teh PDF reference manual and the PLRM15:20.19 
henrys yes I saw that -- really nice.15:20.24 
kens2 I hope so :-)15:20.29 
  Still need to check the proper 'server mode' working15:20.39 
  Looking for more memory leaks15:20.47 
galtgendo Robin_Watts: only one catch, unless I'd go for *excessive* ifdefing, I'd need to drop gtk115:20.50 
kens2 I think we cna live with dropping gtk 1 :-)15:21.07 
henrys kens2:without increasing memory usage?15:21.16 
kens2 henrys I hope the memory won't increase, if it does I have leks to find ;_015:21.36 
  I have to run for a checkup at the dentist, will be back later15:22.02 
henrys okay15:22.12 
ray_laptop I guess I missed kens15:41.08 
henrys ray_laptop:ping?15:41.19 
ray_laptop henrys: pong15:41.28 
henrys the potential customer you are working with ... they still aren't signed up, do you think we should have scott push them.15:42.29 
  ?15:42.35 
ray_laptop I'll email kens, but for the logs, one way to test pdfwrite server mode doesn't really need a custom application since the pdfwrite device is closed and re-opened when the OutputFile changes.15:42.59 
henrys I don't think scott will do anything unless one of us says something.15:43.26 
Robin_Watts ray_laptop: Yes, I believe he knows that.15:43.46 
ray_laptop so a simple PS program that processes a list of files, setting the file name for each file, can do the same thing as a C 'server' app would15:43.52 
  henrys: scott was copied on the email and has been waiting for an update from me to ping them15:44.28 
henrys oh okay15:45.02 
ray_laptop but I'll ring him up and see if he is going to ping them, or if not, what he is waiting for.15:45.07 
  calling scott ...15:45.56 
  he's on the other line and will call me right back.15:46.48 
  cust 532 is getting ansy again :-(15:47.05 
  good thing I am already working on their issue15:47.25 
henrys Robin_Watts:did you test your path code with dashed lines - seems to be broken? it might be easier to look in postscript for you or I can put my world on a public branch.15:52.03 
Robin_Watts henrys: I thought I did.15:52.20 
  What are you expecting it to do? Restart the dash pattern after each gap?15:52.54 
henrys I have frequent disappearing graphics with dash mode - look like some of the path coordinates are wrong (negative)15:54.08 
  I know I said the project wasn't important but I realized I'm very close to finished so I thought I'd spend a bit more time on it.15:55.37 
Robin_Watts henrys: OK. I'll have a look when I get this linearisation stuff to a parkable state.15:56.53 
henrys no hurry15:58.02 
ray_laptop henrys: just got off the phone with Scott-san. He is going to ping them again on the time frame for business discussions.16:07.24 
mvrhel hmm the issue that Gemma just sent looks like an anti-alias issue16:13.47 
henrys mvrhel:probably best to let marcos do the bisect if you don't know off the top of your head.16:18.37 
mvrhel henrys: right16:20.19 
Robin_Watts mvrhel: Hmm.16:20.42 
  "Web based" could well be an image.16:20.54 
mvrhel could be16:21.04 
  I am not going to fool with it now though16:21.10 
Robin_Watts which would fit with her assertion that interpolation isn't working.16:21.12 
  And a bisect ain't going to tell us anything other than "the tiffsep changes broke it"16:21.32 
mvrhel there were other commits than that16:21.47 
  marcos did not give her a patch16:21.53 
Robin_Watts ok.16:22.07 
jellenagels Hi guys, anyone here who made the android mupdf library ? I have quick question.16:27.56 
  or at least, the android-connection to the c-library.16:28.16 
Robin_Watts jellenagels: Ask your question :)16:28.47 
jellenagels I'm trying to create a thumbnail of 1 page.16:29.08 
  the first page of the pdf-file.16:29.16 
Robin_Watts ok.16:29.22 
jellenagels This is the code: http://i.jnagels.be/Screen%20Shot%202012-05-14%20at%2018.29.20.png16:29.37 
  But it shows error in logcat: http://i.jnagels.be/Screen%20Shot%202012-05-14%20at%2018.29.50.png16:30.03 
Robin_Watts OK.16:30.20 
jellenagels as you can see, i pass "1" as page. not -2 ^^16:30.22 
  do you perhaps know what the problem is?16:30.44 
Robin_Watts I think you're assuming too much. Let me check the code.16:30.54 
  The MUPDFCore interface is not really a public one - it's specific for the viewer.16:32.28 
  The only defined 'public' interfaces are the ones defined in fitz.h and mupdf.h (i.e. C level ones).16:33.03 
  In order to make the android port, we've wrapped the C library with some simple classes to expose just the functionality we need.16:33.49 
  As such those interfaces should be considered subject to change.16:34.12 
  But if you're prepared to accept that...16:34.36 
jellenagels i know they are subject to change :)16:35.06 
Robin_Watts The existing android app does:16:35.12 
jellenagels it's just, i see almost the same code in "PageView.java" to draw the page16:35.23 
Robin_Watts core = new MuPDFCore(path);16:35.28 
  You're right. That does seem odd.16:40.45 
  gotoPageInternal is being called with -2 for some reason...16:41.36 
jellenagels yeah, and i can't see why.16:41.53 
  i didn't change anything to the source or something.16:42.05 
  actually, i just did a fresh checkout of the source-zip16:42.18 
Robin_Watts Ah, right.16:42.31 
  gotoPage is being called with numPages == 0.16:43.02 
jellenagels so i should countPages() first16:43.17 
Robin_Watts You need core.countPages();16:43.18 
  yeah.16:43.20 
jellenagels let's check it out ^^16:43.31 
  but that'll probably fix the issue !16:44.07 
  thanks a lot!16:44.12 
Robin_Watts no problem.16:44.42 
  Like I say, these interfaces are "just enough to make the android viewer work".16:45.02 
jellenagels indeed :) too bad :p16:46.37 
  there's nothing out there for android at the moment.16:46.47 
  all other libraries are based on yours16:47.03 
  hmz, doesn't seem to be fixed.16:47.29 
Robin_Watts Presumably you now see something different on logcat though?16:50.20 
  What does countPages return ?16:50.32 
jellenagels hm, something is wrong with my eclipse/device here. i'll check it out and i'll get back to you in a bit.16:55.22 
Robin_Watts jellenagels: I find that I sometimes have to uninstall the app from the device before installing a new version.16:56.05 
jellenagels i normally don't have issues with that, but it might be with all the native-code, that it get's fucked up16:56.34 
galtgendo Robin_Watts: filed the patch at bug 69303817:00.36 
Robin_Watts galtgendo: Thanks.17:09.36 
  galtgendo: So, where did you get your gs source?17:17.24 
Robin_Watts pops to station to get helen. bbs.17:18.13 
galtgendo well, indirectly from ghostscript.com..., but that wasn't quite my point17:19.47 
Robin_Watts galtgendo: So what was your point, exactly. The modification to bugzilla was done by me, and it's very deliberate. If you've got a genuine objection, please state it.17:57.58 
mvrhel Robin_Watts: quick question for you. So it appears with the slow file with the fills and strokes with transparency, that the fill paths are an issue18:01.33 
galtgendo Robin_Watts: well, first of all, the I-'sort of'-know-what-I'm-doing case, then the fact it was redundant in this case18:01.40 
mvrhel I was thinking that it was the strokes that were the problem18:02.03 
  perhaps it is both?18:02.07 
galtgendo OK, so it's a bit of a corner case here18:02.28 
mvrhel they both set lop_pdf1418:02.35 
  does it make sense to wrap the fills and the strokes in knockout groups?18:03.05 
Robin_Watts mvrhel: I wasn't expecting the fills to be slow.18:03.13 
mvrhel right now if I disable only the strokes with the lop_pdf14 it is taking forever18:03.34 
  let me disable only the fills18:03.40 
Robin_Watts galtgendo: Even in your case, we'd prefer a patch on top of our code rather than code from anywhere else.18:04.04 
  mvrhel: My memory of this bug is that it runs much faster when transparency is disabled,and I thought profiles pointed to it being the stroking code that was slow.18:05.07 
galtgendo just call it my EULA click wrap allergy18:05.23 
mvrhel Robin_Watts: if I disable lop_pdf14 for both strokes and fills it flies through the file18:05.39 
Robin_Watts Right. lop_pdf14 is only *read* in lop_is_idempotent18:06.01 
  Ah.18:06.25 
  lop_is_idempotent makes a difference in the fill code too; it's used to decide whether to use the scanline or the trap fill.18:06.55 
mvrhel ok18:07.00 
  so if I do a knockout around the fill also then we will be faster18:07.22 
Robin_Watts in this case, yes.18:07.52 
  Just pondering....18:08.19 
mvrhel there is obviously a disadvantage to adding another buffer and popping that buffer to composite18:08.22 
  not sure what the lesser of two evils is18:08.53 
  the diff in this file is dramatic18:08.57 
Robin_Watts Usually we prefer to fill using traps than scanlines in case we are going to a (somewhat) higher level output device that has code for handling trapezoids.18:09.09 
  BUT... in the transparency case we'll be going into a pdf14 device anyway, right? So it'll be broken down to scanlines anyway.18:09.34 
mvrhel not in the clist case.18:09.49 
  we would still have trap fills18:09.56 
  I think18:10.09 
Robin_Watts the transparency fills etc that we are dealing with here happen *post* clist, though, right ?18:10.28 
  i.e. in the rasterisation phase ?18:10.40 
mvrhel right. the fill path from the clist is getting broken down to scan line fills 18:11.36 
  during clist playback18:11.48 
Robin_Watts actually, this may not make any odds.18:11.55 
  The current situation is that we'll render using scanlines, and it'll be slow.18:12.15 
  The new situation would be that you push a transparency group, we'll render using traps, but because of the group it'll go into the transparency device and be turned into scanline fills anyway.18:13.04 
mvrhel but for some reason those happen much faster18:13.29 
Robin_Watts Suck it and see, I guess :(18:13.29 
mvrhel and I mean *much* faster18:13.42 
Robin_Watts I suspect it's because someone has done a strokepath and then a fill.18:13.50 
  so the filled shape has lots of lines that intersect.18:14.00 
  Is this PS or PDF?18:14.10 
mvrhel pdf18:14.12 
Robin_Watts odd, then.18:14.20 
  Maybe it's just a convoluted path.18:14.31 
mvrhel let me add the group around the fill and see what happens18:14.32 
  It may be worth while to do a timing compare with this fix18:14.59 
  on the cluster18:15.08 
Robin_Watts One option would be to only enable the knockout group method if the path is above a certain complexity.18:15.42 
mvrhel that needs to be decided in the PS interpreter code18:15.58 
  I leave that as an exercise for the student18:16.09 
  or as another professor used to say "how to do this is intuitively obvious to the most casual observer"18:17.23 
Robin_Watts tor8, sebras: I've pushed a work in progress patch to make pdf_write have the option to output linearized files.18:38.28 
  Everything is there, I think, except the generation of the hint stream.18:38.41 
  There is scope for us producing more optimal files (we could sort objects within pages, and regenerate content streams/split them as appropriate), but as a first step, this at least produces something that fulfills the specification, I believe (except for the lack of the hint stream).18:40.13 
sebras Robin_Watts: hint stream?20:04.39 
mvrhel alexcher: I just sent marcos an email and cc'd tech. You may have some input on this that may help in the testing.20:08.17 
  second day of 80+ here in the seattle area. not too common in may. bbiaw20:18.52 
henrys I keep getting asked about power profiling and know absolutely 0 about it.21:53.07 
  Robin_Watts, tor8:do we have iOS rom space numbers? And ram space for a job like PLRM21:54.23 
  we may have a new customer - yeah!21:54.36 
tor8 henrys: ios .app is 6.5mb22:41.02 
Robin_Watts henrys: cool.23:09.23 
 Forward 1 day (to 2012/05/15)>>> 
ghostscript.com
Search: