4 #define JPEG_MARKER 0xFF
5 #define JPEG_MARKER_SOI 0xD8
6 #define JPEG_MARKER_EOI 0xD9
7 #define JPEG_MARKER_APP1 0xE1
8 #define JPEG_MARKER_APP2 0xE2
10 /* jpeg container format:
11 all data markers start with 0XFF
12 2 byte long file start and end markers: 0xFFD8(SOI) and 0XFFD9(EOI)
13 4 byte long data segment markers in format: 0xFFTTSSSSNNN...
14 FF: 1 byte standard marker identifier
16 SSSS: 2 bytes in Motorola byte alignment for length of the data.
17 This value includes these 2 bytes in the count, making actual
18 length of NN... == SSSS - 2.
19 NNN.: the data in this segment
22 gboolean jpeg_segment_find(guchar *data, guint size,
23 guchar app_marker, const gchar *magic, guint magic_len,
24 guint *seg_offset, guint *seg_length);
27 typedef struct _MPOData MPOData;
28 typedef struct _MPOEntry MPOEntry;
32 gboolean representative;
33 gboolean dependent_child;
34 gboolean dependent_parent;
50 MPOData* jpeg_get_mpo_data(guchar *data, guint size);
51 void jpeg_mpo_data_free(MPOData *mpo);