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
LibGfx+Tests(+AK): Add the beginning of a JPEG2000 loader #23682
Commits on Mar 25, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 9bc3c14 - Browse repository at this point
Copy the full SHA 9bc3c14View commit details -
Configuration menu - View commit details
-
Copy full SHA for 26ffe32 - Browse repository at this point
Copy the full SHA 26ffe32View commit details -
LibGfx/ISOBMFF: Put string literals in box type ENUMERATE_ONE()
This allows types that have spaces in their FourCC.
Configuration menu - View commit details
-
Copy full SHA for 215ed4e - Browse repository at this point
Copy the full SHA 215ed4eView commit details -
Configuration menu - View commit details
-
Copy full SHA for ef2a11f - Browse repository at this point
Copy the full SHA ef2a11fView commit details -
LibGfx/ISOBMFF: Add JPEG2000 box types
I prefixed the types that are labeled as "JPEG2000" on https://mp4ra.org/registered-types/boxes with "JPEG2000".
Configuration menu - View commit details
-
Copy full SHA for 1973cdd - Browse repository at this point
Copy the full SHA 1973cddView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1cba87a - Browse repository at this point
Copy the full SHA 1cba87aView commit details -
LibGfx/ISOBMFF: Make BoxStream MaybeOwn its stream
...and make Reader always have a BoxStream.
Configuration menu - View commit details
-
Copy full SHA for ab6140e - Browse repository at this point
Copy the full SHA ab6140eView commit details -
Configuration menu - View commit details
-
Copy full SHA for defb3cf - Browse repository at this point
Copy the full SHA defb3cfView commit details -
LibGfx/ISOBMFF: Start creating JPEG2000 box types
`isobmff` can now dump the id in a JPEG2000SignatureBox. Creates JPEG2000Boxes.{h,cpp} to house JPEG2000 box types.
Configuration menu - View commit details
-
Copy full SHA for 0879bb3 - Browse repository at this point
Copy the full SHA 0879bb3View commit details -
LibGfx/ISOBMFF: Give JPEG2000HeaderBox its own type
...and make SuperBox a pure superclass that's not usable by itself.
Configuration menu - View commit details
-
Copy full SHA for c1c93c5 - Browse repository at this point
Copy the full SHA c1c93c5View commit details -
LibGfx/ISOBMFF: Remove Box::read_from_stream()
This doesn't have to be a virtual method: it's called from various create_from_stream() methods that have a static type that's created. There's no point in the virtual call here, and it makes it harder to add additional parameters to read_from_stream() in some subclasses.
Configuration menu - View commit details
-
Copy full SHA for 28505fb - Browse repository at this point
Copy the full SHA 28505fbView commit details -
LibGfx/ISOBMFF: Give Reader::read_entire_file() a factory callback
This will allow creating different child boxes in different containers.
Configuration menu - View commit details
-
Copy full SHA for f988eae - Browse repository at this point
Copy the full SHA f988eaeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 145bc64 - Browse repository at this point
Copy the full SHA 145bc64View commit details -
Configuration menu - View commit details
-
Copy full SHA for 808c1ad - Browse repository at this point
Copy the full SHA 808c1adView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2a47c10 - Browse repository at this point
Copy the full SHA 2a47c10View commit details -
Configuration menu - View commit details
-
Copy full SHA for 84867f5 - Browse repository at this point
Copy the full SHA 84867f5View commit details -
Configuration menu - View commit details
-
Copy full SHA for b13303b - Browse repository at this point
Copy the full SHA b13303bView commit details -
Configuration menu - View commit details
-
Copy full SHA for e69fd09 - Browse repository at this point
Copy the full SHA e69fd09View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1fbd38b - Browse repository at this point
Copy the full SHA 1fbd38bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 40430c0 - Browse repository at this point
Copy the full SHA 40430c0View commit details -
Configuration menu - View commit details
-
Copy full SHA for eadccbd - Browse repository at this point
Copy the full SHA eadccbdView commit details -
LibGfx: Add the start of a JPEG2000 loader
JPEG2000 is the last image format used in PDF filters that we don't have a loader for. Let's change that. This adds all the scaffolding, but no actual implementation yet.
Configuration menu - View commit details
-
Copy full SHA for 59bb15c - Browse repository at this point
Copy the full SHA 59bb15cView commit details -
LibGfx/JPEG2000: Read file structure
This is enough for `file` to print the dimensions of .jp2 / .jpx files, and for `icc` to print color profile information embedded in the 'colr' box.
Configuration menu - View commit details
-
Copy full SHA for 1e0cb1b - Browse repository at this point
Copy the full SHA 1e0cb1bView commit details -
Tests/JPEG2000: Add a simple JPEG2000 test
We can't decode any actual image data yet, but it shows that we can read the basics of the container format. (...as long as there's an Annex I container around the data, not just an Annex A codestream. All files I've found so far have the container.) I drew the thes input in Acorn.app and used "Save as..." to save it as JPEG2000. It's an RGBA image.
Configuration menu - View commit details
-
Copy full SHA for b235bce - Browse repository at this point
Copy the full SHA b235bceView commit details -
Configuration menu - View commit details
-
Copy full SHA for ef853c9 - Browse repository at this point
Copy the full SHA ef853c9View commit details