Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
dng_opcode.h
Go to the documentation of this file.
1/*
2 This file is part of darktable,
3 Copyright (C) 2010-2012 Henrik Andersson.
4 Copyright (C) 2010-2011 johannes hanika.
5 Copyright (C) 2010 Stuart Henderson.
6 Copyright (C) 2011 Alexandre Prokoudine.
7 Copyright (C) 2012 José Carlos García Sogo.
8 Copyright (C) 2012 Richard Wonka.
9 Copyright (C) 2013 Gaspard Jankowiak.
10 Copyright (C) 2013 Thomas Pryds.
11 Copyright (C) 2014, 2016 Roman Lebedev.
12 Copyright (C) 2014-2016 Tobias Ellinghaus.
13 Copyright (C) 2018, 2020 Pascal Obry.
14 Copyright (C) 2018 Rick Yorgason.
15 Copyright (C) 2018 Sam Smith.
16 Copyright (C) 2020 Philippe Weyland.
17 Copyright (C) 2022 Martin Bařinka.
18 Copyright (C) 2022 paolodepetrillo.
19 Copyright (C) 2025 Alynx Zhou.
20
21 darktable is free software: you can redistribute it and/or modify
22 it under the terms of the GNU General Public License as published by
23 the Free Software Foundation, either version 3 of the License, or
24 (at your option) any later version.
25
26 darktable is distributed in the hope that it will be useful,
27 but WITHOUT ANY WARRANTY; without even the implied warranty of
28 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29 GNU General Public License for more details.
30
31 You should have received a copy of the GNU General Public License
32 along with darktable. If not, see <http://www.gnu.org/licenses/>.
33*/
34
35#ifndef DT_COMMON_DNG_OPCODE_H
36#define DT_COMMON_DNG_OPCODE_H
37
38#include <stdint.h>
39#include "image.h"
40
41#ifdef __cplusplus
42extern "C" {
43#endif
44
45typedef struct dt_dng_gain_map_t
46{
47 uint32_t top;
48 uint32_t left;
49 uint32_t bottom;
50 uint32_t right;
51 uint32_t plane;
52 uint32_t planes;
53 uint32_t row_pitch;
54 uint32_t col_pitch;
55 uint32_t map_points_v;
56 uint32_t map_points_h;
61 uint32_t map_planes;
62 /* Number of floats actually stored in map_gain[], i.e. how many the opcode carried. The grid
63 * dimensions above are read straight out of the file and are NOT guaranteed to agree with it:
64 * consumers index map_gain[] as map_points_h * map_points_v (see iop/rawprepare.c) and must check
65 * that this many are really there before doing so. */
67 float map_gain[];
69
70void dt_dng_opcode_process_opcode_list_2(uint8_t *buf, uint32_t size, dt_image_t *img);
71
72/* OpcodeList3 (post-demosaic lens corrections) is NOT parsed here any more: its format is
73 * correction knowledge, so the parser lives with the correction model --
74 * ls_vendor_parse_dng_opcodelist3() in LensSerious (lensserious_vendor.h). This file keeps
75 * only the sensor-domain list: gain maps. */
76
77#ifdef __cplusplus
78}
79#endif
80#endif // DT_COMMON_DNG_OPCODE_H
void dt_dng_opcode_process_opcode_list_2(uint8_t *buf, uint32_t size, dt_image_t *img)
Definition dng_opcode.c:59
size_t size
Definition mipmap_cache.c:3
uint32_t map_gain_count
Definition dng_opcode.h:66
uint32_t row_pitch
Definition dng_opcode.h:53
uint32_t map_planes
Definition dng_opcode.h:61
uint32_t map_points_v
Definition dng_opcode.h:55
uint32_t col_pitch
Definition dng_opcode.h:54
uint32_t map_points_h
Definition dng_opcode.h:56