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
Open-source geospatial software developer (GDAL, PROJ, QGIS, MapServer, ...).
Creator of https://sozip.org
My opinions reflect the ones of my employer, not necessarily mine.