pnggroup / libpng

LIBPNG: Portable Network Graphics support, official libpng repository
http://libpng.sf.net
Other
1.26k stars 616 forks source link

png spec third edition updates #471

Open ProgramMax opened 1 year ago

ProgramMax commented 1 year ago

The PNG spec is being updated at https://github.com/w3c/PNG-spec . This includes errata fixes from the Second Edition and some new features in the coming Third Edition. One of these new features is APNG support, which is already covered by https://github.com/glennrp/libpng/issues/267 .

I'm opening this issue to start the discussion about how libpng wants to handle these coming changes. Perhaps this could also act as a meta-bug.

I can provide a breakdown of high-level changes. I am also adding WPT tests under png/. But not all changes can result in a WPT test.

What do you want to help with this?

musvaage commented 1 year ago

By the way @ProgramMax is the current chairman of the PNG Working Group.


off-topic

Possibly a Wiki Page could be created for apng in this repository.

That might provide a semblance of current support status.

Sleipnir, a Japanese browser, purportedly doesn't have apng support.

AFAIK, the GIMP editor currently requires a plugin (using a patched libpng) for apng files.

GIMP when opening an animated .gif will display frames/layers; icon/layers with .ico files.

I'm nominally curious of how the file utility might attend to these multi image files.


for comparison

file will list the number of icons in an *.ico file

file doesn't list a number of frames in an animated *.gif file

ProgramMax commented 1 year ago

Friendly ping

musvaage commented 1 year ago

Friendly ping

@ctruta

ctruta commented 1 year ago

@ProgramMax @musvaage Friendly pong!

I am on and off this project, real-life events permitting.

I will be available, again, in the coming days. I am planning to apply a bunch of libpng updates and release version 1.6.40, and while at it, I will take a look at all the recent PNG spec revisions also.

ProgramMax commented 1 year ago

I would be happy to walk you through the changes of the new PNG spec and try to save you some time/frustration. Also, would you want external contributions for the changes? Are there general guidelines for how you want patches to look?

ctruta commented 7 months ago

Hello again, Chris,

First and foremost, I would like to express my sincere appreciation for your patience. Let me put it this way: during past two years, I have been transitioning from life sucking in a schopenhaurian sense, to life sucking but not in a schopenhaurian sense, to life not sucking at all.

Although this transition turned out to be longer than I had hoped, it is, still, way shorter than it could have been. And, for that, I am thankful. I was gung-ho about it back in June, and I still am, but the difference is, I can now get off my butt and go and kick butt, as shown, e.g., by git-logging inside libpng.

I would be happy to walk you through the changes of the new PNG spec and try to save you some time/frustration.

Although I read it, I would still appreciate having a face-to-face conversation, say, in a videochat. You can reach me on my email, ctruta at gmail, or on my LinkedIn profile.

For the record, I am 100% in support of everything PNG-3, from APNG (which I had opposed a decade and a half ago) to EXIF (which I had initiated half a decade ago) and everything else in between.

ProgramMax commented 7 months ago

Glad to hear things have improved for you :D I'll try to contribute to libpng where and when I can for these new things. (Set your expectations low though.) I know you carry a lot of weight and spend a lot of time on maintaining libpng. And I know that can be offensively thankless. So I'll try to help.

ctruta commented 7 months ago

So I'll try to help.

"Try not! Do or do not. There is no try." :trollface:

Code reviews that are 100% informal, 100% unsolicited, and 100% eager and voluntary, would be nice, thank you very much.

We never had a formal review and verification process, other than the maintainer's own LGTM, ever in our project history. At the very least, I did set up a verification process -- with many thanks going to Travis CI and AppVeyor CI for their invaluable support. Other things are yet to happen. (Slooowly... Sloooooooooly...) FYI:

If you could please sign up to our png-mng-implement mailing list, however silent that mailing list might be, and say as little as "yay" or "nay", e.g. to what we are about to discuss concerning to up-and-coming "libpng-ng", that'd be great.

http://www.libpng.org/pub/png/pngmisc.html

And, to clarify, very specifically about code reviews: if you either happen to see a commit that you have an objection about, regardless whether it has already landed or it is still pending; or, really, any other piece of code in libpng about which you would like to say "this way is better than that way", I'm open to anything.

No, seriously. I think that random code reviews would be a great win-win. If you will find it useful to do them, well, for me, those would be among the most useful forms of external input.

AdvTHANKSance!