28 #ifndef AVCODEC_EXIF_H 29 #define AVCODEC_EXIF_H 35 #define EXIF_MAX_IFD_RECURSION 2 36 #define EXIF_TAG_NAME_LENGTH 32 44 {
"GPSVersionID", 0x00},
45 {
"GPSLatitudeRef", 0x01},
46 {
"GPSLatitude", 0x02},
47 {
"GPSLongitudeRef", 0x03},
48 {
"GPSLongitude", 0x04},
49 {
"GPSAltitudeRef", 0x05},
50 {
"GPSAltitude", 0x06},
51 {
"GPSTimeStamp", 0x07},
52 {
"GPSSatellites", 0x08},
54 {
"GPSMeasureMode", 0x0A},
56 {
"GPSSpeedRef", 0x0C},
58 {
"GPSTrackRef", 0x0E},
60 {
"GPSImgDirectionRef", 0x10},
61 {
"GPSImgDirection", 0x11},
62 {
"GPSMapDatum", 0x12},
63 {
"GPSDestLatitudeRef", 0x13},
64 {
"GPSDestLatitude", 0x14},
65 {
"GPSDestLongitudeRef", 0x15},
66 {
"GPSDestLongitude", 0x16},
67 {
"GPSDestBearingRef", 0x17},
68 {
"GPSDestBearing", 0x18},
69 {
"GPSDestDistanceRef", 0x19},
70 {
"GPSDestDistance", 0x1A},
71 {
"GPSProcessingMethod", 0x1B},
72 {
"GPSAreaInformation", 0x1C},
73 {
"GPSDateStamp", 0x1D},
74 {
"GPSDifferential", 0x1E},
75 {
"ImageWidth", 0x100},
76 {
"ImageLength", 0x101},
77 {
"BitsPerSample", 0x102},
78 {
"Compression", 0x103},
79 {
"PhotometricInterpretation", 0x106},
80 {
"Orientation", 0x112},
81 {
"SamplesPerPixel", 0x115},
82 {
"PlanarConfiguration", 0x11C},
83 {
"YCbCrSubSampling", 0x212},
84 {
"YCbCrPositioning", 0x213},
85 {
"XResolution", 0x11A},
86 {
"YResolution", 0x11B},
87 {
"ResolutionUnit", 0x128},
88 {
"StripOffsets", 0x111},
89 {
"RowsPerStrip", 0x116},
90 {
"StripByteCounts", 0x117},
91 {
"JPEGInterchangeFormat", 0x201},
92 {
"JPEGInterchangeFormatLength",0x202},
93 {
"TransferFunction", 0x12D},
94 {
"WhitePoint", 0x13E},
95 {
"PrimaryChromaticities", 0x13F},
96 {
"YCbCrCoefficients", 0x211},
97 {
"ReferenceBlackWhite", 0x214},
99 {
"ImageDescription", 0x10E},
104 {
"Copyright", 0x8298},
105 {
"ExifVersion", 0x9000},
106 {
"FlashpixVersion", 0xA000},
107 {
"ColorSpace", 0xA001},
108 {
"ComponentsConfiguration", 0x9101},
109 {
"CompressedBitsPerPixel", 0x9102},
110 {
"PixelXDimension", 0xA002},
111 {
"PixelYDimension", 0xA003},
112 {
"MakerNote", 0x927C},
113 {
"UserComment", 0x9286},
114 {
"RelatedSoundFile", 0xA004},
115 {
"DateTimeOriginal", 0x9003},
116 {
"DateTimeDigitized", 0x9004},
117 {
"SubSecTime", 0x9290},
118 {
"SubSecTimeOriginal", 0x9291},
119 {
"SubSecTimeDigitized", 0x9292},
120 {
"ImageUniqueID", 0xA420},
121 {
"ExposureTime", 0x829A},
123 {
"ExposureProgram", 0x8822},
124 {
"SpectralSensitivity", 0x8824},
125 {
"ISOSpeedRatings", 0x8827},
127 {
"ShutterSpeedValue", 0x9201},
128 {
"ApertureValue", 0x9202},
129 {
"BrightnessValue", 0x9203},
130 {
"ExposureBiasValue", 0x9204},
131 {
"MaxApertureValue", 0x9205},
132 {
"SubjectDistance", 0x9206},
133 {
"MeteringMode", 0x9207},
134 {
"LightSource", 0x9208},
136 {
"FocalLength", 0x920A},
137 {
"SubjectArea", 0x9214},
138 {
"FlashEnergy", 0xA20B},
139 {
"SpatialFrequencyResponse", 0xA20C},
140 {
"FocalPlaneXResolution", 0xA20E},
141 {
"FocalPlaneYResolution", 0xA20F},
142 {
"FocalPlaneResolutionUnit", 0xA210},
143 {
"SubjectLocation", 0xA214},
144 {
"ExposureIndex", 0xA215},
145 {
"SensingMethod", 0xA217},
146 {
"FileSource", 0xA300},
147 {
"SceneType", 0xA301},
148 {
"CFAPattern", 0xA302},
149 {
"CustomRendered", 0xA401},
150 {
"ExposureMode", 0xA402},
151 {
"WhiteBalance", 0xA403},
152 {
"DigitalZoomRatio", 0xA404},
153 {
"FocalLengthIn35mmFilm", 0xA405},
154 {
"SceneCaptureType", 0xA406},
155 {
"GainControl", 0xA407},
156 {
"Contrast", 0xA408},
157 {
"Saturation", 0xA409},
158 {
"Sharpness", 0xA40A},
159 {
"DeviceSettingDescription", 0xA40B},
160 {
"SubjectDistanceRange", 0xA40C}
static const struct exif_tag tag_list[]
#define EXIF_TAG_NAME_LENGTH
int ff_exif_decode_ifd(void *logctx, GetByteContext *gbytes, int le, int depth, AVDictionary **metadata)
Libavcodec external API header.
int avpriv_exif_decode_ifd(void *logctx, const uint8_t *buf, int size, int le, int depth, AVDictionary **metadata)
Recursively decodes all IFD's and adds included TAGS into the metadata dictionary.
char name[EXIF_TAG_NAME_LENGTH]