-
Notifications
You must be signed in to change notification settings - Fork 282
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JXL/codestream support #1506
Comments
There is a brief discussion about the patent situation concerning BMFF/JPEG-XL here: #1679 |
The following is an example of how to decode the image dimensions of a JXL/codestream file: |
It's a PoC because I am a total beginner in programming:
I referred to the following for the code:
Please feel free to adopt and improve the patch / write a better one. Edit: Please see below for latest updates. |
Update: I have updated my fork so that it parses the If a JXL/bmff file has Exif dimensions metadata, exiv2 prioritizes it, so sometimes it may be inconsistent if:
I have also tried to backport the Brotli patch to 0.27:
Any kind of help would be greatly appreciated. Note: I used 0.27 as the base, since I am not sure whether the main branch has changed the API (and requires code changes in other applications / libraries). |
Thanks for working on this!
IMHO I don't think we really want to introduce new features to 0.27 branch, only security and bug fixes, but I could be wrong... @nehaljwani |
I have rebased my PoC code on top of the main branch. |
There is thorough discussion of the emerging JXL standard in #1503.
JXL can have two different file structures.
JXL/bmff
The file is bmff formatted. Adding support for this format in tvisitor.cpp (the code in my book) required less than 30 lines of code. The effort in Exiv2 will be similar. The
jxlc
box contains the codestream. The metadata is stored in the boxesExif
andxml
. The specification of brotli compressed metadata boxes is still in discussion.It's likely that Exiv2 will be able to support JXL/bmff in 2021 as the effort required is modest. Support for the brotli compressed metadata will follow when the standard is defined.
JXL/codestream
This is a JPEG style stream which begins with the marker 0xff0a. It does not contain Exif of XML metadata. It can contain an ICC profile. Implicit metadata such as the image and orientation are in the code stream.
The effort to recover the ICC profile from the codestream is the substance of this issue report. It's unlikely that the engineering resources will be available in 2021 to tackle this issue. I have assigned this issue to Milestone v0.28 to make it visible during the v0.28 project life. However, it will probably be deferred.
The text was updated successfully, but these errors were encountered: