GDAL
gdalexif.h
1 /******************************************************************************
2  * $Id: gdalexif.h 40105 2017-09-14 09:50:30Z rouault $
3  *
4  * Project: JPEG JFIF Driver
5  * Purpose: Implement GDAL JPEG Support based on IJG libjpeg.
6  * Author: Frank Warmerdam, warmerdam@pobox.com
7  *
8  ******************************************************************************
9  * Copyright (c) 2000, Frank Warmerdam
10  * Copyright (c) 2017, Even Rouault
11  *
12  * Permission is hereby granted, free of charge, to any person obtaining a
13  * copy of this software and associated documentation files (the "Software"),
14  * to deal in the Software without restriction, including without limitation
15  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
16  * and/or sell copies of the Software, and to permit persons to whom the
17  * Software is furnished to do so, subject to the following conditions:
18  *
19  * The above copyright notice and this permission notice shall be included
20  * in all copies or substantial portions of the Software.
21  *
22  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
23  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
25  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
28  * DEALINGS IN THE SOFTWARE.
29  ****************************************************************************/
30 
32 
33 typedef enum {
34  TIFF_NOTYPE = 0, /* placeholder */
35  TIFF_BYTE = 1, /* 8-bit unsigned integer */
36  TIFF_ASCII = 2, /* 8-bit bytes w/ last byte null */
37  TIFF_SHORT = 3, /* 16-bit unsigned integer */
38  TIFF_LONG = 4, /* 32-bit unsigned integer */
39  TIFF_RATIONAL = 5, /* 64-bit unsigned fraction */
40  TIFF_SBYTE = 6, /* !8-bit signed integer */
41  TIFF_UNDEFINED = 7, /* !8-bit untyped data */
42  TIFF_SSHORT = 8, /* !16-bit signed integer */
43  TIFF_SLONG = 9, /* !32-bit signed integer */
44  TIFF_SRATIONAL = 10, /* !64-bit signed fraction */
45  TIFF_FLOAT = 11, /* !32-bit IEEE floating point */
46  TIFF_DOUBLE = 12, /* !64-bit IEEE floating point */
47  TIFF_IFD = 13 /* %32-bit unsigned integer (offset) */
48 } GDALEXIFTIFFDataType;
49 
50 /*
51  * TIFF Image File Directories are comprised of a table of field
52  * descriptors of the form shown below. The table is sorted in
53  * ascending order by tag. The values associated with each entry are
54  * disjoint and may appear anywhere in the file (so long as they are
55  * placed on a word boundary).
56  *
57  * If the value is 4 bytes or less, then it is placed in the offset
58  * field to save space. If the value is less than 4 bytes, it is
59  * left-justified in the offset field.
60  */
61 typedef struct {
62  GUInt16 tdir_tag; /* see below */
63  GUInt16 tdir_type; /* data type; see below */
64  GUInt32 tdir_count; /* number of items; length in spec */
65  GUInt32 tdir_offset; /* byte offset to field data */
66 } GDALEXIFTIFFDirEntry;
67 
68 GByte* EXIFCreate(char** papszEXIFMetadata,
69  GByte* pabyThumbnail,
70  GUInt32 nThumbnailSize,
71  GUInt32 nThumbnailWidth,
72  GUInt32 nThumbnailHeight,
73  GUInt32 *pnOutBufferSize);
74 
75 
unsigned int GUInt32
Unsigned int32 type.
Definition: cpl_port.h:199
unsigned char GByte
Unsigned byte type.
Definition: cpl_port.h:207
unsigned short GUInt16
Unsigned int16 type.
Definition: cpl_port.h:205

Generated for GDAL by doxygen 1.8.8.