Rewire Canon MakerNote 0x0026 (AFInfo) to allow TiffDecoder::decodeCanonAFInfo to handle this tag.

Minor changes to test script.
Cosmetic code changes.
This commit is contained in:
Robin Mills 2022-02-11 06:00:58 +00:00 committed by Luis Diaz
parent e1889e39bd
commit 800ed8959f
2 changed files with 31 additions and 33 deletions

View File

@ -1684,28 +1684,28 @@ namespace Exiv2 {
{ 0x0005, canonId, EXV_SIMPLE_BINARY_ARRAY(canonPaCfg) },
{ 0x000f, canonId, EXV_SIMPLE_BINARY_ARRAY(canonCfCfg) },
{ 0x0012, canonId, EXV_SIMPLE_BINARY_ARRAY(canonPiCfg) },
{ 0x0026, canonId, EXV_SIMPLE_BINARY_ARRAY(canonAf2Cfg) },
// { 0x0026, canonId, EXV_SIMPLE_BINARY_ARRAY(canonAf2Cfg) }, // allow TiffDecoder::decodeCanonAFInfo to deal with this
{ 0x0035, canonId, EXV_SIMPLE_BINARY_ARRAY(canonTiCfg) },
{ 0x0093, canonId, EXV_BINARY_ARRAY(canonFiCfg, canonFiDef) },
{ 0x00a0, canonId, EXV_SIMPLE_BINARY_ARRAY(canonPrCfg) },
{ 0x4013, canonId, EXV_SIMPLE_BINARY_ARRAY(canonAfMiAdjCfg) },
//{ 0x4015, canonId, EXV_SIMPLE_BINARY_ARRAY(canonVigCorCfg) },
// { 0x4015, canonId, EXV_SIMPLE_BINARY_ARRAY(canonVigCorCfg) },
{ 0x4016, canonId, EXV_SIMPLE_BINARY_ARRAY(canonVigCor2Cfg) },
{ 0x4018, canonId, EXV_SIMPLE_BINARY_ARRAY(canonLiOpCfg) },
{ 0x4019, canonId, EXV_SIMPLE_BINARY_ARRAY(canonLeCfg) },
{ 0x4019, canonId, EXV_SIMPLE_BINARY_ARRAY(canonLeCfg) },
{ 0x4020, canonId, EXV_SIMPLE_BINARY_ARRAY(canonAmCfg) },
{ 0x4021, canonId, EXV_SIMPLE_BINARY_ARRAY(canonMeCfg) },
{ 0x4024, canonId, EXV_SIMPLE_BINARY_ARRAY(canonFilCfg) },
{ 0x4025, canonId, EXV_SIMPLE_BINARY_ARRAY(canonHdrCfg) },
{ 0x4028, canonId, EXV_SIMPLE_BINARY_ARRAY(canonAfCCfg) },
{ 0x403f, canonId, EXV_SIMPLE_BINARY_ARRAY(canonRawBCfg) },
{ 0x403f, canonId, EXV_SIMPLE_BINARY_ARRAY(canonRawBCfg) },
{ Tag::next, canonId, ignoreTiffComponent },
{ Tag::all, canonId, newTiffEntry },
// Canon makernote composite tags
{ Tag::all, canonCsId, newTiffBinaryElement },
{ Tag::all, canonSiId, newTiffBinaryElement },
{ Tag::all, canonAf2Id, newTiffBinaryElement },
{ Tag::all, canonAf2Id, newTiffBinaryElement },
{ Tag::all, canonPaId, newTiffBinaryElement },
{ Tag::all, canonCfId, newTiffBinaryElement },
{ Tag::all, canonPiId, newTiffBinaryElement },
@ -1713,16 +1713,16 @@ namespace Exiv2 {
{ Tag::all, canonFiId, newTiffBinaryElement },
{ Tag::all, canonPrId, newTiffBinaryElement },
{ Tag::all, canonAfMiAdjId, newTiffBinaryElement },
// { Tag::all, canonVigCorId, newTiffBinaryElement },
{ Tag::all, canonVigCor2Id, newTiffBinaryElement },
{ Tag::all, canonLiOpId, newTiffBinaryElement },
{ Tag::all, canonLeId, newTiffBinaryElement },
{ Tag::all, canonAmId, newTiffBinaryElement },
{ Tag::all, canonMeId, newTiffBinaryElement },
{ Tag::all, canonFilId, newTiffBinaryElement },
{ Tag::all, canonHdrId, newTiffBinaryElement },
{ Tag::all, canonAfCId, newTiffBinaryElement },
{ Tag::all, canonRawBId, newTiffBinaryElement },
// { Tag::all, canonVigCorId, newTiffBinaryElement },
{ Tag::all, canonVigCor2Id, newTiffBinaryElement },
{ Tag::all, canonLiOpId, newTiffBinaryElement },
{ Tag::all, canonLeId, newTiffBinaryElement },
{ Tag::all, canonAmId, newTiffBinaryElement },
{ Tag::all, canonMeId, newTiffBinaryElement },
{ Tag::all, canonFilId, newTiffBinaryElement },
{ Tag::all, canonHdrId, newTiffBinaryElement },
{ Tag::all, canonAfCId, newTiffBinaryElement },
{ Tag::all, canonRawBId, newTiffBinaryElement },
// Nikon1 makernote
{ Tag::next, nikon1Id, ignoreTiffComponent },

View File

@ -8,12 +8,12 @@ class CanonAfInfoTest(metaclass=CaseMeta):
filenameB = path("$data_path/test_issue_981b.exv")
filenameC = path("$data_path/test_issue_981c.exv")
filenameD = path("$data_path/test_issue_981d.exv")
commands = ["$exiv2 -pa -b --grep Canon.AF $filenameA",
"$exiv2 -pa -b --grep Canon.AF $filenameB",
"$exiv2 -pv -b --grep Points $filenameC",
"$exiv2 -pt -b --grep Points $filenameC",
"$exiv2 -pv -b --grep Unusable $filenameD",
"$exiv2 -pt -b --grep Unusable $filenameD",
commands = ["$exiv2 -pa -b --grep Canon.AF $filenameA"
,"$exiv2 -pa -b --grep Canon.AF $filenameB"
,"$exiv2 -pv -b --grep Points $filenameC"
,"$exiv2 -pt -b --grep Points $filenameD"
,"$exiv2 -pv -b --grep Unusable $filenameC"
,"$exiv2 -pt -b --grep Unusable $filenameD"
]
stdout = ["""Exif.Canon.AFInfo Short 48 96 2 9 9 4752 3168 4272 2848 115 115 115 162 200 162 115 115 115 153 153 153 105 199 105 153 153 153 64409 64862 64862 0 0 0 674 674 1127 0 321 65215 603 0 64933 321 65215 0 16 256 0 65535
@ -32,7 +32,7 @@ Exif.Canon.AFYPositions SShort 9 0 321 -321 603 0 -60
Exif.Canon.AFPointsInFocus Short 1 4
Exif.Canon.AFPointsSelected Short 1 8
Exif.Canon.AFPointsUnusable Short 1 (none)
""" , """Exif.Canon.AFInfo Short 273 546 2 63 61 6720 4480 6720 4480 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 0 0 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 0 0 65200 64790 64435 64099 63764 336 0 65200 64099 63764 1772 1437 1101 746 336 0 1437 1101 746 336 0 65200 64790 64435 336 0 65200 64790 64435 64099 63764 1772 64790 64435 64099 63764 1772 1437 1101 746 63764 1772 1437 1101 746 336 0 65200 1101 746 336 0 65200 64790 64435 64099 336 0 65200 1772 1437 0 0 547 625 625 625 625 821 821 821 308 308 625 625 625 625 547 547 308 308 308 274 274 274 308 308 0 0 0 0 0 0 0 308 65228 65228 65228 65228 0 0 0 0 64911 65228 65228 65228 65228 65262 65262 65262 64911 64911 64989 64989 64989 64911 64911 64911 64715 64715 64715 64911 64911 0 0 0 512 0 0 0 512 0 0 0 0 0 0 65535
""","""Exif.Canon.AFInfo Short 273 546 2 63 61 6720 4480 6720 4480 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 0 0 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 0 0 65200 64790 64435 64099 63764 336 0 65200 64099 63764 1772 1437 1101 746 336 0 1437 1101 746 336 0 65200 64790 64435 336 0 65200 64790 64435 64099 63764 1772 64790 64435 64099 63764 1772 1437 1101 746 63764 1772 1437 1101 746 336 0 65200 1101 746 336 0 65200 64790 64435 64099 336 0 65200 1772 1437 0 0 547 625 625 625 625 821 821 821 308 308 625 625 625 625 547 547 308 308 308 274 274 274 308 308 0 0 0 0 0 0 0 308 65228 65228 65228 65228 0 0 0 0 64911 65228 65228 65228 65228 65262 65262 65262 64911 64911 64989 64989 64989 64911 64911 64911 64715 64715 64715 64911 64911 0 0 0 512 0 0 0 512 0 0 0 0 0 0 65535
Exif.Canon.AFInfoSize SShort 1 546
Exif.Canon.AFAreaMode SShort 1 Single-point AF
Exif.Canon.AFNumPoints SShort 1 63
@ -48,19 +48,17 @@ Exif.Canon.AFYPositions SShort 63 547 625 625 625 625
Exif.Canon.AFPointsInFocus Short 4 25
Exif.Canon.AFPointsSelected Short 4 25
Exif.Canon.AFPointsUnusable Short 4 (none)
Exif.Canon.AFMicroAdj Long 11 44 2 0 10 4294967295 0 10 0 10 0 10
Exif.Canon.AFConfig Long 20 80 4 0 0 1 0 0 0 0 1 0 1 32639 1 0 1 0 0 0 2
""","""Exif.Canon.AFNumPoints SShort 1 63
Exif.Canon.AFValidPoints SShort 1 61
Exif.Canon.AFPointsInFocus Short 4 0 560 57344 0
Exif.Canon.AFPointsSelected Short 4 0 1848 57344 0
Exif.Canon.AFPointsUnusable Short 4 0 0 0 0
""","""0x2602 Canon AFNumPoints SShort 1 63
0x2603 Canon AFValidPoints SShort 1 61
0x260c Canon AFPointsInFocus Short 4 0 560 57344 0
0x260d Canon AFPointsSelected Short 4 0 1848 57344 0
0x260e Canon AFPointsUnusable Short 4 0 0 0 0
""","""Exif.Canon.AFNumPoints SShort 1 63
Exif.Canon.AFValidPoints SShort 1 61
Exif.Canon.AFPointsInFocus Short 4 20,21,25,45,46,47
Exif.Canon.AFPointsSelected Short 4 19,20,21,24,25,26,45,46,47
Exif.Canon.AFPointsUnusable Short 4 (none)
""","""Exif.Canon.AFPointsUnusable Short 4 3608 49152 792 6272
Exif.Canon.AFPointsInFocus Short 4 (none)
Exif.Canon.AFPointsSelected Short 4 25
Exif.Canon.AFPointsUnusable Short 4 3,4,9,10,11,30,31,35,36,40,41,55,59,60
""","""0x260e Canon AFPointsUnusable Short 4 0 0 0 0
""","""Exif.Canon.AFPointsUnusable Short 4 3,4,9,10,11,30,31,35,36,40,41,55,59,60
"""
]