CDX3C1DC_Writer.pdf---+ Comparing gs normal/Luratech builds.

-- Julian Smith - 2019-12-20

Script

Results below were obtained with this python script:

https://git.ghostscript.com/?p=user/julian/julian-tools.git;a=blob;f=jtest.py;hb=HEAD

Performance info

2020-2-10: Performance info from db24ea35 (Tue Feb 4 11:10:41 2020 +0000):

Graph showing improvements in performance for selected files from Robin's commits on 2020-1-27:

* https://ghostscript.com/~julian/luratech-performance-18-19-graph.html

Performance from build shortly after 77b7cce9253863ac4: 2020-01-23 12:10:40: jbig2dec/jbig2_mmr.c: optimised jbig2_find_changing_element():

Performance data from 2020-1-9:

[Note that this was gathered in a different way from the above, so speed and memory values are not directly comparable.]

Diffs in output

See: https://ghostscript.com/~julian/luratech-diffs.html

  • Shows bmpcmp diffs, but without toolbin/htmldiff.pl dynamic interface.
  • As of 2019-12-20:
    • These are with bmpcmp -t 33
    • There are 30 diffs, of which 3 are significant.

  • Each row of 3 images is: Normal - Luratech - bmpcmp-diff

Summary

As of 2020-1-17, behaviour of normal build needs looking at for these input files:

Detailed notes about each diff (please feel free to add more information/thoughts/comments):

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/comparefiles/Bug694909.pdf

OK

Blue line above/below image

sebras: Acroread draws the image below the image, as do gs when openjpeg is used. In the file the card is drawn two times: first the blue line is drawn, then the top part of the card, then the bottom half of the card, next the entire card is drawn again as a J2K image on top on what was just drawn. openjpeg outputs a warning about the the meth value in the color box not being a recognized value, but it continues parsing the J2K image while ignoring the color box information. Presumably Luratech errors out on the invalid meth value while parsing the J2K image and then the blue line and card halves previously drawn will be visible instead.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/comparefiles/Bug688807.pdf

Insignificant differences

sebras: Initially I couldn't see the difference. Importing the first two images (with the text "www.zil") and flipping between them in GIMP I notice that the openjpeg one is more blurry at the wave crests compared to Luratech. Is this a subsampling issue for one of the components? Might not be a huge issue.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/pdf/customer394/slow/normal_348.pdf

Investigate more

Default no images, Luratech shows images.

sebras: Acroread decodes the city/bus image at the bottom of the page without issues, but the map at top have visible issues. openjpeg can also decode the bottom two images, but fails fatally on not the top one. This is because it encounters marker 0x9000 which is unknown to JPEG2000. Running luratech on the command line and trying to decode the top image errors out, and produces no image. why does luratech in gs produce a partially decoded image as seen here? I don't know. Acroread prints a message about a missing font, but doesn't complain about anything broken in the top image.

Normal build show addition errors in output compared to lulratech:

openjpeg error: Marker is not compliant with its position openjpeg error: Failed to decode the codestream in the JP2 file openjpeg: failed to decode image!

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/pdf/customer394/slow/normal_649.pdf

OK

Odd square is white/grey without/with luratech.

sebras: even after extracting all the images that make up this page both using luratech and openjpeg I can't see why gs with luratech ends up rendering the gray square. Acroread draw the same way gs with openjpeg does, so openjpeg arguably does a better job.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/pdf/customer394/problems/normal_625.pdf

Investigate more

sebras: I extracted the j2k image and decoded each channel with luratech/openjpeg. the first component appears to decode identically, while components two and three are very different. Doing this reveals the differences that may be hard to spot in the image due to its nature. openjpeg emits a number of warnings while luratech is completely quiet. There are differences to openjpeg when compared to Acroread. Acroreda shows no warnings. Is this perhaps a real issue in openjpeg?

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/pdf/customer394/problems/normal_716.pdf

OK

Default no image, Luratech shows image. Fixed by 147591b7a8 'PDF interpreter - don't abort on errors in JBIG2 globals'.

sebras: I'm having a hard time proving that ken's commit 147591b7a8390d0e98418851b60ac67e659cf2f1 fixes this issue. I may be doing something wrong, so I need to retest this. This file has since disappeared from the difference checks, so I guess ken's commit fixed it. I will not do any retesting to confirm that.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/pdf/customer394/problems/normal_670.pdf

OK

Default no image, Luratech shows image. Fixed by 147591b7a8 'PDF interpreter - don't abort on errors in JBIG2 globals'.

sebras: I'm having a hard time proving that ken's commit 147591b7a8390d0e98418851b60ac67e659cf2f1 fixes this issue. I may be doing something wrong, so I need to retest this. This file has since disappeared from the difference checks, so I guess ken's commit fixed it. I will not do any retesting to confirm that.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/pdf/customer394/problems/normal_1264.pdf

OK

Default no image, Luratech shows image. Fixed by 147591b7a8 'PDF interpreter - don't abort on errors in JBIG2 globals'.

sebras: I'm having a hard time proving that ken's commit 147591b7a8390d0e98418851b60ac67e659cf2f1 fixes this issue. I may be doing something wrong, so I need to retest this. This file has since disappeared from the difference checks, so I guess ken's commit fixed it. I will not do any retesting to confirm that.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/pdf/PDF_1.7_FTS/fts_01_0105.pdf

OK

sebras: Even if i extract the image and decode it using the openjpeg and luratech command line tools and flip between the two decoded images in gimp, I can't tell a difference.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/pdf/PDF_1.7_FTS/fts_17_1710.pdf

OK

sebras: I can't spot any obvious visual differences even after extracting the image and decoring with openjpeg/luratech and flipping between the images in gimp.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/pdf/PDF_1.7_FTS/fts_25_2525.pdf

OK

sebras: I can't spot any obvious visual differences even after extracting the image and decoring with openjpeg/luratech and flipping between the images in gimp.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/pdf/PDF_1.7_FTS/fts_31_3103.pdf

OK

sebras: I can't spot any obvious visual differences even after extracting the image and decoring with openjpeg/luratech and flipping between the images in gimp.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/pdf/PDF_1.7_FTS/fts_25_2523.pdf

OK

sebras: I can't spot any obvious visual differences even after extracting the image and decoring with openjpeg/luratech and flipping between the images in gimp.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/pdf/PDF_2.0_FTS/fts_25_2527.pdf

OK

sebras: I can't spot any obvious visual differences even after extracting the image and decoring with openjpeg/luratech and flipping between the images in gimp.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/pdf/PDF_1.7_ATS/CDX3C1DC_Writer.pdf

OK

sebras: I can't spot any obvious visual differences even after extracting the image and decoring with openjpeg/luratech and flipping between the images in gimp.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/pdf/PDF_1.7_ATS/PSELI1DC_Writer.pdf

OK

sebras: I can't spot any obvious visual differences even after extracting the image and decoring with openjpeg/luratech and flipping between the images in gimp.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/pdf/PDF_1.7_ATS/ID5ZE1DC_Save.pdf

OK

sebras: I can't spot any obvious visual differences even after extracting the image and decoring with openjpeg/luratech and flipping between the images in gimp.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/pdf/PDF_1.7_ATS/AIX391CC_Save.pdf

OK

sebras: I can't spot any obvious visual differences even after extracting the image and decoring with openjpeg/luratech and flipping between the images in gimp.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/pdf/PDF_1.7_ATS/PSELI1DC_Dist.pdf

OK

sebras: I can't spot any obvious visual differences even after extracting the image and decoring with openjpeg/luratech and flipping between the images in gimp.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/pdf/PDF_1.7_ATS/PSELI1DC_Save.pdf

OK

sebras: I can't spot any obvious visual differences even after extracting the image and decoring with openjpeg/luratech and flipping between the images in gimp.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/pdf/PDF_1.7_ATS/PS1XF1CC_Save.pdf

OK

sebras: I can't spot any obvious visual differences even after extracting the image and decoring with openjpeg/luratech and flipping between the images in gimp.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/pdf/PDF_1.7_ATS/AC8ZC1CC_Writer.pdf

OK

sebras: I can't spot any obvious visual differences even after extracting the image and decoring with openjpeg/luratech and flipping between the images in gimp.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/pdf/PDF_1.7_ATS/AC8Z61EC_Save.pdf

Investigate more

sebras: on the first page where the first difference is, appears to render differently to acroread. is this a bug in the blend modes, regardless of what j2k decoder is used? The same goes for the rendering difference on pages 10, 11 and 12, openjpeg and luratech both differ from the acoread rendering.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/pdf/sumatra/jbig2_null_segments_and_glyphs.pdf

OK

Default no image, Luratech shows image.

sebras: ken's commit 147591b7a8390d0e98418851b60ac67e659cf2f1 fixes this issue. previously only gs built with luratech would be able to continue after luratech failed to decode the image, now gs built with jbig2dec performs the same.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/pdf/sumatra/use-after-free_from_pdf_load_compressed_stream.pdf

OK

Default black, Luratech white.

sebras: the JBIG2 image here is broken and jbig2dec limps by, warns and tries to export a white image of the correct size (2104x2779), next gs inverts it (different opinions on whether 0 or 1 is black) and puts it on the page. luratech actually fails to decode the jbig2 image, thereby leaving the PDF page the default white.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests_private/pdf/sumatra/jbig2dec_memory_leak.pdf

OK

Default shows image, Luratech no image.

sebras: progression, jbig2dec's output is more useful than luratech's.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests/pdf/Jbig2_042_22.pdf

OK

Default shows image, Luratech no image.

sebras: progression, jbig2dec's output is more useful than luratech's.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests/pdf/Jbig2_042_21.pdf

OK

Default shows image, Luratech no image.

sebras: progression, jbig2dec's output is more useful than luratech's.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests/pdf/Jbig2_042_24.pdf

OK

Default shows image, Luratech no image.

sebras: progression, jbig2dec's output is more useful than luratech's.

https://ghostscript.com/~julian/luratechdiffs.html#/home2/regression/cluster/tests/pdf/Jbig2_042_23.pdf

OK

Default shows image, Luratech no image.

sebras: progression, jbig2dec's output is more useful than luratech's.

Comments

Edit | Attach | Watch | Print version | History: r19 < r18 < r17 < r16 < r15 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r19 - 2020-02-10 - JulianSmith
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright 2014 Artifex Software Inc