-
-
Notifications
You must be signed in to change notification settings - Fork 298
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
1.17.1 breaks darktable from opening HEIF files. #1010
Comments
Could you add a bit more detail on what happens? What is your configuration, what test files are you using, and what messages (if any) are emitted when you run with |
The files I am using are produced by my Fuji X-T5 directly. It has HEIF as a storage format. The error presented on the command line is:
With
Here is a test file: |
This is not coming from the actual darktable heif loader, and I believe is unrelated (rawspeed just telling you this is not a raw file). |
I get this w/ 1.17.1 on Windows/MSYS2:
Could be related to 18d4e55 or feb3cee. @farindk Mind you, box size of 0 is perfectly valid (means box extends until end of file), as we established in Exiv2/exiv2#2612 with these same "special" Fujifilm HEIFs. |
I see the same error as @kmilos, but using
|
Yes, the layout is fine, and the file is perfectly valid (unless the spec has changed, I'm going by a draft I have access to), just a bit unusual to leave size at 0 for the last box. Ah, just remembered - it's not just 0 size, it's zero box type as well, since Fujifilm writes some extra null bytes at the end of the file. IIRC, the spec also says unknown boxes are to be safely ignored, not throw an error... @etrigan63 I think it's time you let Fujifilm know as well. Although not strictly illegal, their files are a bit unusual and can throw 3rd party SW off, as we've now seen several times. |
I agree its valid to have 0 file size to mean "to end of file". I'd have to check on null as a box type. Adding an extra condition to the sanity check allows @etrigan63 Nice picture - I guess Dale Chihuly? |
I don't have access to the latest edition, but ISO/IEC 14496-12 (5e, 2015) says
|
It isn't actually a null box - its an unused part of the mdat. That is valid. |
Not as far as I remember - I checked mdat size back then and found that the 200 null bytes were actually outside/after the mdat, so they're like an extra box of 0 size and null type... |
The problem with that file is that is contains extra zero bytes after the |
I don't know how many bytes they are usually appending. If there are more 0-bytes than the header size, everything is fine, but if there are less 0-bytes than even the header size, the file would be invalid. |
Ah, I see. That makes sense. |
FWIW, I've backported 1918de7 for the MSYS2 package... |
Thanks. |
Yep. |
I am not qualified to explain this to the Fujifilm engineers. Is there someone I can refer them to that can explain this to them clearly? |
I have pinged my contact over at Fujifilm for guidance on their side. Will keep you informed. |
Had to downgrade to 1.17.0 to restore functionality.
The text was updated successfully, but these errors were encountered: