4 * Copyright (C) 2008 - 2012 The Geeqie Team
6 * Author: Vladimir Nadvornik
8 * This software is released under the GNU General Public License (GNU GPL).
9 * Please read the included file COPYING for more information.
10 * This software comes with no warranty of any kind, use at your own risk!
16 #define JPEG_MARKER 0xFF
17 #define JPEG_MARKER_SOI 0xD8
18 #define JPEG_MARKER_EOI 0xD9
19 #define JPEG_MARKER_APP1 0xE1
20 #define JPEG_MARKER_APP2 0xE2
22 /* jpeg container format:
23 all data markers start with 0XFF
24 2 byte long file start and end markers: 0xFFD8(SOI) and 0XFFD9(EOI)
25 4 byte long data segment markers in format: 0xFFTTSSSSNNN...
26 FF: 1 byte standard marker identifier
28 SSSS: 2 bytes in Motorola byte alignment for length of the data.
29 This value includes these 2 bytes in the count, making actual
30 length of NN... == SSSS - 2.
31 NNN.: the data in this segment
34 gboolean jpeg_segment_find(const guchar *data, guint size,
35 guchar app_marker, const gchar *magic, guint magic_len,
36 guint *seg_offset, guint *seg_length);
39 typedef struct _MPOData MPOData;
40 typedef struct _MPOEntry MPOEntry;
44 gboolean representative;
45 gboolean dependent_child;
46 gboolean dependent_parent;
53 guint MPIndividualNum;
57 guint BaseViewpointNum;
58 double ConvergenceAngle;
59 double BaselineLength;
60 double VerticalDivergence;
61 double AxisDistance_X;
62 double AxisDistance_Y;
63 double AxisDistance_Z;
79 MPOData* jpeg_get_mpo_data(const guchar *data, guint size);
80 void jpeg_mpo_data_free(MPOData *mpo);