Log of #mupdf at irc.freenode.net.

Search:
 <<<Back 1 day (to 2017/06/21)20170622 
Robin_Watts Morning tor8.09:18.18 
tor8 Robin_Watts: morning.09:18.54 
Robin_Watts So, what's left to do before we can commit?09:19.34 
tor8 so, we're up to 8ed3963a87b7d9a24bc5e5a59d9bab2dc750f02f on robin/lcms with our and mvrhel's latest changes?09:19.58 
Robin_Watts Yes.09:20.23 
tor8 on my list there are only 4 items left09:20.30 
  the fz_ensure_pixmap_is_additive and writepixmap color_param fixmes09:20.50 
  the "what is different fz_init_color_params and fz_default_color_params?" entry09:21.07 
Robin_Watts The plan is to leave fz_ensure_pixmap_is_additive and writepixmap for now.09:21.25 
tor8 and fz_cmm_init_profile, and fz_cmm_init_link error handling (should they not throw on errors instead of return error codes?)09:21.37 
  fair enough09:21.43 
Robin_Watts Then experiment with removing the need to only hold additive pixmaps once the branch is in.09:21.45 
  fz_init_color_params, I thought we covered yesterday.09:22.09 
tor8 and finally, what happens with existing code if you don't change it. does color management get turned on or is that something you have to do a manual step for?09:22.10 
  yes, I saw the discussion about premul alpha09:22.29 
  one somewhat awkward idea is to hold CMYK inverted09:22.48 
  and also separation and deviceN09:23.03 
  then premultiplied alpha math works out09:23.09 
Robin_Watts fz_init_color_params says "set this structure to the initial (default) values"09:24.41 
  fz_default_color_params says "get the 'current' defaults from the context"09:24.50 
  The initial default values never change.09:25.15 
tor8 do we ever expect the 'current' defaults in the context to change?09:25.54 
  I'm not sure that's a good idea09:26.01 
Robin_Watts tor8: People have the option to set the defaults in the context once, and it's carried forwards everywhere.09:26.26 
  (every draw device that is created will use the context defaults if it's not explicitly set)09:27.00 
tor8 afaict there is no function for setting the defaults09:27.13 
  and if you were to set one, wouldn't it be part of the draw device arguments?09:28.10 
  or is that the completely wrong place for it?09:28.25 
Robin_Watts tor8: The lack of a function for setting the defaults is a problem :)09:28.33 
tor8 nah, it just means we can safely remove the designed functionality that was never used :)09:28.53 
Robin_Watts We *could* ditch the context defaults entirely.09:28.58 
tor8 I think we should ditch them. global values that affect rendering is something we're moving away from (see your AA commit, etc)09:29.21 
Robin_Watts but then people would have to manually set any non-standard defaults every time they create a draw device.09:29.22 
  My AA commit still has global values.09:29.38 
  They act as the defaults for the draw device to use if they aren't overridden :)09:29.51 
tor8 yes, for backward compatibility?09:29.53 
Robin_Watts yeah.09:30.03 
tor8 we should deprecate them (add fz_warn) and remove them in a few releases09:30.21 
Robin_Watts tor8: OK, so for the color_params, move them out of the context, and into the draw device.09:37.32 
  and add some options to allow them to be set.09:37.42 
tor8 I'm going to make the fz_default_color_params return the same as fz_init_color_params09:37.49 
Robin_Watts then we can remove fz_default_color_params.09:37.59 
tor8 then we can think about how to change the defaults for the draw device09:38.04 
  I suspect the color_parms might need to go through the interpreter though09:38.39 
Robin_Watts The color_params normally come from the interpreter.09:38.55 
  but some interpreters may choose to pass NULL.09:39.04 
tor8 maybe the same way we set the default colorspaces we can add a device call to set the color params09:39.13 
Robin_Watts In the case where we get passed NULL, we use whatever the defaults are.09:39.20 
  tor8: the default colorspaces are set in the context!09:39.34 
  tor8: Oh, I see.09:39.53 
  You mean a device call to say "use these as default color_params from now on".09:40.14 
tor8 Robin_Watts: no, the default colorspaces are set with the fz_default_colorspaces struct which is in one device call that's called from the PDF interpreter to set the DefaultRGB etc spaces in th resource dict09:40.18 
  yes, that's what I mean.09:40.31 
Robin_Watts OK, I shall let you play with that.09:40.40 
  Anything else on your list I can be looking at?09:40.48 
tor8 I think those three items are the last ones. there's a few commits on tor/master as well that need to go in.09:41.44 
  I'll rebase them on top of the lcms work09:42.18 
  as a bigger design thing, I wonder if we can simplify the use of the default_colorspaces struct into something passed by value to remove the need to reference count it09:44.11 
  sorry, I mean "passed on the stack"09:44.34 
Robin_Watts All those lgtm.09:46.09 
  Passed by value would be bad.09:47.40 
  Passed by reference with no reference counting sounds doable though.09:47.56 
  I'm not convinced that saves us anything of worth though, and it would be 'less standard' when compared to the rest of the code.09:48.29 
tor8 it could save us a few mallocs and try/catch cases cleaning them up09:49.28 
  but you're right, it's probably not worth bothering with09:49.35 
  okay, rebased tor/master and new lcms commits on tor/lcms09:50.10 
Robin_Watts I just see one lcms commit, after all the other non-lcms commits, is that right?09:53.34 
tor8 yes, there should be the 'unsigned icc_lookup' and 'immutable' commits for lcms09:54.29 
  the others are non-lcms09:54.33 
  hmm, looking at color-lcms.c09:54.48 
  it doesn't seem to do much error checking for lcms function calls09:55.05 
Robin_Watts I don't like that default_color_params immutable commit :(09:55.10 
  Ah, what the hell, it's a stepping stone to being right.09:57.32 
tor8 I'm not sure it even makes sense to change most of the color_params outside of the interpreter09:57.36 
  overprinting is not something I anticipate being useful as a global option :)09:57.56 
Robin_Watts For interpreters that don't have an opinion on such things, I can see the caller wanting to have control.09:58.30 
  Really? overprinting has always struck me as being something that's much more tied to the target device than the source file.09:58.59 
tor8 isn't overprinting a poor man's transparency?09:59.17 
  the only thing I can imagine wanting to change is the rendering intent09:59.36 
  I don't even know what the 'bp' is supposed to be09:59.45 
Robin_Watts tor8: black point compensation.09:59.52 
  It's a new PDF 2.0 thing. And that is the sum of my knowledge about it.10:00.13 
tor8 ah, that's why I can't find it.10:00.26 
  I still can't get over the crap formatting in the PDF 2.0 document...10:00.42 
  ...so I'm still using the adobe PDF 1.7 spec10:00.57 
Robin_Watts I thought overprinting was more to do with how well given colorants overlaid one another in the device.10:01.02 
  Me too.10:01.04 
tor8 IIRC overprinting is a saturated add for subtractive colorants10:01.24 
Robin_Watts Suppose we have a pixel with colorant values b[0..n]10:03.44 
  and we are overprinting a color c[0..n] to it.10:04.01 
  r[i] = c[i], for non zero c[i], and 0 otherwise, I think.10:04.36 
tor8 could be something as simple as that yes, and more difficult to reproduce using normal transparency blends10:05.04 
kens overprinting is cheap transparency, you just dopn't erase what's already there (for CMYK devices and CMYK drawing)10:05.04 
Robin_Watts Oh, so that's exactly wrong.10:05.26 
kens I seem to remember overprint mode adds something, I can't recall what10:05.29 
Robin_Watts r[i] = c[i] for non zero c[i], and b[i] otherwise.10:05.47 
kens You just add the new components to the existing compenets like otr8u said10:06.23 
  tor8^10:06.29 
  Its only supposed to work with CMYK output and CMYK colours10:06.55 
  transparency, I'm not so sure about10:07.02 
  Can't recall how the beldning space fits in10:07.14 
  OK so ovedrprint mode determines what happens if a component is 010:07.44 
  One way a component of 0 erases the colour, the other way it does nothing10:07.58 
  If overprint mode is 0 then a compnent of 0% erases the existing value. If overprint mode is 1 then a component of 0% leaves teh existing value unchanged10:08.50 
  Non-zero components add to the existing value10:09.12 
Robin_Watts right, so one way is a saturated add, and one way isn't.10:09.41 
kens Well both are a saturated add for non-zero components10:09.59 
  It only affects the interpretation of 010:10.14 
Robin_Watts right, but one way removes the existing colorants that aren't touched, and the other way doesn't.10:10.45 
kens Yes10:10.52 
  Though I wouldn't put it like that. 0% doesn't mean untouched10:11.08 
  Or more accurrately perhaps, mode determines whether 0% means untouched or not.10:11.33 
  In any event, you seem to have the idea10:11.56 
Robin_Watts Why is 0% not untouched?10:12.23 
kens If overprint mode is 1 then it is untouched, otherwise its erased10:12.53 
Robin_Watts Ah, right yes.10:13.04 
  tor8: Updated lcms and lcms_squashed branches.10:13.30 
tor8 Robin_Watts: okay, one more commit on tor/lcms then.10:39.01 
  if that looks good I think it's time to consider merging to master10:39.14 
Robin_Watts I just did a clusterpush and we've sprouted a couple of warnings....10:39.45 
  will fix.10:39.48 
  I'm not convinced that having fz_lcms_fin_link print Free link:: link = 0 is hugely helpful.10:42.42 
  Nor am I convinced that any of these prints with " ... %p \n" wouldn't be better as "... %p\n"10:43.23 
tor8 it might help in discovering mismatched init/fin pairs10:43.26 
  I just left them as they were, I don't like the way the messages are formatted either10:43.53 
  but I'm not expecting to be the one using them to debug this :)10:44.04 
Robin_Watts tor8: fz_new_icc_link now leaks, I think.10:44.45 
tor8 ah, yes10:45.13 
Robin_Watts if fz_cmm_init_profile throws...10:45.16 
tor8 will fix10:45.24 
  fix on tor/lcms10:48.34 
Robin_Watts hexdump is new for lcms isn't it ?10:50.24 
tor8 no, we introduced it before the lcms branch10:50.36 
  but it was intended for lcms10:50.42 
  are you considering moving the hexdump commits to before the lcms branch starts?10:51.15 
Robin_Watts No.10:51.29 
  I was just hoping to get the lcms branch warning free.10:51.39 
  and I'm getting a signed/unsigned thing in there.10:51.47 
  I'll introduce a transient commit to fix it.10:52.06 
tor8 oh yeah, that fix is a bit staggered10:53.28 
Robin_Watts I'm going to squash your last 2 commits together.10:54.18 
tor8 please do10:54.27 
Robin_Watts OK, branches updated. Just got to get rid of this warning.11:01.08 
  OK, hopefully that's the warning sorted. Just clustering now.11:10.46 
  cock. let's try that again.11:11.57 
  tor8: OK, I'm just doing a quick bmpcmp for sanity, but I reckon lcms and lcms_squashed are ready to go.11:20.11 
  (at least as far as the actual lcms commits, that is)11:20.27 
  If you can just look at the post-squashed commits, I'll test and commit those one at a time after lcms goes in.11:20.55 
  tor8: ^11:29.58 
  tor8: ass. Something got broken.11:31.27 
  See my bmpcmp, number 208.11:31.40 
  and, I think 120.11:32.14 
  I don't remember 289 either.11:32.57 
  or 36711:34.06 
  or 37311:34.15 
  bisecting now.11:37.28 
tor8 Robin_Watts: hardcoding AA_BITS=8 in libmupdf.vcproj in the Harfbuzz commit looks like an accident11:53.20 
Robin_Watts tor8: It is.11:53.30 
  I found a problem that's causing diffs.11:53.40 
tor8 the fz_hb_malloc defines need to go in the Makethird file too11:53.45 
Robin_Watts In the cal rework, when we read the Matrix, you were testing for array_len != 9 when it should be == 9.11:54.09 
tor8 I'd rename the Separations.java functions to toggleSeparation and isSeparationEnabled, but that's just me11:56.12 
  d'oh!11:56.13 
Robin_Watts tor8: OK, branches updated, tests running now.11:57.41 
  I've got to have lunch and take puppy for injections, but will fix that stuff afterwards.11:58.05 
  If the tests pass I'll push the lcms stuff.11:58.16 
  Thanks.11:58.17 
tor8 Robin_Watts: cool!11:58.40 
maxuppp hi12:26.25 
mubot Welcome to #mupdf, the channel for MuPDF. If you have a question, please ask it, don't ask to ask it. Do be prepared to wait for a reply as devs will check the logs and reply when they come on line.12:26.25 
maxuppp quick question, what's the equivalent of mutool draw on debian?12:26.51 
  mutool doesn't have a draw command there, and mudraw doesn't work eitger12:27.50 
kens Is this building from the MuPDF source or using some package ?12:28.19 
maxuppp package, mupdf-tools12:29.31 
kens Umm, well I'm no expert, but I think you might have to ask the package maintainer that question. Though if you let us know the version you are using its possible someone (not me) might be able to help if you stick around, its lunch time at the moment12:30.26 
tor8 IIRC debian is shipping a very old version of mupdf12:30.57 
maxuppp damn devs, always wanna eat...12:31.04 
kens Debian is 'stable' and so always ships old stuff :-)12:31.17 
maxuppp i use arch, sometimes i feel spoiled on updates...12:31.50 
tor8 maxuppp: which version of the mupdf-tools package do you have?12:31.52 
  it could possibly be called 'pdfdraw' as well, if it's an ancient version12:32.10 
maxuppp one sec12:32.26 
kens claims 1.9a on here12:33.25 
maxuppp yeah 1.9 seems right12:33.42 
  although there's no --v ;)12:33.48 
kens Jessie is on 1.5 apparently12:33.57 
tor8 yeah, I see 1.5 on my debian12:34.11 
kens wheezy is on 0.9 O.O12:34.27 
maxuppp lol12:34.34 
kens stretch buster and sid all on 1.9a12:34.46 
tor8 maxuppp: so, in order of ascending age it could be: 'mutool draw', 'mudraw', or 'pdfdraw'12:35.19 
  they might have renamed pdfdraw way back when to mupdfdraw perhaps, I can't really recall12:35.39 
maxuppp alright, i'll relay that to my colleague12:35.46 
kens Or the packager broke it, and none of the above :-)12:35.51 
maxuppp i won't touch debian with a stick :D12:35.52 
tor8 best to just look in /usr/bin/12:35.54 
maxuppp by the way, it's a great tool you're making12:36.20 
tor8 thanks.12:36.31 
maxuppp the best amongst pdf rippers i'd say, and i've tried a lot12:36.41 
Robin_Watts tor8: closer, but no cigar. 456 is wrong now.12:39.43 
  I'll bisect when I'm back from the vets.12:40.31 
maxuppp there seems to be only mudraw, which doesn't support the txt target12:54.06 
  only renders to images it appears12:54.15 
kens Can't comment really, its not my area13:00.23 
  Perhaps they didn't want to have dependencies and it would need X I htink13:00.43 
tor8 maxuppp: the text target is a newer feature that was introduced after the tool was joined with the 'mutool' suite13:08.04 
  maxuppp: to get text output with the old 'mudraw' tool you need to use the -t option13:08.42 
maxuppp it works13:29.29 
  thanks, to all13:29.34 
Robin_Watts tor8: OK, pushing...14:18.12 
tor8 Robin_Watts: did you figure out the problem with 456?14:21.15 
Robin_Watts tor8: yeah, fixed.14:21.24 
  silly typo in one of the tidying commits.14:21.34 
  Oh, you asked earlier... by default stuff runs non-color-managed,14:22.27 
tor8 clamp_lab_icc?14:22.53 
Robin_Watts You need to call fz_set_cmm_engine(ctx, &fz_lcms_engine); to turn color management on.14:22.57 
  yeah.14:22.58 
tor8 I think it would be useful to turn it on by default14:23.11 
Robin_Watts mudraw turns it on by default.14:23.21 
  Turning it on by default means it's harder to build without including lcms.14:23.50 
  The way it is now, if it's not used it drops out at link time.14:24.03 
  mvrhel_laptop: Morning. lcms stuff is committed.14:55.20 
mvrhel_laptop Morning Robin_Watts. Great!14:58.10 
  Robin_Watts: so when we do a cluster push does it test with or without lcms or both?15:00.56 
sebras I just read the logs, cool!15:01.10 
Robin_Watts mvrhel_laptop: with.15:02.14 
mvrhel_laptop ok good deal15:02.40 
sebras Robin_Watts: origin:sebras/lcms has a patch needed for this to build in android.15:07.51 
Robin_Watts sebras: grabbing now.15:08.00 
sebras Robin_Watts: I just tested it locally and it seems to work. if you lgtm I'll push it.15:08.08 
Robin_Watts tor8: I fixed the harfbuzz commit.15:08.12 
  sebras: lgtm. Thanks.15:08.49 
  tor8: If you lgtm, then I'll push the last 2 commits, and we'll be sorted.15:10.49 
  mvrhel_laptop, sebras, tor8: So I just nobbled every single call to fz_ensure_pixmap_is_additive, and ran the cluster.15:54.17 
  Anyone want to guess how many diffs?15:54.24 
mvrhel_laptop 015:54.35 
Robin_Watts yeah.15:54.40 
  mvrhel_laptop: You said yesterday that you had questions for me about the way mupdf does transparency?15:56.05 
mvrhel_laptop Robin_Watts: so I wanted to chat with you for a sec about DeviceN15:56.07 
sebras Robin_Watts: nobble v 1: deprive of by deceit; 2: make off with belonging of others; 3: take away to an undisclosed location against their will and usually in order to extract a ransom; 4: disable by drugging15:56.14 
  Robin_Watts: I need to refer back to wordnet to get what that meant. :)15:56.31 
Robin_Watts number 4 in that definition :)15:56.44 
sebras Robin_Watts: I guess we're not talking about option 4.15:56.45 
Robin_Watts where the drug is "a C++ style comment" ;)15:57.08 
sebras Robin_Watts: :)(15:57.14 
mvrhel_laptop Robin_Watts: So for proper handling of spot colors in transparency, we will need to want to allow Gray, RGB and CMYK color spaces to have additional spot colors. Toward that end, I would like there to be a num_spots entry in the color space which is populated with how many spot colors we need to worry about in the group (this would be the number of spots on the page). Also it would be...15:58.55 
  ...idea to always have such data organized in chunky form as Gray + spots, RGB + spots, and CMYK + spots15:58.57 
  s/idea/ideal/15:59.05 
  s/need to want/want/15:59.25 
Robin_Watts fz_pixmaps currently have n = number of components, alpha = number of alpha components (0 or 1).16:00.02 
  You're suggesting adding s = number of spots.16:00.35 
  so n-s-a = 3 for rgb spaces.16:00.49 
mvrhel_laptop I was thinking of adding that in the color space, but being in the pixmap makes more sense16:01.16 
  but yes16:01.21 
  n-s-a =3 for rgb16:01.26 
Robin_Watts just trying to think that through...16:02.30 
  Plotters etc shouldn't care, because it's just another orthogonal colour component.16:03.29 
  blending may be more interesting.16:03.40 
  separable stuff is no problem.16:03.44 
mvrhel_laptop well that is were it is needed16:03.48 
avih are plotters still a thing? last time i saw one was more than 20 years ago. are they still used in the signs/print industry?16:04.16 
Robin_Watts non-separable would need to take different measures for an n-a = 3 space.16:04.22 
  avih: different meaning of plotters.16:04.29 
  plotters = my name for the core bits of code in MuPDF that paint pixel values into pixmaps.16:05.06 
avih oh16:05.16 
mvrhel_laptop I got confused by that terminology at first too16:05.29 
Robin_Watts Sorry.16:05.35 
  It comes from epage.16:05.45 
avih cute. your earlier statement about them also fit the definition i assumed :)16:05.45 
mvrhel_laptop plotters have a pretty distinct definition in graphic arts16:06.20 
avih that's the one i meant https://en.wikipedia.org/wiki/Plotter16:06.51 
Robin_Watts We might have a grey + 2 spots pixmap, and we'd need to handle blends differently than with an rgb pixmap.16:06.59 
mvrhel_laptop yes16:07.07 
Robin_Watts Yes, well, some overloading of terminology is unavoidable.16:07.12 
mvrhel_laptop that is why we need to know how many spots exist. This is what was needed in gs. Essentially the process components (Gray, RGB and CMYK) and handled quite differently16:08.02 
  They are color managed and blended differently16:08.12 
  blending is different depending upon the blend mode16:08.26 
Robin_Watts mvrhel_laptop, sebras, tor8: Ok, so I just ran another test where I made fz_ensure_pixmap_is_additive crash... and I do see SEGVs.16:08.30 
  mvrhel_laptop: Makes sense to me.16:08.46 
  Ok, so I think it's doable.16:08.56 
mvrhel_laptop Robin_Watts: ok I may have a transparency question in a minute. let me first see if I can figure out what mupdf is doing in this one case...16:09.27 
  oh16:11.10 
  ick16:11.16 
sebras Robin_Watts: I'm not sure why that is surprising..? fz_ensure_pixmap_is_additive() was being called in a few cases before the lcms stuff.16:11.22 
  Robin_Watts: I'm not sure what it looks like after.16:11.31 
Robin_Watts sebras: The point is that I first nobbled fz_ensure_pixmap_is_additive to do nothing - hence you'd expect changes in the cluster results.16:12.06 
sebras Robin_Watts: not necessarily.16:12.41 
  Robin_Watts: maybe we don't have sample files illustrating cases where it is used..?16:12.57 
  Robin_Watts: so for tiff that would be CMYK-based TIFF files I guess.16:13.14 
mvrhel_laptop ok actually I see what is going on. This should be fine. So it looks like every drawing pushes a group of the appropriate size. This is where things diverged from what gs does with its fill rectangle stuff. OK.16:13.53 
  This is actually a little easier likely to work with16:14.04 
Robin_Watts mvrhel_laptop: For knockout?16:14.51 
mvrhel_laptop That is if I change the blend mode a new group is pushed. Not knockout16:15.02 
  Lets say a draw rectangle1, and rectangle216:15.23 
  blend mode with rectangle1 is normal16:15.46 
  blend mode with retangle2 is multiply16:15.54 
  gs would only push a single group and do rectangle fills blending appropriately as it does the fills16:16.17 
  mupdf appears to push a group for rectangle1 (sized for the path size) and push a group for rectangle216:16.53 
  with the appropriate blend mode16:17.06 
  when they are popped, they are blended16:17.12 
Robin_Watts Yes, all blending in mupdf happens at the close of a group.16:17.17 
  But (while we're talking about this) knockout is slightly different.16:17.36 
mvrhel_laptop so group pushes and pops don't correlate with pdf gropus16:17.47 
  groups16:17.49 
  or they do, but there are going to be extras16:18.01 
Robin_Watts For knockout we push a group, draw, and blend back for EVERY operation.16:18.02 
  mvrhel_laptop: That sounds right.16:18.14 
mvrhel_laptop Robin_Watts: ok explain knockout to me a bit more wiith and example please16:18.43 
  s/wiith and/with an/16:18.53 
Robin_Watts OK, so suppose we have a file that draws a red background.16:19.12 
  then it starts a knockout group, and draws a transparent blue circle, and a transparent green triangle that overlaps the blue circle.16:19.47 
mvrhel_laptop ok16:20.16 
Robin_Watts With knockout we should never see any of the blue circle through the green triangle, right?16:20.19 
mvrhel_laptop correct16:20.31 
Robin_Watts The draw device implements that by starting a group before the blue circle, drawing the blue circle, and then blending it back.16:21.13 
  then starting a new group before the green triangle, drawing the green triangle, then blending it back.16:21.30 
  The cunning bit is that the background for those groups is taken from group n-2, not group n-1.16:22.02 
mvrhel_laptop yuck. Why not just go into knock out mode drawing what you need in the current pixmap16:22.19 
  there is the issue with isolated vs non-isolated16:23.08 
Robin_Watts mvrhel_laptop: Because all our plotters work on the basis of combining the background with the current color.16:23.10 
mvrhel_laptop what about an isolated knockout group?16:23.33 
Robin_Watts not destination = background + current16:23.33 
  for an isolated knockout group, we start with an empty backdrop, not the n-2th one.16:24.16 
  look in draw-device.c for fz_knockout_begin16:24.44 
mvrhel_laptop I think there are some inefficiencies in there16:24.51 
Robin_Watts oh, it's definitely not the most efficient way of working.16:25.07 
  but the alternative is to complicate the normal case of the plotters.16:25.31 
mvrhel_laptop normal being no transparency or normal being non-knockout group16:26.00 
Robin_Watts And given how infrequent transparency is (and knockout groups even more so)16:26.05 
  yes.16:26.08 
mvrhel_laptop normal being no transparency or normal being non-knockout group16:26.20 
Robin_Watts normal being "no transparency or non-knockout" :)16:26.32 
mvrhel_laptop ah16:26.38 
  hehe16:26.40 
Robin_Watts i.e. knockout groups are rare.16:26.48 
mvrhel_laptop actually, in the isolated knockout case, that would really be handled quite similar to normal while you accumultate your drawings16:27.23 
Robin_Watts I was very pleased when I got this stuff working.16:27.57 
mvrhel_laptop One down side I do see is that mupdf is a little more heavy in its memory use for transparency with this approach16:28.00 
  but the plus side is that it is less complex16:28.12 
Robin_Watts I am entirely prepared to believe that there are optimisations to be had.16:28.22 
mvrhel_laptop I am not looking to redesign transparency in mupdf16:28.47 
  just want to understand how it is working16:29.00 
Robin_Watts (Oh, btw, when the cluster ran the lcms commit, it went from 2:28 to 3:15)16:29.24 
mvrhel_laptop I am so gs biased in my vision of transparency that I could not see how paths were getting blended16:29.28 
  really? It was faster before16:29.41 
  must be all the changes you and tor8 made ;)16:29.52 
Robin_Watts It seems to regularly give results in the 3:25 region now.16:31.06 
  Yeah, we added some delay loops that we can remove later to look clever.16:31.19 
mvrhel_laptop hehe16:31.30 
  I may not have been looking at the right numbers in the cluster report16:31.44 
  that has been known to happen16:31.49 
Robin_Watts or the cluster was feeling speedy that morning.16:32.04 
  (or the previous test was abnormally slow etc)16:32.16 
  OK, so I moved the crash into the bit of fz_ensure_pixmap_is_additive that only runs when we have a subtractive input, and it now never crashes.16:33.20 
mvrhel_laptop ok. So I think I have enough knowledge to get myself in trouble now16:33.28 
Robin_Watts so we don't have any files in the cluster that use alphas with subtractive spaces.16:33.49 
  I guess that means we can not worry about this until we do :)16:34.00 
mvrhel_laptop that is interesting16:34.02 
  I know for a fact that some of the xps files have CMYK + alpha tiffs16:34.20 
  we must convert them16:34.23 
  ?16:34.31 
Robin_Watts mvrhel_laptop: Can you point me at such a file please?16:34.42 
mvrhel_laptop I was afraid you would ask that ;)16:34.57 
  hold on let me look16:35.04 
Robin_Watts I can hunt if required.16:35.10 
mvrhel_laptop let me see if I have it16:35.29 
  I am pretty sure its the fts file that has the pink flower image16:39.37 
  hold on16:39.40 
Robin_Watts 43xx?16:40.01 
mvrhel_laptop that sounds right16:40.08 
Robin_Watts page 4.16:40.24 
mvrhel_laptop can16:41.28 
  can't seem to get it from the file fetcher16:41.40 
Robin_Watts tests_private/xps/xpsfts-a4/fts_43xx.xps16:42.18 
mvrhel_laptop ah that worked16:42.41 
  had it misspelled16:42.45 
  yes page 416:43.28 
  that flower16:43.33 
  I think might be CMYK + alpha16:43.39 
Robin_Watts aha.16:46.39 
  ctx->colorspace->cmyk->is_subtractive = 016:46.57 
  cos it's an icc space.16:47.10 
  Is that expected?16:47.13 
  mvrhel_laptop: ^16:50.43 
mvrhel_laptop Robin_Watts: So I was going to fix that as I ran across that in the transparency work I am doing16:51.22 
  I can do it as a separate commit16:51.32 
  now if you want16:51.38 
Robin_Watts because is_subtractive == 0, we never trigger fz_ensure_pixmap_is_additive :)16:51.52 
mvrhel_laptop ok that is why16:52.01 
Robin_Watts so, I'm confused as to why we don't get diffs.16:52.17 
mvrhel_laptop of course we dont' really want to do that ensure16:52.32 
  eventually16:52.37 
  so lets just wait16:52.41 
  as I push on with transparency and color spaces16:52.59 
Robin_Watts mvrhel_laptop: Well, presumably that ensure *is* needed at the moment.16:53.02 
  That's what I'm trying to establish.16:53.15 
mvrhel_laptop oops that was a typo16:53.28 
  it should have read "of course we dont' really want to do that eventually"16:53.43 
Robin_Watts Indeed, eventually we don't want it.16:53.57 
  and the first step towards being able to remove it is to understand why we need it now.16:54.15 
mvrhel_laptop Robin_Watts: and if you have no rendering issue now with it then....16:54.15 
Robin_Watts mvrhel_laptop: yeah, but I'm reluctant to rip it out without needing it.16:54.38 
mvrhel_laptop Robin_Watts: do you want me to give you a commit for the is_subtractice with icc?16:54.59 
Robin_Watts mvrhel_laptop: Please.16:55.06 
mvrhel_laptop ok hold on16:55.09 
Robin_Watts Then I can check for diffs, and check whether fz_ensure_blah is doing something important at the moment.16:55.27 
mvrhel_laptop Robin_Watts: ok on my repos17:03.59 
  master17:04.05 
  sorry it took so long17:04.12 
  something wacky is going on with my VS17:04.20 
  it keeps changing the line endings17:04.31 
  not sure why17:04.44 
Robin_Watts thanks.17:06.25 
mvrhel_laptop I guess I must have copied something in with the wrong line ending and then that changed its "mode"17:07.01 
Robin_Watts mvrhel_laptop: New msvc "knows" about git, so it may be trying to be helpful.17:07.58 
mvrhel_laptop "helpful"17:09.04 
  ok. going to make a simple file that has significant color blend issues. the ghent file is to complicated as it includes output intent etc which I am not prepared to fool with quite yet17:10.02 
 Forward 1 day (to 2017/06/23)>>> 
ghostscript.com #ghostscript
Search: