Mercurial > geeqie.yaz
comparison src/exif-common.c @ 184:2507418ab7a2
more exiv2 fixes
author | nadvornik |
---|---|
date | Thu, 14 Feb 2008 14:04:43 +0000 |
parents | 8a417f10ba09 |
children | 0584cb78aa14 |
comparison
equal
deleted
inserted
replaced
183:3962c9d3d6fd | 184:2507418ab7a2 |
---|---|
215 gint v; | 215 gint v; |
216 | 216 |
217 if (!exif_get_integer(exif, "Exif.Photo.Flash", &n)) return NULL; | 217 if (!exif_get_integer(exif, "Exif.Photo.Flash", &n)) return NULL; |
218 | 218 |
219 /* Exif 2.1 only defines first 3 bits */ | 219 /* Exif 2.1 only defines first 3 bits */ |
220 // if (n <= 0x07) return exif_text_list_find_value(ExifFlashList, n); | 220 if (n <= 0x07) return exif_get_data_as_text(exif, "Exif.Photo.Flash"); |
221 | 221 |
222 /* must be Exif 2.2 */ | 222 /* must be Exif 2.2 */ |
223 string = g_string_new(""); | 223 string = g_string_new(""); |
224 | 224 |
225 /* flash fired (bit 0) */ | 225 /* flash fired (bit 0) */ |
291 i++; | 291 i++; |
292 } | 292 } |
293 | 293 |
294 return exif_get_tag_description_by_key(key); | 294 return exif_get_tag_description_by_key(key); |
295 } | 295 } |
296 | |
297 gint exif_get_integer(ExifData *exif, const gchar *key, gint *value) | |
298 { | |
299 ExifItem *item; | |
300 | |
301 item = exif_get_item(exif, key); | |
302 return exif_item_get_integer(item, value); | |
303 } | |
304 | |
305 ExifRational *exif_get_rational(ExifData *exif, const gchar *key, gint *sign) | |
306 { | |
307 ExifItem *item; | |
308 | |
309 item = exif_get_item(exif, key); | |
310 return exif_item_get_rational(item, sign); | |
311 } | |
312 | |
313 gchar *exif_get_data_as_text(ExifData *exif, const gchar *key) | |
314 { | |
315 ExifItem *item; | |
316 gchar *text; | |
317 gint key_valid; | |
318 | |
319 if (!key) return NULL; | |
320 | |
321 text = exif_get_formatted_by_key(exif, key, &key_valid); | |
322 if (key_valid) return text; | |
323 | |
324 item = exif_get_item(exif, key); | |
325 if (item) return exif_item_get_data_as_text(item); | |
326 | |
327 return NULL; | |
328 } |