LiVES
3.0.2
|
#include <math.h>
#include "../libweed/weed.h"
#include "../libweed/weed-palettes.h"
#include "../libweed/weed-effects.h"
#include "../libweed/weed-host.h"
#include "main.h"
#include "cvirtual.h"
#include "effects-weed.h"
Macros | |
#define | USE_THREADS 1 |
Functions | |
LIVES_GLOBAL_INLINE int | get_rowstride_value (int rowstride) |
LIVES_GLOBAL_INLINE int | get_last_rowstride_value (int width, int nchans) |
LIVES_INLINE uint8_t | CLAMP0255 (int32_t a) |
LIVES_INLINE uint8_t | avg_chroma (size_t x, size_t y) |
LIVES_INLINE void | rgb2yuv (uint8_t r0, uint8_t g0, uint8_t b0, uint8_t *y, uint8_t *u, uint8_t *v) |
LIVES_INLINE void | rgb2uyvy (uint8_t r0, uint8_t g0, uint8_t b0, uint8_t r1, uint8_t g1, uint8_t b1, uyvy_macropixel *uyvy) |
LIVES_INLINE void | rgb2yuyv (uint8_t r0, uint8_t g0, uint8_t b0, uint8_t r1, uint8_t g1, uint8_t b1, yuyv_macropixel *yuyv) |
LIVES_INLINE void | rgb2_411 (uint8_t r0, uint8_t g0, uint8_t b0, uint8_t r1, uint8_t g1, uint8_t b1, uint8_t r2, uint8_t g2, uint8_t b2, uint8_t r3, uint8_t g3, uint8_t b3, yuv411_macropixel *yuv) |
LIVES_INLINE void | yuv2rgb (uint8_t y, uint8_t u, uint8_t v, uint8_t *r, uint8_t *g, uint8_t *b) |
LIVES_INLINE void | uyvy2rgb (uyvy_macropixel *uyvy, uint8_t *r0, uint8_t *g0, uint8_t *b0, uint8_t *r1, uint8_t *g1, uint8_t *b1) |
LIVES_INLINE void | yuyv2rgb (yuyv_macropixel *yuyv, uint8_t *r0, uint8_t *g0, uint8_t *b0, uint8_t *r1, uint8_t *g1, uint8_t *b1) |
LIVES_INLINE void | yuv888_2_rgb (uint8_t *yuv, uint8_t *rgb, boolean add_alpha) |
LIVES_INLINE void | yuva8888_2_rgba (uint8_t *yuva, uint8_t *rgba, boolean del_alpha) |
LIVES_INLINE void | yuv888_2_bgr (uint8_t *yuv, uint8_t *bgr, boolean add_alpha) |
LIVES_INLINE void | yuva8888_2_bgra (uint8_t *yuva, uint8_t *bgra, boolean del_alpha) |
LIVES_INLINE void | yuv888_2_argb (uint8_t *yuv, uint8_t *argb) |
LIVES_INLINE void | yuva8888_2_argb (uint8_t *yuva, uint8_t *argb) |
LIVES_INLINE void | uyvy_2_yuv422 (uyvy_macropixel *uyvy, uint8_t *y0, uint8_t *u0, uint8_t *v0, uint8_t *y1) |
LIVES_INLINE void | yuyv_2_yuv422 (yuyv_macropixel *yuyv, uint8_t *y0, uint8_t *u0, uint8_t *v0, uint8_t *y1) |
LIVES_GLOBAL_INLINE boolean | weed_palette_is_alpha_palette (int pal) |
LIVES_GLOBAL_INLINE boolean | weed_palette_is_rgb_palette (int pal) |
LIVES_GLOBAL_INLINE boolean | weed_palette_is_yuv_palette (int pal) |
LIVES_GLOBAL_INLINE int | weed_palette_get_numplanes (int pal) |
LIVES_GLOBAL_INLINE boolean | weed_palette_is_valid_palette (int pal) |
LIVES_GLOBAL_INLINE int | weed_palette_get_bits_per_macropixel (int pal) |
LIVES_GLOBAL_INLINE int | weed_palette_get_pixels_per_macropixel (int pal) |
LIVES_GLOBAL_INLINE boolean | weed_palette_is_float_palette (int pal) |
LIVES_GLOBAL_INLINE boolean | weed_palette_has_alpha_channel (int pal) |
LIVES_GLOBAL_INLINE double | weed_palette_get_plane_ratio_horizontal (int pal, int plane) |
LIVES_GLOBAL_INLINE 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... | |
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) |
double | weed_palette_get_compression_ratio (int pal) |
boolean | lives_pixbuf_is_all_black (LiVESPixbuf *pixbuf) |
void | pixel_data_planar_from_membuf (void **pixel_data, void *data, size_t size, int palette) |
void * | convert_yuv888_to_rgb_frame_thread (void *data) |
void * | convert_yuva8888_to_rgba_frame_thread (void *data) |
void * | convert_yuv888_to_bgr_frame_thread (void *data) |
void * | convert_yuva8888_to_bgra_frame_thread (void *data) |
void * | convert_yuv888_to_argb_frame_thread (void *data) |
void * | convert_yuva8888_to_argb_frame_thread (void *data) |
void * | convert_rgb_to_uyvy_frame_thread (void *data) |
void * | convert_rgb_to_yuyv_frame_thread (void *data) |
void * | convert_bgr_to_uyvy_frame_thread (void *data) |
void * | convert_bgr_to_yuyv_frame_thread (void *data) |
void * | convert_argb_to_uyvy_frame_thread (void *data) |
void * | convert_argb_to_yuyv_frame_thread (void *data) |
void * | convert_rgb_to_yuv_frame_thread (void *data) |
void * | convert_rgb_to_yuvp_frame_thread (void *data) |
void * | convert_bgr_to_yuv_frame_thread (void *data) |
void * | convert_bgr_to_yuvp_frame_thread (void *data) |
void * | convert_argb_to_yuv_frame_thread (void *data) |
void * | convert_argb_to_yuvp_frame_thread (void *data) |
void * | convert_uyvy_to_rgb_frame_thread (void *data) |
void * | convert_uyvy_to_bgr_frame_thread (void *data) |
void * | convert_uyvy_to_argb_frame_thread (void *data) |
void * | convert_yuyv_to_rgb_frame_thread (void *data) |
void * | convert_yuyv_to_bgr_frame_thread (void *data) |
void * | convert_yuyv_to_argb_frame_thread (void *data) |
void * | convert_yuv_planar_to_rgb_frame_thread (void *data) |
void * | convert_yuv_planar_to_bgr_frame_thread (void *data) |
void * | convert_yuv_planar_to_argb_frame_thread (void *data) |
void * | convert_swap3_frame_thread (void *data) |
void * | convert_swap4_frame_thread (void *data) |
void * | convert_swap3addpost_frame_thread (void *data) |
void * | convert_swap3addpre_frame_thread (void *data) |
void * | convert_swap3postalpha_frame_thread (void *data) |
void * | convert_addpost_frame_thread (void *data) |
void * | convert_addpre_frame_thread (void *data) |
void * | convert_swap3delpost_frame_thread (void *data) |
void * | convert_delpost_frame_thread (void *data) |
void * | convert_delpre_frame_thread (void *data) |
void * | convert_swap3delpre_frame_thread (void *data) |
void * | convert_swapprepost_frame_thread (void *data) |
void * | convert_swab_frame_thread (void *data) |
void | create_empty_pixel_data (weed_plant_t *layer, boolean black_fill, boolean may_contig) |
void | alpha_unpremult (weed_plant_t *layer, boolean un) |
boolean | convert_layer_palette_full (weed_plant_t *layer, int outpl, int osamtype, boolean oclamping, int osubspace) |
boolean | convert_layer_palette (weed_plant_t *layer, int outpl, int op_clamping) |
LiVESPixbuf * | lives_pixbuf_new_blank (int width, int height, int palette) |
LIVES_INLINE LiVESPixbuf * | lives_pixbuf_cheat (boolean has_alpha, int width, int height, uint8_t *buf) |
int | get_layer_gamma (weed_plant_t *layer) |
void | gamma_correct_pixbuf (boolean fwd, int gamma, LiVESPixbuf *pixbuf) |
boolean | gamma_correct_layer (int gamma, weed_plant_t *layer) |
LiVESPixbuf * | layer_to_pixbuf (weed_plant_t *layer) |
LIVES_INLINE boolean | weed_palette_is_resizable (int pal, int clamped, boolean in_out) |
void | lives_pixbuf_set_opaque (LiVESPixbuf *pixbuf) |
void | compact_rowstrides (weed_plant_t *layer) |
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) |
boolean | pixbuf_to_layer (weed_plant_t *layer, LiVESPixbuf *pixbuf) |
lives_painter_t * | layer_to_lives_painter (weed_plant_t *layer) |
boolean | lives_painter_to_layer (lives_painter_t *cr, weed_plant_t *layer) |
weed_plant_t * | weed_layer_create (int width, int height, int *rowstrides, int current_palette) |
weed_plant_t * | weed_layer_copy (weed_plant_t *dlayer, weed_plant_t *slayer) |
void | weed_layer_pixel_data_free (weed_plant_t *layer) |
void | weed_layer_free (weed_plant_t *layer) |
int | weed_layer_get_palette (weed_plant_t *layer) |
void | insert_blank_frames (int sfileno, int nframes, int after) |
#define USE_THREADS 1 |
void alpha_unpremult | ( | weed_plant_t * | layer, |
boolean | un | ||
) |
LIVES_INLINE uint8_t avg_chroma | ( | size_t | x, |
size_t | y | ||
) |
LIVES_INLINE uint8_t CLAMP0255 | ( | int32_t | a | ) |
void compact_rowstrides | ( | weed_plant_t * | layer | ) |
void* convert_addpost_frame_thread | ( | void * | data | ) |
void* convert_addpre_frame_thread | ( | void * | data | ) |
void* convert_argb_to_uyvy_frame_thread | ( | void * | data | ) |
void* convert_argb_to_yuv_frame_thread | ( | void * | data | ) |
void* convert_argb_to_yuvp_frame_thread | ( | void * | data | ) |
void* convert_argb_to_yuyv_frame_thread | ( | void * | data | ) |
void* convert_bgr_to_uyvy_frame_thread | ( | void * | data | ) |
void* convert_bgr_to_yuv_frame_thread | ( | void * | data | ) |
void* convert_bgr_to_yuvp_frame_thread | ( | void * | data | ) |
void* convert_bgr_to_yuyv_frame_thread | ( | void * | data | ) |
void* convert_delpost_frame_thread | ( | void * | data | ) |
void* convert_delpre_frame_thread | ( | void * | data | ) |
boolean convert_layer_palette | ( | weed_plant_t * | layer, |
int | outpl, | ||
int | op_clamping | ||
) |
boolean convert_layer_palette_full | ( | weed_plant_t * | layer, |
int | outpl, | ||
int | osamtype, | ||
boolean | oclamping, | ||
int | osubspace | ||
) |
void* convert_rgb_to_uyvy_frame_thread | ( | void * | data | ) |
void* convert_rgb_to_yuv_frame_thread | ( | void * | data | ) |
void* convert_rgb_to_yuvp_frame_thread | ( | void * | data | ) |
void* convert_rgb_to_yuyv_frame_thread | ( | void * | data | ) |
void* convert_swab_frame_thread | ( | void * | data | ) |
void* convert_swap3_frame_thread | ( | void * | data | ) |
void* convert_swap3addpost_frame_thread | ( | void * | data | ) |
void* convert_swap3addpre_frame_thread | ( | void * | data | ) |
void* convert_swap3delpost_frame_thread | ( | void * | data | ) |
void* convert_swap3delpre_frame_thread | ( | void * | data | ) |
void* convert_swap3postalpha_frame_thread | ( | void * | data | ) |
void* convert_swap4_frame_thread | ( | void * | data | ) |
void* convert_swapprepost_frame_thread | ( | void * | data | ) |
void* convert_uyvy_to_argb_frame_thread | ( | void * | data | ) |
void* convert_uyvy_to_bgr_frame_thread | ( | void * | data | ) |
void* convert_uyvy_to_rgb_frame_thread | ( | void * | data | ) |
void* convert_yuv888_to_argb_frame_thread | ( | void * | data | ) |
void* convert_yuv888_to_bgr_frame_thread | ( | void * | data | ) |
void* convert_yuv888_to_rgb_frame_thread | ( | void * | data | ) |
void* convert_yuv_planar_to_argb_frame_thread | ( | void * | data | ) |
void* convert_yuv_planar_to_bgr_frame_thread | ( | void * | data | ) |
void* convert_yuv_planar_to_rgb_frame_thread | ( | void * | data | ) |
void* convert_yuva8888_to_argb_frame_thread | ( | void * | data | ) |
void* convert_yuva8888_to_bgra_frame_thread | ( | void * | data | ) |
void* convert_yuva8888_to_rgba_frame_thread | ( | void * | data | ) |
void* convert_yuyv_to_argb_frame_thread | ( | void * | data | ) |
void* convert_yuyv_to_bgr_frame_thread | ( | void * | data | ) |
void* convert_yuyv_to_rgb_frame_thread | ( | void * | data | ) |
boolean gamma_correct_layer | ( | int | gamma, |
weed_plant_t * | layer | ||
) |
void gamma_correct_pixbuf | ( | boolean | fwd, |
int | gamma, | ||
LiVESPixbuf * | pixbuf | ||
) |
LIVES_GLOBAL_INLINE int get_last_rowstride_value | ( | int | width, |
int | nchans | ||
) |
int get_layer_gamma | ( | weed_plant_t * | layer | ) |
LIVES_GLOBAL_INLINE int get_rowstride_value | ( | int | rowstride | ) |
void insert_blank_frames | ( | int | sfileno, |
int | nframes, | ||
int | after | ||
) |
lives_painter_t* layer_to_lives_painter | ( | weed_plant_t * | layer | ) |
LiVESPixbuf* layer_to_pixbuf | ( | weed_plant_t * | layer | ) |
void letterbox_layer | ( | weed_plant_t * | layer, |
int | width, | ||
int | height, | ||
int | nwidth, | ||
int | nheight | ||
) |
boolean lives_painter_to_layer | ( | lives_painter_t * | cr, |
weed_plant_t * | layer | ||
) |
LIVES_INLINE LiVESPixbuf* lives_pixbuf_cheat | ( | boolean | has_alpha, |
int | width, | ||
int | height, | ||
uint8_t * | buf | ||
) |
boolean lives_pixbuf_is_all_black | ( | LiVESPixbuf * | pixbuf | ) |
LiVESPixbuf* lives_pixbuf_new_blank | ( | int | width, |
int | height, | ||
int | palette | ||
) |
void lives_pixbuf_set_opaque | ( | LiVESPixbuf * | pixbuf | ) |
boolean pixbuf_to_layer | ( | weed_plant_t * | layer, |
LiVESPixbuf * | pixbuf | ||
) |
void pixel_data_planar_from_membuf | ( | void ** | pixel_data, |
void * | data, | ||
size_t | size, | ||
int | palette | ||
) |
boolean resize_layer | ( | weed_plant_t * | layer, |
int | width, | ||
int | height, | ||
LiVESInterpType | interp, | ||
int | opal_hint, | ||
int | oclamp_hint | ||
) |
LIVES_INLINE void rgb2_411 | ( | uint8_t | r0, |
uint8_t | g0, | ||
uint8_t | b0, | ||
uint8_t | r1, | ||
uint8_t | g1, | ||
uint8_t | b1, | ||
uint8_t | r2, | ||
uint8_t | g2, | ||
uint8_t | b2, | ||
uint8_t | r3, | ||
uint8_t | g3, | ||
uint8_t | b3, | ||
yuv411_macropixel * | yuv | ||
) |
LIVES_INLINE void rgb2uyvy | ( | uint8_t | r0, |
uint8_t | g0, | ||
uint8_t | b0, | ||
uint8_t | r1, | ||
uint8_t | g1, | ||
uint8_t | b1, | ||
uyvy_macropixel * | uyvy | ||
) |
LIVES_INLINE void rgb2yuv | ( | uint8_t | r0, |
uint8_t | g0, | ||
uint8_t | b0, | ||
uint8_t * | y, | ||
uint8_t * | u, | ||
uint8_t * | v | ||
) |
LIVES_INLINE void rgb2yuyv | ( | uint8_t | r0, |
uint8_t | g0, | ||
uint8_t | b0, | ||
uint8_t | r1, | ||
uint8_t | g1, | ||
uint8_t | b1, | ||
yuyv_macropixel * | yuyv | ||
) |
LIVES_INLINE void uyvy2rgb | ( | uyvy_macropixel * | uyvy, |
uint8_t * | r0, | ||
uint8_t * | g0, | ||
uint8_t * | b0, | ||
uint8_t * | r1, | ||
uint8_t * | g1, | ||
uint8_t * | b1 | ||
) |
LIVES_INLINE void uyvy_2_yuv422 | ( | uyvy_macropixel * | uyvy, |
uint8_t * | y0, | ||
uint8_t * | u0, | ||
uint8_t * | v0, | ||
uint8_t * | y1 | ||
) |
weed_plant_t* weed_layer_copy | ( | weed_plant_t * | dlayer, |
weed_plant_t * | slayer | ||
) |
weed_plant_t* weed_layer_create | ( | int | width, |
int | height, | ||
int * | rowstrides, | ||
int | current_palette | ||
) |
void weed_layer_free | ( | weed_plant_t * | layer | ) |
int weed_layer_get_palette | ( | weed_plant_t * | layer | ) |
void weed_layer_pixel_data_free | ( | weed_plant_t * | layer | ) |
LIVES_GLOBAL_INLINE int weed_palette_get_bits_per_macropixel | ( | int | pal | ) |
double weed_palette_get_compression_ratio | ( | int | pal | ) |
const char* weed_palette_get_name | ( | int | pal | ) |
char* weed_palette_get_name_full | ( | int | pal, |
int | clamped, | ||
int | subspace | ||
) |
LIVES_GLOBAL_INLINE int weed_palette_get_numplanes | ( | int | pal | ) |
LIVES_GLOBAL_INLINE int weed_palette_get_pixels_per_macropixel | ( | int | pal | ) |
LIVES_GLOBAL_INLINE double weed_palette_get_plane_ratio_horizontal | ( | int | pal, |
int | plane | ||
) |
LIVES_GLOBAL_INLINE double weed_palette_get_plane_ratio_vertical | ( | int | pal, |
int | plane | ||
) |
LIVES_GLOBAL_INLINE boolean weed_palette_has_alpha_channel | ( | int | pal | ) |
LIVES_GLOBAL_INLINE boolean weed_palette_is_alpha_palette | ( | int | pal | ) |
LIVES_GLOBAL_INLINE boolean weed_palette_is_float_palette | ( | int | pal | ) |
boolean weed_palette_is_lower_quality | ( | int | p1, |
int | p2 | ||
) |
return TRUE if p1 is lower quality than p2
LIVES_INLINE boolean weed_palette_is_resizable | ( | int | pal, |
int | clamped, | ||
boolean | in_out | ||
) |
LIVES_GLOBAL_INLINE boolean weed_palette_is_rgb_palette | ( | int | pal | ) |
LIVES_GLOBAL_INLINE boolean weed_palette_is_valid_palette | ( | int | pal | ) |
LIVES_GLOBAL_INLINE boolean weed_palette_is_yuv_palette | ( | int | pal | ) |
const char* weed_yuv_clamping_get_name | ( | int | clamping | ) |
const char* weed_yuv_subspace_get_name | ( | int | subspace | ) |
LIVES_INLINE void yuv2rgb | ( | uint8_t | y, |
uint8_t | u, | ||
uint8_t | v, | ||
uint8_t * | r, | ||
uint8_t * | g, | ||
uint8_t * | b | ||
) |
LIVES_INLINE void yuv888_2_argb | ( | uint8_t * | yuv, |
uint8_t * | argb | ||
) |
LIVES_INLINE void yuv888_2_bgr | ( | uint8_t * | yuv, |
uint8_t * | bgr, | ||
boolean | add_alpha | ||
) |
LIVES_INLINE void yuv888_2_rgb | ( | uint8_t * | yuv, |
uint8_t * | rgb, | ||
boolean | add_alpha | ||
) |
LIVES_INLINE void yuva8888_2_argb | ( | uint8_t * | yuva, |
uint8_t * | argb | ||
) |
LIVES_INLINE void yuva8888_2_bgra | ( | uint8_t * | yuva, |
uint8_t * | bgra, | ||
boolean | del_alpha | ||
) |
LIVES_INLINE void yuva8888_2_rgba | ( | uint8_t * | yuva, |
uint8_t * | rgba, | ||
boolean | del_alpha | ||
) |
LIVES_INLINE void yuyv2rgb | ( | yuyv_macropixel * | yuyv, |
uint8_t * | r0, | ||
uint8_t * | g0, | ||
uint8_t * | b0, | ||
uint8_t * | r1, | ||
uint8_t * | g1, | ||
uint8_t * | b1 | ||
) |
LIVES_INLINE void yuyv_2_yuv422 | ( | yuyv_macropixel * | yuyv, |
uint8_t * | y0, | ||
uint8_t * | u0, | ||
uint8_t * | v0, | ||
uint8_t * | y1 | ||
) |