Added several TIFF tags to the reference taglist.

v0.27.3
Andreas Huggel 15 years ago
parent 26b5d41255
commit e1189d9924

@ -289,6 +289,13 @@ namespace Exiv2 {
{ 34892, N_("Linear Raw") } { 34892, N_("Linear Raw") }
}; };
//! Threshholding, tag 0x0107
extern const TagDetails exifThreshholding[] = {
{ 1, N_("No dithering or halftoning") },
{ 2, N_("Ordered dither or halftone technique") },
{ 3, N_("Randomized process") }
};
//! Orientation, tag 0x0112 //! Orientation, tag 0x0112
extern const TagDetails exifOrientation[] = { extern const TagDetails exifOrientation[] = {
{ 1, N_("top, left") }, { 1, N_("top, left") },
@ -307,6 +314,31 @@ namespace Exiv2 {
{ 2, N_("Horizontal differencing") } { 2, N_("Horizontal differencing") }
}; };
//! InkSet, tag 0x014c
extern const TagDetails exifInkSet[] = {
{ 1, N_("CMYK") },
{ 2, N_("not CMYK") }
};
//! SampleFormat, tag 0x0153
extern const TagDetails exifSampleFormat[] = {
{ 1, N_("Unsigned integer data") },
{ 2, N_("Two's complement signed integer data") },
{ 3, N_("IEEE floating point data") },
{ 4, N_("Undefined data format") }
};
//! exifJpegLosslessPredictor
extern const TagDetails exifJpegLosslessPredictor[] = {
{ 1, N_("A") },
{ 2, N_("B") },
{ 3, N_("C") },
{ 4, N_("A+B-C") },
{ 5, N_("A+((B-C)/2)") },
{ 6, N_("B+((A-C)/2)") },
{ 7, N_("(A+B)/2") }
};
//! YCbCrPositioning, tag 0x0213 //! YCbCrPositioning, tag 0x0213
extern const TagDetails exifYCbCrPositioning[] = { extern const TagDetails exifYCbCrPositioning[] = {
{ 1, N_("Centered") }, { 1, N_("Centered") },
@ -391,6 +423,18 @@ namespace Exiv2 {
N_("The pixel composition. In JPEG compressed data a JPEG " N_("The pixel composition. In JPEG compressed data a JPEG "
"marker is used instead of this tag."), "marker is used instead of this tag."),
ifd0Id, imgStruct, unsignedShort, EXV_PRINT_TAG(exifPhotometricInterpretation)), ifd0Id, imgStruct, unsignedShort, EXV_PRINT_TAG(exifPhotometricInterpretation)),
TagInfo(0x0107, "Threshholding", N_("Threshholding"),
N_("For black and white TIFF files that represent shades of gray, "
"the technique used to convert from gray to black and white pixels."),
ifd0Id, imgStruct, unsignedShort, EXV_PRINT_TAG(exifThreshholding)), // TIFF tag
TagInfo(0x0108, "CellWidth", N_("Cell Width"),
N_("The width of the dithering or halftoning matrix used to create a "
"dithered or halftoned bilevel file."),
ifd0Id, imgStruct, unsignedShort, printValue), // TIFF tag
TagInfo(0x0109, "CellLength", N_("Cell Length"),
N_("The length of the dithering or halftoning matrix used to create a "
"dithered or halftoned bilevel file."),
ifd0Id, imgStruct, unsignedShort, printValue), // TIFF tag
TagInfo(0x010a, "FillOrder", N_("Fill Order"), TagInfo(0x010a, "FillOrder", N_("Fill Order"),
N_("The logical order of bits within a byte"), N_("The logical order of bits within a byte"),
ifd0Id, imgStruct, unsignedShort, printValue), // TIFF tag ifd0Id, imgStruct, unsignedShort, printValue), // TIFF tag
@ -544,6 +588,34 @@ namespace Exiv2 {
TagInfo(0x014a, "SubIFDs", N_("SubIFD Offsets"), TagInfo(0x014a, "SubIFDs", N_("SubIFD Offsets"),
N_("Defined by Adobe Corporation to enable TIFF Trees within a TIFF file."), N_("Defined by Adobe Corporation to enable TIFF Trees within a TIFF file."),
ifd0Id, tiffEp, unsignedLong, printValue), ifd0Id, tiffEp, unsignedLong, printValue),
TagInfo(0x014c, "InkSet", N_("Ink Set"),
N_("The set of inks used in a separated (PhotometricInterpretation=5) image."),
ifd0Id, imgStruct, unsignedShort, EXV_PRINT_TAG(exifInkSet)), // TIFF tag
TagInfo(0x014d, "InkNames", N_("Ink Names"),
N_("The name of each ink used in a separated (PhotometricInterpretation=5) image."),
ifd0Id, imgStruct, asciiString, printValue), // TIFF tag
TagInfo(0x014e, "NumberOfInks", N_("Number Of Inks"),
N_("The number of inks. Usually equal to SamplesPerPixel, unless there are extra samples."),
ifd0Id, imgStruct, unsignedShort, printValue), // TIFF tag
TagInfo(0x0150, "DotRange", N_("Dot Range"),
N_("The component values that correspond to a 0% dot and 100% dot."),
ifd0Id, imgStruct, unsignedByte, printValue), // TIFF tag
TagInfo(0x0151, "TargetPrinter", N_("Target Printer"),
N_("A description of the printing environment for which this separation is intended."),
ifd0Id, imgStruct, asciiString, printValue), // TIFF tag
TagInfo(0x0152, "ExtraSamples", N_("Extra Samples"),
N_("Specifies that each pixel has m extra components whose interpretation "
"is defined by one of the values listed below."),
ifd0Id, imgStruct, unsignedShort, printValue), // TIFF tag
TagInfo(0x0153, "SampleFormat", N_("Sample Format"),
N_("This field specifies how to interpret each data sample in a pixel."),
ifd0Id, imgStruct, unsignedShort, EXV_PRINT_TAG(exifSampleFormat)), // TIFF tag
TagInfo(0x0154, "SMinSampleValue", N_("SMin Sample Value"),
N_("This field specifies the minimum sample value."),
ifd0Id, imgStruct, unsignedShort, printValue), // TIFF tag
TagInfo(0x0155, "SMaxSampleValue", N_("SMax Sample Value"),
N_("This field specifies the maximum sample value."),
ifd0Id, imgStruct, unsignedShort, printValue), // TIFF tag
TagInfo(0x0156, "TransferRange", N_("Transfer Range"), TagInfo(0x0156, "TransferRange", N_("Transfer Range"),
N_("Expands the range of the TransferFunction"), N_("Expands the range of the TransferFunction"),
ifd0Id, imgCharacter, unsignedShort, printValue), // TIFF tag ifd0Id, imgCharacter, unsignedShort, printValue), // TIFF tag
@ -566,6 +638,29 @@ namespace Exiv2 {
"not be recorded. Compressed thumbnails must be recorded in no " "not be recorded. Compressed thumbnails must be recorded in no "
"more than 64 Kbytes, including all other data to be recorded in APP1."), "more than 64 Kbytes, including all other data to be recorded in APP1."),
ifd0Id, recOffset, unsignedLong, printValue), ifd0Id, recOffset, unsignedLong, printValue),
TagInfo(0x0203, "JPEGRestartInterval", N_("JPEG Restart Interval"),
N_("This Field indicates the length of the restart interval used "
"in the compressed image data."),
ifd0Id, imgStruct, unsignedShort, printValue), // TIFF tag
TagInfo(0x0205, "JPEGLosslessPredictors", N_("JPEG Lossless Predictors"),
N_("This Field points to a list of lossless predictor-selection "
"values, one per component."),
ifd0Id, imgStruct, unsignedShort, EXV_PRINT_TAG(exifJpegLosslessPredictor)), // TIFF tag
TagInfo(0x0206, "JPEGPointTransforms", N_("JPEG Point Transforms"),
N_("This Field points to a list of point transform values, one per component."),
ifd0Id, imgStruct, unsignedShort, printValue), // TIFF tag
TagInfo(0x0207, "JPEGQTables", N_("JPEG Q-Tables"),
N_("This Field points to a list of offsets to the quantization tables, "
"one per component."),
ifd0Id, imgStruct, unsignedLong, printValue), // TIFF tag
TagInfo(0x0208, "JPEGDCTables", N_("JPEG DC-Tables"),
N_("This Field points to a list of offsets to the DC Huffman tables or "
"the lossless Huffman tables, one per component."),
ifd0Id, imgStruct, unsignedLong, printValue), // TIFF tag
TagInfo(0x0209, "JPEGACTables", N_("JPEG AC-Tables"),
N_("This Field points to a list of offsets to the Huffman AC tables, "
"one per component."),
ifd0Id, imgStruct, unsignedLong, printValue), // TIFF tag
TagInfo(0x0211, "YCbCrCoefficients", N_("YCbCr Coefficients"), TagInfo(0x0211, "YCbCrCoefficients", N_("YCbCr Coefficients"),
N_("The matrix coefficients for transformation from RGB to YCbCr " N_("The matrix coefficients for transformation from RGB to YCbCr "
"image data. No default is given in TIFF; but here the " "image data. No default is given in TIFF; but here the "

@ -1028,6 +1028,8 @@ namespace Exiv2 {
// IFD1 // IFD1
{ 0x0111, Group::ifd1, newTiffThumbData<0x0117, Group::ifd1> }, { 0x0111, Group::ifd1, newTiffThumbData<0x0117, Group::ifd1> },
{ 0x0117, Group::ifd1, newTiffThumbSize<0x0111, Group::ifd1> }, { 0x0117, Group::ifd1, newTiffThumbSize<0x0111, Group::ifd1> },
{ 0x0144, Group::ifd1, newTiffImageData<0x0145, Group::ifd1> },
{ 0x0145, Group::ifd1, newTiffImageSize<0x0144, Group::ifd1> },
{ 0x0201, Group::ifd1, newTiffThumbData<0x0202, Group::ifd1> }, { 0x0201, Group::ifd1, newTiffThumbData<0x0202, Group::ifd1> },
{ 0x0202, Group::ifd1, newTiffThumbSize<0x0201, Group::ifd1> }, { 0x0202, Group::ifd1, newTiffThumbSize<0x0201, Group::ifd1> },
{ Tag::next, Group::ifd1, newTiffDirectory<Group::ifd2> }, { Tag::next, Group::ifd1, newTiffDirectory<Group::ifd2> },
@ -1036,6 +1038,8 @@ namespace Exiv2 {
// IFD2 (eg, in Pentax PEF and Canon CR2 files) // IFD2 (eg, in Pentax PEF and Canon CR2 files)
{ 0x0111, Group::ifd2, newTiffImageData<0x0117, Group::ifd2> }, { 0x0111, Group::ifd2, newTiffImageData<0x0117, Group::ifd2> },
{ 0x0117, Group::ifd2, newTiffImageSize<0x0111, Group::ifd2> }, { 0x0117, Group::ifd2, newTiffImageSize<0x0111, Group::ifd2> },
{ 0x0144, Group::ifd1, newTiffImageData<0x0145, Group::ifd2> },
{ 0x0145, Group::ifd1, newTiffImageSize<0x0144, Group::ifd2> },
{ 0x0201, Group::ifd2, newTiffImageData<0x0202, Group::ifd2> }, { 0x0201, Group::ifd2, newTiffImageData<0x0202, Group::ifd2> },
{ 0x0202, Group::ifd2, newTiffImageSize<0x0201, Group::ifd2> }, { 0x0202, Group::ifd2, newTiffImageSize<0x0201, Group::ifd2> },
{ Tag::next, Group::ifd2, newTiffDirectory<Group::ifd3> }, { Tag::next, Group::ifd2, newTiffDirectory<Group::ifd3> },
@ -1044,6 +1048,8 @@ namespace Exiv2 {
// IFD3 (eg, in Canon CR2 files) // IFD3 (eg, in Canon CR2 files)
{ 0x0111, Group::ifd3, newTiffImageData<0x0117, Group::ifd3> }, { 0x0111, Group::ifd3, newTiffImageData<0x0117, Group::ifd3> },
{ 0x0117, Group::ifd3, newTiffImageSize<0x0111, Group::ifd3> }, { 0x0117, Group::ifd3, newTiffImageSize<0x0111, Group::ifd3> },
{ 0x0144, Group::ifd1, newTiffImageData<0x0145, Group::ifd3> },
{ 0x0145, Group::ifd1, newTiffImageSize<0x0144, Group::ifd3> },
{ 0x0201, Group::ifd3, newTiffImageData<0x0202, Group::ifd3> }, { 0x0201, Group::ifd3, newTiffImageData<0x0202, Group::ifd3> },
{ 0x0202, Group::ifd3, newTiffImageSize<0x0201, Group::ifd3> }, { 0x0202, Group::ifd3, newTiffImageSize<0x0201, Group::ifd3> },
{ Tag::next, Group::ifd3, newTiffDirectory<Group::ignr> }, { Tag::next, Group::ifd3, newTiffDirectory<Group::ignr> },
@ -1676,35 +1682,29 @@ namespace Exiv2 {
{ 0x0143, Group::ifd0 }, // Exif.Image.TileLength { 0x0143, Group::ifd0 }, // Exif.Image.TileLength
{ 0x0144, Group::ifd0 }, // Exif.Image.TileOffsets { 0x0144, Group::ifd0 }, // Exif.Image.TileOffsets
{ 0x0145, Group::ifd0 }, // Exif.Image.TileByteCounts { 0x0145, Group::ifd0 }, // Exif.Image.TileByteCounts
{ 0x014c, Group::ifd0 }, // Exif.Image.InkSet - { 0x014c, Group::ifd0 }, // Exif.Image.InkSet
{ 0x014d, Group::ifd0 }, // Exif.Image.InkNames - { 0x014d, Group::ifd0 }, // Exif.Image.InkNames
{ 0x014e, Group::ifd0 }, // Exif.Image.NumberOfInks - { 0x014e, Group::ifd0 }, // Exif.Image.NumberOfInks
{ 0x0150, Group::ifd0 }, // Exif.Image.DotRange - { 0x0150, Group::ifd0 }, // Exif.Image.DotRange
{ 0x0151, Group::ifd0 }, // Exif.Image.TargetPrinter - { 0x0151, Group::ifd0 }, // Exif.Image.TargetPrinter
{ 0x0152, Group::ifd0 }, // Exif.Image.ExtraSamples - { 0x0152, Group::ifd0 }, // Exif.Image.ExtraSamples
{ 0x0153, Group::ifd0 }, // Exif.Image.SampleFormat - { 0x0153, Group::ifd0 }, // Exif.Image.SampleFormat
{ 0x0154, Group::ifd0 }, // Exif.Image.SMinSampleValue - { 0x0154, Group::ifd0 }, // Exif.Image.SMinSampleValue
{ 0x0155, Group::ifd0 }, // Exif.Image.SMaxSampleValue - { 0x0155, Group::ifd0 }, // Exif.Image.SMaxSampleValue
{ 0x0156, Group::ifd0 }, // Exif.Image.TransferRange { 0x0156, Group::ifd0 }, // Exif.Image.TransferRange
{ 0x0200, Group::ifd0 }, // Exif.Image.JPEGProc { 0x0200, Group::ifd0 }, // Exif.Image.JPEGProc
{ 0x0201, Group::ifd0 }, // Exif.Image.JPEGInterchangeFormat { 0x0201, Group::ifd0 }, // Exif.Image.JPEGInterchangeFormat
{ 0x0202, Group::ifd0 }, // Exif.Image.JPEGInterchangeFormatLength { 0x0202, Group::ifd0 }, // Exif.Image.JPEGInterchangeFormatLength
{ 0x0203, Group::ifd0 }, // Exif.Image.JPEGRestartInterval - { 0x0203, Group::ifd0 }, // Exif.Image.JPEGRestartInterval
{ 0x0205, Group::ifd0 }, // Exif.Image.JPEGLosslessPredictors - { 0x0205, Group::ifd0 }, // Exif.Image.JPEGLosslessPredictors
{ 0x0206, Group::ifd0 }, // Exif.Image.JPEGPointTransforms - { 0x0206, Group::ifd0 }, // Exif.Image.JPEGPointTransforms
{ 0x0207, Group::ifd0 }, // Exif.Image.JPEGQTables - { 0x0207, Group::ifd0 }, // Exif.Image.JPEGQTables
{ 0x0208, Group::ifd0 }, // Exif.Image.JPEGDCTables - { 0x0208, Group::ifd0 }, // Exif.Image.JPEGDCTables
{ 0x0209, Group::ifd0 }, // Exif.Image.JPEGACTables - { 0x0209, Group::ifd0 }, // Exif.Image.JPEGACTables
{ 0x0211, Group::ifd0 }, // Exif.Image.YCbCrCoefficients { 0x0211, Group::ifd0 }, // Exif.Image.YCbCrCoefficients
{ 0x0212, Group::ifd0 }, // Exif.Image.YCbCSubSampling { 0x0212, Group::ifd0 }, // Exif.Image.YCbCSubSampling
{ 0x0213, Group::ifd0 }, // Exif.Image.YCbCrPositioning { 0x0213, Group::ifd0 }, // Exif.Image.YCbCrPositioning
{ 0x0214, Group::ifd0 }, // Exif.Image.ReferenceBlackWhite { 0x0214, Group::ifd0 }, // Exif.Image.ReferenceBlackWhite
/* other unknown TIFF tags (not image tags)
107, Thresholding -
108, CellWidth -
109, CellLength -
*/
}; };
if (!hasImageTags_) { if (!hasImageTags_) {

Loading…
Cancel
Save