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

Data Structures

struct  dt_imageio_avif_t
 
struct  dt_imageio_avif_gui_t
 

Macros

#define AVIF_MIN_TILE_SIZE   512
 
#define AVIF_MAX_TILE_SIZE   3072
 
#define AVIF_DEFAULT_TILE_SIZE   AVIF_MIN_TILE_SIZE * 2
 

Typedefs

typedef struct dt_imageio_avif_t dt_imageio_avif_t
 
typedef struct dt_imageio_avif_gui_t dt_imageio_avif_gui_t
 

Enumerations

enum  avif_compression_type_e {
  AVIF_COMP_LOSSLESS = 0 ,
  AVIF_COMP_LOSSY = 1
}
 
enum  avif_tiling_e {
  AVIF_TILING_ON = 0 ,
  AVIF_TILING_OFF
}
 
enum  avif_color_mode_e {
  AVIF_COLOR_MODE_RGB = 0 ,
  AVIF_COLOR_MODE_GRAYSCALE
}
 

Functions

static const char * avif_get_compression_string (enum avif_compression_type_e comp)
 
static int floor_log2 (int i)
 
void init (dt_imageio_module_format_t *self)
 
void cleanup (dt_imageio_module_format_t *self)
 
int write_image (struct dt_imageio_module_data_t *data, const char *filename, const void *in, 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)
 
voidget_params (dt_imageio_module_format_t *self)
 
int set_params (dt_imageio_module_format_t *self, const void *params, const int size)
 
void free_params (dt_imageio_module_format_t *self, dt_imageio_module_data_t *params)
 
int bpp (struct dt_imageio_module_data_t *data)
 
int levels (struct dt_imageio_module_data_t *data)
 
const char * mime (dt_imageio_module_data_t *data)
 
const char * extension (dt_imageio_module_data_t *data)
 
int flags (struct dt_imageio_module_data_t *data)
 
static void bit_depth_changed (GtkWidget *widget, gpointer user_data)
 
static void color_mode_changed (GtkWidget *widget, gpointer user_data)
 
static void tiling_changed (GtkWidget *widget, gpointer user_data)
 
static void compression_type_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)
 

Variables

struct { 
 
   char *   name 
 
   uint32_t   bit_depth 
 
avif_bit_depth [] 
 

Macro Definition Documentation

◆ AVIF_DEFAULT_TILE_SIZE

#define AVIF_DEFAULT_TILE_SIZE   AVIF_MIN_TILE_SIZE * 2

◆ AVIF_MAX_TILE_SIZE

#define AVIF_MAX_TILE_SIZE   3072

◆ AVIF_MIN_TILE_SIZE

#define AVIF_MIN_TILE_SIZE   512

Typedef Documentation

◆ dt_imageio_avif_gui_t

◆ dt_imageio_avif_t

Enumeration Type Documentation

◆ avif_color_mode_e

Enumerator
AVIF_COLOR_MODE_RGB 
AVIF_COLOR_MODE_GRAYSCALE 

◆ avif_compression_type_e

Enumerator
AVIF_COMP_LOSSLESS 
AVIF_COMP_LOSSY 

◆ avif_tiling_e

Enumerator
AVIF_TILING_ON 
AVIF_TILING_OFF 

Function Documentation

◆ avif_get_compression_string()

static const char * avif_get_compression_string ( enum avif_compression_type_e  comp)
static

References AVIF_COMP_LOSSLESS, and AVIF_COMP_LOSSY.

Referenced by gui_init(), and write_image().

◆ bit_depth_changed()

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

◆ bpp()

int bpp ( struct dt_imageio_module_data_t data)

◆ cleanup()

◆ color_mode_changed()

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

References dt_bauhaus_combobox_get(), and dt_conf_set_int().

Referenced by gui_init().

◆ compression_type_changed()

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

◆ extension()

◆ flags()

int flags ( struct dt_imageio_module_data_t data)

◆ floor_log2()

static int floor_log2 ( int  i)
static

Referenced by write_image().

◆ 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()

◆ init()

◆ levels()

◆ mime()

const char * mime ( dt_imageio_module_data_t data)

Referenced by supported(), and supported().

◆ params_size()

◆ 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(), and gui_reset().

◆ set_params()

◆ tiling_changed()

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

References dt_bauhaus_combobox_get(), and dt_conf_set_bool().

Referenced by gui_init().

◆ write_image()

Variable Documentation

◆ [struct]

const struct { ... } avif_bit_depth[]
Initial value:
= {
{
.name = N_("8 bit"),
.bit_depth = 8
},
{
.name = N_("10 bit"),
.bit_depth = 10
},
{
.name = N_("12 bit"),
.bit_depth = 12
},
{
.name = NULL,
}
}

Referenced by bit_depth_changed(), and gui_init().

◆ bit_depth

◆ name

char* name

Referenced by gui_init().