summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2018-02-20 11:34:02 -0500
committerJune McEnroe <june@causal.agency>2018-02-20 11:34:02 -0500
commita85157254bb42b4a1423d18d0509d763e3ee0cb4 (patch)
treea51c3cb4fcb7ef91db3ecbe1941ecf8665ca6cd1
parentAdd pngo command line options (diff)
downloadsrc-a85157254bb42b4a1423d18d0509d763e3ee0cb4.tar.gz
src-a85157254bb42b4a1423d18d0509d763e3ee0cb4.zip
Always use None filter for indexed or bit depth < 8
-rw-r--r--bin/pngo.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/bin/pngo.c b/bin/pngo.c
index 90ebeea8..588eaccf 100644
--- a/bin/pngo.c
+++ b/bin/pngo.c
@@ -402,11 +402,19 @@ static void reconData(void) {
 
 static void filterData(void) {
     for (uint32_t y = header.height - 1; y < header.height; --y) {
+        if (header.color == INDEXED || header.depth < 8) {
+            *lines[y].type = NONE;
+            for (size_t i = lineSize() - 1; i < lineSize(); --i) {
+                lines[y].data[i] = filt(NONE, origBytes(y, i));
+            }
+            continue;
+        }
+
         uint8_t filter[FILTER_COUNT][lineSize()];
         uint32_t heuristic[FILTER_COUNT] = { 0 };
         enum Filter minType = NONE;
         for (enum Filter type = NONE; type < FILTER_COUNT; ++type) {
-            for (uint32_t i = 0; i < lineSize(); ++i) {
+            for (size_t i = 0; i < lineSize(); ++i) {
                 filter[type][i] = filt(type, origBytes(y, i));
                 heuristic[type] += abs((int8_t)filter[type][i]);
             }
sit/commit/Makefile?id=8f81318a3f4730aa3589e15a8c44b9d0c1c838f5&follow=1'>Set shell scripts executable in buildJune McEnroe 2020-10-20Humanize milliseconds if interval is less than 1sJune McEnroe The intervals are configurable in milliseconds so humanize should be able to display at that precision. 2020-10-20Humanize restart intervalJune McEnroe 2020-08-17Document default catsit.conf location on OpenBSD 1.0June McEnroe 2020-08-17Template catsit script with RUNDIRJune McEnroe 2020-08-17Clean up includesJune McEnroe 2020-08-17Log service uptime in statusJune McEnroe