Open Menu
AllLocalCommunitiesAbout
lotide
AllLocalCommunitiesAbout
Login

PNG has been updated for the first time in 22 years — new spec supports HDR and animation

⁨787⁩ ⁨likes⁩

Submitted ⁨⁨1⁩ ⁨day⁩ ago⁩ by ⁨tonytins@pawb.social⁩ to ⁨technology@lemmy.world⁩

https://www.tomshardware.com/software/png-has-been-updated-for-the-first-time-in-22-years-new-spec-supports-hdr-and-animation

source

Comments

Sort:hotnewtop
  • ohshit604@sh.itjust.works ⁨10⁩ ⁨minutes⁩ ago

    Would this be the Gif killer? If PNG can contain a relatively similar frame count & time limit but with marginally better quality it just may.

    source
  • db2@lemmy.world ⁨1⁩ ⁨day⁩ ago

    But is it backwards compatible with an old version that can’t be updated?

    source
    • otacon239@lemmy.world ⁨1⁩ ⁨day⁩ ago

      Yeah, this was my first thought. How many slightly older, no-longer-being-updated pieces of software will fail to open the new version? Hopefully it’s built in a way that it just falls back to legacy and ignores the extra information so you can at least load the file.

      source
      • pennomi@lemmy.world ⁨1⁩ ⁨day⁩ ago

        Popular photo and video editing apps like Photoshop, DaVinci Resolve, and Avid Media Composer already support it, alongside Chrome, Safari, and Firefox. Apple’s iOS and macOS also work with the new file standard.

        This is all the article mentions. I hope you’re right about the backwards compatibility.

        source
        • -> View More Comments
      • dual_sport_dork@lemmy.world ⁨1⁩ ⁨day⁩ ago

        I mean, that’s already how animated .gifs work. If somehow you manage to load one into a viewer that doesn’t support the animation functionality it will at least dutifully display the first frame.

        How the hell you would manage to do that in this day and age escapes me, but there were a fair few years in the early '90s where you might run into that sort of thing.

        source
        • -> View More Comments
    • Ghostalmedia@lemmy.world ⁨1⁩ ⁨day⁩ ago

      Speaking for animation, your browser probably already supports APNG. APNG is 21 years old and has decent adoption. But it’s officially part of the club.

      That said, APNGs are fat as fuck and they’re a pretty old solution to animated graphics with an alpha channel. Don’t expect to see everyone making APNGs all of the sudden. There is a reason why people have kept it at a distance.

      source
    • Deebster@infosec.pub ⁨1⁩ ⁨day⁩ ago

      Some of this is paving the cowpath - the animated PNG stuff is 20 years old and e.g. Firefox has had support since March 2007.

      source
    • Tetsuo@jlai.lu ⁨1⁩ ⁨day⁩ ago

      I’m probably gonna be massively downvoted for saying the forbidden word but I asked AI to do a summary with references of the forward and backward compatibility of PNG’s new version:

      !

      Based on recent search results, the new PNG specification (Third Edition) and its reference library (libpng) maintain strong backward compatibility while introducing modern features. Here’s a detailed compatibility analysis:

      🔄 1. Backward Compatibility (Viewing Old PNGs with New Lib)

      • Full Support: The new libpng (1.6.49+) and PNG Third Edition fully support legacy PNG files. Existing PNGs (conforming to the 2003/2004 spec) will render correctly without changes .
      • Implementation Stability: Libpng’s API evolution (e.g., hiding png_struct/png_info internals since 1.5.0) ensures older apps using png_get_*/png_set_* functions remain compatible. Direct struct access, deprecated since 1.4.x, may break in libpng 2.0.x (C99-only) .
      • Security Enhancements: Critical vulnerabilities (e.g., CVE-2019-7317 in png_image_free()) were patched in libpng 1.6.37+, making the new lib safer for decoding old files .

      ⚠️ 2. Forward Compatibility (Viewing New PNGs with Old Lib)

      • Basic Support: Older libpng versions (pre-1.6.37) can decode new PNGs if they avoid new features. Core chunks like IHDR or IDAT remain unchanged .
      • New Feature Limitations:
        • HDR Imagery: Requires libpng 1.6.45+ and apps supporting the mDCv chunk. Older libs ignore HDR data, falling back to SDR, which may cause color inaccuracies .
        • APNG Animation: Officially standardized in PNG Third Edition. Older libs (e.g., <1.6) treat APNG as static images, showing only the first frame .
        • EXIF Metadata: New eXIf chunks are ignored by legacy decoders, losing metadata like GPS or copyright info .
      • Security Risks: Older libs (e.g., ≤1.6.36) contain unpatched vulnerabilities (e.g., CVE-2015-8126). Parsing malicious new PNGs could exploit these flaws .

      📊 Compatibility Summary

      Scenario Compatibility Key Considerations
      Old PNG → New Lib ✅ Excellent Legacy files work flawlessly; security improved.
      New PNG → Old Lib ⚠️ Partial Basic rendering works, but HDR/APNG/EXIF ignored. Security risks in unpatched versions.
      New Features 🔧 Conditional Requires updated apps (e.g., Photoshop, browsers) and OS support .

      🔧 3. Implementation and Industry Adoption

      • Broad Support: Major browsers (Chrome, Safari, Firefox), OSs (iOS, macOS), and tools (Photoshop, DaVinci Resolve) already support the new spec .
      • Progressive Enhancement: New features like HDR use optional chunks, ensuring graceful degradation in older software .
      • Future-Proofing: Work on PNG Fourth Edition (HDR/SDR interoperability) and Fifth Edition (better compression) is underway .

      💎 Conclusion

      • Upgrade Recommended: New libpng (1.6.49+) ensures security and full compatibility with legacy files.
      • Test Workflows: Verify critical tools handle new features (e.g., APNG animation in browsers).
      • Fallbacks for Old Systems: For environments stuck with outdated libs, convert new PNGs to legacy format (e.g., strip HDR/APNG) .

      For developers: Use png_get_valid(png_ptr, info_ptr, PNG_INFO_mDCv) to check HDR support and provide fallbacks .

      !<

      source
      • Artisian@lemmy.world ⁨1⁩ ⁨day⁩ ago

        downvoters: is it wrong?

        source
        • -> View More Comments
    • cley_faye@lemmy.world ⁨1⁩ ⁨day⁩ ago

      The PNG format is made of chunks that have determined roles, and provides provisions for newer “standardized” chunks alongside the custom chunks it had supported until now. It is likely that PNG made with newer software that does not use new features, or uses only additional features, will remain readable by older software to some extent.

      source
    • muntedcrocodile@hilariouschaos.com ⁨1⁩ ⁨day⁩ ago

      Yes that’s why its so great

      source
    • Blackmist@feddit.uk ⁨1⁩ ⁨day⁩ ago

      I’ll tell you if I can find some new files for testing.

      Even JPEG isn’t always back compatible either. I loaded an image into my software which uses some ancient library internally, and it swapped the blue and red channels.

      source
  • tourist@lemmy.world ⁨1⁩ ⁨day⁩ ago

    2029 Headline: Worlds largest data breach caused by zero day exploit in popular PNG 3.0 renderer

    the payload was reportedly embedded in an animated image of the attacker repeatedly flicking his left testicle

    source
    • hanrahan@slrpnk.net ⁨1⁩ ⁨hour⁩ ago

      lemmy.world/post/32466629

      source
    • FrowingFostek@lemmy.world ⁨1⁩ ⁨day⁩ ago

      Ouch

      source
      • Imgonnatrythis@sh.itjust.works ⁨1⁩ ⁨day⁩ ago

        I bet it was a single flick and he ran it on a loop.

        source
  • Ghostalmedia@lemmy.world ⁨1⁩ ⁨day⁩ ago

    Animated PNG has been trying to be an extension to the PNG spec for 20+ years.

    en.wikipedia.org/wiki/APNG

    source
    • AusatKeyboardPremi@lemmy.world ⁨37⁩ ⁨minutes⁩ ago

      Yep, it was one of the ways to have an animated avatar on BB forums.

      Most recently, I have seen them being used in animated chat stickers (like on Signal).

      source
    • mlg@lemmy.world ⁨1⁩ ⁨day⁩ ago

      Right there’s actually like a select few applications that support it which is cool, but so many get confused when they see an apng file with frames.

      source
      • finitebanjo@lemmy.world ⁨1⁩ ⁨hour⁩ ago

        Probably still more supported than Webp and Webm

        source
  • apfelwoiSchoppen@lemmy.world ⁨1⁩ ⁨day⁩ ago

    I could have sworn animated pngs were a thing in the Fireworks days. Really dating myself with that ref.

    source
    • nyan@lemmy.cafe ⁨1⁩ ⁨day⁩ ago

      There were two different animated PNG extensions, MNG and APNG. Neither of them ever really caught on. I guess they’re hoping to do better by baking it into the core spec.

      source
      • Deebster@infosec.pub ⁨1⁩ ⁨day⁩ ago

        APNG is what they’re using in v3, so all many libraries need to do* is update that code for HDR.

        * surely that’s easy, right?

        source
        • -> View More Comments
    • Substance_P@lemmy.world ⁨1⁩ ⁨day⁩ ago

      I miss the days when all the cool websites used Flash. I think Macromedia killed it for some reason. Probably because it had security flaws, back then it was pretty bandwidth-intensive too, but it made for some dynamic web designs.

      source
      • frezik@lemmy.blahaj.zone ⁨1⁩ ⁨day⁩ ago

        Flash had a myriad of problems. Web devs celebrated its death.

        source
      • CompactFlax@discuss.tchncs.de ⁨1⁩ ⁨day⁩ ago

        The current situation with megabytes of JavaScript is pretty bad, but at the time, there was still a fair bit of dialup active, and mobile web was just starting to be a thing - on EDGE and barely 3G. It would take minutes to load.

        Also, Steve Jobs had it in for Flash and that’s what ultimately killed it off, I think.

        source
        • -> View More Comments
      • cley_faye@lemmy.world ⁨1⁩ ⁨day⁩ ago

        Flash was a security nightmare all round, not counting the security flaws. It was just designed without any security features. It was also terribly inefficient at its core job, that was supposedly vector animation. It filled a gap in a time where browser and standards where not that advanced.

        Over time, Flash issues where never resolved, but the bloatness of the software kept increasing. Along the way, HTML got better specs, JavaScript got vast improvement, especially in everyone adhering to roughly the same standard (thanks microsoft for finally caving in…), and so the flash interpreter was highly redundant with the browser itself.

        For a while flash editors could export in HTML5 and you’d get roughly the same result, but with a fraction of the resources requirements, so naturally there was little incentive to keep the flash player around.

        I’m not sure if “killing flash” could be attributed to their author, or to the loss of interest.

        Also note that alternative flash players exists to still play older swf files, and some sites uses them alongside with plain video conversion for flash animations that weren’t dynamic.

        source
    • tonytins@pawb.social ⁨1⁩ ⁨day⁩ ago

      Sigh, I miss Macromedia. Anyway, I do remember that being a thing as well. Guess it was never officially part of the spec.

      source
    • MrScottyTay@sh.itjust.works ⁨1⁩ ⁨day⁩ ago

      I miss fireworks. For me that was the best. I’ve never jived with Photoshop or is alternatives.

      I have since landed on krita, aseprite and inkscape. But i still miss the workflow I got used to with fireworks.

      source
  • Zarxrax@lemmy.world ⁨1⁩ ⁨day⁩ ago

    Fracturing support for a legacy format makes so much more sense than actually supporting a modern format like JXL, right?

    source
    • ada@piefed.blahaj.zone ⁨1⁩ ⁨day⁩ ago

      If this actually stands a chance of taking off, I'll honestly take what I can get to normalise HDR images

      source
  • sturlabragason@lemmy.world ⁨1⁩ ⁨day⁩ ago

    Goodbye gif hello png?

    source
    • JaddedFauceet@lemmy.world ⁨5⁩ ⁨hours⁩ ago

      gif almost got replaced by mp4 anyway during the early imgur era

      source
    • helpImTrappedOnline@lemmy.world ⁨1⁩ ⁨day⁩ ago

      Is it pronounced png or png?

      source
      • sturlabragason@lemmy.world ⁨1⁩ ⁨day⁩ ago

        jng

        source
      • caurvo@aussie.zone ⁨1⁩ ⁨day⁩ ago

        PNG, like “PNG”

        source
        • -> View More Comments
  • ILikeBoobies@lemmy.ca ⁨1⁩ ⁨day⁩ ago

    Jxl train choo choo

    source
  • ada@piefed.blahaj.zone ⁨1⁩ ⁨day⁩ ago

    HDR capable PNGs that don't look shite on SDR displays? Sign me up!

    source
  • lemmyknow@lemmy.today ⁨1⁩ ⁨day⁩ ago

    Now if anyone don’t mind explaining, PNG vs JXL?

    source
    • AdrianTheFrog@lemmy.world ⁨1⁩ ⁨day⁩ ago

      JXL is badly supported but it does offer lossless encoding in a more flexible and much more efficient way than png doe

      Basically jxl could theoretically replace png, jpg, and also exr.

      source
      • lemmyknow@lemmy.today ⁨1⁩ ⁨day⁩ ago

        Interestingly, I downloaded GNOME’s pride month wallpaper to see what it looked like, and the files were JXL. Never seen them in the wild before that

        source
        • -> View More Comments
  • carrylex@lemmy.world ⁨19⁩ ⁨hours⁩ ago

    They should have let it die because nearly everything else is nowadays somehow better:

    en.wikipedia.org/wiki/PNG#Comparison_with_other_f…

    source
    • Mhad1@lemmy.zip ⁨16⁩ ⁨hours⁩ ago

      What are u saying bro, itz still my go to option for transparency saves!, I don’t exactly know the details of the update but I am happy they are showing it some love

      source
    • cannedtuna@lemmy.world ⁨16⁩ ⁨hours⁩ ago

      I absolutely hate WebP. Worst format ever.

      source
      • JaddedFauceet@lemmy.world ⁨5⁩ ⁨hours⁩ ago

        What’s wrong with webp? It support animation, lossless compression, lossy compression and transparency. Animation has a smaller size than gif.

        source
        • -> View More Comments
    • DahGangalang@infosec.pub ⁨15⁩ ⁨hours⁩ ago

      Maybe I’m just a newb, but it still looks like PNG is the goto to ensure lossless image storage.

      Everything else on that list that is “better” does/can do lossy compression. I’m not sure how to force apps to use lossless compression, so to me, all those lossy-capable formats are a drawback.

      source
    • pyre@lemmy.world ⁨10⁩ ⁨hours⁩ ago

      did you read your own source before posting this comment?

      source
      • carrylex@lemmy.world ⁨9⁩ ⁨hours⁩ ago

        Yes? Did you?

        Example:

        AVIF

        AVIF is an image format developed by the Alliance for Open Media. AVIF was designed by the foundation to make up for the shortcomings of other image codecs, including PNG, GIF, and WebP.

        AVIF is generally smaller in size than both WebP and PNG. AVIF supports animation while PNG does not.

        source
        • -> View More Comments
  • pewgar_seemsimandroid@lemmy.blahaj.zone ⁨1⁩ ⁨day⁩ ago

    PNG PNG!

    source
  • Dindonmasker@sh.itjust.works ⁨1⁩ ⁨day⁩ ago

    I still don’t have an HDR display. Hopefully some VR headset in the near future will support it.

    source
  • arin@lemmy.world ⁨1⁩ ⁨day⁩ ago

    How does this compare to nvidia JXR hdr screenshots ?

    source
    • floquant@lemmy.dbzer0.com ⁨1⁩ ⁨day⁩ ago

      This has a chance of being widely adopted? Lol

      source