TagDefinitions.h revision 8c472f09e49884146ef7d83917ec482208d320c2
1/* 2 * Copyright 2014 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17#ifndef IMG_UTILS_TIFF_TAG_DEFINITION_H 18#define IMG_UTILS_TIFF_TAG_DEFINITION_H 19 20#include <img_utils/TiffEntry.h> 21#include <img_utils/Output.h> 22#include <img_utils/TiffHelpers.h> 23#include <stdint.h> 24 25namespace android { 26namespace img_utils { 27 28/** 29 * Tag definitions contain information about standard TIFF compatible tags. 30 */ 31typedef struct TagDefinition { 32 // The specified tag ID. 33 uint16_t tagId; 34 // The default type for this tag. This must be a valid TIFF type. 35 TagType defaultType; 36 // The default Image File Directory (IFD) for this tag. 37 uint32_t defaultIfd; 38 // The valid count for this tag, or 0 if the count is not fixed. 39 uint32_t fixedCount; 40 // The endianness of the tag value, or UNDEFINED_ENDIAN if there is no fixed endian 41 Endianness fixedEndian; 42} TagDefinition_t; 43 44/** 45 * Convenience defines for tag ids. 46 */ 47enum { 48 TAG_RAWTOPREVIEWGAIN = 0xC7A8u, 49 TAG_NEWRAWIMAGEDIGEST = 0xC7A7u, 50 TAG_ORIGINALDEFAULTCROPSIZE = 0xC793u, 51 TAG_ORIGINALBESTQUALITYFINALSIZE = 0xC792u, 52 TAG_ORIGINALDEFAULTFINALSIZE = 0xC791u, 53 TAG_PROFILEHUESATMAPENCODING = 0xC7A3u, 54 TAG_PROFILELOOKTABLEENCODING = 0xC7A4u, 55 TAG_BASELINEEXPOSUREOFFSET = 0xC7A5u, 56 TAG_DEFAULTBLACKRENDER = 0xC7A6u, 57 TAG_DEFAULTUSERCROP = 0xC7B5u, 58 TAG_NOISEPROFILE = 0xC761u, 59 TAG_OPCODELIST3 = 0xC74Eu, 60 TAG_OPCODELIST2 = 0xC741u, 61 TAG_OPCODELIST1 = 0xC740u, 62 TAG_PROFILELOOKTABLEDATA = 0xC726u, 63 TAG_PROFILELOOKTABLEDIMS = 0xC725u, 64 TAG_ROWINTERLEAVEFACTOR = 0xC71Fu, 65 TAG_SUBTILEBLOCKSIZE = 0xC71Eu, 66 TAG_ORIGINALRAWFILEDIGEST = 0xC71Du, 67 TAG_RAWIMAGEDIGEST = 0xC71Cu, 68 TAG_PREVIEWDATETIME = 0xC71Bu, 69 TAG_PREVIEWCOLORSPACE = 0xC71Au, 70 TAG_PREVIEWSETTINGSDIGEST = 0xC719u, 71 TAG_PREVIEWSETTINGSNAME = 0xC718u, 72 TAG_PREVIEWAPPLICATIONVERSION = 0xC717u, 73 TAG_PREVIEWAPPLICATIONNAME = 0xC716u, 74 TAG_FORWARDMATRIX2 = 0xC715u, 75 TAG_FORWARDMATRIX1 = 0xC714u, 76 TAG_PROFILECOPYRIGHT = 0xC6FEu, 77 TAG_PROFILEEMBEDPOLICY = 0xC6FDu, 78 TAG_PROFILETONECURVE = 0xC6FCu, 79 TAG_PROFILEHUESATMAPDATA2 = 0xC6FBu, 80 TAG_PROFILEHUESATMAPDATA1 = 0xC6FAu, 81 TAG_PROFILEHUESATMAPDIMS = 0xC6F9u, 82 TAG_PROFILENAME = 0xC6F8u, 83 TAG_NOISEREDUCTIONAPPLIED = 0xC6F7u, 84 TAG_ASSHOTPROFILENAME = 0xC6F6u, 85 TAG_EXTRACAMERAPROFILES = 0xC6F5u, 86 TAG_PROFILECALIBRATIONSIGNATURE = 0xC6F4u, 87 TAG_CAMERACALIBRATIONSIGNATURE = 0xC6F3u, 88 TAG_COLORIMETRICREFERENCE = 0xC6BFu, 89 TAG_CURRENTPREPROFILEMATRIX = 0xC692u, 90 TAG_CURRENTICCPROFILE = 0xC691u, 91 TAG_ASSHOTPREPROFILEMATRIX = 0xC690u, 92 TAG_ASSHOTICCPROFILE = 0xC68Fu, 93 TAG_MASKEDAREAS = 0xC68Eu, 94 TAG_ACTIVEAREA = 0xC68Du, 95 TAG_ORIGINALRAWFILEDATA = 0xC68Cu, 96 TAG_ORIGINALRAWFILENAME = 0xC68Bu, 97 TAG_RAWDATAUNIQUEID = 0xC65Du, 98 TAG_MAKERNOTESAFETY = 0xC635u, 99 TAG_DNGPRIVATEDATA = 0xC634u, 100 TAG_SHADOWSCALE = 0xC633u, 101 TAG_ANTIALIASSTRENGTH = 0xC632u, 102 TAG_CHROMABLURRADIUS = 0xC631u, 103 TAG_LENSINFO = 0xC630u, 104 TAG_CAMERASERIALNUMBER = 0xC62Fu, 105 TAG_LINEARRESPONSELIMIT = 0xC62Eu, 106 TAG_BAYERGREENSPLIT = 0xC62Du, 107 TAG_BASELINESHARPNESS = 0xC62Cu, 108 TAG_BASELINENOISE = 0xC62Bu, 109 TAG_BASELINEEXPOSURE = 0xC62Au, 110 TAG_ASSHOTWHITEXY = 0xC629u, 111 TAG_ASSHOTNEUTRAL = 0xC628u, 112 TAG_ANALOGBALANCE = 0xC627u, 113 TAG_REDUCTIONMATRIX2 = 0xC626u, 114 TAG_REDUCTIONMATRIX1 = 0xC625u, 115 TAG_CAMERACALIBRATION2 = 0xC624u, 116 TAG_CAMERACALIBRATION1 = 0xC623u, 117 TAG_COLORMATRIX2 = 0xC622u, 118 TAG_COLORMATRIX1 = 0xC621u, 119 TAG_CALIBRATIONILLUMINANT2 = 0xC65Bu, 120 TAG_CALIBRATIONILLUMINANT1 = 0xC65Au, 121 TAG_DEFAULTCROPSIZE = 0xC620u, 122 TAG_DEFAULTCROPORIGIN = 0xC61Fu, 123 TAG_BESTQUALITYSCALE = 0xC65Cu, 124 TAG_DEFAULTSCALE = 0xC61Eu, 125 TAG_WHITELEVEL = 0xC61Du, 126 TAG_BLACKLEVELDELTAV = 0xC61Cu, 127 TAG_BLACKLEVELDELTAH = 0xC61Bu, 128 TAG_BLACKLEVEL = 0xC61Au, 129 TAG_BLACKLEVELREPEATDIM = 0xC619u, 130 TAG_LINEARIZATIONTABLE = 0xC618u, 131 TAG_CFALAYOUT = 0xC617u, 132 TAG_CFAPLANECOLOR = 0xC616u, 133 TAG_LOCALIZEDCAMERAMODEL = 0xC615u, 134 TAG_UNIQUECAMERAMODEL = 0xC614u, 135 TAG_DNGBACKWARDVERSION = 0xC613u, 136 TAG_DNGVERSION = 0xC612u, 137 TAG_SUBFILETYPE = 0x00FFu, 138 TAG_YRESOLUTION = 0x011Bu, 139 TAG_XRESOLUTION = 0x011Au, 140 TAG_THRESHHOLDING = 0x0107u, 141 TAG_STRIPOFFSETS = 0x0111u, 142 TAG_STRIPBYTECOUNTS = 0x0117u, 143 TAG_SOFTWARE = 0x0131u, 144 TAG_SAMPLESPERPIXEL = 0x0115u, 145 TAG_ROWSPERSTRIP = 0x0116u, 146 TAG_RESOLUTIONUNIT = 0x0128u, 147 TAG_PLANARCONFIGURATION = 0x011Cu, 148 TAG_PHOTOMETRICINTERPRETATION = 0x0106u, 149 TAG_ORIENTATION = 0x0112u, 150 TAG_NEWSUBFILETYPE = 0x00FEu, 151 TAG_MODEL = 0x0110u, 152 TAG_MINSAMPLEVALUE = 0x0118u, 153 TAG_MAXSAMPLEVALUE = 0x0119u, 154 TAG_MAKE = 0x010Fu, 155 TAG_IMAGEWIDTH = 0x0100u, 156 TAG_IMAGELENGTH = 0x0101u, 157 TAG_IMAGEDESCRIPTION = 0x010Eu, 158 TAG_HOSTCOMPUTER = 0x013Cu, 159 TAG_GRAYRESPONSEUNIT = 0x0122u, 160 TAG_GRAYRESPONSECURVE = 0x0123u, 161 TAG_FREEOFFSETS = 0x0120u, 162 TAG_FREEBYTECOUNTS = 0x0121u, 163 TAG_FILLORDER = 0x010Au, 164 TAG_EXTRASAMPLES = 0x0152u, 165 TAG_DATETIME = 0x0132u, 166 TAG_COPYRIGHT = 0x8298u, 167 TAG_COMPRESSION = 0x0103u, 168 TAG_COLORMAP = 0x0140u, 169 TAG_CELLWIDTH = 0x0108u, 170 TAG_CELLLENGTH = 0x0109u, 171 TAG_BITSPERSAMPLE = 0x0102u, 172 TAG_ARTIST = 0x013Bu, 173 TAG_EXIFVERSION = 0x9000u, 174 TAG_CFAREPEATPATTERNDIM = 0x828Du, 175 TAG_DATETIMEORIGINAL = 0x9003u, 176 TAG_CFAPATTERN = 0x828Eu, 177 TAG_SUBIFDS = 0x014Au, 178 TAG_TIFFEPSTANDARDID = 0x9216u, 179 TAG_EXPOSURETIME = 0x829Au, 180 TAG_ISOSPEEDRATINGS = 0x8827u, 181 TAG_FOCALLENGTH = 0x920Au, 182 TAG_FNUMBER = 0x829Du, 183}; 184 185/** 186 * TIFF_EP_TAG_DEFINITIONS contains tags defined in the TIFF EP spec 187 */ 188const TagDefinition_t TIFF_EP_TAG_DEFINITIONS[] = { 189 { // PhotometricInterpretation 190 0x0106u, 191 SHORT, 192 IFD_0, 193 1, 194 UNDEFINED_ENDIAN 195 }, 196 { // SubIfds 197 0x014Au, 198 LONG, 199 IFD_0, 200 0, 201 UNDEFINED_ENDIAN 202 }, 203 { // CFAPattern 204 0x828Eu, 205 BYTE, 206 IFD_0, 207 0, 208 UNDEFINED_ENDIAN 209 }, 210 { // CFARepeatPatternDim 211 0x828Du, 212 SHORT, 213 IFD_0, 214 2, 215 UNDEFINED_ENDIAN 216 }, 217 { // DateTimeOriginal 218 0x9003u, 219 ASCII, 220 IFD_0, 221 20, 222 UNDEFINED_ENDIAN 223 }, 224 { // Tiff/EPStandardID 225 0x9216u, 226 BYTE, 227 IFD_0, 228 4, 229 UNDEFINED_ENDIAN 230 }, 231 { // ExposureTime 232 0x829Au, 233 RATIONAL, 234 IFD_0, 235 0, 236 UNDEFINED_ENDIAN 237 }, 238 { // ISOSpeedRatings 239 0x8827u, 240 SHORT, 241 IFD_0, 242 0, 243 UNDEFINED_ENDIAN 244 }, 245 { // FocalLength 246 0x920Au, 247 RATIONAL, 248 IFD_0, 249 0, 250 UNDEFINED_ENDIAN 251 }, 252 { // FNumber 253 0x829Du, 254 RATIONAL, 255 IFD_0, 256 0, 257 UNDEFINED_ENDIAN 258 }, 259 /*TODO: Remaining TIFF EP tags*/ 260}; 261 262/** 263 * EXIF_2_3_TAG_DEFINITIONS contains tags defined in the Jeita EXIF 2.3 spec 264 */ 265const TagDefinition_t EXIF_2_3_TAG_DEFINITIONS[] = { 266 { // ExifVersion 267 0x9000u, 268 UNDEFINED, 269 IFD_0, 270 4, 271 UNDEFINED_ENDIAN 272 }, 273 /*TODO: Remaining EXIF 2.3 tags*/ 274}; 275 276/** 277 * TIFF_6_TAG_DEFINITIONS contains tags defined in the TIFF 6.0 spec 278 */ 279const TagDefinition_t TIFF_6_TAG_DEFINITIONS[] = { 280 { // SubFileType 281 0x00FFu, 282 SHORT, 283 IFD_0, 284 1, 285 UNDEFINED_ENDIAN 286 }, 287 { // Artist 288 0x013Bu, 289 ASCII, 290 IFD_0, 291 0, 292 UNDEFINED_ENDIAN 293 }, 294 { // BitsPerSample 295 0x0102u, 296 SHORT, 297 IFD_0, 298 0, 299 UNDEFINED_ENDIAN 300 }, 301 { // CellLength 302 0x0109u, 303 SHORT, 304 IFD_0, 305 1, 306 UNDEFINED_ENDIAN 307 }, 308 { // CellWidth 309 0x0108u, 310 SHORT, 311 IFD_0, 312 1, 313 UNDEFINED_ENDIAN 314 }, 315 { // ColorMap 316 0x0140u, 317 SHORT, 318 IFD_0, 319 0, 320 UNDEFINED_ENDIAN 321 }, 322 { // Compression 323 0x0103u, 324 SHORT, 325 IFD_0, 326 1, 327 UNDEFINED_ENDIAN 328 }, 329 { // Copyright 330 0x8298u, 331 ASCII, 332 IFD_0, 333 0, 334 UNDEFINED_ENDIAN 335 }, 336 { // DateTime 337 0x0132u, 338 ASCII, 339 IFD_0, 340 20, 341 UNDEFINED_ENDIAN 342 }, 343 { // ExtraSamples 344 0x0152u, 345 SHORT, 346 IFD_0, 347 0, 348 UNDEFINED_ENDIAN 349 }, 350 { // FillOrder 351 0x010Au, 352 SHORT, 353 IFD_0, 354 1, 355 UNDEFINED_ENDIAN 356 }, 357 { // FreeByteCounts 358 0x0121u, 359 LONG, 360 IFD_0, 361 1, 362 UNDEFINED_ENDIAN 363 }, 364 { // FreeOffsets 365 0x0120u, 366 LONG, 367 IFD_0, 368 1, 369 UNDEFINED_ENDIAN 370 }, 371 { // GrayResponseCurve 372 0x0123u, 373 SHORT, 374 IFD_0, 375 0, 376 UNDEFINED_ENDIAN 377 }, 378 { // GrayResponseUnit 379 0x0122u, 380 SHORT, 381 IFD_0, 382 1, 383 UNDEFINED_ENDIAN 384 }, 385 { // HostComputer 386 0x013Cu, 387 ASCII, 388 IFD_0, 389 0, 390 UNDEFINED_ENDIAN 391 }, 392 { // ImageDescription 393 0x010Eu, 394 ASCII, 395 IFD_0, 396 0, 397 UNDEFINED_ENDIAN 398 }, 399 { // ImageLength 400 0x0101u, 401 LONG, 402 IFD_0, 403 1, 404 UNDEFINED_ENDIAN 405 }, 406 { // ImageWidth 407 0x0100u, 408 LONG, 409 IFD_0, 410 1, 411 UNDEFINED_ENDIAN 412 }, 413 { // Make 414 0x010Fu, 415 ASCII, 416 IFD_0, 417 0, 418 UNDEFINED_ENDIAN 419 }, 420 { // MaxSampleValue 421 0x0119u, 422 SHORT, 423 IFD_0, 424 0, 425 UNDEFINED_ENDIAN 426 }, 427 { // MinSampleValue 428 0x0118u, 429 SHORT, 430 IFD_0, 431 0, 432 UNDEFINED_ENDIAN 433 }, 434 { // Model 435 0x0110u, 436 ASCII, 437 IFD_0, 438 0, 439 UNDEFINED_ENDIAN 440 }, 441 { // NewSubfileType 442 0x00FEu, 443 LONG, 444 IFD_0, 445 1, 446 UNDEFINED_ENDIAN 447 }, 448 { // Orientation 449 0x0112u, 450 SHORT, 451 IFD_0, 452 1, 453 UNDEFINED_ENDIAN 454 }, 455 { // PhotoMetricInterpretation 456 0x0106u, 457 SHORT, 458 IFD_0, 459 1, 460 UNDEFINED_ENDIAN 461 }, 462 { // PlanarConfiguration 463 0x011Cu, 464 SHORT, 465 IFD_0, 466 1, 467 UNDEFINED_ENDIAN 468 }, 469 { // ResolutionUnit 470 0x0128u, 471 SHORT, 472 IFD_0, 473 1, 474 UNDEFINED_ENDIAN 475 }, 476 { // RowsPerStrip 477 0x0116u, 478 LONG, 479 IFD_0, 480 1, 481 UNDEFINED_ENDIAN 482 }, 483 { // SamplesPerPixel 484 0x0115u, 485 SHORT, 486 IFD_0, 487 1, 488 UNDEFINED_ENDIAN 489 }, 490 { // Software 491 0x0131u, 492 ASCII, 493 IFD_0, 494 0, 495 UNDEFINED_ENDIAN 496 }, 497 { // StripByteCounts 498 0x0117u, 499 LONG, 500 IFD_0, 501 0, 502 UNDEFINED_ENDIAN 503 }, 504 { // StripOffsets 505 0x0111u, 506 LONG, 507 IFD_0, 508 0, 509 UNDEFINED_ENDIAN 510 }, 511 { // SubfileType 512 0x00FFu, 513 SHORT, 514 IFD_0, 515 1, 516 UNDEFINED_ENDIAN 517 }, 518 { // Threshholding 519 0x0107u, 520 SHORT, 521 IFD_0, 522 1, 523 UNDEFINED_ENDIAN 524 }, 525 { // XResolution 526 0x011Au, 527 RATIONAL, 528 IFD_0, 529 1, 530 UNDEFINED_ENDIAN 531 }, 532 { // YResolution 533 0x011Bu, 534 RATIONAL, 535 IFD_0, 536 1, 537 UNDEFINED_ENDIAN 538 }, 539 { // YResolution 540 0x011Bu, 541 RATIONAL, 542 IFD_0, 543 1, 544 UNDEFINED_ENDIAN 545 } 546}; 547 548/** 549 * DNG_TAG_DEFINITIONS contains tags defined in the DNG 1.4 spec 550 */ 551const TagDefinition_t DNG_TAG_DEFINITIONS[] = { 552 { // DNGVersion 553 0xC612u, 554 BYTE, 555 IFD_0, 556 4, 557 UNDEFINED_ENDIAN 558 }, 559 { // DNGBackwardVersion 560 0xC613u, 561 BYTE, 562 IFD_0, 563 4, 564 UNDEFINED_ENDIAN 565 }, 566 { // UniqueCameraModel 567 0xC614u, 568 ASCII, 569 IFD_0, 570 0, 571 UNDEFINED_ENDIAN 572 }, 573 { // LocalizedCameraModel 574 0xC615u, 575 ASCII, 576 IFD_0, 577 0, 578 UNDEFINED_ENDIAN 579 }, 580 { // CFAPlaneColor 581 0xC616u, 582 BYTE, 583 RAW_IFD, 584 0, 585 UNDEFINED_ENDIAN 586 }, 587 { // CFALayout 588 0xC617u, 589 SHORT, 590 RAW_IFD, 591 1, 592 UNDEFINED_ENDIAN 593 }, 594 { // LinearizationTable 595 0xC618u, 596 SHORT, 597 RAW_IFD, 598 0, 599 UNDEFINED_ENDIAN 600 }, 601 { // BlackLevelRepeatDim 602 0xC619u, 603 SHORT, 604 RAW_IFD, 605 2, 606 UNDEFINED_ENDIAN 607 }, 608 { // BlackLevel 609 0xC61Au, 610 LONG, 611 RAW_IFD, 612 0, 613 UNDEFINED_ENDIAN 614 }, 615 { // BlackLevelDeltaH 616 0xC61Bu, 617 SRATIONAL, 618 RAW_IFD, 619 0, 620 UNDEFINED_ENDIAN 621 }, 622 { // BlackLevelDeltaV 623 0xC61Cu, 624 SRATIONAL, 625 RAW_IFD, 626 0, 627 UNDEFINED_ENDIAN 628 }, 629 { // WhiteLevel 630 0xC61Du, 631 LONG, 632 RAW_IFD, 633 0, 634 UNDEFINED_ENDIAN 635 }, 636 { // DefaultScale 637 0xC61Eu, 638 RATIONAL, 639 RAW_IFD, 640 2, 641 UNDEFINED_ENDIAN 642 }, 643 { // BestQualityScale 644 0xC65Cu, 645 RATIONAL, 646 RAW_IFD, 647 1, 648 UNDEFINED_ENDIAN 649 }, 650 { // DefaultCropOrigin 651 0xC61Fu, 652 LONG, 653 RAW_IFD, 654 2, 655 UNDEFINED_ENDIAN 656 }, 657 { // DefaultCropSize 658 0xC620u, 659 LONG, 660 RAW_IFD, 661 2, 662 UNDEFINED_ENDIAN 663 }, 664 { // CalibrationIlluminant1 665 0xC65Au, 666 SHORT, 667 PROFILE_IFD, 668 1, 669 UNDEFINED_ENDIAN 670 }, 671 { // CalibrationIlluminant2 672 0xC65Bu, 673 SHORT, 674 PROFILE_IFD, 675 1, 676 UNDEFINED_ENDIAN 677 }, 678 { // ColorMatrix1 679 0xC621u, 680 SRATIONAL, 681 PROFILE_IFD, 682 0, 683 UNDEFINED_ENDIAN 684 }, 685 { // ColorMatrix2 686 0xC622u, 687 SRATIONAL, 688 PROFILE_IFD, 689 0, 690 UNDEFINED_ENDIAN 691 }, 692 { // CameraCalibration1 693 0xC623u, 694 SRATIONAL, 695 IFD_0, 696 0, 697 UNDEFINED_ENDIAN 698 }, 699 { // CameraCalibration2 700 0xC624u, 701 SRATIONAL, 702 IFD_0, 703 0, 704 UNDEFINED_ENDIAN 705 }, 706 { // ReductionMatrix1 707 0xC625u, 708 SRATIONAL, 709 PROFILE_IFD, 710 0, 711 UNDEFINED_ENDIAN 712 }, 713 { // ReductionMatrix2 714 0xC626u, 715 SRATIONAL, 716 PROFILE_IFD, 717 0, 718 UNDEFINED_ENDIAN 719 }, 720 { // AnalogBalance 721 0xC627u, 722 RATIONAL, 723 IFD_0, 724 0, 725 UNDEFINED_ENDIAN 726 }, 727 { // AsShotNeutral 728 0xC628u, 729 RATIONAL, 730 IFD_0, 731 0, 732 UNDEFINED_ENDIAN 733 }, 734 { // AsShotWhiteXY 735 0xC629u, 736 RATIONAL, 737 IFD_0, 738 2, 739 UNDEFINED_ENDIAN 740 }, 741 { // BaselineExposure 742 0xC62Au, 743 SRATIONAL, 744 IFD_0, 745 1, 746 UNDEFINED_ENDIAN 747 }, 748 { // BaselineNoise 749 0xC62Bu, 750 RATIONAL, 751 IFD_0, 752 1, 753 UNDEFINED_ENDIAN 754 }, 755 { // BaselineSharpness 756 0xC62Cu, 757 RATIONAL, 758 IFD_0, 759 1, 760 UNDEFINED_ENDIAN 761 }, 762 { // BayerGreenSplit 763 0xC62Du, 764 LONG, 765 RAW_IFD, 766 1, 767 UNDEFINED_ENDIAN 768 }, 769 { // LinearResponseLimit 770 0xC62Eu, 771 RATIONAL, 772 IFD_0, 773 1, 774 UNDEFINED_ENDIAN 775 }, 776 { // CameraSerialNumber 777 0xC62Fu, 778 ASCII, 779 IFD_0, 780 0, 781 UNDEFINED_ENDIAN 782 }, 783 { // LensInfo 784 0xC630u, 785 RATIONAL, 786 IFD_0, 787 4, 788 UNDEFINED_ENDIAN 789 }, 790 { // ChromaBlurRadius 791 0xC631u, 792 RATIONAL, 793 RAW_IFD, 794 1, 795 UNDEFINED_ENDIAN 796 }, 797 { // AntiAliasStrength 798 0xC632u, 799 RATIONAL, 800 RAW_IFD, 801 1, 802 UNDEFINED_ENDIAN 803 }, 804 { // ShadowScale 805 0xC633u, 806 RATIONAL, 807 IFD_0, 808 1, 809 UNDEFINED_ENDIAN 810 }, 811 { // DNGPrivateData 812 0xC634u, 813 BYTE, 814 IFD_0, 815 0, 816 UNDEFINED_ENDIAN 817 }, 818 { // MakerNoteSafety 819 0xC635u, 820 SHORT, 821 IFD_0, 822 1, 823 UNDEFINED_ENDIAN 824 }, 825 { // RawDataUniqueID 826 0xC65Du, 827 BYTE, 828 IFD_0, 829 16, 830 UNDEFINED_ENDIAN 831 }, 832 { // OriginalRawFileName 833 0xC68Bu, 834 ASCII, 835 IFD_0, 836 0, 837 UNDEFINED_ENDIAN 838 }, 839 { // OriginalRawFileData 840 0xC68Cu, 841 UNDEFINED, 842 IFD_0, 843 0, 844 BIG 845 }, 846 { // ActiveArea 847 0xC68Du, 848 LONG, 849 RAW_IFD, 850 4, 851 UNDEFINED_ENDIAN 852 }, 853 { // MaskedAreas 854 0xC68Eu, 855 LONG, 856 RAW_IFD, 857 0, 858 UNDEFINED_ENDIAN 859 }, 860 { // AsShotICCProfile 861 0xC68Fu, 862 UNDEFINED, 863 IFD_0, 864 0, 865 UNDEFINED_ENDIAN 866 }, 867 { // AsShotPreProfileMatrix 868 0xC690u, 869 SRATIONAL, 870 IFD_0, 871 0, 872 UNDEFINED_ENDIAN 873 }, 874 { // CurrentICCProfile 875 0xC691u, 876 UNDEFINED, 877 IFD_0, 878 0, 879 UNDEFINED_ENDIAN 880 }, 881 { // CurrentICCProfile 882 0xC691u, 883 UNDEFINED, 884 IFD_0, 885 0, 886 UNDEFINED_ENDIAN 887 }, 888 { // CurrentPreProfileMatrix 889 0xC692u, 890 SRATIONAL, 891 IFD_0, 892 0, 893 UNDEFINED_ENDIAN 894 }, 895 { // ColorimetricReference 896 0xC6BFu, 897 SHORT, 898 IFD_0, 899 1, 900 UNDEFINED_ENDIAN 901 }, 902 { // CameraCalibrationSignature 903 0xC6F3u, 904 ASCII, 905 IFD_0, 906 0, 907 UNDEFINED_ENDIAN 908 }, 909 { // ProfileCalibrationSignature 910 0xC6F4u, 911 ASCII, 912 PROFILE_IFD, 913 0, 914 UNDEFINED_ENDIAN 915 }, 916 { // ExtraCameraProfiles 917 0xC6F5u, 918 LONG, 919 IFD_0, 920 0, 921 UNDEFINED_ENDIAN 922 }, 923 { // AsShotProfileName 924 0xC6F6u, 925 ASCII, 926 IFD_0, 927 0, 928 UNDEFINED_ENDIAN 929 }, 930 { // NoiseReductionApplied 931 0xC6F7u, 932 RATIONAL, 933 RAW_IFD, 934 1, 935 UNDEFINED_ENDIAN 936 }, 937 { // ProfileName 938 0xC6F8u, 939 ASCII, 940 PROFILE_IFD, 941 0, 942 UNDEFINED_ENDIAN 943 }, 944 { // ProfileHueSatMapDims 945 0xC6F9u, 946 LONG, 947 PROFILE_IFD, 948 3, 949 UNDEFINED_ENDIAN 950 }, 951 { // ProfileHueSatMapData1 952 0xC6FAu, 953 FLOAT, 954 PROFILE_IFD, 955 0, 956 UNDEFINED_ENDIAN 957 }, 958 { // ProfileHueSatMapData2 959 0xC6FBu, 960 FLOAT, 961 PROFILE_IFD, 962 0, 963 UNDEFINED_ENDIAN 964 }, 965 { // ProfileToneCurve 966 0xC6FCu, 967 FLOAT, 968 PROFILE_IFD, 969 0, 970 UNDEFINED_ENDIAN 971 }, 972 { // ProfileEmbedPolicy 973 0xC6FDu, 974 LONG, 975 PROFILE_IFD, 976 1, 977 UNDEFINED_ENDIAN 978 }, 979 { // ProfileCopyright 980 0xC6FEu, 981 ASCII, 982 PROFILE_IFD, 983 0, 984 UNDEFINED_ENDIAN 985 }, 986 { // ForwardMatrix1 987 0xC714u, 988 SRATIONAL, 989 PROFILE_IFD, 990 0, 991 UNDEFINED_ENDIAN 992 }, 993 { // ForwardMatrix2 994 0xC715u, 995 SRATIONAL, 996 PROFILE_IFD, 997 0, 998 UNDEFINED_ENDIAN 999 }, 1000 { // PreviewApplicationName 1001 0xC716u, 1002 ASCII, 1003 PREVIEW_IFD, 1004 0, 1005 UNDEFINED_ENDIAN 1006 }, 1007 { // PreviewApplicationVersion 1008 0xC717u, 1009 ASCII, 1010 PREVIEW_IFD, 1011 0, 1012 UNDEFINED_ENDIAN 1013 }, 1014 { // PreviewSettingsName 1015 0xC718u, 1016 ASCII, 1017 PREVIEW_IFD, 1018 0, 1019 UNDEFINED_ENDIAN 1020 }, 1021 { // PreviewSettingsDigest 1022 0xC719u, 1023 BYTE, 1024 PREVIEW_IFD, 1025 16, 1026 UNDEFINED_ENDIAN 1027 }, 1028 { // PreviewColorSpace 1029 0xC71Au, 1030 LONG, 1031 PREVIEW_IFD, 1032 1, 1033 UNDEFINED_ENDIAN 1034 }, 1035 { // PreviewDateTime 1036 0xC71Bu, 1037 ASCII, 1038 PREVIEW_IFD, 1039 0, 1040 UNDEFINED_ENDIAN 1041 }, 1042 { // RawImageDigest 1043 0xC71Cu, 1044 BYTE, 1045 IFD_0, 1046 16, 1047 UNDEFINED_ENDIAN 1048 }, 1049 { // OriginalRawFileDigest 1050 0xC71Du, 1051 BYTE, 1052 IFD_0, 1053 16, 1054 UNDEFINED_ENDIAN 1055 }, 1056 { // SubTileBlockSize 1057 0xC71Eu, 1058 LONG, 1059 RAW_IFD, 1060 2, 1061 UNDEFINED_ENDIAN 1062 }, 1063 { // RowInterleaveFactor 1064 0xC71Fu, 1065 LONG, 1066 RAW_IFD, 1067 1, 1068 UNDEFINED_ENDIAN 1069 }, 1070 { // ProfileLookTableDims 1071 0xC725u, 1072 LONG, 1073 PROFILE_IFD, 1074 3, 1075 UNDEFINED_ENDIAN 1076 }, 1077 { // ProfileLookTableData 1078 0xC726u, 1079 FLOAT, 1080 PROFILE_IFD, 1081 0, 1082 UNDEFINED_ENDIAN 1083 }, 1084 { // OpcodeList1 1085 0xC740u, 1086 UNDEFINED, 1087 RAW_IFD, 1088 0, 1089 BIG 1090 }, 1091 { // OpcodeList2 1092 0xC741u, 1093 UNDEFINED, 1094 RAW_IFD, 1095 0, 1096 BIG 1097 }, 1098 { // OpcodeList3 1099 0xC74Eu, 1100 UNDEFINED, 1101 RAW_IFD, 1102 0, 1103 BIG 1104 }, 1105 { // NoiseProfile 1106 0xC761u, 1107 DOUBLE, 1108 RAW_IFD, 1109 0, 1110 UNDEFINED_ENDIAN 1111 }, 1112 { // DefaultUserCrop 1113 0xC7B5u, 1114 RATIONAL, 1115 RAW_IFD, 1116 4, 1117 UNDEFINED_ENDIAN 1118 }, 1119 { // DefaultBlackRender 1120 0xC7A6u, 1121 LONG, 1122 PROFILE_IFD, 1123 1, 1124 UNDEFINED_ENDIAN 1125 }, 1126 { // BaselineExposureOffset 1127 0xC7A5u, 1128 RATIONAL, 1129 PROFILE_IFD, 1130 1, 1131 UNDEFINED_ENDIAN 1132 }, 1133 { // ProfileLookTableEncoding 1134 0xC7A4u, 1135 LONG, 1136 PROFILE_IFD, 1137 1, 1138 UNDEFINED_ENDIAN 1139 }, 1140 { // ProfileHueSatMapEncoding 1141 0xC7A3u, 1142 LONG, 1143 PROFILE_IFD, 1144 1, 1145 UNDEFINED_ENDIAN 1146 }, 1147 { // OriginalDefaultFinalSize 1148 0xC791u, 1149 LONG, 1150 IFD_0, 1151 2, 1152 UNDEFINED_ENDIAN 1153 }, 1154 { // OriginalBestQualityFinalSize 1155 0xC792u, 1156 LONG, 1157 IFD_0, 1158 2, 1159 UNDEFINED_ENDIAN 1160 }, 1161 { // OriginalDefaultCropSize 1162 0xC793u, 1163 LONG, 1164 IFD_0, 1165 2, 1166 UNDEFINED_ENDIAN 1167 }, 1168 { // NewRawImageDigest 1169 0xC7A7u, 1170 BYTE, 1171 IFD_0, 1172 16, 1173 UNDEFINED_ENDIAN 1174 }, 1175 { // RawToPreviewGain 1176 0xC7A8u, 1177 DOUBLE, 1178 PREVIEW_IFD, 1179 1, 1180 UNDEFINED_ENDIAN 1181 }, 1182}; 1183 1184} /*namespace img_utils*/ 1185} /*namespace android*/ 1186 1187#endif /*IMG_UTILS_TIFF_TAG_DEFINITION_H*/ 1188