4 Commits (bc0f4f5bd0c7daebb3948b5fbcc5b36745285dc6)

Author SHA1 Message Date
Robin Mills 0889b4518f Fixing test suite. I've explained the changes in a note in the PR. 4 years ago
clanmills 3f4eccd43c Test changes to use -b where necessary. 5 years ago
Robin Mills 05538ebea2 fix1001_rename_AFPrimaryPoint 6 years ago
clanmills 90f9f0bc19
Add support for Exif.Canon.AF tags to be read from images
This PR (and fix981_canonAutoFocus2) use a decoder listed in TiffMappingInfo to
decode Exif.Canon.AFInfo. The decoding function "manufactures" Exif tags such as
Exif.Canon.AFNumPoints from the data in Exif.Canon.AFInfo. These tags must never
be written to file and are removed from the metadata in
exif.cpp/ExifParser::encode().

Three of the tags created (AFPointsInFocus,AFPointsSelected, AFPrimaryPoint) are
bitmasks. As the camera can have up to 64 focus points, the tags are a 64 bit
mask to say which points are active. The function printBitmask() reports data
such as 1,2,3 or (none).

This decoding function decodeCanonAFInfo() added to TiffMappingInfo manufactures
the new tags. Normally, tags are processed by the binary tag decoder and that
approach was taken in branch fix981_canonAf. However, the binary tag decoder
cannot deal with AFInfo because the size of some metadata arrays cannot be
determined at compile time.
6 years ago