Feature #620

Update Nikon makernotes

Added by Andreas Huggel 361 days ago. Updated 70 days ago.

Status:Closed Start:14 Mar 2009
Priority:Normal Due date:
Assigned to:Andreas Huggel % Done:

100%

Category:exif
Target version:0.19

Description

Nikon makernotes contain tags which Exiv2 currently doesn't decode. Most of these are stored in binary arrays with some peculiarities to make things interesting:
  • Some of these binary arrays are encrypted
  • Some use a specific byte order
  • Some binary arrays are specific for a certain camera model or tag version

A new TiffComponent pair is required, essentially a generalization of the existing TiffArrayEntry and TiffArrayElement components. The new components should replace these, i.e., implement the existing functionality (used for Canon and Minolta makernote tags) as well.


Related issues

related to Exiv2 - Bug #636 Exiv2 corrupts certain NEF images when writing to them (digiKam bug 193228) Closed 22 May 2009
related to Exiv2 - Feature #667 Update Canon makernote New 29 Dec 2009
related to Exiv2 - Feature #666 Optimize binary array elements Resolved 29 Dec 2009
related to Exiv2 - Bug #677 Nikon Makernote tags regresssion in exiv 0.19 Resolved 27 Jan 2010

Associated revisions

Revision 1772
Added by Andreas Huggel 354 days ago

#620: Part 1, basic TiffBinaryArray and TiffBinaryElement framework and Nikon World Time binary array as a first use-case.

Revision 1813
Added by Andreas Huggel 281 days ago

#620: Intermediate commit on the way to replace TiffArrayEntry/Element.

Revision 1814
Added by Andreas Huggel 281 days ago

#620: Another step towards TiffArrayEntry obsolescence.

Revision 1815
Added by Andreas Huggel 280 days ago

#620: Allow binary array entries with only cfg (no def), converted CanonSi entry.

Revision 1864
Added by Andreas Huggel 235 days ago

Back to #620: Migrated remaining Canon arrays to the new binary array component.

Revision 1865
Added by Andreas Huggel 235 days ago

#620: Migrated Minolta arrays to the new binary array component, extended related Makernote test coverage a bit.

Revision 1866
Added by Andreas Huggel 235 days ago

#620: Removed obsolete TIFF array components.

Revision 1867
Added by Andreas Huggel 234 days ago

#620: Added Nikon ISO info array.

Revision 1868
Added by Andreas Huggel 234 days ago

#620: Fixed type of Nikon Timezone tag.

Revision 1871
Added by Andreas Huggel 232 days ago

#620: Removed the need to configure tagStep, use the size of the default tag instead.

Revision 1872
Added by Andreas Huggel 231 days ago

#620: Preparations for encrypted arrays.

Revision 1874
Added by Andreas Huggel 228 days ago

#620: Reading of 'complex' arrays and parts of the LensData groups as a first use-case. (INCOMPLETE AND BARELY TESTED)

Revision 1878
Added by Andreas Huggel 210 days ago

#620: Added decryption for Nikon arrays.

Revision 1883
Added by Andreas Huggel 209 days ago

#620: Added re-encryption of binary arrays for non-intrusive writing.

Revision 1884
Added by Andreas Huggel 202 days ago

#620: Added initialization of complex binary array for intrusive writing.

Revision 1885
Added by Andreas Huggel 202 days ago

#620: Fixed minor blunder.

Revision 1886
Added by Andreas Huggel 201 days ago

#620: Finished non-intrusive writing part, updates tests.

Revision 1887
Added by Andreas Huggel 200 days ago

#620: Added Color Balance complex binary array.

Revision 1888
Added by Andreas Huggel 200 days ago

#620: Color balance tweaks.

Revision 1922
Added by Andreas Huggel 117 days ago

#620: Updated test results.

Revision 1923
Added by Andreas Huggel 117 days ago

#620: Updated another test result.

Revision 1945
Added by Andreas Huggel 102 days ago

#620: Removed assertion. For decrypted tags, the condition can be false.

Revision 1948
Added by Andreas Huggel 102 days ago

#620: Added support for Nikon Vibration Reduction and Picture Control Tags.

Revision 1949
Added by Andreas Huggel 102 days ago

#620: Fixed a few Nikon tag names.

Revision 1950
Added by Andreas Huggel 101 days ago

#620: Added support for Nikon Auto Focus Tags.

Revision 1953
Added by Andreas Huggel 96 days ago

#620: Added support for Nikon Shot Info tags.

History

Updated by Andreas Huggel 354 days ago

  • Target version changed from 0.18.1 to 1.0

Unfortunately, this has to go into 0.19: I just realized the change is not binary compatible with 0.18 (it introduces new IfdId enum values which I can't simply append).

Updated by Andreas Huggel 294 days ago

  • Target version deleted (1.0)

Updated by Andreas Huggel 258 days ago

  • Target version set to 0.19

Updated by Andreas Huggel 199 days ago

  • % Done changed from 0 to 80

Updated by Andreas Huggel 73 days ago

  • Status changed from New to Resolved
  • % Done changed from 80 to 100

Makernotes are moving targets, there are a few more composite tags left, to be implemented in another round, together with efficiency improvements.

Updated by Andreas Huggel 70 days ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF