Project

General

Profile

Feature #620

Update Nikon makernotes

Added by Andreas Huggel almost 11 years ago. Updated almost 10 years ago.

Status:
Closed
Priority:
Normal
Category:
exif
Target version:
Start date:
14 Mar 2009
Due date:
% Done:

100%

Estimated time:

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)Closed22 May 2009

Actions
Related to Exiv2 - Feature #667: Update Canon makernoteClosed29 Dec 2009

Actions
Related to Exiv2 - Feature #666: Optimize binary array elementsClosed29 Dec 2009

Actions
Related to Exiv2 - Bug #677: Nikon Makernote tags regresssion in exiv 0.19Closed27 Jan 2010

Actions

Associated revisions

Revision 1772 (diff)
Added by Andreas Huggel over 10 years ago

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

Revision 1813 (diff)
Added by Andreas Huggel over 10 years ago

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

Revision 1814 (diff)
Added by Andreas Huggel over 10 years ago

#620: Another step towards TiffArrayEntry obsolescence.

Revision 1815 (diff)
Added by Andreas Huggel over 10 years ago

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

Revision 1864 (diff)
Added by Andreas Huggel over 10 years ago

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

Revision 1865 (diff)
Added by Andreas Huggel over 10 years ago

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

Revision 1866 (diff)
Added by Andreas Huggel over 10 years ago

#620: Removed obsolete TIFF array components.

Revision 1867 (diff)
Added by Andreas Huggel over 10 years ago

#620: Added Nikon ISO info array.

Revision 1868 (diff)
Added by Andreas Huggel over 10 years ago

#620: Fixed type of Nikon Timezone tag.

Revision 1871 (diff)
Added by Andreas Huggel over 10 years ago

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

Revision 1872 (diff)
Added by Andreas Huggel over 10 years ago

#620: Preparations for encrypted arrays.

Revision 1874 (diff)
Added by Andreas Huggel over 10 years ago

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

Revision 1878 (diff)
Added by Andreas Huggel over 10 years ago

#620: Added decryption for Nikon arrays.

Revision 1883 (diff)
Added by Andreas Huggel over 10 years ago

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

Revision 1884 (diff)
Added by Andreas Huggel over 10 years ago

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

Revision 1885 (diff)
Added by Andreas Huggel over 10 years ago

#620: Fixed minor blunder.

Revision 1886 (diff)
Added by Andreas Huggel over 10 years ago

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

Revision 1887 (diff)
Added by Andreas Huggel over 10 years ago

#620: Added Color Balance complex binary array.

Revision 1888 (diff)
Added by Andreas Huggel over 10 years ago

#620: Color balance tweaks.

Revision 1922 (diff)
Added by Andreas Huggel about 10 years ago

#620: Updated test results.

Revision 1923 (diff)
Added by Andreas Huggel about 10 years ago

#620: Updated another test result.

Revision 1945 (diff)
Added by Andreas Huggel about 10 years ago

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

Revision 1948 (diff)
Added by Andreas Huggel about 10 years ago

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

Revision 1949 (diff)
Added by Andreas Huggel about 10 years ago

#620: Fixed a few Nikon tag names.

Revision 1950 (diff)
Added by Andreas Huggel about 10 years ago

#620: Added support for Nikon Auto Focus Tags.

Revision 1953 (diff)
Added by Andreas Huggel about 10 years ago

#620: Added support for Nikon Shot Info tags.

History

#1

Updated by Andreas Huggel over 10 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 over 10 years ago

  • Target version deleted (1.0)
#3

Updated by Andreas Huggel over 10 years ago

  • Target version set to 0.19
#4

Updated by Andreas Huggel over 10 years ago

  • % Done changed from 0 to 80
#5

Updated by Andreas Huggel almost 10 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 almost 10 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF