Update TODO and ChangeLog. Fixes #166, #83

This commit is contained in:
Jay Berkenbilt 2017-12-25 18:28:17 -05:00
parent 4edfe1f41d
commit 794b649e5b
2 changed files with 18 additions and 8 deletions

View File

@ -1,3 +1,21 @@
2017-12-25 Jay Berkenbilt <ejb@ql.org>
* Implement remaining PNG filters for decode. Prior versions could
decode only the "up" filter. Now all PNG filters (sub, up,
average, Paeth, optimal) are supported for decoding. Thanks to
Tobias Hoffmann for providing a test PDF file that has images with
all PNG filters along with different numbers of bits per sample
and samples per pixel, and thanks to Casey Rojas for providing
implementations of the remaining PNG filters.
The implementation of the remaining PNG filters changed the
interface to the private Pl_PNGFilter class, but this class's
header file is not in the installation, and there is no public
interface to the class. Within the library, the class is never
allocated on the stack; it is only ever dynamically allocated. As
such, this does not actually break binary compatibility of the
library.
2017-09-15 Jay Berkenbilt <ejb@ql.org>
* 7.0.0: release

8
TODO
View File

@ -53,8 +53,6 @@ I find it useful to make reference to them in this list
filtering doesn't ever try to do this. QPDFWriter should be checked
carefully too. See also bugs/private/from-email-663916/
* Implement remaining PNG filters. See https://github.com/qpdf/qpdf/pull/166
* Form flattening: ~/tmp/qtmp/form-flattening-email/. Distill this
into notes along with stuff in qpdf email box.
@ -236,12 +234,6 @@ Index: QPDFWriter.cc
viewing software silently ignores objects of this type, so this is
probably not a big deal.
* Pl_PNGFilter is only partially implemented. If we ever decoded
images, we'd have to finish implementing it along with the other
filter decode parameters and types. For just handling xref
streams, there's really no need as it wouldn't make sense to use
any kind of predictor other than 12 (PNG UP filter).
* If we ever want to have check mode check the integrity of the free
list, this can be done by looking at the code from prior to the
object stream support of 4/5/2008. It's in an if (0) block and