The current JPEG XL decoder in #Firefox apparently consists more than 100,000 lines of multi-threaded C++

For just decoding an image format.

Not sure what it says about the format, the implementation and the Internet at large.

https://github.com/mozilla/standards-positions/pull/1064

  • Even Rouault@mastodon.social
    link
    fedilink
    arrow-up
    4
    ·
    2 months ago

    @[email protected] To put in perspective:

    • JPEG: libjpeg 6b encoder+decoder: 24,200 lines of C
    • JPEG: libjpeg-turbo encoder+decoder: 127,000 of C and ASM (multi architectures)
    • JPEG2000: openjpeg encoder+decoder: 50,000 lines of .C
    • JPEG2000: Kakadu commercial encoder+decoder: 214,000 lines of C++ (only coresys component)
    • libjxl: 150,000 lines for the core library, encoder+decoder (deps excluded)
      (All above includes blank lines + inline doc)
      So this is pretty much standard for a modern codec