Quoting James Almer (2024-09-30 01:01:39)
> On 9/16/2024 11:43 AM, Leo Izen wrote:
> > I've made some changes to the last EXIF overhaul patch I sent,
> > notably I fixed up some bugs and added MakerNote parsing, so it
> > should not corrupt MakerNotes that are inside TIFF files.
> > 
> > MakerNote is supposed to be a binary blob but many camera manufacturers
> > treat it as an IFD (e.g. Canon) with offsets relative to the start of the 
> > file,
> > so it has to be parsed in order to move it from TIFF to another file or it 
> > will
> > be corrupted.
> > 
> > I also fixed the fate tests now that pngenc.c writes eXIf chunks, so those 
> > should
> > pass.
> > 
> > I haven't come up with a solution that Andreas proposed, which is:
> > 
> >> If I see this correctly, then these patches can lead to a situation
> >> where an input packet has rotation metadata in exif which gets exported
> >> twice -- as displaymatrix and as exif metadata side data. If the user
> >> changes the displaymatrix (e.g. applies the transformation to the image
> >> data and removes the displaymatrix side data before reencoding), the
> >> exif data (that the user would probably not be aware of) would still be
> >> there and get propagated into the output, corrupting it.
> > 
> > Zeroing out the EXIF orientation tag upon attaching the displaymatrix is
> > something I did consider, but it would corrupt encoding unless I also read
> > the displaymatrix data and attach it as EXIF orientation. This isn't too 
> > hard
> > if the Orientation tag exists but it's more difficult if it doesn't already
> > exist. It's also not clear what to do if the AVDisplayMatrix is not in the
> > dihedral group D4.
> > 
> > Currently there's no code that takes an AVDictionary and writes it back into
> > EXIF as these are not compatible structures. EXIF includes integers of 
> > varying
> > lengths, while AVDictionary contains strings only.
> 
> Conversion from AVDictionary to coded EXIF metadata would be lossy 
> anyway because of the double type.

So why not introduce an (extensible) struct for "parsed EXIF" that
contains properly typed data instead of forcing our callers to parse
strings.

-- 
Anton Khirnov
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to