aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog18
-rw-r--r--TODO8
2 files changed, 18 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 96fdacd4..65b62352 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/TODO b/TODO
index b2180762..eb89388c 100644
--- a/TODO
+++ b/TODO
@@ -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