Log of #mupdf at irc.freenode.net.

Search:
 <<<Back 1 day (to 2020/11/30)Fwd 1 day (to 2020/12/02)>>>20201201 
ator vtorri: honestly can't remember :)10:25.53 
vtorri ator :) i understand it's an old mail10:28.19 
  for the fun i also discovered a discussion you had with the author of libart2 :)10:28.49 
sebras when non_zero_winding_aa() adds spans to the deltas list in fz_scan_convert_aa(), are negative values expected?12:04.52 
  I wouldn't expect so, but it was a long time since I undestood this code.12:05.26 
ator sebras: the deltas list holds both positive and negative values12:11.31 
  it holds the difference in ink coverage from the previous "pixel"12:12.17 
  see undelta_aa where the deltas are summed to compute the final coverage values that we use as alpha in blit_aa12:13.41 
sebras ok. so I'm seeing an alpha value that is > 0, but trying to understand where that comes from and track it backwards is a bit difficult for me.12:31.23 
  I gave up.13:03.54 
ator sebras: was it > 0 when it should have been 0?13:12.08 
sebras ator: the alpha was 15 when the corresponding pixel was uninitialized.13:49.00 
  I reported it to robin in 70321113:49.16 
ator sebras: but if it's the pixel that's uninitialized, I'd have thought it was the painter that has the bug, not the scan converter13:50.38 
  the scan converter only calculates the alpha, then calls a painting function13:50.48 
sebras fz_convert_rasterizer() paints into state[1].mask using paint_span_0_da_sa().13:53.20 
  and I think the gel it is working on comes from fz_flatten_fill_path()13:54.08 
  which then calls fz_walkpath() which calls flatten_lineto() which calls line() which calls fz_insert_rasterizer() which calls which fz_insert_gel() which calls fz_insert_gel_raw().13:55.53 
ator why is alpha==15 problematic?13:56.21 
sebras somewhere here I'm expcting that state[1].dest will be painted into as well, but I never found it.13:56.27 
  ator because alpha == 15 when *sp[3] == unintialized13:56.46 
  sp here refers to state[1].dest13:57.08 
  and it is detected in the painter. in fz_draw_pop_clip().13:57.24 
  the painter appears to skip over the sample when *mp == 0, but it isn't for this uninitialized sample, it is 15, and then a == 1, so it tries to validate wheter sp[3] == 0 and it fails.13:58.53 
  this is when the issue is detected in fz_draw_pop_clip().13:59.13 
  but I think the issue is introduced towards the end of fz_draw_clip_path() when it calls fz_convert_rasterizer(), because then it sets *mp = 15 for a pixel which is uninitlized.14:00.30 
  the problem _could_ of course come from fz_flatten_fill_path() where it should be setting the sample but doesn't. this may very well be the case since I've seen that it warns "unknown keyword: '28.99<A9>756.67'" around that same time.14:01.48 
artifexirc-bot <ator> fz_copy_pixmap_rect b=2147483520 2147483520 -2147483648 -214748364814:31.11 
  <ator> intersect dst=2147483520 2147483520 2147483520 214748352014:31.11 
  <ator> intersect b=2147483520 2147483520 -2147483648 -214748364814:31.13 
  <ator> intersect src=10 0 15 8014:31.14 
  <ator> intersect b=2147483520 2147483520 -2147483648 -214748364814:31.15 
  <ator> early exit! nothing to copy.14:31.17 
  <ator> fz_new_pixmap_with_bbox 15 0 112 8014:57.09 
  <ator> fz_copy_pixmap_rect b=15 0 112 8014:57.10 
  <ator> intersect dst=15 0 112 8014:57.11 
  <ator> intersect b=15 0 112 8014:57.13 
  <ator> intersect src=112 0 112 8014:57.14 
  <ator> intersect b=112 0 112 8014:57.15 
  <ator> early exit! nothing to copy. w=97 h=8014:57.16 
 <<<Back 1 day (to 2020/11/30)Forward 1 day (to 2020/12/02)>>> 
ghostscript.com #ghostscript
Search: