diff options
author | Robin Watts <Robin.Watts@artifex.com> | 2022-01-06 16:20:10 +0000 |
---|---|---|
committer | Robin Watts <Robin.Watts@artifex.com> | 2022-01-06 17:06:33 +0000 |
commit | c0fb721e5341716daba291838467fc01ea7fba6c (patch) | |
tree | 387a0d3c56f0b5b683109398498ed8f8d51c8353 /demos | |
parent | 0d5d7852f1dfee64aade1ff31eebf7427841d531 (diff) | |
download | ghostpdl-c0fb721e5341716daba291838467fc01ea7fba6c.tar.gz |
Fix clist vs pagemode difference due to interpolation threshold.
When rendering tests_private/comparefiles/Bug692568.pdf at 300dpi
to pbmraw, the image in the top right differs between clist and
page mode.
This file has a pattern, that contains an interpolated image, with
a softmask. When rendering the image, the code has to decide whether
to interpolate or not. As part of this decision, it calls a dev_spec_op
to get the interpolation_threshold.
In both page and clist mode, that call ends up at the pbmraw device
where gx_default_dev_spec_op handles that dev_spec_op.
In page mode the interpolation threshold is set to 4 as we have
1 component and less than 15 gray values (just 1). In clist mode,
because of the presence of a softmask, the device has had the number
of gray values reset to 255 while the clist device is in effect.
This returns an interpolation threshold value of 0.
Thus page mode does not interpolate, but clist does, causing the
difference.
The fix, implemented here, is to remember the interpolation
threshold when the clist is created and to use that. Now neither
clist nor page mode interpolate.
Diffstat (limited to 'demos')
0 files changed, 0 insertions, 0 deletions