LiVES  3.0.2
Data Structures | Macros | Functions
colourspace.h File Reference

Go to the source code of this file.

Data Structures

struct  uyvy_macropixel
 
struct  yuyv_macropixel
 
struct  yuv411_macropixel
 
struct  lives_cc_params
 

Macros

#define WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS   "host_pixel_data_contiguous"
 
#define WEED_LEAF_HOST_PIXBUF_SRC   "host_pixbuf_src"
 
#define DEF_SCREEN_GAMMA   2.2
 
#define FP_BITS   16
 
#define SCALE_FACTOR   (1 << FP_BITS)
 
#define KR_YCBCR   0.299
 
#define KB_YCBCR   0.114
 
#define KR_BT701   0.2126
 
#define KB_BT701   0.0722
 
#define KR_BT2020   0.2627
 
#define KB_BT2020   0.0593
 
#define YUV_CLAMP_MIN   16.
 
#define YUV_CLAMP_MINI   16
 
#define Y_CLAMP_MAX   235.
 
#define UV_CLAMP_MAX   240.
 
#define UV_CLAMP_MAXI   240
 
#define CLAMP_FACTOR_Y   ((Y_CLAMP_MAX-YUV_CLAMP_MIN)/255.)
 
#define CLAMP_FACTOR_UV   ((UV_CLAMP_MAX-YUV_CLAMP_MIN)/255.)
 
#define UV_BIAS   128.
 
#define BLACK_THRESH   20
 if R,G and B values are all <= this, we consider it a "black" pixel More...
 

Functions

void * convert_rgb_to_uyvy_frame_thread (void *cc_params)
 
void * convert_bgr_to_uyvy_frame_thread (void *cc_params)
 
void * convert_rgb_to_yuyv_frame_thread (void *cc_params)
 
void * convert_bgr_to_yuyv_frame_thread (void *cc_params)
 
void * convert_argb_to_uyvy_frame_thread (void *cc_params)
 
void * convert_argb_to_yuyv_frame_thread (void *cc_params)
 
void * convert_rgb_to_yuv_frame_thread (void *cc_params)
 
void * convert_bgr_to_yuv_frame_thread (void *cc_params)
 
void * convert_argb_to_yuv_frame_thread (void *cc_params)
 
void * convert_rgb_to_yuvp_frame_thread (void *cc_params)
 
void * convert_bgr_to_yuvp_frame_thread (void *cc_params)
 
void * convert_argb_to_yuvp_frame_thread (void *cc_params)
 
void * convert_uyvy_to_rgb_frame_thread (void *cc_params)
 
void * convert_uyvy_to_bgr_frame_thread (void *cc_params)
 
void * convert_uyvy_to_argb_frame_thread (void *cc_params)
 
void * convert_yuyv_to_rgb_frame_thread (void *cc_params)
 
void * convert_yuyv_to_bgr_frame_thread (void *cc_params)
 
void * convert_yuyv_to_argb_frame_thread (void *cc_params)
 
void * convert_yuv_planar_to_rgb_frame_thread (void *cc_params)
 
void * convert_yuv_planar_to_bgr_frame_thread (void *cc_params)
 
void * convert_yuv_planar_to_argb_frame_thread (void *cc_params)
 
void * convert_yuv888_to_rgb_frame_thread (void *cc_params)
 
void * convert_yuv888_to_bgr_frame_thread (void *cc_params)
 
void * convert_yuv888_to_argb_frame_thread (void *cc_params)
 
void * convert_yuva8888_to_rgba_frame_thread (void *cc_params)
 
void * convert_yuva8888_to_bgra_frame_thread (void *cc_params)
 
void * convert_yuva8888_to_argb_frame_thread (void *cc_params)
 
void * convert_swap3_frame_thread (void *cc_params)
 
void * convert_swap4_frame_thread (void *cc_params)
 
void * convert_swap3addpost_frame_thread (void *cc_params)
 
void * convert_swap3addpre_frame_thread (void *cc_params)
 
void * convert_swap3delpost_frame_thread (void *cc_params)
 
void * convert_swap3delpre_frame_thread (void *cc_params)
 
void * convert_addpre_frame_thread (void *cc_params)
 
void * convert_addpost_frame_thread (void *cc_params)
 
void * convert_delpre_frame_thread (void *cc_params)
 
void * convert_delpost_frame_thread (void *cc_params)
 
void * convert_swap3postalpha_frame_thread (void *cc_params)
 
void * convert_swapprepost_frame_thread (void *cc_params)
 
void * convert_swab_frame_thread (void *cc_params)
 
boolean convert_layer_palette (weed_plant_t *layer, int outpl, int op_clamping)
 
boolean convert_layer_palette_with_sampling (weed_plant_t *layer, int outpl, int out_sampling)
 
boolean convert_layer_palette_full (weed_plant_t *layer, int outpl, int osamtype, boolean oclamping, int osubspace)
 
boolean resize_layer (weed_plant_t *layer, int width, int height, LiVESInterpType interp, int opal_hint, int oclamp_hint)
 
void letterbox_layer (weed_plant_t *layer, int width, int height, int nwidth, int nheight)
 
void compact_rowstrides (weed_plant_t *layer)
 
void weed_layer_pixel_data_free (weed_plant_t *layer)
 
void create_empty_pixel_data (weed_plant_t *layer, boolean black_fill, boolean may_contig)
 
void insert_blank_frames (int sfileno, int nframes, int after)
 
void pixel_data_planar_from_membuf (void **pixel_data, void *data, size_t size, int palette)
 
LiVESPixbuf * layer_to_pixbuf (weed_plant_t *layer)
 
boolean pixbuf_to_layer (weed_plant_t *layer, LiVESPixbuf *) WARN_UNUSED
 
weed_plant_t * weed_layer_copy (weed_plant_t *dlayer, weed_plant_t *slayer)
 
void weed_layer_free (weed_plant_t *layer)
 
weed_plant_t * weed_layer_create (int width, int height, int *rowstrides, int current_palette)
 
int weed_layer_get_palette (weed_plant_t *layer)
 
lives_painter_t * layer_to_lives_painter (weed_plant_t *layer)
 
boolean lives_painter_to_layer (lives_painter_t *cairo, weed_plant_t *layer)
 
void alpha_unpremult (weed_plant_t *layer, boolean un)
 
boolean weed_palette_is_valid_palette (int pal)
 
boolean weed_palette_is_alpha_palette (int pal)
 
boolean weed_palette_is_rgb_palette (int pal)
 
boolean weed_palette_is_yuv_palette (int pal)
 
boolean weed_palette_is_float_palette (int pal)
 
boolean weed_palette_has_alpha_channel (int pal)
 
int weed_palette_get_bits_per_macropixel (int pal)
 
int weed_palette_get_pixels_per_macropixel (int pal)
 
int weed_palette_get_numplanes (int pal)
 
double weed_palette_get_plane_ratio_horizontal (int pal, int plane)
 
double weed_palette_get_plane_ratio_vertical (int pal, int plane)
 
boolean weed_palette_is_lower_quality (int p1, int p2)
 return TRUE if p1 is lower quality than p2 More...
 
double weed_palette_get_compression_ratio (int pal)
 
boolean lives_pixbuf_is_all_black (LiVESPixbuf *pixbuf)
 
void lives_pixbuf_set_opaque (LiVESPixbuf *pixbuf)
 
const char * weed_palette_get_name (int pal)
 
const char * weed_yuv_clamping_get_name (int clamping)
 
const char * weed_yuv_subspace_get_name (int subspace)
 
char * weed_palette_get_name_full (int pal, int clamped, int subspace)
 

Macro Definition Documentation

◆ BLACK_THRESH

#define BLACK_THRESH   20

if R,G and B values are all <= this, we consider it a "black" pixel

◆ CLAMP_FACTOR_UV

#define CLAMP_FACTOR_UV   ((UV_CLAMP_MAX-YUV_CLAMP_MIN)/255.)

◆ CLAMP_FACTOR_Y

#define CLAMP_FACTOR_Y   ((Y_CLAMP_MAX-YUV_CLAMP_MIN)/255.)

◆ DEF_SCREEN_GAMMA

#define DEF_SCREEN_GAMMA   2.2

◆ FP_BITS

#define FP_BITS   16

◆ KB_BT2020

#define KB_BT2020   0.0593

◆ KB_BT701

#define KB_BT701   0.0722

◆ KB_YCBCR

#define KB_YCBCR   0.114

◆ KR_BT2020

#define KR_BT2020   0.2627

◆ KR_BT701

#define KR_BT701   0.2126

◆ KR_YCBCR

#define KR_YCBCR   0.299

◆ SCALE_FACTOR

#define SCALE_FACTOR   (1 << FP_BITS)

◆ UV_BIAS

#define UV_BIAS   128.

◆ UV_CLAMP_MAX

#define UV_CLAMP_MAX   240.

◆ UV_CLAMP_MAXI

#define UV_CLAMP_MAXI   240

◆ WEED_LEAF_HOST_PIXBUF_SRC

#define WEED_LEAF_HOST_PIXBUF_SRC   "host_pixbuf_src"

◆ WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS

#define WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS   "host_pixel_data_contiguous"

◆ Y_CLAMP_MAX

#define Y_CLAMP_MAX   235.

◆ YUV_CLAMP_MIN

#define YUV_CLAMP_MIN   16.

◆ YUV_CLAMP_MINI

#define YUV_CLAMP_MINI   16

Function Documentation

◆ alpha_unpremult()

void alpha_unpremult ( weed_plant_t *  layer,
boolean  un 
)

◆ compact_rowstrides()

void compact_rowstrides ( weed_plant_t *  layer)

◆ convert_addpost_frame_thread()

void* convert_addpost_frame_thread ( void *  cc_params)

◆ convert_addpre_frame_thread()

void* convert_addpre_frame_thread ( void *  cc_params)

◆ convert_argb_to_uyvy_frame_thread()

void* convert_argb_to_uyvy_frame_thread ( void *  cc_params)

◆ convert_argb_to_yuv_frame_thread()

void* convert_argb_to_yuv_frame_thread ( void *  cc_params)

◆ convert_argb_to_yuvp_frame_thread()

void* convert_argb_to_yuvp_frame_thread ( void *  cc_params)

◆ convert_argb_to_yuyv_frame_thread()

void* convert_argb_to_yuyv_frame_thread ( void *  cc_params)

◆ convert_bgr_to_uyvy_frame_thread()

void* convert_bgr_to_uyvy_frame_thread ( void *  cc_params)

◆ convert_bgr_to_yuv_frame_thread()

void* convert_bgr_to_yuv_frame_thread ( void *  cc_params)

◆ convert_bgr_to_yuvp_frame_thread()

void* convert_bgr_to_yuvp_frame_thread ( void *  cc_params)

◆ convert_bgr_to_yuyv_frame_thread()

void* convert_bgr_to_yuyv_frame_thread ( void *  cc_params)

◆ convert_delpost_frame_thread()

void* convert_delpost_frame_thread ( void *  cc_params)

◆ convert_delpre_frame_thread()

void* convert_delpre_frame_thread ( void *  cc_params)

◆ convert_layer_palette()

boolean convert_layer_palette ( weed_plant_t *  layer,
int  outpl,
int  op_clamping 
)

◆ convert_layer_palette_full()

boolean convert_layer_palette_full ( weed_plant_t *  layer,
int  outpl,
int  osamtype,
boolean  oclamping,
int  osubspace 
)

◆ convert_layer_palette_with_sampling()

boolean convert_layer_palette_with_sampling ( weed_plant_t *  layer,
int  outpl,
int  out_sampling 
)

◆ convert_rgb_to_uyvy_frame_thread()

void* convert_rgb_to_uyvy_frame_thread ( void *  cc_params)

◆ convert_rgb_to_yuv_frame_thread()

void* convert_rgb_to_yuv_frame_thread ( void *  cc_params)

◆ convert_rgb_to_yuvp_frame_thread()

void* convert_rgb_to_yuvp_frame_thread ( void *  cc_params)

◆ convert_rgb_to_yuyv_frame_thread()

void* convert_rgb_to_yuyv_frame_thread ( void *  cc_params)

◆ convert_swab_frame_thread()

void* convert_swab_frame_thread ( void *  cc_params)

◆ convert_swap3_frame_thread()

void* convert_swap3_frame_thread ( void *  cc_params)

◆ convert_swap3addpost_frame_thread()

void* convert_swap3addpost_frame_thread ( void *  cc_params)

◆ convert_swap3addpre_frame_thread()

void* convert_swap3addpre_frame_thread ( void *  cc_params)

◆ convert_swap3delpost_frame_thread()

void* convert_swap3delpost_frame_thread ( void *  cc_params)

◆ convert_swap3delpre_frame_thread()

void* convert_swap3delpre_frame_thread ( void *  cc_params)

◆ convert_swap3postalpha_frame_thread()

void* convert_swap3postalpha_frame_thread ( void *  cc_params)

◆ convert_swap4_frame_thread()

void* convert_swap4_frame_thread ( void *  cc_params)

◆ convert_swapprepost_frame_thread()

void* convert_swapprepost_frame_thread ( void *  cc_params)

◆ convert_uyvy_to_argb_frame_thread()

void* convert_uyvy_to_argb_frame_thread ( void *  cc_params)

◆ convert_uyvy_to_bgr_frame_thread()

void* convert_uyvy_to_bgr_frame_thread ( void *  cc_params)

◆ convert_uyvy_to_rgb_frame_thread()

void* convert_uyvy_to_rgb_frame_thread ( void *  cc_params)

◆ convert_yuv888_to_argb_frame_thread()

void* convert_yuv888_to_argb_frame_thread ( void *  cc_params)

◆ convert_yuv888_to_bgr_frame_thread()

void* convert_yuv888_to_bgr_frame_thread ( void *  cc_params)

◆ convert_yuv888_to_rgb_frame_thread()

void* convert_yuv888_to_rgb_frame_thread ( void *  cc_params)

◆ convert_yuv_planar_to_argb_frame_thread()

void* convert_yuv_planar_to_argb_frame_thread ( void *  cc_params)

◆ convert_yuv_planar_to_bgr_frame_thread()

void* convert_yuv_planar_to_bgr_frame_thread ( void *  cc_params)

◆ convert_yuv_planar_to_rgb_frame_thread()

void* convert_yuv_planar_to_rgb_frame_thread ( void *  cc_params)

◆ convert_yuva8888_to_argb_frame_thread()

void* convert_yuva8888_to_argb_frame_thread ( void *  cc_params)

◆ convert_yuva8888_to_bgra_frame_thread()

void* convert_yuva8888_to_bgra_frame_thread ( void *  cc_params)

◆ convert_yuva8888_to_rgba_frame_thread()

void* convert_yuva8888_to_rgba_frame_thread ( void *  cc_params)

◆ convert_yuyv_to_argb_frame_thread()

void* convert_yuyv_to_argb_frame_thread ( void *  cc_params)

◆ convert_yuyv_to_bgr_frame_thread()

void* convert_yuyv_to_bgr_frame_thread ( void *  cc_params)

◆ convert_yuyv_to_rgb_frame_thread()

void* convert_yuyv_to_rgb_frame_thread ( void *  cc_params)

◆ create_empty_pixel_data()

void create_empty_pixel_data ( weed_plant_t *  layer,
boolean  black_fill,
boolean  may_contig 
)

◆ insert_blank_frames()

void insert_blank_frames ( int  sfileno,
int  nframes,
int  after 
)

◆ layer_to_lives_painter()

lives_painter_t* layer_to_lives_painter ( weed_plant_t *  layer)

◆ layer_to_pixbuf()

LiVESPixbuf* layer_to_pixbuf ( weed_plant_t *  layer)

◆ letterbox_layer()

void letterbox_layer ( weed_plant_t *  layer,
int  width,
int  height,
int  nwidth,
int  nheight 
)

◆ lives_painter_to_layer()

boolean lives_painter_to_layer ( lives_painter_t *  cairo,
weed_plant_t *  layer 
)

◆ lives_pixbuf_is_all_black()

boolean lives_pixbuf_is_all_black ( LiVESPixbuf *  pixbuf)

◆ lives_pixbuf_set_opaque()

void lives_pixbuf_set_opaque ( LiVESPixbuf *  pixbuf)

◆ pixbuf_to_layer()

boolean pixbuf_to_layer ( weed_plant_t *  layer,
LiVESPixbuf *   
)

◆ pixel_data_planar_from_membuf()

void pixel_data_planar_from_membuf ( void **  pixel_data,
void *  data,
size_t  size,
int  palette 
)

◆ resize_layer()

boolean resize_layer ( weed_plant_t *  layer,
int  width,
int  height,
LiVESInterpType  interp,
int  opal_hint,
int  oclamp_hint 
)

◆ weed_layer_copy()

weed_plant_t* weed_layer_copy ( weed_plant_t *  dlayer,
weed_plant_t *  slayer 
)

◆ weed_layer_create()

weed_plant_t* weed_layer_create ( int  width,
int  height,
int *  rowstrides,
int  current_palette 
)

◆ weed_layer_free()

void weed_layer_free ( weed_plant_t *  layer)

◆ weed_layer_get_palette()

int weed_layer_get_palette ( weed_plant_t *  layer)

◆ weed_layer_pixel_data_free()

void weed_layer_pixel_data_free ( weed_plant_t *  layer)

◆ weed_palette_get_bits_per_macropixel()

int weed_palette_get_bits_per_macropixel ( int  pal)

◆ weed_palette_get_compression_ratio()

double weed_palette_get_compression_ratio ( int  pal)

◆ weed_palette_get_name()

const char* weed_palette_get_name ( int  pal)

◆ weed_palette_get_name_full()

char* weed_palette_get_name_full ( int  pal,
int  clamped,
int  subspace 
)

◆ weed_palette_get_numplanes()

int weed_palette_get_numplanes ( int  pal)

◆ weed_palette_get_pixels_per_macropixel()

int weed_palette_get_pixels_per_macropixel ( int  pal)

◆ weed_palette_get_plane_ratio_horizontal()

double weed_palette_get_plane_ratio_horizontal ( int  pal,
int  plane 
)

◆ weed_palette_get_plane_ratio_vertical()

double weed_palette_get_plane_ratio_vertical ( int  pal,
int  plane 
)

◆ weed_palette_has_alpha_channel()

boolean weed_palette_has_alpha_channel ( int  pal)

◆ weed_palette_is_alpha_palette()

boolean weed_palette_is_alpha_palette ( int  pal)

◆ weed_palette_is_float_palette()

boolean weed_palette_is_float_palette ( int  pal)

◆ weed_palette_is_lower_quality()

boolean weed_palette_is_lower_quality ( int  p1,
int  p2 
)

return TRUE if p1 is lower quality than p2

◆ weed_palette_is_rgb_palette()

boolean weed_palette_is_rgb_palette ( int  pal)

◆ weed_palette_is_valid_palette()

boolean weed_palette_is_valid_palette ( int  pal)

◆ weed_palette_is_yuv_palette()

boolean weed_palette_is_yuv_palette ( int  pal)

◆ weed_yuv_clamping_get_name()

const char* weed_yuv_clamping_get_name ( int  clamping)

◆ weed_yuv_subspace_get_name()

const char* weed_yuv_subspace_get_name ( int  subspace)