Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
j2k.c File Reference
#include "bauhaus/bauhaus.h"
#include "common/darktable.h"
#include "common/exif.h"
#include "common/imageio.h"
#include "common/imageio_module.h"
#include "control/conf.h"
#include "imageio/format/imageio_format_api.h"
#include <stdio.h>
#include <stdlib.h>
#include <openjpeg.h>
+ Include dependency graph for j2k.c:

Data Structures

struct  dt_imageio_j2k_t
 
struct  dt_imageio_j2k_gui_t
 

Macros

#define DOWNSAMPLE_FLOAT_TO_8BIT(_val)   (_val) <= 0.0f ? 0 : ((_val) >= 1.0f ? 255 : (int)roundf(255.0f * (_val)))
 
#define DOWNSAMPLE_FLOAT_TO_12BIT(_val)   (_val) <= 0.0f ? 0 : ((_val) >= 1.0f ? 4095 : (int)roundf(4095.0f * (_val)))
 
#define DOWNSAMPLE_FLOAT_TO_16BIT(_val)    (_val) <= 0.0f ? 0 : ((_val) >= 1.0f ? 65535 : (int)roundf(65535.0f * (_val)))
 

Typedefs

typedef struct dt_imageio_j2k_t dt_imageio_j2k_t
 
typedef struct dt_imageio_j2k_gui_t dt_imageio_j2k_gui_t
 

Enumerations

enum  dt_imageio_j2k_format_t {
  J2K_CFMT = 0 ,
  JP2_CFMT = 1
}
 
enum  dt_imageio_j2k_preset_t {
  DT_J2K_PRESET_OFF ,
  DT_J2K_PRESET_CINEMA2K_24 ,
  DT_J2K_PRESET_CINEMA2K_48 ,
  DT_J2K_PRESET_CINEMA4K_24
}
 

Functions

void init (dt_imageio_module_format_t *self)
 
void cleanup (dt_imageio_module_format_t *self)
 
static void error_callback (const char *msg, void *client_data)
 
static void warning_callback (const char *msg, void *client_data)
 
static void info_callback (const char *msg, void *client_data)
 
static int initialise_4K_poc (opj_poc_t *POC, int numres)
 
static void cinema_parameters (opj_cparameters_t *parameters)
 
static void cinema_setup_encoder (opj_cparameters_t *parameters, opj_image_t *image, float *rates)
 
int write_image (dt_imageio_module_data_t *j2k_tmp, const char *filename, const void *in_tmp, dt_colorspaces_color_profile_type_t over_type, const char *over_filename, void *exif, int exif_len, int32_t imgid, int num, int total, struct dt_dev_pixelpipe_t *pipe, const gboolean export_masks)
 
size_t params_size (dt_imageio_module_format_t *self)
 
voidlegacy_params (dt_imageio_module_format_t *self, const void *const old_params, const size_t old_params_size, const int old_version, const int new_version, size_t *new_size)
 
voidget_params (dt_imageio_module_format_t *self)
 
void free_params (dt_imageio_module_format_t *self, dt_imageio_module_data_t *params)
 
int set_params (dt_imageio_module_format_t *self, const void *params, const int size)
 
int bpp (dt_imageio_module_data_t *p)
 
int levels (dt_imageio_module_data_t *p)
 
const char * mime (dt_imageio_module_data_t *data)
 
const char * extension (dt_imageio_module_data_t *data_tmp)
 
const char * name ()
 
static void preset_changed (GtkWidget *widget, gpointer user_data)
 
static void format_changed (GtkWidget *widget, gpointer user_data)
 
static void quality_changed (GtkWidget *slider, gpointer user_data)
 
void gui_init (dt_imageio_module_format_t *self)
 
void gui_cleanup (dt_imageio_module_format_t *self)
 
void gui_reset (dt_imageio_module_format_t *self)
 
int flags (dt_imageio_module_data_t *data)
 

Macro Definition Documentation

◆ DOWNSAMPLE_FLOAT_TO_12BIT

#define DOWNSAMPLE_FLOAT_TO_12BIT (   _val)    (_val) <= 0.0f ? 0 : ((_val) >= 1.0f ? 4095 : (int)roundf(4095.0f * (_val)))

◆ DOWNSAMPLE_FLOAT_TO_16BIT

#define DOWNSAMPLE_FLOAT_TO_16BIT (   _val)     (_val) <= 0.0f ? 0 : ((_val) >= 1.0f ? 65535 : (int)roundf(65535.0f * (_val)))

◆ DOWNSAMPLE_FLOAT_TO_8BIT

#define DOWNSAMPLE_FLOAT_TO_8BIT (   _val)    (_val) <= 0.0f ? 0 : ((_val) >= 1.0f ? 255 : (int)roundf(255.0f * (_val)))

Typedef Documentation

◆ dt_imageio_j2k_gui_t

◆ dt_imageio_j2k_t

Enumeration Type Documentation

◆ dt_imageio_j2k_format_t

Enumerator
J2K_CFMT 
JP2_CFMT 

◆ dt_imageio_j2k_preset_t

Enumerator
DT_J2K_PRESET_OFF 
DT_J2K_PRESET_CINEMA2K_24 
DT_J2K_PRESET_CINEMA2K_48 
DT_J2K_PRESET_CINEMA4K_24 

Function Documentation

◆ bpp()

int bpp ( dt_imageio_module_data_t p)

◆ cinema_parameters()

static void cinema_parameters ( opj_cparameters_t *  parameters)
static

Referenced by write_image().

◆ cinema_setup_encoder()

static void cinema_setup_encoder ( opj_cparameters_t *  parameters,
opj_image_t *  image,
float *  rates 
)
static

References initialise_4K_poc().

Referenced by write_image().

◆ cleanup()

void cleanup ( dt_imageio_module_format_t self)

◆ error_callback()

static void error_callback ( const char *  msg,
void client_data 
)
static

sample error callback expecting a FILE* client object

Referenced by write_image().

◆ extension()

const char * extension ( dt_imageio_module_data_t data_tmp)

◆ flags()

◆ format_changed()

static void format_changed ( GtkWidget *  widget,
gpointer  user_data 
)
static

References dt_bauhaus_combobox_get(), and dt_conf_set_int().

Referenced by gui_init().

◆ free_params()

void free_params ( dt_imageio_module_format_t self,
dt_imageio_module_data_t params 
)

◆ get_params()

◆ gui_cleanup()

◆ gui_init()

◆ gui_reset()

◆ info_callback()

static void info_callback ( const char *  msg,
void client_data 
)
static

sample debug callback expecting a FILE* client object

Referenced by write_image().

◆ init()

◆ initialise_4K_poc()

static int initialise_4K_poc ( opj_poc_t *  POC,
int  numres 
)
static

Referenced by cinema_setup_encoder().

◆ legacy_params()

◆ levels()

int levels ( dt_imageio_module_data_t p)
Todo:
: adapt as soon as this module supports various bitdepths

References IMAGEIO_INT12, and IMAGEIO_RGB.

◆ mime()

const char * mime ( dt_imageio_module_data_t data)

◆ name()

const char * name ( )

◆ params_size()

size_t params_size ( dt_imageio_module_format_t self)

◆ preset_changed()

static void preset_changed ( GtkWidget *  widget,
gpointer  user_data 
)
static

◆ quality_changed()

static void quality_changed ( GtkWidget *  slider,
gpointer  user_data 
)
static

References dt_bauhaus_slider_get(), and dt_conf_set_int().

Referenced by gui_init().

◆ set_params()

◆ warning_callback()

static void warning_callback ( const char *  msg,
void client_data 
)
static

sample warning callback expecting a FILE* client object

Referenced by write_image().

◆ write_image()

int write_image ( dt_imageio_module_data_t j2k_tmp,
const char *  filename,
const void in_tmp,
dt_colorspaces_color_profile_type_t  over_type,
const char *  over_filename,
void exif,
int  exif_len,
int32_t  imgid,
int  num,
int  total,
struct dt_dev_pixelpipe_t pipe,
const gboolean  export_masks 
)