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") }
};
//! 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
extern const TagDetails exifOrientation[] = {
{ 1, N_("top, left") },
@ -307,6 +314,31 @@ namespace Exiv2 {
{ 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
extern const TagDetails exifYCbCrPositioning[] = {
{ 1, N_("Centered") },
@ -391,6 +423,18 @@ namespace Exiv2 {
N_("The pixel composition. In JPEG compressed data a JPEG "
"marker is used instead of this tag."),
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"),
N_("The logical order of bits within a byte"),
ifd0Id, imgStruct, unsignedShort, printValue), // TIFF tag
@ -544,6 +588,34 @@ namespace Exiv2 {
TagInfo(0x014a, "SubIFDs", N_("SubIFD Offsets"),
N_("Defined by Adobe Corporation to enable TIFF Trees within a TIFF file."),
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"),
N_("Expands the range of the TransferFunction"),
ifd0Id, imgCharacter, unsignedShort, printValue), // TIFF tag
@ -566,6 +638,29 @@ namespace Exiv2 {
"not be recorded. Compressed thumbnails must be recorded in no "
"more than 64 Kbytes, including all other data to be recorded in APP1."),
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"),
N_("The matrix coefficients for transformation from RGB to YCbCr "
"image data. No default is given in TIFF; but here the "

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

Loading…
Cancel
Save