GDAL
gcore
gdalexif.h
1
/******************************************************************************
2
* $Id: gdalexif.h 45d3d60d2b90c52d7ef69f5a9336219e4c6069d7 2017-09-14 09:50:30Z Even 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
GByte
unsigned char GByte
Unsigned byte type.
Definition:
cpl_port.h:215
GUInt16
unsigned short GUInt16
Unsigned int16 type.
Definition:
cpl_port.h:213
GUInt32
unsigned int GUInt32
Unsigned int32 type.
Definition:
cpl_port.h:207
Generated by
1.8.17