@damonlynch I’m making good progress on my book which will include code for ISOBMFF. It’s based on the existing Exiv2/JP2000 code which is has been in Exiv2 since 2008.
The book is being illustrated with a program called tvisitor.cpp which is modelled on the TiffVisitor code in Exiv2. It’s currently 2500 lines of C++. I hope tvisitor.cpp is easier to understand than the 100,000 lines in Exiv2. It has parsers for JPEG, PNG, TIFF (including BigTiff, CR2, DNG and NEF), CRW, PSD, ICC, ISOBMFF (JP2, HEIC, CRW and AVI). I hope to document the remaining 5 or 6 formats supported by Exiv2.
I have .CR3 and .HEIC working. I can’t see how we could have a legal issue with this. We’re decoding Exif standard data from a file which is documented by ISO. How could that be illegal?
The book covers everything I know about metadata and Exiv2. If LGM happens in Rennes in 2021, I’ll offer to give a talk about the book and to run an afternoon workshop. And then I am finished with Exiv2/metadata/open-source.
Current draft (being updated daily) https://clanmills.com/exiv2/book/