Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
exif.h
Go to the documentation of this file.
1/*
2 This file is part of darktable,
3 Copyright (C) 2009-2020 darktable developers.
4
5 darktable is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 darktable is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with darktable. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#pragma once
20
21#include "common/colorspaces.h"
22#include "common/image.h"
23
25#ifdef __cplusplus
26extern "C" {
27#endif
28
54
55
58
61const GList* dt_exif_get_exiv2_taglist();
62
65int dt_exif_read(dt_image_t *img, const char *path);
66
68int dt_exif_read_from_blob(dt_image_t *img, uint8_t *blob, const int size);
69
72int dt_exif_read_blob(uint8_t **blob, const char *path, const int32_t imgid, const int sRGB, const int out_width,
73 const int out_height, const int dng_mode);
74
76void dt_exif_img_check_additional_tags(dt_image_t *img, const char *filename);
77
79int dt_exif_write_blob(uint8_t *blob, uint32_t size, const char *path, const int compressed);
80
82int dt_exif_xmp_write(const int32_t imgid, const char *filename);
83
85int dt_exif_xmp_attach_export(const int32_t imgid, const char *filename, void *metadata);
86
88char *dt_exif_xmp_read_string(const int32_t imgid);
89
91int dt_exif_xmp_read(dt_image_t *img, const char *filename, const int history_only);
92
94int dt_exif_get_thumbnail(const char *path, uint8_t **buffer, size_t *size, char **mime_type, int *width, int *height, int min_width);
95
97void dt_exif_init();
98void dt_exif_cleanup();
99
101char *dt_exif_xmp_encode(const unsigned char *input, const int len, int *output_len);
102char *dt_exif_xmp_encode_internal(const unsigned char *input, const int len, int *output_len, gboolean do_compress);
103unsigned char *dt_exif_xmp_decode(const char *input, const int len, int *output_len);
104
107
109void dt_exif_get_datetime_taken(const uint8_t *data, size_t size, char *datetime_taken);
110
111#ifdef __cplusplus
112}
113#endif
114
115// clang-format off
116// modelines: These editor modelines have been set for all relevant files by tools/update_modelines.py
117// vim: shiftwidth=2 expandtab tabstop=2 cindent
118// kate: tab-indents: off; indent-width 2; replace-tabs on; indent-mode cstyle; remove-trailing-spaces modified;
119// clang-format on
int width
Definition bilateral.h:1
int height
Definition bilateral.h:1
dt_colorspaces_color_profile_type_t
Definition colorspaces.h:61
unsigned char * dt_exif_xmp_decode(const char *input, const int len, int *output_len)
Definition exif.cc:2277
int dt_exif_xmp_attach_export(const int32_t imgid, const char *filename, void *metadata)
Definition exif.cc:4217
dt_colorspaces_color_profile_type_t dt_exif_get_color_space(const uint8_t *data, size_t size)
Definition exif.cc:4568
int dt_exif_read_from_blob(dt_image_t *img, uint8_t *blob, const int size)
Definition exif.cc:1623
void dt_exif_get_datetime_taken(const uint8_t *data, size_t size, char *datetime_taken)
Definition exif.cc:4613
void dt_exif_set_exiv2_taglist()
Definition exif.cc:210
void dt_exif_init()
Definition exif.cc:4641
int dt_exif_xmp_write(const int32_t imgid, const char *filename)
Definition exif.cc:4462
int dt_exif_read(dt_image_t *img, const char *path)
Definition exif.cc:1707
char * dt_exif_xmp_encode_internal(const unsigned char *input, const int len, int *output_len, gboolean do_compress)
Definition exif.cc:2212
int dt_exif_xmp_read(dt_image_t *img, const char *filename, const int history_only)
Definition exif.cc:3059
char * dt_exif_xmp_encode(const unsigned char *input, const int len, int *output_len)
Definition exif.cc:2186
int dt_exif_get_thumbnail(const char *path, uint8_t **buffer, size_t *size, char **mime_type, int *width, int *height, int min_width)
Definition exif.cc:1643
void dt_exif_img_check_additional_tags(dt_image_t *img, const char *filename)
Definition exif.cc:772
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)
Definition exif.cc:1833
void dt_exif_cleanup()
Definition exif.cc:4674
char * dt_exif_xmp_read_string(const int32_t imgid)
Definition exif.cc:4092
const GList * dt_exif_get_exiv2_taglist()
Definition exif.cc:300
int dt_exif_write_blob(uint8_t *blob, uint32_t size, const char *path, const int compressed)
Definition exif.cc:1759
dt_dng_illuminant_t
Definition exif.h:30
@ DT_LS_D65
Definition exif.h:48
@ DT_LS_DayWhiteFluorescent
Definition exif.h:40
@ DT_LS_Fluorescent
Definition exif.h:33
@ DT_LS_Daylight
Definition exif.h:32
@ DT_LS_D75
Definition exif.h:49
@ DT_LS_CloudyWeather
Definition exif.h:37
@ DT_LS_D50
Definition exif.h:50
@ DT_LS_StandardLightB
Definition exif.h:45
@ DT_LS_StandardLightC
Definition exif.h:46
@ DT_LS_CoolWhiteFluorescent
Definition exif.h:41
@ DT_LS_Shade
Definition exif.h:38
@ DT_LS_Flash
Definition exif.h:35
@ DT_LS_Tungsten
Definition exif.h:34
@ DT_LS_Unknown
Definition exif.h:31
@ DT_LS_WarmWhiteFluorescent
Definition exif.h:43
@ DT_LS_StandardLightA
Definition exif.h:44
@ DT_LS_FineWeather
Definition exif.h:36
@ DT_LS_Other
Definition exif.h:52
@ DT_LS_D55
Definition exif.h:47
@ DT_LS_DaylightFluorescent
Definition exif.h:39
@ DT_LS_ISOStudioTungsten
Definition exif.h:51
@ DT_LS_WhiteFluorescent
Definition exif.h:42
size_t size
Definition mipmap_cache.c:3
Definition common/image.h:195