You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Andreas Lehmkühler (JIRA)" <ji...@apache.org> on 2010/09/08 20:31:39 UTC

[jira] Resolved: (PDFBOX-822) Wrong handling of PNG predictors with FlateDecode, patch attached

     [ https://issues.apache.org/jira/browse/PDFBOX-822?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andreas Lehmkühler resolved PDFBOX-822.
---------------------------------------

    Fix Version/s: 1.3.0
       Resolution: Fixed

I committed the proposed patch in revision 995177.  

Thanks!


> Wrong handling of PNG predictors with FlateDecode, patch attached
> -----------------------------------------------------------------
>
>                 Key: PDFBOX-822
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-822
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Parsing
>    Affects Versions: 1.3.0
>            Reporter: Timo Boehme
>             Fix For: 1.3.0
>
>         Attachments: pdfbox_issue822.patch
>
>   Original Estimate: 0.17h
>  Remaining Estimate: 0.17h
>
> The current implementation of PNG predictors for FlateDecode (class FlateFilter) is based on a wrong interpretation of predictor semantic. It assumes that predictor 15 (optimum) must be specified in order to use PNG prediction and predictor 10 (PNG NONE) would mean no prediction. Latter one is correct as type for an image row but wrong in its meaning for whole image. As specification states if one of the PNG predictor values are defined as 'Predictor' parameter value it only means that PNG prediction is in use (independent if it is 10, 11, ..., 15).
> I have attached a patch which removes predictor value '10' from 'no prediction' code and which triggers PNG prediction for all values >= 10.
> The bug can be tested with https://www.cryptool.org/trac/CrypTool2/export/1909/trunk/Documentation/Developer/PluginHowTo/HowToDeveloper.pdf
> Here e.g. on page 6 in the screenshot image (Im3) the rows are shifted by a pixel each 3 lines which is a result of the not interpreted predictor byte of the rows. The predictor value for the image is 10 (PNG NONE).  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.