Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
common/image.h
Go to the documentation of this file.
1/*
2 This file is part of darktable,
3 Copyright (C) 2009-2022 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#ifdef HAVE_CONFIG_H
22#include "config.h"
23#endif
24
25#include "common/colorspaces.h"
26#include "common/dtpthread.h"
27#include "develop/format.h"
28#include <glib.h>
29#include <inttypes.h>
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
37{
38 DT_IMAGEIO_OK = 0, // all good :)
39 DT_IMAGEIO_FILE_NOT_FOUND, // file has been lost
40 DT_IMAGEIO_FILE_CORRUPTED, // file contains garbage
41 DT_IMAGEIO_CACHE_FULL // dt's caches are full :(
43
44typedef enum
45{
46 // the first 0x7 in flags are reserved for star ratings.
47 // see view.h:
48 // DT_VIEW_DESERT = 0,
49 // DT_VIEW_STAR_1 = 1,
50 // DT_VIEW_STAR_2 = 2,
51 // DT_VIEW_STAR_3 = 3,
52 // DT_VIEW_STAR_4 = 4,
53 // DT_VIEW_STAR_5 = 5,
55
56 // next field unused, but it used to be.
57 // old DB entries might have it set.
58 // To reuse : force to 0 in DB loading and force to 0 in DB saving
59 // Use it to store a state that doesn't need to go in DB
61 // set during import if the image is low-dynamic range, i.e. doesn't need demosaic, wb, highlight clipping
62 // etc.
63 DT_IMAGE_LDR = 1 << 5,
64 // set during import if the image is raw data, i.e. it needs demosaicing.
65 DT_IMAGE_RAW = 1 << 6,
66 // set during import if images is a high-dynamic range image..
67 DT_IMAGE_HDR = 1 << 7,
68 // set when marked for deletion
70 // set when auto-applying presets have been applied to this image.
72 // legacy flag. is set for all new images. i hate to waste a bit on this :(
74 // local copy status
76 // image has an associated .txt file for overlay
78 // image has an associated wav file
80 // image is a bayer pattern with 4 colors (e.g., CYGM or RGBE)
81 DT_IMAGE_4BAYER = 1 << 14,
82 // image was detected as monochrome
84 // DNG image has exif tags which are not cached in the database but must be read and stored in dt_image_t
85 // when the image is loaded.
87 // image is an sraw
88 DT_IMAGE_S_RAW = 1 << 17,
89 // image has a monochrome preview tested
91 // image has been set to monochrome via demosaic module
93 // image has a flag set to use the monochrome workflow in the modules supporting it
96
103
105{
106 unsigned legacy : 24;
107 unsigned user_flip : 8; // +8 = 32 bits.
109
121
139
160
161static const struct
162{
163 const char *tooltip;
164 const char flag;
166{
167 { N_("unknown"), '.'}, // EMPTY_FIELD
168 { N_("tiff"), 't'},
169 { N_("png"), 'p'},
170 { N_("j2k"), 'J'},
171 { N_("jpeg"), 'j'},
172 { N_("exr"), 'e'},
173 { N_("rgbe"), 'R'},
174 { N_("pfm"), 'P'},
175 { N_("GraphicsMagick"), 'g'},
176 { N_("rawspeed"), 'r'},
177 { N_("netpnm"), 'n'},
178 { N_("avif"), 'a'},
179 { N_("ImageMagick"), 'i'},
180 { N_("heif"), 'h'},
181 { N_("libraw"), 'l'},
182 { N_("webp"), 'w'}
184
189
190struct dt_cache_entry_t;
191
192// TODO: add color labels and such as cacheable
193// __attribute__ ((aligned (128)))
194typedef struct dt_image_t
195{
196 // minimal exif data here (all in multiples of 4-byte to interface nicely with c++):
197 int32_t exif_inited;
202 float exif_iso;
206 char exif_maker[64];
207 char exif_model[64];
208 char exif_lens[128];
210
211 char camera_maker[64];
212 char camera_model[64];
213 char camera_alias[64];
217
219
220 // common stuff
221
222 // to understand this, look at comment for dt_histogram_roi_t
225
226 // used by library
228
229 //timestamps
231
233
235
236 float d65_color_matrix[9]; // the 3x3 matrix embedded in some DNGs
237 uint8_t *profile; // embedded profile, for example from JPEGs
238 uint32_t profile_size;
239 dt_image_colorspace_t colorspace; // the colorspace that is specified in exif. mostly used for jpeg files
240
241 dt_image_raw_parameters_t legacy_flip; // unfortunately needed to convert old bits to new flip module.
242
243 /* gps coords */
245
246 /* needed in exposure iop for Deflicker */
250
251 /* needed to fix some manufacturers madness */
254
255 /* White balance coeffs from the raw */
256 dt_aligned_pixel_t wb_coeffs;
257
258 /* Adobe coeffs from the raw */
259 float adobe_XYZ_to_CAM[4][3];
260
261 /* DefaultUserCrop */
263
264 /* GainMaps from DNG OpcodeList2 exif tag */
266
267 /* Color labels */
269
270 /* convenience pointer back into the image cache, so we can return dt_image_t* there directly. */
273
274// image buffer operations:
276void dt_image_init(dt_image_t *img);
280int dt_image_is_ldr(const dt_image_t *img);
282int dt_image_is_raw(const dt_image_t *img);
284int dt_image_is_hdr(const dt_image_t *img);
286void dt_image_set_monochrome_flag(const int32_t imgid, gboolean monochrome);
288gboolean dt_image_is_monochrome(const dt_image_t *img);
299void dt_image_full_path(const int32_t imgid, char *pathname, size_t pathname_len, gboolean *from_cache, const char *calling_func);
301void dt_image_film_roll_directory(const dt_image_t *img, char *pathname, size_t pathname_len);
303const char *dt_image_film_roll_name(const char *path);
305void dt_image_film_roll(const dt_image_t *img, char *pathname, size_t pathname_len);
307void dt_image_path_append_version_no_db(int version, char *pathname, size_t pathname_len);
309void dt_image_path_append_version(const int32_t imgid, char *pathname, size_t pathname_len);
311void dt_image_print_exif(const dt_image_t *img, char *line, size_t line_len);
312/* set rating to img flags */
313void dt_image_set_xmp_rating(dt_image_t *img, const int rating);
314/* get rating from img flags */
315int dt_image_get_xmp_rating(const dt_image_t *img);
318GList* dt_image_find_xmps(const char* filename);
320int32_t dt_image_get_id_full_path(const gchar *filename);
322int32_t dt_image_get_id(int32_t film_id, const gchar *filename);
324int32_t dt_image_import(int32_t film_id, const char *filename, gboolean raise_signals);
326int32_t dt_image_import_lua(int32_t film_id, const char *filename);
328void dt_image_remove(const int32_t imgid);
332int32_t dt_image_duplicate_with_version(const int32_t imgid, const int32_t newversion);
334int32_t dt_image_duplicate(const int32_t imgid);
336void dt_image_flip(const int32_t imgid, const int32_t cw);
337void dt_image_set_flip(const int32_t imgid, const dt_image_orientation_t user_flip);
340void dt_image_set_location(const int32_t imgid, const dt_image_geoloc_t *geoloc,
341 const gboolean undo_on, const gboolean group_on);
343void dt_image_set_locations(const GList *img, const dt_image_geoloc_t *geoloc,
344 const gboolean undo_on);
346void dt_image_set_images_locations(const GList *imgs, const GArray *gloc,
347 const gboolean undo_on);
349void dt_image_get_location(const int32_t imgid, dt_image_geoloc_t *geoloc);
351uint32_t dt_image_altered(const int32_t imgid);
352
358
384
387int32_t dt_image_move(const int32_t imgid, const int32_t filmid);
391int32_t dt_image_rename(const int32_t imgid, const int32_t filmid, const gchar *newname);
394int32_t dt_image_copy(const int32_t imgid, const int32_t filmid);
397int32_t dt_image_copy_rename(const int32_t imgid, const int32_t filmid, const gchar *newname);
398int dt_image_local_copy_set(const int32_t imgid);
399int dt_image_local_copy_reset(const int32_t imgid);
400/* check whether it is safe to remove a file */
401gboolean dt_image_safe_remove(const int32_t imgid);
402/* try to sync .xmp for all local copies */
404// xmp functions:
405int dt_image_write_sidecar_file(const int32_t imgid);
406void dt_image_synch_xmp(const int selected);
407void dt_image_synch_xmps(const GList *img);
408void dt_image_synch_all_xmp(const gchar *pathname);
410gboolean dt_image_get_xmp_mode();
411
412// set datetime to exif_datetime_taken field
413void dt_image_set_datetime(const GList *imgs, const char *datetime, const gboolean undo_on);
414// set datetimeS to exif_datetime_taken field
415void dt_image_set_datetimes(const GList *imgs, const GArray *dtime, const gboolean undo_on);
416// return image datetime string into the given buffer (size = DT_DATETIME_LENGTH)
417void dt_image_get_datetime(const int32_t imgid, char *datetime);
418
420char *dt_image_get_audio_path(const int32_t imgid);
421char *dt_image_get_audio_path_from_path(const char *image_path);
423char *dt_image_get_text_path(const int32_t imgid);
424char *dt_image_get_text_path_from_path(const char *image_path);
425
426float dt_image_get_exposure_bias(const struct dt_image_t *image_storage);
427
429char *dt_image_camera_missing_sample_message(const struct dt_image_t *img, gboolean logmsg);
432void dt_get_dirname_from_imgid(gchar *dir, const int32_t imgid);
433// Search for duplicate's sidecar files and import them if found and not in DB yet
434int dt_image_read_duplicates(const uint32_t id, const char *filename, const gboolean clear_selection);
435
436#ifdef __cplusplus
437}
438#endif
439
440// clang-format off
441// modelines: These editor modelines have been set for all relevant files by tools/update_modelines.py
442// vim: shiftwidth=2 expandtab tabstop=2 cindent
443// kate: tab-indents: off; indent-width 2; replace-tabs on; indent-mode cstyle; remove-trailing-spaces modified;
444// clang-format on
gboolean dt_image_is_matrix_correction_supported(const dt_image_t *img)
Definition common/image.c:185
int32_t dt_image_copy_rename(const int32_t imgid, const int32_t filmid, const gchar *newname)
Definition common/image.c:1802
dt_image_colorspace_t
Definition common/image.h:98
@ DT_IMAGE_COLORSPACE_NONE
Definition common/image.h:99
@ DT_IMAGE_COLORSPACE_ADOBE_RGB
Definition common/image.h:101
@ DT_IMAGE_COLORSPACE_SRGB
Definition common/image.h:100
int32_t dt_image_move(const int32_t imgid, const int32_t filmid)
Definition common/image.c:1797
void dt_image_synch_xmps(const GList *img)
Definition common/image.c:2264
char * dt_image_get_audio_path(const int32_t imgid)
Definition common/image.c:2467
static dt_image_orientation_t dt_image_orientation_to_flip_bits(const int orient)
Definition common/image.h:360
int dt_image_get_xmp_rating(const dt_image_t *img)
Definition common/image.c:452
void dt_image_set_flip(const int32_t imgid, const dt_image_orientation_t user_flip)
Definition common/image.c:669
void dt_image_check_camera_missing_sample(const struct dt_image_t *img)
Definition common/image.c:2553
dt_image_orientation_t dt_image_get_orientation(const int32_t imgid)
Definition common/image.c:716
void dt_image_path_append_version(const int32_t imgid, char *pathname, size_t pathname_len)
Definition common/image.c:420
int dt_image_write_sidecar_file(const int32_t imgid)
Definition common/image.c:2219
int32_t dt_image_get_id(int32_t film_id, const gchar *filename)
Definition common/image.c:1496
int32_t dt_image_copy(const int32_t imgid, const int32_t filmid)
Definition common/image.c:2059
void dt_image_refresh_makermodel(dt_image_t *img)
Definition common/image.c:1587
int dt_image_monochrome_flags(const dt_image_t *img)
Definition common/image.c:201
uint32_t dt_image_altered(const int32_t imgid)
Definition common/image.c:1033
int dt_image_is_ldr(const dt_image_t *img)
Definition common/image.c:93
void dt_image_get_datetime(const int32_t imgid, char *datetime)
Definition common/image.c:2345
char * dt_image_get_text_path_from_path(const char *image_path)
Definition common/image.c:2476
void dt_image_set_location(const int32_t imgid, const dt_image_geoloc_t *geoloc, const gboolean undo_on, const gboolean group_on)
Definition common/image.c:617
void dt_image_film_roll(const dt_image_t *img, char *pathname, size_t pathname_len)
Definition common/image.c:247
dt_image_orientation_t
Definition common/image.h:123
@ ORIENTATION_TRANSVERSE
Definition common/image.h:137
@ ORIENTATION_SWAP_XY
Definition common/image.h:128
@ ORIENTATION_FLIP_Y
Definition common/image.h:126
@ ORIENTATION_ROTATE_CCW_90_DEG
Definition common/image.h:135
@ ORIENTATION_NULL
Definition common/image.h:124
@ ORIENTATION_ROTATE_CW_90_DEG
Definition common/image.h:136
@ ORIENTATION_NONE
Definition common/image.h:125
@ ORIENTATION_FLIP_X
Definition common/image.h:127
@ ORIENTATION_TRANSPOSE
Definition common/image.h:134
@ ORIENTATION_ROTATE_180_DEG
Definition common/image.h:133
@ ORIENTATION_FLIP_VERTICALLY
Definition common/image.h:132
@ ORIENTATION_FLIP_HORIZONTALLY
Definition common/image.h:131
void dt_image_print_exif(const dt_image_t *img, char *line, size_t line_len)
Definition common/image.c:435
void dt_image_synch_all_xmp(const gchar *pathname)
Definition common/image.c:2298
void dt_image_get_location(const int32_t imgid, dt_image_geoloc_t *geoloc)
Definition common/image.c:476
const char flag
Definition common/image.h:164
int32_t dt_image_duplicate_with_version(const int32_t imgid, const int32_t newversion)
Definition common/image.c:998
gboolean dt_image_is_monochrome(const dt_image_t *img)
Definition common/image.c:125
dt_imageio_retval_t
Definition common/image.h:37
@ DT_IMAGEIO_OK
Definition common/image.h:38
@ DT_IMAGEIO_CACHE_FULL
Definition common/image.h:41
@ DT_IMAGEIO_FILE_CORRUPTED
Definition common/image.h:40
@ DT_IMAGEIO_FILE_NOT_FOUND
Definition common/image.h:39
const char * tooltip
Definition common/image.h:163
void dt_image_init(dt_image_t *img)
Definition common/image.c:1520
int32_t dt_image_import(int32_t film_id, const char *filename, gboolean raise_signals)
Definition common/image.c:1510
void dt_image_set_datetimes(const GList *imgs, const GArray *dtime, const gboolean undo_on)
Definition common/image.c:2391
const char * dt_image_film_roll_name(const char *path)
Definition common/image.c:206
float dt_image_get_exposure_bias(const struct dt_image_t *image_storage)
Definition common/image.c:2508
GList * dt_image_find_xmps(const char *filename)
Definition common/image.c:1066
void dt_image_set_datetime(const GList *imgs, const char *datetime, const gboolean undo_on)
Definition common/image.c:2428
dt_exif_image_orientation_t
Definition common/image.h:111
@ EXIF_ORIENTATION_NONE
Definition common/image.h:112
@ EXIF_ORIENTATION_TRANSPOSE
Definition common/image.h:116
@ EXIF_ORIENTATION_ROTATE_180_DEG
Definition common/image.h:115
@ EXIF_ORIENTATION_FLIP_VERTICALLY
Definition common/image.h:114
@ EXIF_ORIENTATION_ROTATE_CW_90_DEG
Definition common/image.h:118
@ EXIF_ORIENTATION_TRANSVERSE
Definition common/image.h:119
@ EXIF_ORIENTATION_ROTATE_CCW_90_DEG
Definition common/image.h:117
@ EXIF_ORIENTATION_FLIP_HORIZONTALLY
Definition common/image.h:113
dt_image_flags_t
Definition common/image.h:45
@ DT_IMAGE_NO_LEGACY_PRESETS
Definition common/image.h:73
@ DT_IMAGE_HAS_ADDITIONAL_DNG_TAGS
Definition common/image.h:86
@ DT_IMAGE_HAS_WAV
Definition common/image.h:79
@ DT_IMAGE_AUTO_PRESETS_APPLIED
Definition common/image.h:71
@ DT_IMAGE_S_RAW
Definition common/image.h:88
@ DT_IMAGE_REMOVE
Definition common/image.h:69
@ DT_IMAGE_MONOCHROME_BAYER
Definition common/image.h:92
@ DT_IMAGE_LOCAL_COPY
Definition common/image.h:75
@ DT_IMAGE_RAW
Definition common/image.h:65
@ DT_IMAGE_REJECTED
Definition common/image.h:54
@ DT_IMAGE_4BAYER
Definition common/image.h:81
@ DT_IMAGE_MONOCHROME_WORKFLOW
Definition common/image.h:94
@ DT_IMAGE_THUMBNAIL_DEPRECATED
Definition common/image.h:60
@ DT_IMAGE_HAS_TXT
Definition common/image.h:77
@ DT_IMAGE_MONOCHROME
Definition common/image.h:83
@ DT_IMAGE_HDR
Definition common/image.h:67
@ DT_IMAGE_LDR
Definition common/image.h:63
@ DT_IMAGE_MONOCHROME_PREVIEW
Definition common/image.h:90
void dt_image_path_append_version_no_db(int version, char *pathname, size_t pathname_len)
Definition common/image.c:401
void dt_image_set_monochrome_flag(const int32_t imgid, gboolean monochrome)
Definition common/image.c:175
void dt_image_set_images_locations(const GList *imgs, const GArray *gloc, const gboolean undo_on)
Definition common/image.c:653
char * dt_image_get_audio_path_from_path(const char *image_path)
Definition common/image.c:2444
gboolean dt_image_use_monochrome_workflow(const dt_image_t *img)
Definition common/image.c:195
int dt_image_local_copy_set(const int32_t imgid)
Definition common/image.c:2064
void dt_image_film_roll_directory(const dt_image_t *img, char *pathname, size_t pathname_len)
Definition common/image.c:231
void dt_image_remove(const int32_t imgid)
Definition common/image.c:1003
char * dt_image_camera_missing_sample_message(const struct dt_image_t *img, gboolean logmsg)
Definition common/image.c:2526
int dt_image_get_xmp_rating_from_flags(const int flags)
Definition common/image.c:445
int32_t dt_image_import_lua(int32_t film_id, const char *filename)
Definition common/image.c:1515
int dt_image_read_duplicates(const uint32_t id, const char *filename, const gboolean clear_selection)
Definition common/image.c:1128
static dt_image_orientation_t dt_image_orientation(const dt_image_t *img)
Definition common/image.h:354
static const struct @7 loaders_info[LOADER_COUNT]
void dt_image_set_locations(const GList *img, const dt_image_geoloc_t *geoloc, const gboolean undo_on)
Definition common/image.c:600
int dt_image_local_copy_reset(const int32_t imgid)
Definition common/image.c:2137
gboolean dt_image_get_xmp_mode()
Definition common/image.c:273
char * dt_image_get_text_path(const int32_t imgid)
Definition common/image.c:2499
int32_t dt_image_get_id_full_path(const gchar *filename)
Definition common/image.c:1471
gboolean dt_image_is_rawprepare_supported(const dt_image_t *img)
Definition common/image.c:190
gboolean dt_image_safe_remove(const int32_t imgid)
Definition common/image.c:295
void dt_image_set_xmp_rating(dt_image_t *img, const int rating)
Definition common/image.c:457
dt_image_loader_t
Definition common/image.h:141
@ LOADER_PFM
Definition common/image.h:149
@ LOADER_AVIF
Definition common/image.h:153
@ LOADER_J2K
Definition common/image.h:145
@ LOADER_PNG
Definition common/image.h:144
@ LOADER_EXR
Definition common/image.h:147
@ LOADER_TIFF
Definition common/image.h:143
@ LOADER_JPEG
Definition common/image.h:146
@ LOADER_WEBP
Definition common/image.h:157
@ LOADER_GM
Definition common/image.h:150
@ LOADER_HEIF
Definition common/image.h:155
@ LOADER_RAWSPEED
Definition common/image.h:151
@ LOADER_PNM
Definition common/image.h:152
@ LOADER_RGBE
Definition common/image.h:148
@ LOADER_LIBRAW
Definition common/image.h:156
@ LOADER_UNKNOWN
Definition common/image.h:142
@ LOADER_COUNT
Definition common/image.h:158
@ LOADER_IM
Definition common/image.h:154
int dt_image_is_raw(const dt_image_t *img)
Definition common/image.c:120
void dt_image_flip(const int32_t imgid, const int32_t cw)
Definition common/image.c:768
int32_t dt_image_duplicate(const int32_t imgid)
Definition common/image.c:810
int dt_image_is_hdr(const dt_image_t *img)
Definition common/image.c:104
void dt_image_local_copy_synch()
Definition common/image.c:2310
int32_t dt_image_rename(const int32_t imgid, const int32_t filmid, const gchar *newname)
Definition common/image.c:1605
void dt_image_synch_xmp(const int selected)
Definition common/image.c:2276
void dt_get_dirname_from_imgid(gchar *dir, const int32_t imgid)
Definition common/image.c:2563
void dt_image_full_path(const int32_t imgid, char *pathname, size_t pathname_len, gboolean *from_cache, const char *calling_func)
Get the full path of an image out of the database. TODO: This gets called too many times and the outp...
Definition common/image.c:329
float dt_boundingbox_t[4]
Definition darktable.h:467
#define DT_MAX_FILENAME_LEN
Definition darktable.h:814
dt_mipmap_buffer_dsc_flags flags
Definition mipmap_cache.c:4
Definition cache.h:27
Definition common/image.h:186
double latitude
Definition common/image.h:187
double elevation
Definition common/image.h:187
double longitude
Definition common/image.h:187
Definition common/image.h:105
unsigned legacy
Definition common/image.h:106
unsigned user_flip
Definition common/image.h:107
Definition common/image.h:195
float exif_exposure
Definition common/image.h:199
float pixel_aspect_ratio
Definition common/image.h:253
int32_t height
Definition common/image.h:223
gboolean camera_missing_sample
Definition common/image.h:216
GTimeSpan export_timestamp
Definition common/image.h:230
char camera_model[64]
Definition common/image.h:212
float exif_focus_distance
Definition common/image.h:204
dt_boundingbox_t usercrop
Definition common/image.h:262
GTimeSpan import_timestamp
Definition common/image.h:230
int32_t group_id
Definition common/image.h:227
char camera_makermodel[128]
Definition common/image.h:214
float exif_exposure_bias
Definition common/image.h:200
uint16_t raw_black_level
Definition common/image.h:247
float exif_iso
Definition common/image.h:202
GList * dng_gain_maps
Definition common/image.h:265
dt_image_loader_t loader
Definition common/image.h:232
char camera_maker[64]
Definition common/image.h:211
uint32_t raw_white_point
Definition common/image.h:249
dt_iop_buffer_dsc_t buf_dsc
Definition common/image.h:234
int32_t exif_inited
Definition common/image.h:197
float exif_aperture
Definition common/image.h:201
int32_t version
Definition common/image.h:227
int32_t crop_height
Definition common/image.h:224
dt_image_geoloc_t geoloc
Definition common/image.h:244
char camera_legacy_makermodel[128]
Definition common/image.h:215
int32_t flags
Definition common/image.h:227
dt_image_orientation_t orientation
Definition common/image.h:198
int32_t width
Definition common/image.h:223
float exif_focal_length
Definition common/image.h:203
char exif_maker[64]
Definition common/image.h:206
GTimeSpan change_timestamp
Definition common/image.h:230
uint32_t profile_size
Definition common/image.h:238
int32_t crop_y
Definition common/image.h:224
int32_t num
Definition common/image.h:227
char camera_alias[64]
Definition common/image.h:213
char exif_lens[128]
Definition common/image.h:208
GTimeSpan print_timestamp
Definition common/image.h:230
int32_t film_id
Definition common/image.h:227
GTimeSpan exif_datetime_taken
Definition common/image.h:209
int32_t crop_x
Definition common/image.h:224
int color_labels
Definition common/image.h:268
float d65_color_matrix[9]
Definition common/image.h:236
int32_t p_height
Definition common/image.h:223
int32_t p_width
Definition common/image.h:223
char exif_model[64]
Definition common/image.h:207
dt_image_colorspace_t colorspace
Definition common/image.h:239
float adobe_XYZ_to_CAM[4][3]
Definition common/image.h:259
uint8_t * profile
Definition common/image.h:237
struct dt_cache_entry_t * cache_entry
Definition common/image.h:271
int32_t crop_width
Definition common/image.h:224
dt_image_raw_parameters_t legacy_flip
Definition common/image.h:241
char filename[DT_MAX_FILENAME_LEN]
Definition common/image.h:218
int32_t id
Definition common/image.h:227
uint16_t raw_black_level_separate[4]
Definition common/image.h:248
dt_aligned_pixel_t wb_coeffs
Definition common/image.h:256
float exif_crop
Definition common/image.h:205
uint32_t fuji_rotation_pos
Definition common/image.h:252
Definition develop/format.h:36