+static gint mpo_parse_Attributes_IFD_entry(guchar *tiff, guint offset,
+ guint size, TiffByteOrder bo,
+ gpointer data)
+{
+ guint tag;
+ guint format;
+ guint count;
+ guint data_val;
+ guint data_offset;
+ guint data_length;
+
+ MPOEntry *mpe = data;
+
+ tag = tiff_byte_get_int16(tiff + offset + TIFF_TIFD_OFFSET_TAG, bo);
+ format = tiff_byte_get_int16(tiff + offset + TIFF_TIFD_OFFSET_FORMAT, bo);
+ count = tiff_byte_get_int32(tiff + offset + TIFF_TIFD_OFFSET_COUNT, bo);
+ data_val = tiff_byte_get_int32(tiff + offset + TIFF_TIFD_OFFSET_DATA, bo);
+ DEBUG_1(" tag %x format %x count %x data_val %x", tag, format, count, data_val);
+
+ switch (tag)
+ {
+ case 0xb000:
+ mpe->MPFVersion = data_val;
+ DEBUG_1(" mpo version %x", data_val);
+ break;
+ case 0xb101:
+ mpe->MPIndividualNum = data_val;
+ DEBUG_1(" Individual Image Number %x", mpe->MPIndividualNum);
+ break;
+ case 0xb201:
+ mpe->PanOrientation = data_val;
+ break;
+/*
+
+FIXME:
+Panorama Scanning Orientation PanOrientation 45569 B201 LONG 1
+Panorama Horizontal Overlap PanOverlap_H 45570 B202 RATIONAL 1
+Panorama Vertical Overlap PanOverlap_V 45571 B203 RATIONAL 1
+Base Viewpoint Number BaseViewpointNum 45572 B204 LONG 1
+Convergence Angle ConvergenceAngle 45573 B205 SRATIONAL 1
+Baseline Length BaselineLength 45574 B206 RATIONAL 1
+Divergence Angle VerticalDivergence 45575 B207 SRATIONAL 1
+Horizontal Axis Distance AxisDistance_X 45576 B208 SRATIONAL 1
+Vertical Axis Distance AxisDistance_Y 45577 B209 SRATIONAL 1
+Collimation Axis Distance AxisDistance_Z 45578 B20A SRATIONAL 1
+Yaw Angle YawAngle 45579 B20B SRATIONAL 1
+Pitch Angle PitchAngle 45580 B20C SRATIONAL 1
+Roll Angle RollAngle 45581 B20D
+ */
+ default:
+ break;
+ }
+
+ return 0;
+}
+