Summary: | Regression: Missing and badly rendered images | ||
---|---|---|---|
Product: | Ghostscript | Reporter: | Marcos H. Woehrmann <marcos.woehrmann> |
Component: | Images | Assignee: | Alex Cherepanov <alex> |
Status: | NOTIFIED FIXED | ||
Severity: | normal | ||
Priority: | P2 | ||
Version: | master | ||
Hardware: | PC | ||
OS: | Linux | ||
Customer: | 850 | Word Size: | --- |
Attachments: |
oo3i.pdf -- simolified sample file
patch |
Description
Marcos H. Woehrmann
2009-01-19 06:33:18 UTC
Created attachment 4734 [details]
25555.pdf
Created attachment 4738 [details]
oo3i.pdf -- simolified sample file
This bug is not entirely a regression. The new implementation of the reusable
stream introduced relatively small stream buffer (1K), while previous
implementation kept the whole stream in a single block and used it as a stream
buffer.
Apparently, ICC profile reader cannot get the data correctly when the buffer is
small. The attached decompressed file doesn't render the image on any version
of Ghostscript. An decompression step appears to add missing steam access logic
to ICC reader.
This is not an ICC bug. ICCBased color space can be changed into /DeviceRGB without any visible affects. I didn't realize that masked image also uses reusable streams but goes through a different branch. Created attachment 4758 [details] patch Keep reading the data sources until all of them reach EOF instead of bailing out when the first one reaches EOF. Different data sources can have different compression techniques and buffer sizes. The mask in masked images also has different length from other streams. The patch makes PDF file generated from Bug689359.pdf render differently. There are also some strange effects on 541_623.pdf . The differences in pdf file generated from Bug689359.pdf are progressions. A wavy black line at the bottom of the image is now visible. The differences in 541_623.pdf were, probably, caused by a hardware glitch. I cannot reproduce them now. |