Feature #620

Update Nikon makernotes

Added by Andreas Huggel about 8 years ago. Updated about 7 years ago.

Status:ClosedStart date:14 Mar 2009
Priority:NormalDue date:
Assignee: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 (d... Closed 22 May 2009
Related to Exiv2 - Feature #667: Update Canon makernote Closed 29 Dec 2009
Related to Exiv2 - Feature #666: Optimize binary array elements Closed 29 Dec 2009
Related to Exiv2 - Bug #677: Nikon Makernote tags regresssion in exiv 0.19 Closed 27 Jan 2010

Associated revisions

Revision 1772
Added by Andreas Huggel about 8 years 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 almost 8 years ago

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

Revision 1814
Added by Andreas Huggel almost 8 years ago

#620: Another step towards TiffArrayEntry obsolescence.

Revision 1815
Added by Andreas Huggel almost 8 years ago

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

Revision 1864
Added by Andreas Huggel over 7 years ago

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

Revision 1865
Added by Andreas Huggel over 7 years ago

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

Revision 1866
Added by Andreas Huggel over 7 years ago

#620: Removed obsolete TIFF array components.

Revision 1867
Added by Andreas Huggel over 7 years ago

#620: Added Nikon ISO info array.

Revision 1868
Added by Andreas Huggel over 7 years ago

#620: Fixed type of Nikon Timezone tag.

Revision 1871
Added by Andreas Huggel over 7 years ago

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

Revision 1872
Added by Andreas Huggel over 7 years ago

#620: Preparations for encrypted arrays.

Revision 1874
Added by Andreas Huggel over 7 years 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 over 7 years ago

#620: Added decryption for Nikon arrays.

Revision 1883
Added by Andreas Huggel over 7 years ago

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

Revision 1884
Added by Andreas Huggel over 7 years ago

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

Revision 1885
Added by Andreas Huggel over 7 years ago

#620: Fixed minor blunder.

Revision 1886
Added by Andreas Huggel over 7 years ago

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

Revision 1887
Added by Andreas Huggel over 7 years ago

#620: Added Color Balance complex binary array.

Revision 1888
Added by Andreas Huggel over 7 years ago

#620: Color balance tweaks.

Revision 1922
Added by Andreas Huggel over 7 years ago

#620: Updated test results.

Revision 1923
Added by Andreas Huggel over 7 years ago

#620: Updated another test result.

Revision 1945
Added by Andreas Huggel over 7 years ago

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

Revision 1948
Added by Andreas Huggel over 7 years ago

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

Revision 1949
Added by Andreas Huggel over 7 years ago

#620: Fixed a few Nikon tag names.

Revision 1950
Added by Andreas Huggel over 7 years ago

#620: Added support for Nikon Auto Focus Tags.

Revision 1953
Added by Andreas Huggel over 7 years ago

#620: Added support for Nikon Shot Info tags.

History

#1 Updated by Andreas Huggel about 8 years 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).

#2 Updated by Andreas Huggel almost 8 years ago

  • Target version deleted (1.0)

#3 Updated by Andreas Huggel almost 8 years ago

  • Target version set to 0.19

#4 Updated by Andreas Huggel over 7 years ago

  • % Done changed from 0 to 80

#5 Updated by Andreas Huggel about 7 years 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.

#6 Updated by Andreas Huggel about 7 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF

Redmine Appliance - Powered by TurnKey Linux