Project

General

Profile

Patch #972 » 0001-Update-exif-tag-information-for-Panasonic-cameras.patch

Bernd Steinhauser, 20 Jul 2014 10:20

View differences:

src/panasonicmn.cpp
25 25
             Gilles Caulier (gc) <caulier dot gilles at gmail dot com>
26 26
  History:   11-Jun-04, ahu: created
27 27
  Credits:   See header file
28

  
29
  The following tags have not yet been implemented, not sure how useful they would be:
30
    0x003b  TextStamp   int16u  1 = Off 2 = On
31
    0x003e  TextStamp   int16u  1 = Off 2 = On
32
    0x004d AFPointPosition     rational64u[2]  (X Y coordinates of primary AF area center, in the range 0.0 to 1.0)
33
    0x0059 Transform undef[4]   (decoded as two 16-bit signed integers)
34
        '-1 1' = Slim Low '-3 2' = Slim High '0 0' = Off '1 1' = Stretch Low '3 2' = Stretch High
35
    0x004e FaceDetInfo See http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/Panasonic.html#FaceDetInfo
36
    0x0061 FaceRecInfo See http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/Panasonic.html#FaceRecInfo
37
    0x8008  TextStamp   int16u  1 = Off 2 = On
38
    0x8009  TextStamp   int16u  1 = Off 2 = On
28 39
 */
29 40
// *****************************************************************************
30 41
#include "rcsid_int.hpp"
......
69 80
        {  8, N_("Flash")           },
70 81
        { 10, N_("Black and white") },
71 82
        { 11, N_("Manual")          },
72
        { 11, N_("Manual")          }           // To silence compiler warning
83
        { 12, N_("Shade")           },
84
        { 13, N_("Kelvin")          },
85
        { 13, N_("Kelvin")          }           // To silence compiler warning
73 86
    };
74 87

  
75 88
    //! FocusMode, tag 0x0007
......
78 91
        {  2, N_("Manual")             },
79 92
        {  4, N_("Auto, focus button") },
80 93
        {  5, N_("Auto, continuous")   },
81
        {  5, N_("Auto, continuous")   }        // To silence compiler warning
94
        {  6, N_("AF-S")               },
95
        {  7, N_("AF-C")               },
96
        {  8, N_("AF-F")               },
97
        {  8, N_("AF-F")               }        // To silence compiler warning
82 98
    };
83 99

  
84 100
    //! ImageStabilizer, tag 0x001a
85 101
    extern const TagDetails panasonicImageStabilizer[] = {
86 102
        {  2, N_("On, Mode 1") },
87 103
        {  3, N_("Off")        },
88
        {  4, N_("On, Mode 2") }
104
        {  4, N_("On, Mode 2") },
105
        {  5, N_("Panning") },
106
        {  6, N_("On, Mode 3") }
89 107
    };
90 108

  
91 109
    //! Macro, tag 0x001c
92 110
    extern const TagDetails panasonicMacro[] = {
93 111
        {   1, N_("On")         },
94 112
        {   2, N_("Off")        },
95
        { 257, N_("Tele-macro") }
113
        { 257, N_("Tele-macro") },
114
        { 513, N_("Macro Zoom") }
96 115
    };
97 116

  
98 117
    //! ShootingMode, tag 0x001f and SceneMode, tag 0x8001
......
113 132
        { 13, N_("Panning")                        },
114 133
        { 14, N_("Simple")                         },
115 134
        { 15, N_("Color effects")                  },
135
        { 16, N_("Self Portrait")                  },
136
        { 17, N_("Economy")                        },
116 137
        { 18, N_("Fireworks")                      },
117 138
        { 19, N_("Party")                          },
118 139
        { 20, N_("Snow")                           },
......
132 153
        { 34, N_("Intelligent ISO")                },
133 154
        { 36, N_("High speed continuous shooting") },
134 155
        { 37, N_("Intelligent auto")               },
156
        { 39, N_("Multi-aspect")                   },
157
        { 41, N_("Transform")                      },
158
        { 42, N_("Flash Burst")                    },
159
        { 43, N_("Pin Hole")                       },
160
        { 44, N_("Film Grain")                     },
161
        { 45, N_("My Color")                       },
162
        { 46, N_("Photo Frame")                    },
163
        { 48, N_("Movie")                          },
164
        { 51, N_("HDR")                            },
165
        { 55, N_("Handheld Night Shot")            },
166
        { 57, N_("3D")                             },
167
        { 59, N_("Creative Control")               },
168
        { 62, N_("Panorama")                       },
169
        { 63, N_("Glass Through")                  },
170
        { 64, N_("HDR")                            },
171
        { 66, N_("Digital Filter")                 },
172
        { 67, N_("Clear Portrait")                 },
173
        { 68, N_("Silky Skin")                     },
174
        { 69, N_("Backlit Softness")               },
175
        { 70, N_("Clear in Backlight")             },
176
        { 71, N_("Relaxing Tone")                  },
177
        { 72, N_("Sweet Child's Face")             },
178
        { 73, N_("Distinct Scenery")               },
179
        { 74, N_("Bright Blue Sky")                },
180
        { 75, N_("Romantic Sunset Glow")           },
181
        { 76, N_("Vivid Sunset Glow")              },
182
        { 77, N_("Glistening Water")               },
183
        { 78, N_("Clear Nightscape")               },
184
        { 79, N_("Cool Night Sky")                 },
185
        { 80, N_("Warm Glowing Nightscape")        },
186
        { 81, N_("Artistic Nightscape")            },
187
        { 82, N_("Glittering Illuminations")       },
188
        { 83, N_("Clear Night Portrait")           },
189
        { 84, N_("Soft Image of a Flower")         },
190
        { 85, N_("Appetizing Food")                },
191
        { 86, N_("Cute Dessert")                   },
192
        { 87, N_("Freeze Animal Motion")           },
193
        { 88, N_("Clear Sports Shot")              },
194
        { 89, N_("Monochrome")                     },
195
        { 90, N_("Creative Control")               }
135 196
    };
136 197

  
137 198
    //! Audio, tag 0x0020
138 199
    extern const TagDetails panasonicAudio[] = {
139 200
        { 1, N_("Yes") },
140
        { 2, N_("No")  }
201
        { 2, N_("No")  },
202
        { 3, N_("Stereo")  }
141 203
    };
142 204

  
143 205
    //! ColorEffect, tag 0x0028
......
146 208
        { 2, N_("Warm")            },
147 209
        { 3, N_("Cool")            },
148 210
        { 4, N_("Black and white") },
149
        { 5, N_("Sepia")           }
211
        { 5, N_("Sepia")           },
212
        { 6, N_("Happy")           },
213
        { 8, N_("Vivid")           }
150 214
    };
151 215

  
152 216
    //! BustMode, tag 0x002a
153 217
    extern const TagDetails panasonicBurstMode[] = {
154
        { 0, N_("Off")              },
155
        { 1, N_("Low/High quality") },
156
        { 2, N_("Infinite")         }
218
        {  0, N_("Off")                          },
219
        {  1, N_("On")                           },
220
        {  2, N_("Auto Exposure Bracketing")     },
221
        {  4, N_("Unlimited")                    },
222
        {  8, N_("White Balance Bracketing")     },
223
        { 17, N_("On (with flash)")              }
157 224
    };
158 225

  
159 226
    //! Contrast, tag 0x002c
160
    extern const TagDetails panasonicContrast[] = {
161
        {   0, N_("Normal")      },
162
        {   1, N_("Low")         },
163
        {   2, N_("High")        },
164
        {   6, N_("Medium low")  },
165
        {   7, N_("Medium high") },
166
        { 256, N_("Low")         },
167
        { 272, N_("Standard")    },
168
        { 288, N_("High")        },
169
        { 288, N_("High")        }              // To silence compiler warning
227
    //! Reporting values for current models, older models may differ
228
    //! Values 0..10 and 100..138 are based on images from the G6
229
    extern const TagDetails panasonicContrastMode[] = {
230
        {   0, N_("-5")                                             },
231
        {   1, N_("-4")                                             },
232
        {   2, N_("-3")                                             },
233
        {   3, N_("-2")                                             },
234
        {   4, N_("-1")                                             },
235
        {   5, N_("Normal")                                         },
236
        {   6, N_("+1")                                             },
237
        {   7, N_("+2")                                             },
238
        {   8, N_("+3")                                             },
239
        {   9, N_("+4")                                             },
240
        {  10, N_("+5")                                             },
241
        {  12, N_("Smooth (Color Film) or Pure (My Color)")         },
242
        {  17, N_("Dynamic (B&W Film)")                             },
243
        {  22, N_("Smooth (B&W Film)")                              },
244
        {  25, N_("High Dynamic")                                   },
245
        {  26, N_("Retro")                                          },
246
        {  27, N_("Dynamic (Color Film)")                           },
247
        {  28, N_("Low Key")                                        },
248
        {  29, N_("Toy Effect")                                     },
249
        {  32, N_("Vibrant (Color Film) or Expressive (My Color)")  },
250
        {  33, N_("Elegant (My Color)")                             },
251
        {  37, N_("Nostalgic (Color Film)")                         },
252
        {  41, N_("Dynamic Art (My Color)")                         },
253
        {  42, N_("Retro (My Color)")                               },
254
        {  45, N_("Cinema")                                         },
255
        {  47, N_("Dynamic Mono")                                   },
256
        {  50, N_("Impressive Art")                                 },
257
        {  51, N_("Cross Process")                                  },
258
        { 100, N_("High Dynamic")                                   },
259
        { 101, N_("Retro")                                          },
260
        { 102, N_("High Key")                                       },
261
        { 103, N_("Low Key")                                        },
262
        { 104, N_("Toy Effect")                                     },
263
        { 107, N_("Expressive")                                     },
264
        { 112, N_("Sepia")                                          },
265
        { 117, N_("Miniature Effect")                               },
266
        { 122, N_("Dynamic Monochrome")                             },
267
        { 127, N_("Old Days")                                       },
268
        { 132, N_("Bleach Pass")                                    },
269
        { 135, N_("Impressive Art")                                 },
270
        { 136, N_("Cross Process")                                  },
271
        { 137, N_("Toy Pop")                                        },
272
        { 138, N_("Fantasy")                                        },
273
        { 256, N_("Normal 2")                                       },
274
        { 272, N_("Standard")                                       },
275
        { 288, N_("High")                                           },
276
        { 288, N_("High")                                           }              // To silence compiler warning
170 277
    };
171 278

  
172 279
    //! NoiseReduction, tag 0x002d
......
180 287

  
181 288
    //! SelfTimer, tag 0x002e
182 289
    extern const TagDetails panasonicSelfTimer[] = {
183
        { 1, N_("Off") },
184
        { 2, N_("10s") },
185
        { 3, N_("2s")  }
290
        { 1, N_("Off")                  },
291
        { 2, N_("10 s")                 },
292
        { 3, N_("2 s")                  },
293
        { 4, N_("10 s / 3 pictures")    }
186 294
    };
187 295

  
188 296
    //! Rotation, tag 0x0030
189 297
    extern const TagDetails panasonicRotation[] = {
190 298
        { 1, N_("Horizontal (normal)") },
299
        { 3, N_("Rotate 180")          },
191 300
        { 6, N_("Rotate 90 CW")        },
192 301
        { 8, N_("Rotate 270 CW")       }
193 302
    };
194 303

  
304
    //! AFAssistLamp, tag 0x0031
305
    extern const TagDetails panasonicAFAssistLamp[] = {
306
        { 1, N_("Fired")                        },
307
        { 2, N_("Enabled but Not Used")         },
308
        { 3, N_("Disabled but Required")        },
309
        { 4, N_("Disabled and Not Required")    }
310
    };
311

  
195 312
    //! ColorMode, tag 0x0032
196 313
    extern const TagDetails panasonicColorMode[] = {
197 314
        { 0, N_("Normal")  },
......
202 319
    //! OpticalZoomMode, tag 0x0034
203 320
    extern const TagDetails panasonicOpticalZoomMode[] = {
204 321
        { 1, N_("Standard")  },
205
        { 2, N_("EX optics") }
322
        { 2, N_("Extended") }
206 323
    };
207 324

  
208 325
    //! ConversionLens, tag 0x0035
......
222 339

  
223 340
    //! FilmMode, tag 0x0042
224 341
    extern const TagDetails panasonicFilmMode[] = {
225
        { 1, N_("Standard (color)") },
226
        { 2, N_("Dynamic (color)")  },
227
        { 3, N_("Nature (color)")   },
228
        { 4, N_("Smooth (color)")   },
229
        { 5, N_("Standard (B&W)")   },
230
        { 6, N_("Dynamic (B&W)")    },
231
        { 7, N_("Smooth (B&W)")     }
342
        {  1, N_("Standard (color)") },
343
        {  2, N_("Dynamic (color)")  },
344
        {  3, N_("Nature (color)")   },
345
        {  4, N_("Smooth (color)")   },
346
        {  5, N_("Standard (B&W)")   },
347
        {  6, N_("Dynamic (B&W)")    },
348
        {  7, N_("Smooth (B&W)")     },
349
        { 10, N_("Nostalgic")        },
350
        { 11, N_("Vibrant")          }
351
    };
352

  
353
    //! BracketSettings, tag 0x0045
354
    extern const TagDetails panasonicBracketSettings[] = {
355
        { 0, N_("No Bracket")               },
356
        { 1, N_("3 Images, Sequence 0/-/+") },
357
        { 2, N_("3 Images, Sequence -/0/+") },
358
        { 3, N_("5 Images, Sequence 0/-/+") },
359
        { 4, N_("5 Images, Sequence -/0/+") },
360
        { 5, N_("7 Images, Sequence 0/-/+") },
361
        { 6, N_("7 Images, Sequence -/0/+") }
362
    };
363

  
364
    //! FlashCurtain, tag 0x0048
365
    extern const TagDetails panasonicFlashCurtain[] = {
366
        { 0, N_("n/a")  },
367
        { 1, N_("1st")  },
368
        { 2, N_("2nd")  }
369
    };
370

  
371
    //! LongExposureNoiseReduction, tag 0x0049
372
    extern const TagDetails panasonicLongExposureNoiseReduction[] = {
373
        { 1, N_("Off")  },
374
        { 2, N_("On")  }
375
    };
376

  
377
    //! IntelligentExposure, tag 0x005d
378
    extern const TagDetails panasonicIntelligentExposure[] = {
379
        { 0, N_("Off")      },
380
        { 1, N_("Low")      },
381
        { 2, N_("Standard") },
382
        { 3, N_("High")     }
383
    };
384

  
385
    //! FlashWarning, tag 0x0062
386
    extern const TagDetails panasonicFlashWarning[] = {
387
        { 0, N_("No")  },
388
        { 1, N_("Yes (Flash required but disabled)")  }
389
    };
390

  
391
    //! IntelligentResolution, tag 0x0070
392
    extern const TagDetails panasonicIntelligentResolution[] = {
393
        { 0, N_("Off")      },
394
        { 1, N_("Low")      },
395
        { 2, N_("Standard") },
396
        { 3, N_("High")     },
397
        { 4, N_("Extended") }
398
    };
399

  
400
    //! IntelligentDynamicRange, tag 0x0079
401
    extern const TagDetails panasonicIntelligentDynamicRange[] = {
402
        { 0, N_("Off")      },
403
        { 1, N_("Low")      },
404
        { 2, N_("Standard") },
405
        { 3, N_("High")     }
406
    };
407

  
408
    //! ClearRetouch, tag 0x007c
409
    extern const TagDetails panasonicClearRetouch[] = {
410
        { 0, N_("Off")  },
411
        { 1, N_("On")  }
412
    };
413

  
414
    //! PhotoStyle, tag 0x0089
415
    extern const TagDetails panasonicPhotoStyle[] = {
416
        { 0, N_("Auto")                 },
417
        { 1, N_("Standard or Custom")   },
418
        { 2, N_("Vivid")                },
419
        { 3, N_("Natural")              },
420
        { 4, N_("Monochrome")           },
421
        { 5, N_("Scenery")              },
422
        { 6, N_("Portrait")             }
423
    };
424

  
425
    //! ShadingCompensation, tag 0x008a
426
    extern const TagDetails panasonicShadingCompensation[] = {
427
        { 0, N_("Off")  },
428
        { 1, N_("On")  }
429
    };
430

  
431
    //! CameraOrientation, tag 0x008f
432
    extern const TagDetails panasonicCameraOrientation[] = {
433
        { 0, N_("Normal")           },
434
        { 1, N_("Rotate CW")        },
435
        { 2, N_("Rotate 180")       },
436
        { 3, N_("Rotate CCW")       },
437
        { 4, N_("Tilt Upwards")     },
438
        { 5, N_("Tilt Downwards")   }
439
    };
440

  
441
    //! SweepPanoramaDirection, tag 0x0093
442
    extern const TagDetails panasonicSweepPanoramaDirection[] = {
443
        { 0, N_("Off")              },
444
        { 1, N_("Left to Right")    },
445
        { 2, N_("Right to Left")    },
446
        { 3, N_("Top to Bottom")    },
447
        { 4, N_("Bottom to Top")    }
448
    };
449

  
450
    //! TimerRecording, tag 0x0096
451
    extern const TagDetails panasonicTimerRecording[] = {
452
        { 0, N_("Off")                      },
453
        { 1, N_("Time Lapse")               },
454
        { 2, N_("Stop-motion Animation")    }
455
    };
456

  
457
    //! HDR, tag 0x009e
458
    extern const TagDetails panasonicHDR[] = {
459
        {     0, N_("Off")          },
460
        {   100, N_("1 EV")         },
461
        {   200, N_("2 EV")         },
462
        {   300, N_("3 EV")         },
463
        { 32868, N_("1 EV (Auto)")  },
464
        { 32968, N_("2 EV (Auto)")  },
465
        { 32068, N_("2 EV (Auto)")  }
466
    };
467

  
468
    //! ShutterType, tag 0x009f
469
    extern const TagDetails panasonicShutterType[] = {
470
        { 0, N_("Mechanical")   },
471
        { 1, N_("Electronical") },
472
        { 2, N_("Hybrid")       }
473
    };
474

  
475
    //! TouchAE, tag 0x00ab
476
    extern const TagDetails panasonicTouchAE[] = {
477
        { 0, N_("Off")  },
478
        { 1, N_("On")  }
479
    };
480

  
481
    //! FlashFired, tag 0x8007
482
    extern const TagDetails panasonicFlashFired[] = {
483
        { 1, N_("No")  },
484
        { 2, N_("Yes")  }
232 485
    };
233 486

  
234 487
    // Panasonic MakerNote Tag Info
......
254 507
        TagInfo(0x0029, "TimeSincePowerOn", "Time since Power On", N_("Time in 1/100 s from when the camera was powered on to when the image is written to memory card"), panasonicId, makerTags, unsignedLong, -1, printValue),
255 508
        TagInfo(0x002a, "BurstMode", N_("Burst Mode"), N_("Burst mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicBurstMode)),
256 509
        TagInfo(0x002b, "SequenceNumber", N_("Sequence Number"), N_("Sequence number"), panasonicId, makerTags, unsignedLong, -1, printValue),
257
        TagInfo(0x002c, "Contrast", N_("Contrast"), N_("Contrast setting"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicContrast)),
510
        TagInfo(0x002c, "ContrastMode", N_("Contrast Mode"), N_("Contrast Mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicContrastMode)),
258 511
        TagInfo(0x002d, "NoiseReduction", N_("NoiseReduction"), N_("Noise reduction"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicNoiseReduction)),
259 512
        TagInfo(0x002e, "SelfTimer", N_("Self Timer"), N_("Self timer"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicSelfTimer)),
260 513
        TagInfo(0x002f, "0x002f", "0x002f", N_("Unknown"), panasonicId, makerTags, unsignedShort, -1, printValue),
261 514
        TagInfo(0x0030, "Rotation", N_("Rotation"), N_("Rotation"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicRotation)),
262
        TagInfo(0x0031, "0x0031", "0x0031", N_("Unknown"), panasonicId, makerTags, unsignedShort, -1, printValue),
515
        TagInfo(0x0031, "AFAssistLamp", "AF Assist Lamp", N_("Auto Focus Assist Lamp"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicAFAssistLamp)),
263 516
        TagInfo(0x0032, "ColorMode", N_("Color Mode"), N_("Color mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicColorMode)),
264 517
        TagInfo(0x0033, "BabyAge", N_("Baby Age"), N_("Baby (or pet) age"), panasonicId, makerTags, asciiString, -1, printValue),
265 518
        TagInfo(0x0034, "OpticalZoomMode", N_("Optical Zoom Mode"), N_("Optical zoom mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicOpticalZoomMode)),
......
268 521
        TagInfo(0x0039, "Contrast", N_("Contrast"), N_("Contrast"), panasonicId, makerTags, unsignedShort, -1, printValue),
269 522
        TagInfo(0x003a, "WorldTimeLocation", N_("World Time Location"), N_("World time location"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicWorldTimeLocation)),
270 523
        TagInfo(0x003c, "ProgramISO", N_("Program ISO"), N_("Program ISO"), panasonicId, makerTags, unsignedShort, -1, printValue),
524
        TagInfo(0x003d, "AdvancedSceneType", N_("Advanced Scene Type"), N_("Advanced Scene Type"), panasonicId, makerTags, unsignedShort, -1, printValue),
525
        TagInfo(0x003f, "FacesDetected", N_("Faces Detected"), N_("Faces Detected"), panasonicId, makerTags, unsignedShort, -1, printValue),
271 526
        TagInfo(0x0040, "Saturation", N_("Saturation"), N_("Saturation"), panasonicId, makerTags, unsignedShort, -1, printValue),
272 527
        TagInfo(0x0041, "Sharpness", N_("Sharpness"), N_("Sharpness"), panasonicId, makerTags, unsignedShort, -1, printValue),
273 528
        TagInfo(0x0042, "FilmMode", N_("Film Mode"), N_("Film mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicFilmMode)),
529
        TagInfo(0x0044, "ColorTempKelvin", N_("Color Temperature (Kelvin)"), N_("Color Temperature (Kelvin)"), panasonicId, makerTags, unsignedShort, -1, printValue),
530
        TagInfo(0x0045, "BracketSettings", N_("Auto Bracketing Settings"), N_("Auto Bracketing Settings"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicBracketSettings)),
274 531
        TagInfo(0x0046, "WBAdjustAB", N_("WB Adjust AB"), N_("WB adjust AB. Positive is a shift toward blue."), panasonicId, makerTags, unsignedShort, -1, printValue),
275
        TagInfo(0x0047, "WBAdjustGM", N_("WB Adjust GM"), N_("WBAdjustGM. Positive is a shift toward green."), panasonicId, makerTags, unsignedShort, -1, printValue),
532
        TagInfo(0x0047, "WBAdjustGM", N_("WB Adjust GM"), N_("WB adjust GM. Positive is a shift toward green."), panasonicId, makerTags, unsignedShort, -1, printValue),
533
        TagInfo(0x0048, "FlashCurtain", N_("Flash Curtain"), N_("Flash Curtain"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicFlashCurtain)),
534
        TagInfo(0x0049, "LongExposureNoiseReduction", N_("Long Exposure Noise Reduction"), N_("Long Exposure Noise Reduction"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicLongExposureNoiseReduction)),
276 535
        TagInfo(0x0051, "LensType", N_("Lens Type"), N_("Lens type"), panasonicId, makerTags, asciiString, -1, printValue),
277 536
        TagInfo(0x0052, "LensSerialNumber", N_("Lens Serial Number"), N_("Lens serial number"), panasonicId, makerTags, asciiString, -1, printValue),
278 537
        TagInfo(0x0053, "AccessoryType", N_("Accessory Type"), N_("Accessory type"), panasonicId, makerTags, asciiString, -1, printValue),
538
        TagInfo(0x0054, "AccessorySerialNumber", N_("Accessory Serial Number"), N_("Accessory Serial Number"), panasonicId, makerTags, asciiString, -1, printValue),
539
        TagInfo(0x005d, "IntelligentExposure", N_("Intelligent Exposure"), N_("Intelligent Exposure"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicIntelligentExposure)),
540
        TagInfo(0x0060, "LensFirmwareVersion", N_("Lens Firmware Version"), N_("Lens Firmware Version"), panasonicId, makerTags, undefined, -1, printValue),
541
        TagInfo(0x0062, "FlashWarning", N_("Flash Warning"), N_("Flash Warning"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicFlashWarning)),
542
        TagInfo(0x0065, "Title", N_("Title"), N_("Title"), panasonicId, makerTags, undefined, -1, printValue),
543
        TagInfo(0x0066, "BabyName", N_("Baby Name"), N_("Baby Name"), panasonicId, makerTags, undefined, -1, printValue),
544
        TagInfo(0x0067, "Location", N_("Location"), N_("Location"), panasonicId, makerTags, undefined, -1, printValue),
545
        TagInfo(0x0069, "Country", N_("Country"), N_("Country"), panasonicId, makerTags, undefined, -1, printValue),
546
        TagInfo(0x006b, "State", N_("State"), N_("State"), panasonicId, makerTags, undefined, -1, printValue),
547
        TagInfo(0x006d, "City", N_("City"), N_("City"), panasonicId, makerTags, undefined, -1, printValue),
548
        TagInfo(0x006f, "Landmark", N_("Landmark"), N_("Landmark"), panasonicId, makerTags, undefined, -1, printValue),
549
        TagInfo(0x0070, "IntelligentResolution", N_("Intelligent Resolution"), N_("Intelligent Resolution"), panasonicId, makerTags, unsignedByte, -1, EXV_PRINT_TAG(panasonicIntelligentResolution)),
550
        TagInfo(0x0077, "BurstSpeed", N_("Burst Speed"), N_("Burst Speed (Images per Second"), panasonicId, makerTags, unsignedShort, -1, printValue),
551
        TagInfo(0x0079, "IntelligentDynamicRange", N_("Intelligent Dynamic Range"), N_("Intelligent Dynamic Range"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicIntelligentDynamicRange)),
552
        TagInfo(0x007c, "ClearRetouch", N_("Clear Retouch"), N_("Clear Retouch"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicClearRetouch)),
553
        TagInfo(0x0086, "ManometerPressure", N_("Manometer Pressure"), N_("Manometer Pressure"), panasonicId, makerTags, unsignedShort, -1, printValue),
554
        TagInfo(0x0089, "PhotoStyle", N_("Photo Style"), N_("Photo Style"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicPhotoStyle)),
555
        TagInfo(0x008a, "ShadingCompensation", N_("Shading Compensation"), N_("Shading Compensation"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicShadingCompensation)),
556
        TagInfo(0x008c, "AccelerometerZ", N_("Accelerometer Z"), N_("Accelerometer Z (Positive is acceleration upwards"), panasonicId, makerTags, unsignedShort, -1, printValue),
557
        TagInfo(0x008d, "AccelerometerX", N_("Accelerometer X"), N_("Accelerometer X (Positive is acceleration to the left"), panasonicId, makerTags, unsignedShort, -1, printValue),
558
        TagInfo(0x008e, "AccelerometerY", N_("Accelerometer Y"), N_("Accelerometer Y (Positive is acceleration backwards)"), panasonicId, makerTags, unsignedShort, -1, printValue),
559
        TagInfo(0x008f, "Camera Orientation", N_("Camera Orientation"), N_("Camera Orientation"), panasonicId, makerTags, unsignedByte, -1, EXV_PRINT_TAG(panasonicCameraOrientation)),
560
        TagInfo(0x0090, "RollAngle", N_("Roll Angle"), N_("Roll Angle (Clockwise camera rotation in degrees)"), panasonicId, makerTags, unsignedShort, -1, printValue),
561
        TagInfo(0x0091, "PitchAngle", N_("Pitch Angle"), N_("Pitch Angle (Upward camera tilt in degrees)"), panasonicId, makerTags, unsignedShort, -1, printValue),
562
        TagInfo(0x0093, "SweepPanoramaDirection", N_("Sweep Panorama Direction"), N_("Sweep Panorama Direction"), panasonicId, makerTags, unsignedByte, -1, EXV_PRINT_TAG(panasonicSweepPanoramaDirection)),
563
        TagInfo(0x0094, "SweepPanoramaFieldOfView", N_("Sweep Panorama Field of View"), N_("Sweep Panorama Field of View"), panasonicId, makerTags, unsignedShort, -1, printValue),
564
        TagInfo(0x0096, "TimerRecording", N_("Timer Recording"), N_("Timer Recording"), panasonicId, makerTags, unsignedByte, -1, EXV_PRINT_TAG(panasonicTimerRecording)),
565
        TagInfo(0x009d, "InternalNDFilter", N_("Internal ND Filter"), N_("Internal HD Filter"), panasonicId, makerTags, unsignedRational, -1, printValue),
566
        TagInfo(0x009e, "HDR", N_("High Dynamic Range"), N_("High Dynamic Range"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicHDR)),
567
        TagInfo(0x009f, "ShutterType", N_("Shutter Type"), N_("Shutter Type"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicShutterType)),
568
        TagInfo(0x00a3, "ClearRetouchValue", N_("Clear Retouch Value"), N_("Clear Retouch Value"), panasonicId, makerTags, unsignedRational, -1, printValue),
569
        TagInfo(0x00ab, "TouchAE", N_("Touch AE"), N_("Touch Auto Focus and Exposure"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicTouchAE)),
279 570
        TagInfo(0x0e00, "PrintIM", N_("Print IM"), N_("PrintIM information"), panasonicId, makerTags, undefined, -1, printValue),
280 571
        TagInfo(0x4449, "0x4449", "0x4449", N_("Unknown"), panasonicId, makerTags, undefined, -1, printValue),
281 572
        TagInfo(0x8000, "MakerNoteVersion", N_("MakerNote Version"), N_("MakerNote version"), panasonicId, makerTags, undefined, -1, printExifVersion),
......
283 574
        TagInfo(0x8004, "WBRedLevel", N_("WB Red Level"), N_("WB red level"), panasonicId, makerTags, unsignedShort, -1, printValue),
284 575
        TagInfo(0x8005, "WBGreenLevel", N_("WB Green Level"), N_("WB green level"), panasonicId, makerTags, unsignedShort, -1, printValue),
285 576
        TagInfo(0x8006, "WBBlueLevel", N_("WB Blue Level"), N_("WB blue level"), panasonicId, makerTags, unsignedShort, -1, printValue),
577
        TagInfo(0x8007, "FlashFired", N_("Flash Fired"), N_("Flash Fired"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicFlashFired)),
286 578
        TagInfo(0x8010, "BabyAge", N_("Baby Age"), N_("Baby (or pet) age"), panasonicId, makerTags, asciiString, -1, printValue),
287 579
        // End of list marker
288 580
        TagInfo(0xffff, "(UnknownPanasonicMakerNoteTag)", "(UnknownPanasonicMakerNoteTag)", N_("Unknown PanasonicMakerNote tag"), panasonicId, makerTags, asciiString, -1, printValue)
......
302 594
        }
303 595
        long l0 = value.toLong(0);
304 596
        long l1 = value.toLong(1);
305
        if      (l0 ==  0 && l1 ==  1) os << _("Spot mode on");
306
        else if (l0 ==  0 && l1 == 16) os << _("Spot mode off or 3-area (high speed)");
307
        else if (l0 ==  1 && l1 ==  0) os << _("Spot focussing");
308
        else if (l0 ==  1 && l1 ==  1) os << _("5-area");
309
        else if (l0 == 16 && l1 ==  0) os << _("1-area");
310
        else if (l0 == 16 && l1 == 16) os << _("1-area (high speed)");
311
        else if (l0 == 32 && l1 ==  0) os << _("3-area (auto)");
312
        else if (l0 == 32 && l1 ==  1) os << _("3-area (left)");
313
        else if (l0 == 32 && l1 ==  2) os << _("3-area (center)");
314
        else if (l0 == 32 && l1 ==  3) os << _("3-area (right)");
597
        if      (l0 ==   0 && l1 ==  1) os << _("Spot mode on");
598
        else if (l0 ==   0 && l1 == 16) os << _("Spot mode off or 3-area (high speed)");
599
        else if (l0 ==   1 && l1 ==  0) os << _("Spot Focussing");
600
        else if (l0 ==   1 && l1 ==  1) os << _("5-area");
601
        else if (l0 ==  16 && l1 ==  0) os << _("1-area");
602
        else if (l0 ==  16 && l1 == 16) os << _("1-area (high speed)");
603
        else if (l0 ==  32 && l1 ==  0) os << _("3-area (auto)");
604
        else if (l0 ==  32 && l1 ==  1) os << _("3-area (left)");
605
        else if (l0 ==  32 && l1 ==  2) os << _("3-area (center)");
606
        else if (l0 ==  32 && l1 ==  3) os << _("3-area (right)");
607
        else if (l0 ==  64 && l1 ==  0) os << _("Face Detect");
608
        else if (l0 == 128 && l1 ==  0) os << _("Spot Focussing 2");
315 609
        else os << value;
316 610
        return os;
317 611
    } // PanasonicMakerNote::print0x000f
......
346 640
        TagInfo(0x0025, "WBGreenLevel", N_("WB Green Level"), N_("WB green level"), panaRawId, panaRaw, unsignedShort, -1, printValue),
347 641
        TagInfo(0x0026, "WBBlueLevel", N_("WB Blue Level"), N_("WB blue level"), panaRawId, panaRaw, unsignedShort, -1, printValue),
348 642
        TagInfo(0x002e, "PreviewImage", N_("Preview Image"), N_("Preview image"), panaRawId, panaRaw, undefined, -1, printValue),
643
        TagInfo(0x004b, "PanasonicImageWidth", N_("Panasonic Image Width"), N_("Panasonic Image Width"), panasonicId, makerTags, unsignedLong, -1, printValue),
644
        TagInfo(0x004c, "PanasonicImageHeight", N_("Panasonic Image Height"), N_("Panasonic Image Height"), panasonicId, makerTags, unsignedLong, -1, printValue),
349 645
        TagInfo(0x010f, "Make", N_("Manufacturer"), N_("The manufacturer of the recording equipment"), panaRawId, panaRaw, asciiString, -1, printValue),
350 646
        TagInfo(0x0110, "Model", N_("Model"), N_("The model name or model number of the equipment"), panaRawId, panaRaw, asciiString, -1, printValue),
351 647
        TagInfo(0x0111, "StripOffsets", N_("Strip Offsets"), N_("Strip offsets"), panaRawId, panaRaw, unsignedLong, -1, printValue),
352
- 
(1-1/2)