-
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
Feature-complete APNG optimization #551
Comments
renamed in light of #551; now supports APNG but the support is nearly useless :( [thanks for it anywy tho] |
@ctrlcctrlv I think you meant #79 → #511 |
Groundwork has been done to support APNGs (see #511), but the changes were not yet published in a release, so you have to build OxiPNG from source to use them. Do those changes satisfy your needs, @ctrlcctrlv? If not, why do you find that support "nearly useless"? |
fdAT is likewise compressible via the same way* IDAT is compressed so no, probably why @andrews05 wrote they were “not sure if it's something that should actually be added” :-) * sort of. |
@AlexTMjugador Even in #511, @andrews05 says average savings is <1%, so much room for improvement. I think the idea here is to meet/best |
Alright, that's fair. I'm renaming this issue to more clearly state what it asks for 😄 |
exactly. i started thinking about how to do it as well. in theory—
in order to make a well-supported APNG, it's quite important to alternate fcTL and fdAT, as earlier versions of the spec said no chunk may come between an fcTL and its fdAT. what i think this means is we can use the same code as does the main loop just with &fdat[4:]. likely |
I was reminded that APNG (unofficially, per the spec, but widely supported) can also use LZMA & Brotli compression, so add'l libraries for those would need to be decided on for (optional) inclusion. |
I’ve tried researching this but have not found anything to suggest this is correct. I suspect there may be some confusion arising from programs that offer to use “7zip” for compression, which may lead people to think it’s using lzma but it actually just means it’s using 7zip’s deflate algorithm. If you have references to the contrary, I’d be happy to hear. Also note that since brotli is supported in web browsers, you can do things like compressing the png with the new |
In settings it brings zlib, 7z (lzma) and zopfli (and iteration settings) https://sourceforge.net/projects/apng/files/APNG_Optimizer/1.4/ Ps: the assembler also includes these compression algorithms. |
Not sure where you're seeing lzma? It just says "7zip compression" in the read me. Again, this just means it is using the 7zip software to perform the deflate compression. All three options are deflate, they're just different implementations. |
Further improvements via #668. Thanks, @andrews05! 🙇🏾♂️ |
@andrews05 I (&, I'm sure, others) have been watching developments in #668 w/ great delight. I just wanted to ask, in light of the results tables you've given there, how do the resulting test files there & here, so far, compare to running against |
There are basically four stages to "feature-complete" optimisation and parity with apngopt:
I've added some comparisons with apngopt to the results in #668 which you can check out. |
@andrews05 Thanks much for those add'l results. The further-increased compression of |
The text was updated successfully, but these errors were encountered: