25#define OPCODE_ID_GAINMAP (9)
34 memcpy(&in, ptr,
sizeof(in));
35 u.out = GUINT64_FROM_BE(in);
46 memcpy(&in, ptr,
sizeof(in));
47 u.out = GUINT32_FROM_BE(in);
54 memcpy(&in, ptr,
sizeof(in));
55 return GUINT32_FROM_BE(in);
67 uint32_t opcode_id =
get_long(&buf[offset]);
69 uint32_t param_size =
get_long(&buf[offset + 12]);
70 uint8_t *
param = &buf[offset + 16];
72 if(offset + 16 + param_size > buf_size)
80 uint32_t gain_count = (param_size - 76) / 4;
97 for(
int i = 0;
i < gain_count;
i++)
105 flags & 1 ?
"optional" :
"mandatory", opcode_id);
108 offset += 16 + param_size;
const dt_colormatrix_t dt_aligned_pixel_t out
void dt_print(dt_debug_thread_t thread, const char *msg,...)
static void dt_free_gpointer(gpointer ptr)
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
dt_mipmap_buffer_dsc_flags flags
const float const float param