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
Improvements in performance for selected files from Robin 2020-1-27:
*
Graph showing memory and time ratios
Performance from build shortly after 77b7cce9253863ac4: 2020-01-23 12:10:40: jbig2dec/jbig2_mmr.c: optimised jbig2_find_changing_element().
Original performance from 2020 Jan 9:
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