Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1032)

Side by Side Diff: third_party/libtiff/tif_dirinfo.c

Issue 1563103002: XFA: Upgrade to libtiff 4.0.6. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: rename to libtiff Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/libtiff/tif_dir.c ('k') | third_party/libtiff/tif_dirread.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* $Id: tif_dirinfo.c,v 1.117 2012-08-19 16:56:34 bfriesen Exp $ */ 1 /* $Id: tif_dirinfo.c,v 1.121 2014-05-07 01:58:46 bfriesen Exp $ */
2 2
3 /* 3 /*
4 * Copyright (c) 1988-1997 Sam Leffler 4 * Copyright (c) 1988-1997 Sam Leffler
5 * Copyright (c) 1991-1997 Silicon Graphics, Inc. 5 * Copyright (c) 1991-1997 Silicon Graphics, Inc.
6 * 6 *
7 * Permission to use, copy, modify, distribute, and sell this software and 7 * Permission to use, copy, modify, distribute, and sell this software and
8 * its documentation for any purpose is hereby granted without fee, provided 8 * its documentation for any purpose is hereby granted without fee, provided
9 * that (i) the above copyright notices and this permission notice appear in 9 * that (i) the above copyright notices and this permission notice appear in
10 * all copies of the software and related documentation, and (ii) the names of 10 * all copies of the software and related documentation, and (ii) the names of
11 * Sam Leffler and Silicon Graphics may not be used in any advertising or 11 * Sam Leffler and Silicon Graphics may not be used in any advertising or
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 { TIFFTAG_TILEDEPTH, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET _UNDEFINED, FIELD_TILEDEPTH, 0, 0, "TileDepth", NULL }, 121 { TIFFTAG_TILEDEPTH, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET _UNDEFINED, FIELD_TILEDEPTH, 0, 0, "TileDepth", NULL },
122 /* end SGI tags */ 122 /* end SGI tags */
123 /* begin Pixar tags */ 123 /* begin Pixar tags */
124 { TIFFTAG_PIXAR_IMAGEFULLWIDTH, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ImageFullWidth", NULL }, 124 { TIFFTAG_PIXAR_IMAGEFULLWIDTH, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ImageFullWidth", NULL },
125 { TIFFTAG_PIXAR_IMAGEFULLLENGTH, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ImageFullLength", NULL }, 125 { TIFFTAG_PIXAR_IMAGEFULLLENGTH, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ImageFullLength", NULL },
126 { TIFFTAG_PIXAR_TEXTUREFORMAT, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "TextureFormat", NULL }, 126 { TIFFTAG_PIXAR_TEXTUREFORMAT, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "TextureFormat", NULL },
127 { TIFFTAG_PIXAR_WRAPMODES, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIF F_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "TextureWrapModes", NULL }, 127 { TIFFTAG_PIXAR_WRAPMODES, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIF F_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "TextureWrapModes", NULL },
128 { TIFFTAG_PIXAR_FOVCOT, 1, 1, TIFF_FLOAT, 0, TIFF_SETGET_FLOAT, TIFF_SET GET_UNDEFINED, FIELD_CUSTOM, 1, 0, "FieldOfViewCotangent", NULL }, 128 { TIFFTAG_PIXAR_FOVCOT, 1, 1, TIFF_FLOAT, 0, TIFF_SETGET_FLOAT, TIFF_SET GET_UNDEFINED, FIELD_CUSTOM, 1, 0, "FieldOfViewCotangent", NULL },
129 { TIFFTAG_PIXAR_MATRIX_WORLDTOSCREEN, 16, 16, TIFF_FLOAT, 0, TIFF_SETGET _C0_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "MatrixWorldToScreen", NUL L }, 129 { TIFFTAG_PIXAR_MATRIX_WORLDTOSCREEN, 16, 16, TIFF_FLOAT, 0, TIFF_SETGET _C0_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "MatrixWorldToScreen", NUL L },
130 { TIFFTAG_PIXAR_MATRIX_WORLDTOCAMERA, 16, 16, TIFF_FLOAT, 0, TIFF_SETGET _C0_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "MatrixWorldToCamera", NUL L }, 130 { TIFFTAG_PIXAR_MATRIX_WORLDTOCAMERA, 16, 16, TIFF_FLOAT, 0, TIFF_SETGET _C0_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "MatrixWorldToCamera", NUL L },
131 { TIFFTAG_CFAREPEATPATTERNDIM, 2, 2, TIFF_SHORT, 0, TIFF_SETGET_C0_UINT1 6, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "CFARepeatPatter nDim", NULL },
132 { TIFFTAG_CFAPATTERN, 4, 4, TIFF_BYTE, 0, TIFF_SETGET_C0_UINT8, TIFF _SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "CFAPattern" , NULL},
131 { TIFFTAG_COPYRIGHT, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETG ET_UNDEFINED, FIELD_CUSTOM, 1, 0, "Copyright", NULL }, 133 { TIFFTAG_COPYRIGHT, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETG ET_UNDEFINED, FIELD_CUSTOM, 1, 0, "Copyright", NULL },
132 /* end Pixar tags */ 134 /* end Pixar tags */
133 { TIFFTAG_RICHTIFFIPTC, -3, -3, TIFF_LONG, 0, TIFF_SETGET_C32_UINT32, TI FF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "RichTIFFIPTC", NULL }, 135 { TIFFTAG_RICHTIFFIPTC, -3, -3, TIFF_LONG, 0, TIFF_SETGET_C32_UINT32, TI FF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "RichTIFFIPTC", NULL },
134 { TIFFTAG_PHOTOSHOP, -3, -3, TIFF_BYTE, 0, TIFF_SETGET_C32_UINT8, TIFF_S ETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "Photoshop", NULL }, 136 { TIFFTAG_PHOTOSHOP, -3, -3, TIFF_BYTE, 0, TIFF_SETGET_C32_UINT8, TIFF_S ETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "Photoshop", NULL },
135 { TIFFTAG_EXIFIFD, 1, 1, TIFF_IFD8, 0, TIFF_SETGET_IFD8, TIFF_SETGET_UND EFINED, FIELD_CUSTOM, 0, 0, "EXIFIFDOffset", &exifFieldArray }, 137 { TIFFTAG_EXIFIFD, 1, 1, TIFF_IFD8, 0, TIFF_SETGET_IFD8, TIFF_SETGET_UND EFINED, FIELD_CUSTOM, 0, 0, "EXIFIFDOffset", &exifFieldArray },
136 { TIFFTAG_ICCPROFILE, -3, -3, TIFF_UNDEFINED, 0, TIFF_SETGET_C32_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "ICC Profile", NULL }, 138 { TIFFTAG_ICCPROFILE, -3, -3, TIFF_UNDEFINED, 0, TIFF_SETGET_C32_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "ICC Profile", NULL },
137 { TIFFTAG_GPSIFD, 1, 1, TIFF_IFD8, 0, TIFF_SETGET_IFD8, TIFF_SETGET_UNDE FINED, FIELD_CUSTOM, 0, 0, "GPSIFDOffset", NULL }, 139 { TIFFTAG_GPSIFD, 1, 1, TIFF_IFD8, 0, TIFF_SETGET_IFD8, TIFF_SETGET_UNDE FINED, FIELD_CUSTOM, 0, 0, "GPSIFDOffset", NULL },
138 { TIFFTAG_FAXRECVPARAMS, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SE TGET_UINT32, FIELD_CUSTOM, TRUE, FALSE, "FaxRecvParams", NULL }, 140 { TIFFTAG_FAXRECVPARAMS, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SE TGET_UINT32, FIELD_CUSTOM, TRUE, FALSE, "FaxRecvParams", NULL },
139 { TIFFTAG_FAXSUBADDRESS, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_ SETGET_ASCII, FIELD_CUSTOM, TRUE, FALSE, "FaxSubAddress", NULL }, 141 { TIFFTAG_FAXSUBADDRESS, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_ SETGET_ASCII, FIELD_CUSTOM, TRUE, FALSE, "FaxSubAddress", NULL },
140 { TIFFTAG_FAXRECVTIME, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETG ET_UINT32, FIELD_CUSTOM, TRUE, FALSE, "FaxRecvTime", NULL }, 142 { TIFFTAG_FAXRECVTIME, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETG ET_UINT32, FIELD_CUSTOM, TRUE, FALSE, "FaxRecvTime", NULL },
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 { TIFFTAG_ORIGINALRAWFILEDATA, -1, -1, TIFF_UNDEFINED, 0, TIFF_SETGET_C1 6_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "OriginalRawFileData", NULL }, 188 { TIFFTAG_ORIGINALRAWFILEDATA, -1, -1, TIFF_UNDEFINED, 0, TIFF_SETGET_C1 6_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "OriginalRawFileData", NULL },
187 { TIFFTAG_ACTIVEAREA, 4, 4, TIFF_LONG, 0, TIFF_SETGET_C0_UINT32, TIFF_SE TGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "ActiveArea", NULL }, 189 { TIFFTAG_ACTIVEAREA, 4, 4, TIFF_LONG, 0, TIFF_SETGET_C0_UINT32, TIFF_SE TGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "ActiveArea", NULL },
188 { TIFFTAG_MASKEDAREAS, -1, -1, TIFF_LONG, 0, TIFF_SETGET_C16_UINT32, TIF F_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "MaskedAreas", NULL }, 190 { TIFFTAG_MASKEDAREAS, -1, -1, TIFF_LONG, 0, TIFF_SETGET_C16_UINT32, TIF F_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "MaskedAreas", NULL },
189 { TIFFTAG_ASSHOTICCPROFILE, -1, -1, TIFF_UNDEFINED, 0, TIFF_SETGET_C16_U INT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "AsShotICCProfile", NULL }, 191 { TIFFTAG_ASSHOTICCPROFILE, -1, -1, TIFF_UNDEFINED, 0, TIFF_SETGET_C16_U INT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "AsShotICCProfile", NULL },
190 { TIFFTAG_ASSHOTPREPROFILEMATRIX, -1, -1, TIFF_SRATIONAL, 0, TIFF_SETGET _C16_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "AsShotPreProfileMatrix", NULL }, 192 { TIFFTAG_ASSHOTPREPROFILEMATRIX, -1, -1, TIFF_SRATIONAL, 0, TIFF_SETGET _C16_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "AsShotPreProfileMatrix", NULL },
191 { TIFFTAG_CURRENTICCPROFILE, -1, -1, TIFF_UNDEFINED, 0, TIFF_SETGET_C16_ UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "CurrentICCProfile", NULL }, 193 { TIFFTAG_CURRENTICCPROFILE, -1, -1, TIFF_UNDEFINED, 0, TIFF_SETGET_C16_ UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "CurrentICCProfile", NULL },
192 { TIFFTAG_CURRENTPREPROFILEMATRIX, -1, -1, TIFF_SRATIONAL, 0, TIFF_SETGE T_C16_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "CurrentPreProfileMatrix ", NULL }, 194 { TIFFTAG_CURRENTPREPROFILEMATRIX, -1, -1, TIFF_SRATIONAL, 0, TIFF_SETGE T_C16_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "CurrentPreProfileMatrix ", NULL },
193 { TIFFTAG_PERSAMPLE, 0, 0, TIFF_SHORT, 0, TIFF_SETGET_UNDEFINED, TIFF_SE TGET_UNDEFINED, FIELD_PSEUDO, TRUE, FALSE, "PerSample", NULL}, 195 { TIFFTAG_PERSAMPLE, 0, 0, TIFF_SHORT, 0, TIFF_SETGET_UNDEFINED, TIFF_SE TGET_UNDEFINED, FIELD_PSEUDO, TRUE, FALSE, "PerSample", NULL},
194 /* end DNG tags */ 196 /* end DNG tags */
195 /* begin TIFF/FX tags */ 197 /* begin TIFF/FX tags */
196 { TIFFTAG_INDEXED, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDE FINED, FIELD_CUSTOM, 0, 0, "Indexed" }, 198 { TIFFTAG_INDEXED, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_ UNDEFINED, FIELD_CUSTOM, 0, 0, "Indexed", NULL },
197 { TIFFTAG_GLOBALPARAMETERSIFD, 1, 1, TIFF_IFD, 0, TIFF_SETGET_UINT32, TIFF_S ETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "GlobalParametersIFD", NULL }, 199 { TIFFTAG_GLOBALPARAMETERSIFD, 1, 1, TIFF_IFD8, 0, TIFF_SETGET_IFD8, TIF F_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "GlobalParametersIFD", NULL },
198 { TIFFTAG_PROFILETYPE, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_U NDEFINED, FIELD_CUSTOM, 0, 0, "ProfileType", NULL }, 200 { TIFFTAG_PROFILETYPE, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETG ET_UNDEFINED, FIELD_CUSTOM, 0, 0, "ProfileType", NULL },
199 { TIFFTAG_FAXPROFILE, 1, 1, TIFF_BYTE, 0, TIFF_SETGET_UINT8, TIFF_SETGET_UND EFINED, FIELD_CUSTOM, 0, 0, "FaxProfile", NULL }, 201 { TIFFTAG_FAXPROFILE, 1, 1, TIFF_BYTE, 0, TIFF_SETGET_UINT8, TIFF_SETGET _UNDEFINED, FIELD_CUSTOM, 0, 0, "FaxProfile", NULL },
200 { TIFFTAG_CODINGMETHODS, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET _UNDEFINED, FIELD_CUSTOM, 0, 0, "CodingMethods", NULL }, 202 { TIFFTAG_CODINGMETHODS, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SE TGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "CodingMethods", NULL },
201 { TIFFTAG_VERSIONYEAR, 4, 4, TIFF_BYTE, 0, TIFF_SETGET_C0_UINT8, TIFF_SETGET _UNDEFINED, FIELD_CUSTOM, 0, 0, "VersionYear", NULL }, 203 { TIFFTAG_VERSIONYEAR, 4, 4, TIFF_BYTE, 0, TIFF_SETGET_C0_UINT8, TIFF_SE TGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "VersionYear", NULL },
202 { TIFFTAG_MODENUMBER, 1, 1, TIFF_BYTE, 0, TIFF_SETGET_UINT8, TIFF_SETGET_UND EFINED, FIELD_CUSTOM, 0, 0, "ModeNumber", NULL }, 204 { TIFFTAG_MODENUMBER, 1, 1, TIFF_BYTE, 0, TIFF_SETGET_UINT8, TIFF_SETGET _UNDEFINED, FIELD_CUSTOM, 0, 0, "ModeNumber", NULL },
203 { TIFFTAG_DECODE, -1, -1, TIFF_SRATIONAL, 0, TIFF_SETGET_C16_FLOAT, TIFF_SET GET_UNDEFINED, FIELD_CUSTOM, 0, 1, "Decode", NULL }, 205 { TIFFTAG_DECODE, -1, -1, TIFF_SRATIONAL, 0, TIFF_SETGET_C16_FLOAT, TIFF _SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "Decode", NULL },
204 { TIFFTAG_IMAGEBASECOLOR, -1, -1, TIFF_SHORT, 0, TIFF_SETGET_C16_UINT16, TIF F_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "ImageBaseColor", NULL }, 206 { TIFFTAG_IMAGEBASECOLOR, -1, -1, TIFF_SHORT, 0, TIFF_SETGET_C16_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "ImageBaseColor", NULL },
205 { TIFFTAG_T82OPTIONS, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UN DEFINED, FIELD_CUSTOM, 0, 0, "T82Options", NULL }, 207 { TIFFTAG_T82OPTIONS, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGE T_UNDEFINED, FIELD_CUSTOM, 0, 0, "T82Options", NULL },
206 { TIFFTAG_STRIPROWCOUNTS, -1, -1, TIFF_LONG, 0, TIFF_SETGET_C16_UINT32, TIFF _SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "StripRowCounts", NULL }, 208 { TIFFTAG_STRIPROWCOUNTS, -1, -1, TIFF_LONG, 0, TIFF_SETGET_C16_UINT32, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "StripRowCounts", NULL },
207 { TIFFTAG_IMAGELAYER, 2, 2, TIFF_LONG, 0, TIFF_SETGET_C0_UINT32, TIFF_SETGET _UNDEFINED, FIELD_CUSTOM, 0, 0, "ImageLayer", NULL }, 209 { TIFFTAG_IMAGELAYER, 2, 2, TIFF_LONG, 0, TIFF_SETGET_C0_UINT32, TIFF_SE TGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "ImageLayer", NULL },
208 » /* end DNG tags */ 210 » /* end TIFF/FX tags */
209 /* begin pseudo tags */ 211 /* begin pseudo tags */
210 }; 212 };
211 213
212 static TIFFField 214 static TIFFField
213 exifFields[] = { 215 exifFields[] = {
214 { EXIFTAG_EXPOSURETIME, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF _SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ExposureTime", NULL }, 216 { EXIFTAG_EXPOSURETIME, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF _SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ExposureTime", NULL },
215 { EXIFTAG_FNUMBER, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETG ET_UNDEFINED, FIELD_CUSTOM, 1, 0, "FNumber", NULL }, 217 { EXIFTAG_FNUMBER, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETG ET_UNDEFINED, FIELD_CUSTOM, 1, 0, "FNumber", NULL },
216 { EXIFTAG_EXPOSUREPROGRAM, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF _SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ExposureProgram", NULL }, 218 { EXIFTAG_EXPOSUREPROGRAM, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF _SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ExposureProgram", NULL },
217 { EXIFTAG_SPECTRALSENSITIVITY, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "SpectralSensitivity", NULL }, 219 { EXIFTAG_SPECTRALSENSITIVITY, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "SpectralSensitivity", NULL },
218 { EXIFTAG_ISOSPEEDRATINGS, -1, -1, TIFF_SHORT, 0, TIFF_SETGET_C16_UINT16 , TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 1, "ISOSpeedRatings", NULL }, 220 { EXIFTAG_ISOSPEEDRATINGS, -1, -1, TIFF_SHORT, 0, TIFF_SETGET_C16_UINT16 , TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 1, "ISOSpeedRatings", NULL },
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 case TIFF_DOUBLE: 489 case TIFF_DOUBLE:
488 case TIFF_LONG8: 490 case TIFF_LONG8:
489 case TIFF_SLONG8: 491 case TIFF_SLONG8:
490 case TIFF_IFD8: 492 case TIFF_IFD8:
491 return 8; 493 return 8;
492 default: 494 default:
493 return 0; 495 return 0;
494 } 496 }
495 } 497 }
496 498
497 /* Sync from 3.8.2's modified*/
498 #ifdef _WIN32_WCE
499 void* wceex_bsearch(const void *key, const void *base, size_t nmemb, size_t size ,
500 int (*compar)(const void *, cons t void *));
501 #define bsearch wceex_bsearch
502 #endif
503
504 const TIFFField* 499 const TIFFField*
505 TIFFFindField(TIFF* tif, uint32 tag, TIFFDataType dt) 500 TIFFFindField(TIFF* tif, uint32 tag, TIFFDataType dt)
506 { 501 {
507 TIFFField key = {0, 0, 0, TIFF_NOTYPE, 0, 0, 0, 0, 0, 0, NULL, NULL}; 502 TIFFField key = {0, 0, 0, TIFF_NOTYPE, 0, 0, 0, 0, 0, 0, NULL, NULL};
508 TIFFField* pkey = &key; 503 TIFFField* pkey = &key;
509 const TIFFField **ret; 504 const TIFFField **ret;
510 if (tif->tif_foundfield && tif->tif_foundfield->field_tag == tag && 505 if (tif->tif_foundfield && tif->tif_foundfield->field_tag == tag &&
511 (dt == TIFF_ANY || dt == tif->tif_foundfield->field_type)) 506 (dt == TIFF_ANY || dt == tif->tif_foundfield->field_type))
512 return tif->tif_foundfield; 507 return tif->tif_foundfield;
513 508
(...skipping 25 matching lines...) Expand all
539 534
540 /* If we are invoked with no field information, then just return. */ 535 /* If we are invoked with no field information, then just return. */
541 if (!tif->tif_fields) 536 if (!tif->tif_fields)
542 return NULL; 537 return NULL;
543 538
544 /* NB: use linear search since list is sorted by key#, not name */ 539 /* NB: use linear search since list is sorted by key#, not name */
545 540
546 key.field_name = (char *)field_name; 541 key.field_name = (char *)field_name;
547 key.field_type = dt; 542 key.field_type = dt;
548 543
549 #if 1
550 ret = (const TIFFField **) 544 ret = (const TIFFField **)
551 td_lfind(&pkey, tif->tif_fields, &tif->tif_nfields, 545 td_lfind(&pkey, tif->tif_fields, &tif->tif_nfields,
552 sizeof(TIFFField *), tagNameCompare); 546 sizeof(TIFFField *), tagNameCompare);
553 #else 547
554 » // from old svn version
555 » /*ret = (const TIFFFieldInfo **) lfind(&pkey,
556 » » » » » » » » » » » tif->tif_fieldinfo,
557 » » » » » » » » » » » &tif->tif_nfields,
558 » » » » » » » » » » » sizeof(TIFFFieldInfo *),
559 » » » » » » » » » » » tagNameCompare);
560 » */
561 » /*modify by Sunliang.Liu 20090827 for some platform not support lfind*/
562 » ret = NULL;
563 #endif
564 return tif->tif_foundfield = (ret ? *ret : NULL); 548 return tif->tif_foundfield = (ret ? *ret : NULL);
565 } 549 }
566 550
567 const TIFFField* 551 const TIFFField*
568 TIFFFieldWithTag(TIFF* tif, uint32 tag) 552 TIFFFieldWithTag(TIFF* tif, uint32 tag)
569 { 553 {
570 const TIFFField* fip = TIFFFindField(tif, tag, TIFF_ANY); 554 const TIFFField* fip = TIFFFindField(tif, tag, TIFF_ANY);
571 if (!fip) { 555 if (!fip) {
572 TIFFErrorExt(tif->tif_clientdata, "TIFFFieldWithTag", 556 TIFFErrorExt(tif->tif_clientdata, "TIFFFieldWithTag",
573 "Internal error, unknown tag 0x%x", 557 "Internal error, unknown tag 0x%x",
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
722 if (fld->field_name == NULL) { 706 if (fld->field_name == NULL) {
723 _TIFFfree(fld); 707 _TIFFfree(fld);
724 return NULL; 708 return NULL;
725 } 709 }
726 fld->field_subfields = NULL; 710 fld->field_subfields = NULL;
727 711
728 /* 712 /*
729 * note that this name is a special sign to TIFFClose() and 713 * note that this name is a special sign to TIFFClose() and
730 * _TIFFSetupFields() to free the field 714 * _TIFFSetupFields() to free the field
731 */ 715 */
732 » sprintf(fld->field_name, "Tag %d", (int) tag); 716 » snprintf(fld->field_name, 32, "Tag %d", (int) tag);
733 717
734 return fld; 718 return fld;
735 } 719 }
736 720
737 /**************************************************************************** 721 /****************************************************************************
738 * O B S O L E T E D I N T E R F A C E S 722 * O B S O L E T E D I N T E R F A C E S
739 * 723 *
740 * Don't use this stuff in your applications, it may be removed in the future 724 * Don't use this stuff in your applications, it may be removed in the future
741 * libtiff versions. 725 * libtiff versions.
742 ****************************************************************************/ 726 ****************************************************************************/
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
966 950
967 /* vim: set ts=8 sts=8 sw=8 noet: */ 951 /* vim: set ts=8 sts=8 sw=8 noet: */
968 952
969 /* 953 /*
970 * Local Variables: 954 * Local Variables:
971 * mode: c 955 * mode: c
972 * c-basic-offset: 8 956 * c-basic-offset: 8
973 * fill-column: 78 957 * fill-column: 78
974 * End: 958 * End:
975 */ 959 */
976
OLDNEW
« no previous file with comments | « third_party/libtiff/tif_dir.c ('k') | third_party/libtiff/tif_dirread.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698