view release on metacpan or search on metacpan
src/Source/FreeImage/PluginJXR.cpp view on Meta::CPAN
*/
static ERR
ReadDescriptiveMetadata(PKImageDecode *pID, FIBITMAP *dib) {
// get Exif TIFF metadata
const DESCRIPTIVEMETADATA *pDescMetadata = &pID->WMP.sDescMetadata;
// convert metadata to FITAG and store into the EXIF_MAIN metadata model
ReadPropVariant(WMP_tagImageDescription, pDescMetadata->pvarImageDescription, dib);
ReadPropVariant(WMP_tagCameraMake, pDescMetadata->pvarCameraMake, dib);
ReadPropVariant(WMP_tagCameraModel, pDescMetadata->pvarCameraModel, dib);
ReadPropVariant(WMP_tagSoftware, pDescMetadata->pvarSoftware, dib);
ReadPropVariant(WMP_tagDateTime, pDescMetadata->pvarDateTime, dib);
ReadPropVariant(WMP_tagArtist, pDescMetadata->pvarArtist, dib);
ReadPropVariant(WMP_tagCopyright, pDescMetadata->pvarCopyright, dib);
ReadPropVariant(WMP_tagRatingStars, pDescMetadata->pvarRatingStars, dib);
ReadPropVariant(WMP_tagRatingValue, pDescMetadata->pvarRatingValue, dib);
ReadPropVariant(WMP_tagCaption, pDescMetadata->pvarCaption, dib);
ReadPropVariant(WMP_tagDocumentName, pDescMetadata->pvarDocumentName, dib);
ReadPropVariant(WMP_tagPageName, pDescMetadata->pvarPageName, dib);
ReadPropVariant(WMP_tagPageNumber, pDescMetadata->pvarPageNumber, dib);
ReadPropVariant(WMP_tagHostComputer, pDescMetadata->pvarHostComputer, dib);
return WMP_errSuccess;
src/Source/FreeImage/PluginJXR.cpp view on Meta::CPAN
static ERR
WriteDescriptiveMetadata(PKImageEncode *pIE, FIBITMAP *dib) {
ERR error_code = 0; // error code as returned by the interface
DESCRIPTIVEMETADATA DescMetadata;
// fill the DESCRIPTIVEMETADATA structure (use pointers to arrays when needed)
WritePropVariant(dib, WMP_tagImageDescription, DescMetadata.pvarImageDescription);
WritePropVariant(dib, WMP_tagCameraMake, DescMetadata.pvarCameraMake);
WritePropVariant(dib, WMP_tagCameraModel, DescMetadata.pvarCameraModel);
WritePropVariant(dib, WMP_tagSoftware, DescMetadata.pvarSoftware);
WritePropVariant(dib, WMP_tagDateTime, DescMetadata.pvarDateTime);
WritePropVariant(dib, WMP_tagArtist, DescMetadata.pvarArtist);
WritePropVariant(dib, WMP_tagCopyright, DescMetadata.pvarCopyright);
WritePropVariant(dib, WMP_tagRatingStars, DescMetadata.pvarRatingStars);
WritePropVariant(dib, WMP_tagRatingValue, DescMetadata.pvarRatingValue);
WritePropVariant(dib, WMP_tagCaption, DescMetadata.pvarCaption);
WritePropVariant(dib, WMP_tagDocumentName, DescMetadata.pvarDocumentName);
WritePropVariant(dib, WMP_tagPageName, DescMetadata.pvarPageName);
WritePropVariant(dib, WMP_tagPageNumber, DescMetadata.pvarPageNumber);
WritePropVariant(dib, WMP_tagHostComputer, DescMetadata.pvarHostComputer);
src/Source/FreeImage/PluginPNG.cpp view on Meta::CPAN
sprintf(timestamp, "%4d:%02d:%02d %2d:%02d:%02d", mod_time->year, mod_time->month, mod_time->day, mod_time->hour, mod_time->minute, mod_time->second);
DWORD tag_length = (DWORD)strlen(timestamp) + 1;
FreeImage_SetTagLength(tag, tag_length);
FreeImage_SetTagCount(tag, tag_length);
FreeImage_SetTagType(tag, FIDT_ASCII);
FreeImage_SetTagID(tag, TAG_DATETIME);
FreeImage_SetTagValue(tag, timestamp);
// store the tag as Exif-TIFF
FreeImage_SetTagKey(tag, "DateTime");
FreeImage_SetMetadata(FIMD_EXIF_MAIN, dib, FreeImage_GetTagKey(tag), tag);
// destroy the tag
FreeImage_DeleteTag(tag);
}
return TRUE;
}
static BOOL
src/Source/FreeImage/PluginPNG.cpp view on Meta::CPAN
text_metadata.text_length = FreeImage_GetTagLength(tag);// length of the text string
text_metadata.itxt_length = FreeImage_GetTagLength(tag);// length of the itxt string
text_metadata.lang = 0; // language code, 0-79 characters or a NULL pointer
text_metadata.lang_key = 0; // keyword translated UTF-8 string, 0 or more chars or a NULL pointer
// set the tag
png_set_text(png_ptr, info_ptr, &text_metadata, 1);
bResult &= TRUE;
}
// set the Exif-TIFF 'DateTime' metadata as a tIME chunk
tag = NULL;
FreeImage_GetMetadata(FIMD_EXIF_MAIN, dib, "DateTime", &tag);
if(tag && FreeImage_GetTagLength(tag)) {
int year, month, day, hour, minute, second;
const char *value = (char*)FreeImage_GetTagValue(tag);
if(sscanf(value, "%4d:%02d:%02d %2d:%02d:%02d", &year, &month, &day, &hour, &minute, &second) == 6) {
mod_time.year = (png_uint_16)year;
mod_time.month = (png_byte)month;
mod_time.day = (png_byte)day;
mod_time.hour = (png_byte)hour;
mod_time.minute = (png_byte)minute;
mod_time.second = (png_byte)second;
src/Source/LibJXR/jxrgluelib/JXRGlueJxr.c view on Meta::CPAN
ERR CalcMetadataOffsetSize(PKImageEncode* pIE,
U16 *pcInactiveMetadata,
U32 *pcbMetadataSize)
{
ERR err = WMP_errSuccess;
CalcMetadataSizeLPSTR(pIE->sDescMetadata.pvarImageDescription, pcInactiveMetadata, pcbMetadataSize, NULL);
CalcMetadataSizeLPSTR(pIE->sDescMetadata.pvarCameraMake, pcInactiveMetadata, pcbMetadataSize, NULL);
CalcMetadataSizeLPSTR(pIE->sDescMetadata.pvarCameraModel, pcInactiveMetadata, pcbMetadataSize, NULL);
CalcMetadataSizeLPSTR(pIE->sDescMetadata.pvarSoftware, pcInactiveMetadata, pcbMetadataSize, NULL);
CalcMetadataSizeLPSTR(pIE->sDescMetadata.pvarDateTime, pcInactiveMetadata, pcbMetadataSize, NULL);
CalcMetadataSizeLPSTR(pIE->sDescMetadata.pvarArtist, pcInactiveMetadata, pcbMetadataSize, NULL);
CalcMetadataSizeLPSTR(pIE->sDescMetadata.pvarCopyright, pcInactiveMetadata, pcbMetadataSize, NULL);
CalcMetadataSizeUI2(pIE->sDescMetadata.pvarRatingStars, pcInactiveMetadata, pcbMetadataSize);
CalcMetadataSizeUI2(pIE->sDescMetadata.pvarRatingValue, pcInactiveMetadata, pcbMetadataSize);
CalcMetadataSizeLPWSTR(pIE->sDescMetadata.pvarCaption, pcInactiveMetadata, pcbMetadataSize, NULL);
CalcMetadataSizeLPSTR(pIE->sDescMetadata.pvarDocumentName, pcInactiveMetadata, pcbMetadataSize, NULL);
CalcMetadataSizeLPSTR(pIE->sDescMetadata.pvarPageName, pcInactiveMetadata, pcbMetadataSize, NULL);
CalcMetadataSizeUI4(pIE->sDescMetadata.pvarPageNumber, pcInactiveMetadata, pcbMetadataSize);
CalcMetadataSizeLPSTR(pIE->sDescMetadata.pvarHostComputer, pcInactiveMetadata, pcbMetadataSize, NULL);
src/Source/LibJXR/jxrgluelib/JXRGlueJxr.c view on Meta::CPAN
static WmpDE wmpDEs[] =
{
{WMP_tagDocumentName, WMP_typASCII, 1, (U32) -1}, // Descriptive metadata
{WMP_tagImageDescription, WMP_typASCII, 1, (U32) -1}, // Descriptive metadata
{WMP_tagCameraMake, WMP_typASCII, 1, (U32) -1}, // Descriptive metadata
{WMP_tagCameraModel, WMP_typASCII, 1, (U32) -1}, // Descriptive metadata
{WMP_tagPageName, WMP_typASCII, 1, (U32) -1}, // Descriptive metadata
{WMP_tagPageNumber, WMP_typSHORT, 2, (U32) -1}, // Descriptive metadata
{WMP_tagSoftware, WMP_typASCII, 1, (U32) -1}, // Descriptive metadata
{WMP_tagDateTime, WMP_typASCII, 1, (U32) -1}, // Descriptive metadata
{WMP_tagArtist, WMP_typASCII, 1, (U32) -1}, // Descriptive metadata
{WMP_tagHostComputer, WMP_typASCII, 1, (U32) -1}, // Descriptive metadata
{WMP_tagRatingStars, WMP_typSHORT, 1, (U32) -1}, // Descriptive metadata
{WMP_tagRatingValue, WMP_typSHORT, 1, (U32) -1}, // Descriptive metadata
{WMP_tagCopyright, WMP_typASCII, 1, (U32) -1}, // Descriptive metadata
{WMP_tagCaption, WMP_typBYTE, 1, (U32) -1}, // Descriptive metadata
{WMP_tagXMPMetadata, WMP_typBYTE, 1, (U32) -1},
{WMP_tagIPTCNAAMetadata, WMP_typBYTE, 1, (U32) -1},
{WMP_tagPhotoshopMetadata, WMP_typBYTE, 1, (U32) -1},
src/Source/LibJXR/jxrgluelib/JXRGlueJxr.c view on Meta::CPAN
assert(WMP_tagPageNumber == wmpDE.uTag);
Call(WriteDescMetadata(pIE, pIE->sDescMetadata.pvarPageNumber, &wmpDE,
&uiCurrDescMetadataOffset, &offPos));
wmpDE = wmpDEs[i++];
assert(WMP_tagSoftware == wmpDE.uTag);
Call(WriteDescMetadata(pIE, pIE->sDescMetadata.pvarSoftware, &wmpDE,
&uiCurrDescMetadataOffset, &offPos));
wmpDE = wmpDEs[i++];
assert(WMP_tagDateTime == wmpDE.uTag);
Call(WriteDescMetadata(pIE, pIE->sDescMetadata.pvarDateTime, &wmpDE,
&uiCurrDescMetadataOffset, &offPos));
wmpDE = wmpDEs[i++];
assert(WMP_tagArtist == wmpDE.uTag);
Call(WriteDescMetadata(pIE, pIE->sDescMetadata.pvarArtist, &wmpDE,
&uiCurrDescMetadataOffset, &offPos));
wmpDE = wmpDEs[i++];
assert(WMP_tagHostComputer == wmpDE.uTag);
Call(WriteDescMetadata(pIE, pIE->sDescMetadata.pvarHostComputer, &wmpDE,
src/Source/LibJXR/jxrgluelib/JXRGlueJxr.c view on Meta::CPAN
{
assert(FALSE); // Message to programmer
FailIf(TRUE, WMP_errOutOfSequence);
}
// Make a copy of the descriptive metadata
Call(CopyDescMetadata(&pDstMeta->pvarImageDescription, pSrcMeta->pvarImageDescription));
Call(CopyDescMetadata(&pDstMeta->pvarCameraMake, pSrcMeta->pvarCameraMake));
Call(CopyDescMetadata(&pDstMeta->pvarCameraModel, pSrcMeta->pvarCameraModel));
Call(CopyDescMetadata(&pDstMeta->pvarSoftware, pSrcMeta->pvarSoftware));
Call(CopyDescMetadata(&pDstMeta->pvarDateTime, pSrcMeta->pvarDateTime));
Call(CopyDescMetadata(&pDstMeta->pvarArtist, pSrcMeta->pvarArtist));
Call(CopyDescMetadata(&pDstMeta->pvarCopyright, pSrcMeta->pvarCopyright));
Call(CopyDescMetadata(&pDstMeta->pvarRatingStars, pSrcMeta->pvarRatingStars));
Call(CopyDescMetadata(&pDstMeta->pvarRatingValue, pSrcMeta->pvarRatingValue));
Call(CopyDescMetadata(&pDstMeta->pvarCaption, pSrcMeta->pvarCaption));
Call(CopyDescMetadata(&pDstMeta->pvarDocumentName, pSrcMeta->pvarDocumentName));
Call(CopyDescMetadata(&pDstMeta->pvarPageName, pSrcMeta->pvarPageName));
Call(CopyDescMetadata(&pDstMeta->pvarPageNumber, pSrcMeta->pvarPageNumber));
Call(CopyDescMetadata(&pDstMeta->pvarHostComputer, pSrcMeta->pvarHostComputer));
src/Source/LibJXR/jxrgluelib/JXRGlueJxr.c view on Meta::CPAN
PKFree((void **) &pIE->pbIPTCNAAMetadata);
pIE->cbIPTCNAAMetadataByteCount = 0;
PKFree((void **) &pIE->pbPhotoshopMetadata);
pIE->cbPhotoshopMetadataByteCount = 0;
// Free descriptive metadata
FreeDescMetadata(&pIE->sDescMetadata.pvarImageDescription);
FreeDescMetadata(&pIE->sDescMetadata.pvarCameraMake);
FreeDescMetadata(&pIE->sDescMetadata.pvarCameraModel);
FreeDescMetadata(&pIE->sDescMetadata.pvarSoftware);
FreeDescMetadata(&pIE->sDescMetadata.pvarDateTime);
FreeDescMetadata(&pIE->sDescMetadata.pvarArtist);
FreeDescMetadata(&pIE->sDescMetadata.pvarCopyright);
FreeDescMetadata(&pIE->sDescMetadata.pvarRatingStars);
FreeDescMetadata(&pIE->sDescMetadata.pvarRatingValue);
FreeDescMetadata(&pIE->sDescMetadata.pvarCaption);
FreeDescMetadata(&pIE->sDescMetadata.pvarDocumentName);
FreeDescMetadata(&pIE->sDescMetadata.pvarPageName);
FreeDescMetadata(&pIE->sDescMetadata.pvarPageNumber);
FreeDescMetadata(&pIE->sDescMetadata.pvarHostComputer);
src/Source/LibJXR/jxrgluelib/JXRGlueJxr.c view on Meta::CPAN
&pID->WMP.sDescMetadata.pvarCameraModel));
assert(DPKVT_LPSTR == pID->WMP.sDescMetadata.pvarCameraModel.vt);
break;
case WMP_tagSoftware:
CallIgnoreError(errTmp, ReadPropvar(pWS, uType, uCount, uValue,
&pID->WMP.sDescMetadata.pvarSoftware));
assert(DPKVT_LPSTR == pID->WMP.sDescMetadata.pvarSoftware.vt);
break;
case WMP_tagDateTime:
CallIgnoreError(errTmp, ReadPropvar(pWS, uType, uCount, uValue,
&pID->WMP.sDescMetadata.pvarDateTime));
assert(DPKVT_LPSTR == pID->WMP.sDescMetadata.pvarDateTime.vt);
break;
case WMP_tagArtist:
CallIgnoreError(errTmp, ReadPropvar(pWS, uType, uCount, uValue,
&pID->WMP.sDescMetadata.pvarArtist));
assert(DPKVT_LPSTR == pID->WMP.sDescMetadata.pvarArtist.vt);
break;
case WMP_tagCopyright:
CallIgnoreError(errTmp, ReadPropvar(pWS, uType, uCount, uValue,
src/Source/LibJXR/jxrgluelib/JXRGlueJxr.c view on Meta::CPAN
if (NULL == ppID)
goto Cleanup;
pID = *ppID;
// Free descriptive metadata
FreeDescMetadata(&pID->WMP.sDescMetadata.pvarImageDescription);
FreeDescMetadata(&pID->WMP.sDescMetadata.pvarCameraMake);
FreeDescMetadata(&pID->WMP.sDescMetadata.pvarCameraModel);
FreeDescMetadata(&pID->WMP.sDescMetadata.pvarSoftware);
FreeDescMetadata(&pID->WMP.sDescMetadata.pvarDateTime);
FreeDescMetadata(&pID->WMP.sDescMetadata.pvarArtist);
FreeDescMetadata(&pID->WMP.sDescMetadata.pvarCopyright);
FreeDescMetadata(&pID->WMP.sDescMetadata.pvarRatingStars);
FreeDescMetadata(&pID->WMP.sDescMetadata.pvarRatingValue);
FreeDescMetadata(&pID->WMP.sDescMetadata.pvarCaption);
FreeDescMetadata(&pID->WMP.sDescMetadata.pvarDocumentName);
FreeDescMetadata(&pID->WMP.sDescMetadata.pvarPageName);
FreeDescMetadata(&pID->WMP.sDescMetadata.pvarPageNumber);
FreeDescMetadata(&pID->WMP.sDescMetadata.pvarHostComputer);
src/Source/LibJXR/jxrgluelib/JXRMeta.h view on Meta::CPAN
// Keep these in sort order so that we can easily confirm we are outputting tags in ascending order
#define WMP_tagNull 0
#define WMP_tagDocumentName 0x010d // Descriptive metadata tag
#define WMP_tagImageDescription 0x010e // Descriptive metadata tag
#define WMP_tagCameraMake 0x010f // Descriptive metadata tag
#define WMP_tagCameraModel 0x0110 // Descriptive metadata tag
#define WMP_tagPageName 0x011d // Descriptive metadata tag
#define WMP_tagPageNumber 0x0129 // Descriptive metadata tag
#define WMP_tagSoftware 0x0131 // Descriptive metadata tag
#define WMP_tagDateTime 0x0132 // Descriptive metadata tag
#define WMP_tagArtist 0x013b // Descriptive metadata tag
#define WMP_tagHostComputer 0x013c // Descriptive metadata tag
#define WMP_tagXMPMetadata 0x02bc
#define WMP_tagRatingStars 0x4746 // Descriptive metadata tag
#define WMP_tagRatingValue 0x4749 // Descriptive metadata tag
#define WMP_tagCopyright 0x8298 // Descriptive metadata tag
#define WMP_tagEXIFMetadata 0x8769
src/Source/LibJXR/jxrgluelib/JXRMeta.h view on Meta::CPAN
U8 *pbVal; // DPKVT_BYREF | DPKVT_UI1
} VT;
} DPKPROPVARIANT;
typedef struct DESCRIPTIVEMETADATA
{
DPKPROPVARIANT pvarImageDescription; // WMP_tagImageDescription
DPKPROPVARIANT pvarCameraMake; // WMP_tagCameraMake
DPKPROPVARIANT pvarCameraModel; // WMP_tagCameraModel
DPKPROPVARIANT pvarSoftware; // WMP_tagSoftware
DPKPROPVARIANT pvarDateTime; // WMP_tagDateTime
DPKPROPVARIANT pvarArtist; // WMP_tagArtist
DPKPROPVARIANT pvarCopyright; // WMP_tagCopyright
DPKPROPVARIANT pvarRatingStars; // WMP_tagRatingStars
DPKPROPVARIANT pvarRatingValue; // WMP_tagRatingValue
DPKPROPVARIANT pvarCaption; // WMP_tagCaption
DPKPROPVARIANT pvarDocumentName; // WMP_tagDocumentName
DPKPROPVARIANT pvarPageName; // WMP_tagPageName
DPKPROPVARIANT pvarPageNumber; // WMP_tagPageNumber
DPKPROPVARIANT pvarHostComputer; // WMP_tagHostComputer
} DESCRIPTIVEMETADATA;
src/Source/LibRawLite/dcraw/dcraw.c view on Meta::CPAN
if (tag == 0x4021 && get4() && get4())
FORC4 cam_mul[c] = 1024;
next:
fseek (ifp, save, SEEK_SET);
}
quit:
order = sorder;
}
/*
Since the TIFF DateTime string has no timezone information,
assume that the camera's clock was set to Universal Time.
*/
void CLASS get_timestamp (int reversed)
{
struct tm t;
char str[20];
int i;
str[19] = 0;
if (reversed)
src/Source/LibRawLite/dcraw/dcraw.c view on Meta::CPAN
break;
case 305: case 11: /* Software */
fgets (software, 64, ifp);
if (!strncmp(software,"Adobe",5) ||
!strncmp(software,"dcraw",5) ||
!strncmp(software,"UFRaw",5) ||
!strncmp(software,"Bibble",6) ||
!strcmp (software,"Digital Photo Professional"))
is_raw = 0;
break;
case 306: /* DateTime */
get_timestamp(0);
break;
case 315: /* Artist */
fread (artist, 64, 1, ifp);
break;
case 322: /* TileWidth */
tiff_ifd[ifd].t_tile_width = getint(type);
break;
case 323: /* TileLength */
tiff_ifd[ifd].t_tile_length = getint(type);
src/Source/LibRawLite/internal/dcraw_common.cpp view on Meta::CPAN
if (tag == 0x4021 && get4() && get4())
FORC4 cam_mul[c] = 1024;
next:
fseek (ifp, save, SEEK_SET);
}
quit:
order = sorder;
}
/*
Since the TIFF DateTime string has no timezone information,
assume that the camera's clock was set to Universal Time.
*/
void CLASS get_timestamp (int reversed)
{
struct tm t;
char str[20];
int i;
str[19] = 0;
if (reversed)
src/Source/LibRawLite/internal/dcraw_common.cpp view on Meta::CPAN
break;
case 305: case 11: /* Software */
fgets (software, 64, ifp);
if (!strncmp(software,"Adobe",5) ||
!strncmp(software,"dcraw",5) ||
!strncmp(software,"UFRaw",5) ||
!strncmp(software,"Bibble",6) ||
!strcmp (software,"Digital Photo Professional"))
is_raw = 0;
break;
case 306: /* DateTime */
get_timestamp(0);
break;
case 315: /* Artist */
fread (artist, 64, 1, ifp);
break;
case 322: /* TileWidth */
tiff_ifd[ifd].t_tile_width = getint(type);
break;
case 323: /* TileLength */
tiff_ifd[ifd].t_tile_length = getint(type);
src/Source/LibTIFF4/ChangeLog view on Meta::CPAN
* libtiff/tif_predict.c: Floating point predictor now works on
big-endian hosts.
2005-06-01 Andrey Kiselev <dron@ak4719.spb.edu>
* libtiff/tif_dir.c: Use _TIFFsetString() function when read custom
ASCII values.
* libtiff/{tif_dirinfo.c, tif_dir.h, tif_dir.c, tif_print.c}: Make
DocumentName, Artist, HostComputer, ImageDescription, Make, Model,
Copyright, DateTime, PageName, TextureFormat, TextureWrapModes and
TargetPrinter tags custom.
* libtiff/tif_jpeg.c: Cleanup the codec state depending on
TIFF_CODERSETUP flag (to fix memry leaks).
* libtiff/tif_jpeg.c: Initialize JPEGTables array with zero after
allocating.
2005-05-26 Andrey Kiselev <dron@ak4719.spb.edu>
src/Source/LibTIFF4/tif_dirinfo.c view on Meta::CPAN
{ TIFFTAG_YPOSITION, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_POSITION, 1, 0, "YPosition", NULL },
{ TIFFTAG_FREEOFFSETS, -1, -1, TIFF_LONG8, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_IGNORE, 0, 0, "FreeOffsets", NULL },
{ TIFFTAG_FREEBYTECOUNTS, -1, -1, TIFF_LONG8, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_IGNORE, 0, 0, "FreeByteCounts", NULL },
{ TIFFTAG_GRAYRESPONSEUNIT, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_IGNORE, 1, 0, "GrayResponseUnit", NULL },
{ TIFFTAG_GRAYRESPONSECURVE, -1, -1, TIFF_SHORT, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_IGNORE, 1, 0, "GrayResponseCurve", NULL },
{ TIFFTAG_RESOLUTIONUNIT, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_RESOLUTIONUNIT, 1, 0, "ResolutionUnit", NULL },
{ TIFFTAG_PAGENUMBER, 2, 2, TIFF_SHORT, 0, TIFF_SETGET_UINT16_PAIR, TIFF_SETGET_UNDEFINED, FIELD_PAGENUMBER, 1, 0, "PageNumber", NULL },
{ TIFFTAG_COLORRESPONSEUNIT, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_IGNORE, 1, 0, "ColorResponseUnit", NULL },
{ TIFFTAG_TRANSFERFUNCTION, -1, -1, TIFF_SHORT, 0, TIFF_SETGET_OTHER, TIFF_SETGET_UNDEFINED, FIELD_TRANSFERFUNCTION, 1, 0, "TransferFunction", NULL },
{ TIFFTAG_SOFTWARE, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "Software", NULL },
{ TIFFTAG_DATETIME, 20, 20, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "DateTime", NULL },
{ TIFFTAG_ARTIST, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "Artist", NULL },
{ TIFFTAG_HOSTCOMPUTER, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "HostComputer", NULL },
{ TIFFTAG_WHITEPOINT, 2, 2, TIFF_RATIONAL, 0, TIFF_SETGET_C0_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "WhitePoint", NULL },
{ TIFFTAG_PRIMARYCHROMATICITIES, 6, 6, TIFF_RATIONAL, 0, TIFF_SETGET_C0_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "PrimaryChromaticities", NULL },
{ TIFFTAG_COLORMAP, -1, -1, TIFF_SHORT, 0, TIFF_SETGET_OTHER, TIFF_SETGET_UNDEFINED, FIELD_COLORMAP, 1, 0, "ColorMap", NULL },
{ TIFFTAG_HALFTONEHINTS, 2, 2, TIFF_SHORT, 0, TIFF_SETGET_UINT16_PAIR, TIFF_SETGET_UNDEFINED, FIELD_HALFTONEHINTS, 1, 0, "HalftoneHints", NULL },
{ TIFFTAG_TILEWIDTH, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UNDEFINED, FIELD_TILEDIMENSIONS, 0, 0, "TileWidth", NULL },
{ TIFFTAG_TILELENGTH, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UNDEFINED, FIELD_TILEDIMENSIONS, 0, 0, "TileLength", NULL },
{ TIFFTAG_TILEOFFSETS, -1, 1, TIFF_LONG8, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_STRIPOFFSETS, 0, 0, "TileOffsets", NULL },
{ TIFFTAG_TILEBYTECOUNTS, -1, 1, TIFF_LONG8, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_STRIPBYTECOUNTS, 0, 0, "TileByteCounts", NULL },
src/Source/LibTIFF4/tif_dirinfo.c view on Meta::CPAN
static TIFFField
exifFields[] = {
{ EXIFTAG_EXPOSURETIME, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ExposureTime", NULL },
{ EXIFTAG_FNUMBER, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "FNumber", NULL },
{ EXIFTAG_EXPOSUREPROGRAM, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ExposureProgram", NULL },
{ EXIFTAG_SPECTRALSENSITIVITY, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "SpectralSensitivity", NULL },
{ EXIFTAG_ISOSPEEDRATINGS, -1, -1, TIFF_SHORT, 0, TIFF_SETGET_C16_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 1, "ISOSpeedRatings", NULL },
{ EXIFTAG_OECF, -1, -1, TIFF_UNDEFINED, 0, TIFF_SETGET_C16_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 1, "OptoelectricConversionFactor", NULL },
{ EXIFTAG_EXIFVERSION, 4, 4, TIFF_UNDEFINED, 0, TIFF_SETGET_C0_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ExifVersion", NULL },
{ EXIFTAG_DATETIMEORIGINAL, 20, 20, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "DateTimeOriginal", NULL },
{ EXIFTAG_DATETIMEDIGITIZED, 20, 20, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "DateTimeDigitized", NULL },
{ EXIFTAG_COMPONENTSCONFIGURATION, 4, 4, TIFF_UNDEFINED, 0, TIFF_SETGET_C0_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ComponentsConfiguration", NULL },
{ EXIFTAG_COMPRESSEDBITSPERPIXEL, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "CompressedBitsPerPixel", NULL },
{ EXIFTAG_SHUTTERSPEEDVALUE, 1, 1, TIFF_SRATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ShutterSpeedValue", NULL },
{ EXIFTAG_APERTUREVALUE, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ApertureValue", NULL },
{ EXIFTAG_BRIGHTNESSVALUE, 1, 1, TIFF_SRATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "BrightnessValue", NULL },
{ EXIFTAG_EXPOSUREBIASVALUE, 1, 1, TIFF_SRATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ExposureBiasValue", NULL },
{ EXIFTAG_MAXAPERTUREVALUE, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "MaxApertureValue", NULL },
{ EXIFTAG_SUBJECTDISTANCE, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "SubjectDistance", NULL },
{ EXIFTAG_METERINGMODE, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "MeteringMode", NULL },
{ EXIFTAG_LIGHTSOURCE, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "LightSource", NULL },
src/Source/LibTIFF4/tiff.h view on Meta::CPAN
#define EXIFTAG_EXPOSUREBIASVALUE 37380 /* Exposure bias */
#define EXIFTAG_MAXAPERTUREVALUE 37381 /* Maximum lens aperture */
#define EXIFTAG_SUBJECTDISTANCE 37382 /* Subject distance */
#define EXIFTAG_METERINGMODE 37383 /* Metering mode */
#define EXIFTAG_LIGHTSOURCE 37384 /* Light source */
#define EXIFTAG_FLASH 37385 /* Flash */
#define EXIFTAG_FOCALLENGTH 37386 /* Lens focal length */
#define EXIFTAG_SUBJECTAREA 37396 /* Subject area */
#define EXIFTAG_MAKERNOTE 37500 /* Manufacturer notes */
#define EXIFTAG_USERCOMMENT 37510 /* User comments */
#define EXIFTAG_SUBSECTIME 37520 /* DateTime subseconds */
#define EXIFTAG_SUBSECTIMEORIGINAL 37521 /* DateTimeOriginal subseconds */
#define EXIFTAG_SUBSECTIMEDIGITIZED 37522 /* DateTimeDigitized subseconds */
#define EXIFTAG_FLASHPIXVERSION 40960 /* Supported Flashpix version */
#define EXIFTAG_COLORSPACE 40961 /* Color space information */
#define EXIFTAG_PIXELXDIMENSION 40962 /* Valid image width */
#define EXIFTAG_PIXELYDIMENSION 40963 /* Valid image height */
#define EXIFTAG_RELATEDSOUNDFILE 40964 /* Related audio file */
#define EXIFTAG_FLASHENERGY 41483 /* Flash energy */
#define EXIFTAG_SPATIALFREQUENCYRESPONSE 41484 /* Spatial frequency response */
#define EXIFTAG_FOCALPLANEXRESOLUTION 41486 /* Focal plane X resolution */
#define EXIFTAG_FOCALPLANEYRESOLUTION 41487 /* Focal plane Y resolution */
#define EXIFTAG_FOCALPLANERESOLUTIONUNIT 41488 /* Focal plane resolution unit */
src/Source/Metadata/TagLib.cpp view on Meta::CPAN
{ 0x011A, (char *) "XResolution", (char *) "Image resolution in width direction"},
{ 0x011B, (char *) "YResolution", (char *) "Image resolution in height direction"},
{ 0x011C, (char *) "PlanarConfiguration", (char *) "Image data arrangement"},
{ 0x011D, (char *) "PageName", (char *) "Name of the page"},
{ 0x011E, (char *) "XPosition", (char *) "X position of the image"},
{ 0x011F, (char *) "YPosition", (char *) "Y position of the image"},
{ 0x0128, (char *) "ResolutionUnit", (char *) "Unit of X and Y resolution"},
{ 0x0129, (char *) "PageNumber", (char *) "Page number"},
{ 0x012D, (char *) "TransferFunction", (char *) "Transfer function"},
{ 0x0131, (char *) "Software", (char *) "Software used"},
{ 0x0132, (char *) "DateTime", (char *) "File change date and time"},
{ 0x013B, (char *) "Artist", (char *) "Person who created the image"},
{ 0x013C, (char *) "HostComputer", (char *) "Host computer used to generate the image"},
{ 0x013E, (char *) "WhitePoint", (char *) "White point chromaticity"},
{ 0x013F, (char *) "PrimaryChromaticities", (char *) "Chromaticities of primaries"},
{ 0x0156, (char *) "TransferRange", (char *) NULL},
{ 0x0200, (char *) "JPEGProc", (char *) NULL},
{ 0x0201, (char *) "JPEGInterchangeFormat", (char *) "Offset to JPEG SOI"},
{ 0x0202, (char *) "JPEGInterchangeFormatLength", (char *) "Bytes of JPEG data"},
{ 0x0211, (char *) "YCbCrCoefficients", (char *) "Color space transformation matrix coefficients"},
{ 0x0212, (char *) "YCbCrSubSampling", (char *) "Subsampling ratio of Y to C"},
src/Source/Metadata/TagLib.cpp view on Meta::CPAN
{ 0x829A, (char *) "ExposureTime", (char *) "Exposure time"},
{ 0x829D, (char *) "FNumber", (char *) "F number"},
{ 0x83BB, (char *) "IPTC/NAA", (char *) NULL},
{ 0x8773, (char *) "InterColorProfile", (char *) NULL},
{ 0x8822, (char *) "ExposureProgram", (char *) "Exposure program"},
{ 0x8824, (char *) "SpectralSensitivity", (char *) "Spectral sensitivity"},
{ 0x8825, (char *) "GPSInfo", (char *) NULL},
{ 0x8827, (char *) "ISOSpeedRatings", (char *) "ISO speed rating"},
{ 0x8828, (char *) "OECF", (char *) "Optoelectric conversion factor"},
{ 0x9000, (char *) "ExifVersion", (char *) "Exif version"},
{ 0x9003, (char *) "DateTimeOriginal", (char *) "Date and time of original data generation"},
{ 0x9004, (char *) "DateTimeDigitized", (char *) "Date and time of digital data generation"},
{ 0x9101, (char *) "ComponentsConfiguration", (char *) "Meaning of each component"},
{ 0x9102, (char *) "CompressedBitsPerPixel", (char *) "Image compression mode"},
{ 0x9201, (char *) "ShutterSpeedValue", (char *) "Shutter speed"},
{ 0x9202, (char *) "ApertureValue", (char *) "Aperture"},
{ 0x9203, (char *) "BrightnessValue", (char *) "Brightness"},
{ 0x9204, (char *) "ExposureBiasValue", (char *) "Exposure bias"},
{ 0x9205, (char *) "MaxApertureValue", (char *) "Maximum lens aperture"},
{ 0x9206, (char *) "SubjectDistance", (char *) "Subject distance"},
{ 0x9207, (char *) "MeteringMode", (char *) "Metering mode"},
{ 0x9208, (char *) "LightSource", (char *) "Light source"},
{ 0x9209, (char *) "Flash", (char *) "Flash"},
{ 0x920A, (char *) "FocalLength", (char *) "Lens focal length"},
{ 0x9214, (char *) "SubjectArea", (char *) "Subject area"},
{ 0x927C, (char *) "MakerNote", (char *) "Manufacturer notes"},
{ 0x9286, (char *) "UserComment", (char *) "User comments"},
{ 0x9290, (char *) "SubSecTime", (char *) "DateTime subseconds"},
{ 0x9291, (char *) "SubSecTimeOriginal", (char *) "DateTimeOriginal subseconds"},
{ 0x9292, (char *) "SubSecTimeDigitized", (char *) "DateTimeDigitized subseconds"},
{ 0xA000, (char *) "FlashPixVersion", (char *) "Supported Flashpix version"},
{ 0xA001, (char *) "ColorSpace", (char *) "Color space information"},
{ 0xA002, (char *) "PixelXDimension", (char *) "Valid image width"},
{ 0xA003, (char *) "PixelYDimension", (char *) "Valid image height"},
{ 0xA004, (char *) "RelatedSoundFile", (char *) "Related audio file"},
{ 0xA005, (char *) "InteroperabilityOffset", (char *) NULL},
{ 0xA20B, (char *) "FlashEnergy", (char *) "Flash energy"},
{ 0xA20C, (char *) "SpatialFrequencyResponse", (char *) "Spatial frequency response"},
{ 0xA20E, (char *) "FocalPlaneXResolution", (char *) "Focal plane X resolution"},
{ 0xA20F, (char *) "FocalPlaneYResolution", (char *) "Focal plane Y resolution"},
src/Whatsnew.txt view on Meta::CPAN
! FreeImage now uses LibWebP 0.4.2 (GIT patch 2015-03-03)
! FreeImage now uses LibRaw 0.17-Alpha1
! FreeImage now uses LibTIFF 4.0.4 (CVS patch 2015-01-26)
! FreeImage now uses OpenEXR 2.2.0
- [Herve Drolon] removed VS 2003 project files : this IDE is no longer supported because of its outdated C++ compiler
+ [Mihail Naydenov] added FreeImage_ConvertFromRawBitsEx
+ [Herve Drolon] added RAW_UNPROCESSED load flag to the RAW plugin
+ [Herve Drolon] added FreeImage_SetMetadataKeyValue
+ [Herve Drolon] added support for metadata writing to the JPEG-JXR plugin
+ [Herve Drolon] added VS 2013 project files
+ [Herve Drolon] added support for PNG tIME metadata (read/write, handle as Exif-TIFF DateTime)
+ [Carsten Klein] added explicit definition of endianness and color order in compiler options
+ [Carsten Klein] added FIQ_LFPQUANT quantizer algorithm
+ [Carsten Klein] added support for input 32-bit dib in Wu quantizer
+ [Tanner Helland] added FreeImage_ConvertToRGBAF and updated conversions in FreeImage_ConvertToType
+ [Herve Drolon] added FreeImage_ConvertToRGBA16 and updated conversions in FreeImage_ConvertToType
+ [Carsten Klein] added FreeImage_CreateView
+ [Carsten Klein] added FreeImage_RescaleRect
+ [Carsten Klein] added FreeImage_GetMemorySize
* [Tanner Helland] ICO plugin: improved support for Vista icons
* [fpgaminer] fixed a rounding error in RGB to greyscale conversion formula