Lines Matching refs:exifData
57 // Remove an existing EXIF entry from |exifData| if it exists. This is useful
60 static void removeExistingEntry(ExifData* exifData, ExifIfd ifd, int tag) {
61 ExifEntry* entry = exif_content_get_entry(exifData->ifd[ifd],
64 exif_content_remove_entry(exifData->ifd[ifd], entry);
85 // Create an entry and place it in |exifData|, the entry is initialized with an
88 static bool createEntry(ExifData* exifData,
93 removeExistingEntry(exifData, ifd, tag);
94 ExifByteOrder byteOrder = exif_data_get_byte_order(exifData);
96 exif_content_add_entry(exifData->ifd[ifd], entry);
107 // Unref entry after changing owner to the ExifData struct
112 // Create an entry with a single float |value| in it and place it in |exifData|
113 static bool createEntry(ExifData* exifData,
120 return createEntry(exifData, ifd, tag, values, denominator);
123 // Create an entry and place it in |exifData|, the entry contains the raw data
125 static bool createEntry(ExifData* exifData,
131 removeExistingEntry(exifData, ifd, tag);
134 exif_content_add_entry(exifData->ifd[ifd], entry);
135 // Unref entry after changing owner to the ExifData struct
140 // Create an entry and place it in |exifData|, the entry is initialized with
142 static bool createEntry(ExifData* exifData,
148 return createEntry(exifData, ifd, tag, data, length, EXIF_FORMAT_ASCII);
151 // Create an entry and place it in |exifData|, the entry is initialized with a
153 static bool createEntry(ExifData* exifData,
157 return createEntry(exifData, ifd, tag, &value, 1, EXIF_FORMAT_BYTE);
160 // Create an entry and place it in |exifData|, the entry is default initialized
162 static bool createEntry(ExifData* exifData,
165 removeExistingEntry(exifData, ifd, tag);
167 exif_content_add_entry(exifData->ifd[ifd], entry);
169 // Unref entry after changing owner to the ExifData struct
175 // |exifData|.
176 static bool createEntry(ExifData* exifData,
180 removeExistingEntry(exifData, ifd, tag);
181 ExifByteOrder byteOrder = exif_data_get_byte_order(exifData);
183 exif_content_add_entry(exifData->ifd[ifd], entry);
186 // Unref entry after changing owner to the ExifData struct
270 ExifData* createExifData(const CameraParameters& params) {
271 ExifData* exifData = exif_data_new();
273 exif_data_set_option(exifData, EXIF_DATA_OPTION_FOLLOW_SPECIFICATION);
274 exif_data_set_data_type(exifData, EXIF_DATA_TYPE_COMPRESSED);
275 exif_data_set_byte_order(exifData, EXIF_BYTE_ORDER_INTEL);
278 exif_data_fix(exifData);
286 createEntry(exifData, EXIF_IFD_0, EXIF_TAG_DATE_TIME);
292 createEntry(exifData, EXIF_IFD_EXIF,
294 createEntry(exifData, EXIF_IFD_EXIF,
301 createEntry(exifData, EXIF_IFD_EXIF, EXIF_TAG_FOCAL_LENGTH, floatValue);
308 createEntry(exifData, EXIF_IFD_GPS, EXIF_TAG_GPS_LATITUDE, triplet);
311 createEntry(exifData, EXIF_IFD_GPS, EXIF_TAG_GPS_LATITUDE_REF, ref);
318 createEntry(exifData, EXIF_IFD_GPS, EXIF_TAG_GPS_LONGITUDE, triplet);
321 createEntry(exifData, EXIF_IFD_GPS, EXIF_TAG_GPS_LONGITUDE_REF, ref);
327 createEntry(exifData, EXIF_IFD_GPS, EXIF_TAG_GPS_ALTITUDE,
332 createEntry(exifData, EXIF_IFD_GPS, EXIF_TAG_GPS_ALTITUDE_REF, ref);
341 createEntry(exifData, EXIF_IFD_GPS, EXIF_TAG_GPS_TIME_STAMP,
343 createEntry(exifData, EXIF_IFD_GPS, EXIF_TAG_GPS_DATE_STAMP,
360 createEntry(exifData, EXIF_IFD_GPS, EXIF_TAG_GPS_PROCESSING_METHOD,
364 return exifData;
367 void freeExifData(ExifData* exifData) {
368 exif_data_free(exifData);