-
Notifications
You must be signed in to change notification settings - Fork 125
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dual purpose and implicit state in PngData #145
Labels
I-Minor
Issues that would be nice to have fixed, but are the lowest priority
T-Techdebt
Internal changes to improve software maintainability
Comments
shssoichiro
added
I-Minor
Issues that would be nice to have fixed, but are the lowest priority
T-Techdebt
Internal changes to improve software maintainability
labels
Nov 14, 2018
kornelski
added a commit
to kornelski/tmp-pr-oxipng
that referenced
this issue
Jan 14, 2019
Partially fixes shssoichiro#145
kornelski
added a commit
to kornelski/tmp-pr-oxipng
that referenced
this issue
Jan 14, 2019
Partially fixes shssoichiro#145
shssoichiro
pushed a commit
that referenced
this issue
Jan 27, 2019
* Fix verbose message * No cloning when restoring original data * Make reductions return a new uncompressed image Partially fixes #145 * Async reduction evaluator * Assert * Faster bit depth check * Also try 4-bit depth for small-depth images * Skip test when using miniz * Ensure palette is trimmed after depth reduction Fixes #159 * Fudge factor for reductions to prefer better reductions even if gzip estimation says otherwise
In addition to the improvements made in #158 above, there have been further improvements in #482 as optimisation is now performed on the |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
I-Minor
Issues that would be nice to have fixed, but are the lowest priority
T-Techdebt
Internal changes to improve software maintainability
PngData
has bothidat_data
andraw_data
, which are related, but used in different contexts and handled as independent fields.This is problematic, because:
It's possible to modify
raw_data
without invalidatingidat_data
. Currently the code has to keep track of that "manually" through a flag passed around. That feels fragile.Copying of
PngData
copies both of them, even when it's just for trials/reductions which are going to use only one of them.Alpha filter trials get
filtered_image
version of the idat that needs to be recompressed better later, but there's no way to store the filtered version, so later recompression does filtering again (that's very minor though).I'm not entirely sure how this should be handled, but there must be a better way. Some ideas:
Compressed
/Uncompressed
/Both
idat_data
whenraw_data
is set or borrowed mutably.The text was updated successfully, but these errors were encountered: