26#define OPCODE_ID_GAINMAP (9)
35 memcpy(&in, ptr,
sizeof(in));
36 u.out = GUINT64_FROM_BE(in);
47 memcpy(&in, ptr,
sizeof(in));
48 u.out = GUINT32_FROM_BE(in);
55 memcpy(&in, ptr,
sizeof(in));
56 return GUINT32_FROM_BE(in);
74 if(offset + 16 > buf_size)
80 const uint32_t opcode_id =
get_long(&buf[offset]);
82 const uint32_t param_size =
get_long(&buf[offset + 12]);
83 uint8_t *
param = &buf[offset + 16];
85 if(offset + 16 + (
uint64_t)param_size > buf_size)
98 uint32_t gain_count = (param_size - 76) / 4;
116 for(uint32_t
i = 0;
i < gain_count;
i++)
124 flags & 1 ?
"optional" :
"mandatory", opcode_id);
128 offset += 16 + (
uint64_t)param_size;
const dt_colormatrix_t dt_aligned_pixel_t out
static uint32_t get_long(uint8_t *ptr)
static double get_double(uint8_t *ptr)
static float get_float(uint8_t *ptr)
void dt_dng_opcode_process_opcode_list_2(uint8_t *buf, uint32_t buf_size, dt_image_t *img)
#define OPCODE_ID_GAINMAP
void dt_print(dt_debug_thread_t thread, const char *msg,...) __attribute__((format(printf
Print to stdout when thread is enabled, prefixed with seconds since startup.
static void dt_free_gpointer(gpointer ptr)
g_free() one pointer, with the signature GDestroyNotify wants.
dt_mipmap_buffer_dsc_flags flags
const float const float param
unsigned __int64 uint64_t