How to get Raw data from CR2 format. page3 - IFD0 and Exif IFD

since:Aug 31,2014
last update:Sep 6,2014
previous page : next page

top > photograph and camera > How to get Raw data from CR2 format. page1 > IFD0 and Exif IFD

3.3 IFD0

Below is the result of parsing IFD0 by exiftool (command option -v3)


  + [IFD0 directory with 17 entries]
  | 0)  ImageWidth = 5184
  |     - Tag 0x0100 (2 bytes, int16u[1]):
  |         001a: 40 14                                           [@.]
  | 1)  ImageHeight = 3456
  |     - Tag 0x0101 (2 bytes, int16u[1]):
  |         0026: 80 0d                                           [..]
  | 2)  BitsPerSample = 8 8 8
  |     - Tag 0x0102 (6 bytes, int16u[3]):
  |         00e2: 08 00 08 00 08 00                               [......]
  | 3)  Compression = 6
  |     - Tag 0x0103 (2 bytes, int16u[1]):
  |         003e: 06 00                                           [..]
  | 4)  Make = Canon
  |     - Tag 0x010f (6 bytes, string[6]):
  |         00e8: 43 61 6e 6f 6e 00                               [Canon.]
  | 5)  Model = Canon EOS Kiss X5
  |     - Tag 0x0110 (18 bytes, string[18]):
  |         00ee: 43 61 6e 6f 6e 20 45 4f 53 20 4b 69 73 73 20 58 [Canon EOS Kiss X]
  |         00fe: 35 00                                           [5.]
  | 6)  PreviewImageStart = 58472
  |     - Tag 0x0111 (4 bytes, int32u[1]):
  |         0062: 68 e4 00 00                                     [h...]
  | 7)  Orientation = 1
  |     - Tag 0x0112 (2 bytes, int16u[1]):
  |         006e: 01 00                                           [..]
  | 8)  PreviewImageLength = 618742
  |     - Tag 0x0117 (4 bytes, int32u[1]):
  |         007a: f6 70 09 00                                     [.p..]
  | 9)  XResolution = 72 (72/1)
  |     - Tag 0x011a (8 bytes, rational64u[1]):
  |         010e: 48 00 00 00 01 00 00 00                         [H.......]
  | 10) YResolution = 72 (72/1)
  |     - Tag 0x011b (8 bytes, rational64u[1]):
  |         0116: 48 00 00 00 01 00 00 00                         [H.......]
  | 11) ResolutionUnit = 2
  |     - Tag 0x0128 (2 bytes, int16u[1]):
  |         009e: 02 00                                           [..]
  | 12) ModifyDate = 2014:05:06 15:05:52
  |     - Tag 0x0132 (20 bytes, string[20]):
  |         011e: 32 30 31 34 3a 30 35 3a 30 36 20 31 35 3a 30 35 [2014:05:06 15:05]
  |         012e: 3a 35 32 00                                     [:52.]
  | 13) Artist = 
  |     - Tag 0x013b (1 bytes, string[1]):
  |         00b6: 00                                              [.]
  | 14) ApplicationNotes (SubDirectory) -->
  |     - Tag 0x02bc (8192 bytes, int8u[8192] read as undef[8192]):
  |         [snip 8112 bytes]
  | + [XMP directory, 8192 bytes]
  | | Rating = 0
  | | - Tag 'x:xmpmeta/rdf:RDF/rdf:Description/xmp:Rating'
  | 15) Copyright = 
  |     - Tag 0x8298 (1 bytes, string[1] read as undef[1]):
  |         00ce: 00                                              [.]
  | 16) ExifOffset (SubDirectory) -->
  |     - Tag 0x8769 (4 bytes, int32u[1]):
  |         00da: b2 01 00 00

If you would like to process by each model, you should get Model (TIFF TAG: MODEL 0x0110)(#5 of above list).

Because Sensor information is in Maker Note which is in EXIF IFD, you should get EXIF Offset Address (TIFF TAG: Exif IFD 0x8769)(#16 of above list), and its value is 0x0000 01B2.
After the end of this IFD (at address 0x0000 00DE),the address pointer of IFD1 exists and you should get this value 0x0000 B5D0 .

3.4 Exif IFD

Below is the partial result of parsing Exif IFD by exiftool (command option -v3) (The section after "MakerNote" is omitted.)


  | + [ExifIFD directory with 38 entries]
  | | 0)  ExposureTime = 0.00025 (1/4000)
  | |     - Tag 0x829a (8 bytes, rational64u[1]):
  | |         0380: 01 00 00 00 a0 0f 00 00                         [........]
  | | 1)  FNumber = 0 (0/1)
  | |     - Tag 0x829d (8 bytes, rational64u[1]):
  | |         0388: 00 00 00 00 01 00 00 00                         [........]
  | | 2)  ExposureProgram = 1
  | |     - Tag 0x8822 (2 bytes, int16u[1]):
  | |         01d4: 01 00                                           [..]
  | | 3)  ISO = 100
  | |     - Tag 0x8827 (2 bytes, int16u[1]):
  | |         01e0: 64 00                                           [d.]
  | | 4)  SensitivityType = 2
  | |     - Tag 0x8830 (2 bytes, int16u[1]):
  | |         01ec: 02 00                                           [..]
  | | 5)  RecommendedExposureIndex = 100
  | |     - Tag 0x8832 (4 bytes, int32u[1]):
  | |         01f8: 64 00 00 00                                     [d...]
  | | 6)  ExifVersion = 0230
  | |     - Tag 0x9000 (4 bytes, undef[4]):
  | |         0204: 30 32 33 30                                     [0230]
  | | 7)  DateTimeOriginal = 2014:05:06 15:05:52
  | |     - Tag 0x9003 (20 bytes, string[20]):
  | |         0390: 32 30 31 34 3a 30 35 3a 30 36 20 31 35 3a 30 35 [2014:05:06 15:05]
  | |         03a0: 3a 35 32 00                                     [:52.]
  | | 8)  CreateDate = 2014:05:06 15:05:52
  | |     - Tag 0x9004 (20 bytes, string[20]):
  | |         03a4: 32 30 31 34 3a 30 35 3a 30 36 20 31 35 3a 30 35 [2014:05:06 15:05]
  | |         03b4: 3a 35 32 00                                     [:52.]
  | | 9)  ComponentsConfiguration = 1 2 3 0
  | |     - Tag 0x9101 (4 bytes, undef[4] read as int8u[4]):
  | |         0228: 01 02 03 00                                     [....]
  | | 10) ShutterSpeedValue = 12 (786432/65536)
  | |     - Tag 0x9201 (8 bytes, rational64s[1]):
  | |         03b8: 00 00 0c 00 00 00 01 00                         [........]
  | | 11) ApertureValue = 2147483648 (2147483648/1)
  | |     - Tag 0x9202 (8 bytes, rational64u[1]):
  | |         03c0: 00 00 00 80 01 00 00 00                         [........]
  | | 12) ExposureCompensation = 0 (0/1)
  | |     - Tag 0x9204 (8 bytes, rational64s[1]):
  | |         03c8: 00 00 00 00 01 00 00 00                         [........]
  | | 13) MeteringMode = 5
  | |     - Tag 0x9207 (2 bytes, int16u[1]):
  | |         0258: 05 00                                           [..]
  | | 14) Flash = 16
  | |     - Tag 0x9209 (2 bytes, int16u[1]):
  | |         0264: 10 00                                           [..]
  | | 15) FocalLength = 50 (50/1)
  | |     - Tag 0x920a (8 bytes, rational64u[1]):
  | |         03d0: 32 00 00 00 01 00 00 00                         [2.......]
  | | 16) MakerNoteCanon (SubDirectory) -->
  | |     - Tag 0x927c (45072 bytes, undef[45072]):
  | |         03d8: 27 00 01 00 03 00 31 00 00 00 b2 05 00 00 02 00 ['.....1.........]
*SNIP*


As the sensor information exists in MakerNote, you should get this (TIFF TAG: MakerNote 0x927C)(entry #16).
This content's address is 0x0000 03D8 and length is 0xB010 byte.


next page : MakerNote and SesorInfo

previous page [1] [2] [3] [4] [5] [6] [7] [8] [9] next page