Mercurial > geeqie.yaz
diff src/image.c @ 449:115db540bd0c
read color profiles from jpeg also with Exiv2
author | nadvornik |
---|---|
date | Sun, 20 Apr 2008 21:35:03 +0000 |
parents | ddabc4873a3f |
children | 48c8e49b571c |
line wrap: on
line diff
--- a/src/image.c Sun Apr 20 21:30:36 2008 +0000 +++ b/src/image.c Sun Apr 20 21:35:03 2008 +0000 @@ -335,7 +335,8 @@ ColorManProfileType screen_type; const gchar *input_file; const gchar *screen_file; - ExifItem *item = NULL; + unsigned char *profile = NULL; + guint profile_len; if (imd->cm) return FALSE; @@ -380,8 +381,8 @@ if (imd->color_profile_use_image && exif) { - item = exif_get_item(exif, "Exif.Image.InterColorProfile"); - if (!item) + profile = exif_get_color_profile(exif, &profile_len); + if (!profile) { gint cs; gchar *interop_index; @@ -411,19 +412,15 @@ } } - if (item && exif_item_get_format_id(item) == EXIF_FORMAT_UNDEFINED) + if (profile) { - unsigned char *data; - guint data_len; if (debug) printf("Found embedded color profile\n"); imd->color_profile_from_image = COLOR_PROFILE_MEM; - data = (unsigned char *) exif_item_get_data(item, &data_len); - cm = color_man_new_embedded(run_in_bg ? imd : NULL, NULL, - data, data_len, + profile, profile_len, screen_type, screen_file); - g_free(data); + g_free(profile); } else { @@ -462,7 +459,7 @@ if (options->image.exif_rotate_enable || (imd->color_profile_enable && imd->color_profile_use_image) ) { - exif = exif_read_fd(imd->image_fd, (imd->color_profile_enable && imd->color_profile_use_image)); + exif = exif_read_fd(imd->image_fd); } if (options->image.exif_rotate_enable && exif) { @@ -731,7 +728,7 @@ { ExifData *exif = NULL; - if (imd->color_profile_use_image) exif = exif_read_fd(imd->image_fd, TRUE); + if (imd->color_profile_use_image) exif = exif_read_fd(imd->image_fd); // image_post_process_color(imd, imd->prev_color_row, exif, TRUE); exif_free(exif); } @@ -1315,7 +1312,7 @@ { gint orientation; - exif = exif_read_fd(imd->image_fd, read_exif_for_color_profile); + exif = exif_read_fd(imd->image_fd); if (exif && read_exif_for_orientation) {