summary refs log tree commit diff
path: root/bin/pngo.c (follow)
Commit message (Collapse)AuthorAge
* Fix all copyright noticesJune McEnroe2022-08-09
|
* Use Z_FILTERED strategyJune McEnroe2021-09-21
|
* Recalculate various lengths only as neededJune McEnroe2021-09-21
| | | | | | This actually speeds things up quite a bit, saving roughly a second on a big PNG screenshot. Almost all the remaining time is spent in deflate.
* Rewrite pngo, add explicit optionsJune McEnroe2021-09-21
| | | | Interesting to see how my code habits have changed.
* Cast z_stream fields to size_tJune McEnroe2020-06-07
| | | | | In the version of zlib in OpenBSD, these fields are of type off_t, which is signed (why?), rather than uLong.
* Call static_assert by _Static_assertJune McEnroe2020-06-07
| | | | | OpenBSD doesn't #define static_assert in assert.h and _Static_assert is its real name I guess so why not?
* Make all copyright headers consistentJune McEnroe2019-01-01
|
* Prevent buffer overflows in pngoJune McEnroe2018-10-28
|
* Un-NOT trans.alpha values in pngoJune McEnroe2018-09-19
|
* Refactor reads in pngo and clear palette between filesJune McEnroe2018-09-18
|
* Add tRNS support to pngoJune McEnroe2018-09-17
|
* Factor out pixelBits, pixelSize in pngoJune McEnroe2018-09-05
|
* malloc IDAT chunks in pngo and glitchJune McEnroe2018-09-02
|
* Use PascalCase for constantsJune McEnroe2018-09-02
| | | | Get outta here, underscores.
* malloc the deflate buffer in pngoJune McEnroe2018-07-16
| | | | The stack is a baby.
* Use break; case style everywhere*June McEnroe2018-05-25
| | | | *Except in switches where every branch does a return.
* Tabify binJune McEnroe2018-05-13
|
* Use enum instead of #define for some constantsJune McEnroe2018-04-09
|
* static_assert PNG header size in pngo and glitchJune McEnroe2018-04-08
|
* Refactor critical chunk check into skipChunkJune McEnroe2018-03-02
|
* Skip chunks by reading in pngoJune McEnroe2018-03-02
| | | | Pipes.
* Add verbose flag to pngoJune McEnroe2018-03-02
| | | | I don't like verbose flags but I want to see what pngo manages to do.
* Use memmove in pngo where neededJune McEnroe2018-02-28
|
* Clean up pngoJune McEnroe2018-02-28
| | | | | | Big difference is changing lines from an array of structs containing pointers into data to an array of pointers to structs pointing directly into data.
* Abort on other values of enums in pngoJune McEnroe2018-02-22
|
* Fix zlib types on 32-bitJune McEnroe2018-02-22
|
* Add unistd.h include to pngo.cJune McEnroe2018-02-20
| | | | Where getopt properly lives.
* Take multiple inputs to pngoJune McEnroe2018-02-20
|
* Reduce bit depth in pngoJune McEnroe2018-02-20
|
* Always use None filter for indexed or bit depth < 8June McEnroe2018-02-20
|
* Add pngo command line optionsJune McEnroe2018-02-19
|
* Clean up pngo optimization functionsJune McEnroe2018-02-19
|
* Index color if possible in pngoJune McEnroe2018-02-19
|
* Read and write palette in pngoJune McEnroe2018-02-19
|
* Add pngo to READMEJune McEnroe2018-02-18
|
* Eliminate redundant color in pngoJune McEnroe2018-02-18
|
* Just globalize all the things in pngoJune McEnroe2018-02-18
|
* Tweak pngo codeJune McEnroe2018-02-17
|
* Eliminate redundant alpha in pngoJune McEnroe2018-02-17
|
* Support all bit depths in pngoJune McEnroe2018-02-17
|
* Implement filter heuristic from PNG specJune McEnroe2018-02-17
|
* Fix pngo glitchJune McEnroe2018-02-16
| | | | | Basically changing the filter type without actually recalculating the bytes results in some interesting stuff.
* Refactor scanlines and filter bytes, more glitchJune McEnroe2018-02-16
|
* Fix paethPredictor comparisonJune McEnroe2018-02-16
|
* Handle more color types, depths, IDATs in pngoJune McEnroe2018-02-16
| | | | | Also fixed reconData so that it can at least round-trip the glitches it creates.
* Add WIP pngo which produces glitch artJune McEnroe2018-02-15