![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
Go to the source code of this file.
Typedefs | |
typedef enum dt_dng_illuminant_t | dt_dng_illuminant_t |
Enumerations | |
enum | dt_dng_illuminant_t { DT_LS_Unknown = 0 , DT_LS_Daylight = 1 , DT_LS_Fluorescent = 2 , DT_LS_Tungsten = 3 , DT_LS_Flash = 4 , DT_LS_FineWeather = 9 , DT_LS_CloudyWeather = 10 , DT_LS_Shade = 11 , DT_LS_DaylightFluorescent = 12 , DT_LS_DayWhiteFluorescent = 13 , DT_LS_CoolWhiteFluorescent = 14 , DT_LS_WhiteFluorescent = 15 , DT_LS_WarmWhiteFluorescent = 16 , DT_LS_StandardLightA = 17 , DT_LS_StandardLightB = 18 , DT_LS_StandardLightC = 19 , DT_LS_D55 = 20 , DT_LS_D65 = 21 , DT_LS_D75 = 22 , DT_LS_D50 = 23 , DT_LS_ISOStudioTungsten = 24 , DT_LS_Other = 255 } |
Functions | |
void | dt_exif_set_exiv2_taglist () |
const GList * | dt_exif_get_exiv2_taglist () |
int | dt_exif_read (dt_image_t *img, const char *path) |
int | dt_exif_read_from_blob (dt_image_t *img, uint8_t *blob, const int size) |
int | dt_exif_read_blob (uint8_t **blob, const char *path, const int32_t imgid, const int sRGB, const int out_width, const int out_height, const int dng_mode) |
void | dt_exif_img_check_additional_tags (dt_image_t *img, const char *filename) |
int | dt_exif_write_blob (uint8_t *blob, uint32_t size, const char *path, const int compressed) |
int | dt_exif_xmp_write (const int32_t imgid, const char *filename) |
int | dt_exif_xmp_attach_export (const int32_t imgid, const char *filename, void *metadata) |
char * | dt_exif_xmp_read_string (const int32_t imgid) |
int | dt_exif_xmp_read (dt_image_t *img, const char *filename, const int history_only) |
int | dt_exif_get_thumbnail (const char *path, uint8_t **buffer, size_t *size, char **mime_type, int *width, int *height, int min_width) |
void | dt_exif_init () |
void | dt_exif_cleanup () |
char * | dt_exif_xmp_encode (const unsigned char *input, const int len, int *output_len) |
char * | dt_exif_xmp_encode_internal (const unsigned char *input, const int len, int *output_len, gboolean do_compress) |
unsigned char * | dt_exif_xmp_decode (const char *input, const int len, int *output_len) |
dt_colorspaces_color_profile_type_t | dt_exif_get_color_space (const uint8_t *data, size_t size) |
void | dt_exif_get_datetime_taken (const uint8_t *data, size_t size, char *datetime_taken) |
typedef enum dt_dng_illuminant_t dt_dng_illuminant_t |
wrapper around exiv2, C++
enum dt_dng_illuminant_t |
wrapper around exiv2, C++
void dt_exif_cleanup | ( | ) |
Referenced by dt_cleanup().
dt_colorspaces_color_profile_type_t dt_exif_get_color_space | ( | const uint8_t * | data, |
size_t | size | ||
) |
look for color space hints in data and tell the caller if it's sRGB, AdobeRGB or something else. used for mipmaps
References DT_COLORSPACE_ADOBERGB, DT_COLORSPACE_DISPLAY, DT_COLORSPACE_SRGB, and size.
Referenced by dt_imageio_jpeg_read_color_space().
void dt_exif_get_datetime_taken | ( | const uint8_t * | data, |
size_t | size, | ||
char * | datetime_taken | ||
) |
look for datetime_taken in data. used for gphoto downloads
References _find_datetime_taken(), read_metadata_threadsafe, and size.
const GList * dt_exif_get_exiv2_taglist | ( | ) |
get the list of available tags from Exvi2 must not be freed
int dt_exif_get_thumbnail | ( | const char * | path, |
uint8_t ** | buffer, | ||
size_t * | size, | ||
char ** | mime_type, | ||
int * | width, | ||
int * | height, | ||
int | min_width | ||
) |
fetch largest exif thumbnail jpg bytestream into buffer
Get the largest possible thumbnail from the image
References DT_DEBUG_LIGHTTABLE, dt_print(), height, MAX, read_metadata_threadsafe, size, WIDEN, and width.
Referenced by dt_imageio_large_thumbnail().
void dt_exif_img_check_additional_tags | ( | dt_image_t * | img, |
const char * | filename | ||
) |
Reads exif tags that are not cached in the database
References _check_dng_opcodes(), _check_usercrop(), read_metadata_threadsafe, and WIDEN.
Referenced by dt_imageio_open_rawspeed().
void dt_exif_init | ( | ) |
int dt_exif_read | ( | dt_image_t * | img, |
const char * | path | ||
) |
read metadata from file with full path name, XMP data trumps IPTC data trumps EXIF data, store to image struct. returns 0 on success.
read the metadata of an image. XMP data trumps IPTC data trumps EXIF data
References _exif_decode_exif_data(), _exif_decode_iptc_data(), _exif_decode_xmp_data(), dt_datetime_unix_to_img(), dt_image_t::exif_inited, dt_image_t::height, read_metadata_threadsafe, WIDEN, and dt_image_t::width.
Referenced by _image_import_internal(), _import_copy_file(), _set_test_path(), dt_control_refresh_exif_run(), dt_imageio_open_j2k(), dt_imageio_open_jpeg(), dt_imageio_open_png(), dt_imageio_open_rawspeed(), dt_imageio_open_tiff(), and update_preview_cb().
int dt_exif_read_blob | ( | uint8_t ** | blob, |
const char * | path, | ||
const int32_t | imgid, | ||
const int | sRGB, | ||
const int | out_width, | ||
const int | out_height, | ||
const int | dng_mode | ||
) |
write exif to blob, return length in bytes. blob will be allocated by the function. sRGB should be true if sRGB colorspace is used as output.
References darktable, darktable_package_string, dt_conf_get_int(), DT_DATETIME_EXIF_LENGTH, dt_datetime_img_to_exif(), DT_DATETIME_LENGTH, dt_datetime_now_to_exif(), dt_image_cache_get(), dt_image_cache_read_release(), dt_metadata_get(), dt_remove_exif_geotag(), dt_remove_exif_keys(), dt_image_geoloc_t::elevation, dt_image_t::geoloc, darktable_t::image_cache, dt_image_geoloc_t::latitude, dt_image_geoloc_t::longitude, read_metadata_threadsafe, and WIDEN.
Referenced by dt_control_merge_hdr_job_run(), and dt_imageio_export_with_flags().
int dt_exif_read_from_blob | ( | dt_image_t * | img, |
uint8_t * | blob, | ||
const int | size | ||
) |
read exif data to image struct from given data blob, wherever you got it from.
References _exif_decode_exif_data(), dt_image_t::filename, and size.
Referenced by dt_imageio_open_exr().
void dt_exif_set_exiv2_taglist | ( | ) |
set the list of available tags from Exvi2
References _get_exiv2_type(), _get_xmp_tags(), dt_util_dstrcat(), and exiv2_taglist.
Referenced by dt_exif_get_exiv2_taglist(), and dt_init().
int dt_exif_write_blob | ( | uint8_t * | blob, |
uint32_t | size, | ||
const char * | path, | ||
const int | compressed | ||
) |
write blob to file exif. merges with existing exif information.
References dt_remove_exif_keys(), key, read_metadata_threadsafe, size, and WIDEN.
Referenced by dt_imageio_write_dng(), write_image(), write_image(), write_image(), and write_image().
int dt_exif_xmp_attach_export | ( | const int32_t | imgid, |
const char * | filename, | ||
void * | metadata | ||
) |
write xmp packet inside an image.
References _exif_get_exiv2_tag_type(), _exif_read_exif_tag(), _exif_xmp_read_data_export(), _remove_xmp_keys(), dt_image_full_path(), dt_image_path_append_version(), DT_META_EXIF, DT_META_GEOTAG, dt_remove_exif_geotag(), dt_remove_exif_key(), dt_remove_iptc_key(), dt_remove_known_keys(), dt_remove_xmp_key(), dt_remove_xmp_keys(), dt_variables_expand(), dt_variables_params_destroy(), dt_variables_params_init(), dt_variables_set_tags_flags(), FALSE, key, m, PATH_MAX, read_metadata_threadsafe, TRUE, type, and WIDEN.
Referenced by dt_imageio_export_with_flags().
unsigned char * dt_exif_xmp_decode | ( | const char * | input, |
const int | len, | ||
int * | output_len | ||
) |
References factor, and TO_BINARY.
Referenced by add_preset(), dt_exif_xmp_read(), dt_presets_import_from_file(), dt_style_plugin_save(), init_presets(), read_history_v1(), read_history_v2(), read_masks(), and read_masks_v3().
char * dt_exif_xmp_encode | ( | const unsigned char * | input, |
const int | len, | ||
int * | output_len | ||
) |
encode / decode op params
References COMPRESS_THRESHOLD, dt_conf_get_string(), dt_exif_xmp_encode_internal(), FALSE, and TRUE.
Referenced by _exif_xmp_read_data(), _init_presets(), dt_preset_encode(), dt_set_xmp_dt_history(), and dt_style_encode().
char * dt_exif_xmp_encode_internal | ( | const unsigned char * | input, |
const int | len, | ||
int * | output_len, | ||
gboolean | do_compress | ||
) |
Referenced by dt_exif_xmp_encode(), encode_colorchecker(), and encode_tonecurve().
int dt_exif_xmp_read | ( | dt_image_t * | img, |
const char * | filename, | ||
const int | history_only | ||
) |
read xmp sidecar file.
References _exif_decode_xmp_data(), _image_altered_deprecated(), add_mask_entries_to_db(), add_mask_entry_to_db(), add_non_clone_mask_entries_to_db(), dt_history_hash_values_t::auto_apply, dt_history_hash_values_t::auto_apply_len, dt_history_hash_values_t::basic, dt_history_hash_values_t::basic_len, history_entry_t::blendop_params, history_entry_t::blendop_params_len, history_entry_t::blendop_version, dt_history_hash_values_t::current, dt_history_hash_values_t::current_len, darktable, darktable_t::db, dt_database_get(), dt_database_release_transaction, dt_database_rollback_transaction(), dt_database_start_transaction, DT_DEBUG_SQLITE3_BIND_BLOB, DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_BIND_TEXT, DT_DEBUG_SQLITE3_PREPARE_V2, dt_exif_xmp_decode(), DT_HISTORY_HASH_BASIC, DT_HISTORY_HASH_CURRENT, dt_history_hash_write(), dt_history_hash_write_from_history(), DT_IMAGE_AUTO_PRESETS_APPLIED, DT_IMAGE_NO_LEGACY_PRESETS, DT_IOP_ORDER_LEGACY, DT_IOP_ORDER_V30, dt_ioppr_deserialize_text_iop_order_list(), dt_ioppr_get_iop_order_link(), dt_ioppr_get_iop_order_list_version(), dt_ioppr_write_iop_order_list(), dt_sort_iop_list_by_order_f(), history_entry_t::enabled, FALSE, dt_image_t::flags, free_history_entry(), free_mask_entry(), dt_image_t::id, dt_iop_order_entry_t::instance, history_entry_t::iop_order, dt_iop_order_entry_t::iop_order_f, dt_image_raw_parameters_t::legacy, dt_image_t::legacy_flip, MIN, history_entry_t::modversion, history_entry_t::multi_name, history_entry_t::multi_priority, history_entry_t::num, dt_iop_order_entry_t::o, history_entry_t::operation, dt_iop_order_entry_t::operation, history_entry_t::params, history_entry_t::params_len, read_history_v1(), read_history_v2(), read_masks(), read_masks_v3(), read_metadata_threadsafe, read_xmp_timestamps(), TRUE, dt_image_raw_parameters_t::user_flip, and WIDEN.
Referenced by _image_import_internal(), dt_history_load_and_apply(), dt_image_read_duplicates(), and main().
char * dt_exif_xmp_read_string | ( | const int32_t | imgid | ) |
get the xmp blob for imgid.
References _exif_xmp_read_data(), dt_image_full_path(), dt_image_path_append_version(), dt_remove_known_keys(), ERROR_CODE, FALSE, PATH_MAX, and WIDEN.
Referenced by write_image(), and write_image().
int dt_exif_xmp_write | ( | const int32_t | imgid, |
const char * | filename | ||
) |
write xmp sidecar file.
References _exif_xmp_read_data(), dt_control_log(), dt_image_full_path(), dt_read_file(), dt_remove_known_keys(), ERROR_CODE, PATH_MAX, TRUE, and WIDEN.
Referenced by dt_control_write_sidecar_files_job_run(), dt_image_write_sidecar_file(), and write_image().