9 #ifndef HAS_LIVES_COLOURSPACE_H 10 #define HAS_LIVES_COLOURSPACE_H 12 #define WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS "host_pixel_data_contiguous" 13 #define WEED_LEAF_HOST_PIXBUF_SRC "host_pixbuf_src" 15 #define SCREEN_GAMMA 2.2 19 #define SCALE_FACTOR (1 << FP_BITS) 21 #define KR_YCBCR 0.299 22 #define KB_YCBCR 0.114 24 #define KR_BT701 0.2126 25 #define KB_BT701 0.0722 27 #define YUV_CLAMP_MIN 16. 28 #define YUV_CLAMP_MINI 16 30 #define Y_CLAMP_MAX 235. 32 #define UV_CLAMP_MAX 240. 33 #define UV_CLAMP_MAXI 240 35 #define CLAMP_FACTOR_Y ((Y_CLAMP_MAX-YUV_CLAMP_MIN)/255.) // unclamped -> clamped 36 #define CLAMP_FACTOR_UV ((UV_CLAMP_MAX-YUV_CLAMP_MIN)/255.) // unclamped -> clamped 140 boolean resize_layer(weed_plant_t *layer,
int width,
int height, LiVESInterpType interp,
int opal_hint,
int oclamp_hint);
141 void letterbox_layer(weed_plant_t *layer,
int width,
int height,
int nwidth,
int nheight);
150 weed_plant_t *
weed_layer_copy(weed_plant_t *dlayer, weed_plant_t *slayer);
152 weed_plant_t *
weed_layer_create(
int width,
int height,
int *rowstrides,
int current_palette);
175 #define BLACK_THRESH 20 176 boolean lives_pixbuf_is_all_black(LiVESPixbuf *pixbuf); 186 void sws_free_context(
void);
void * convert_bgr_to_yuyv_frame_thread(void *cc_params)
Definition: colourspace.c:2286
int hsize
Definition: colourspace.h:68
boolean weed_palette_is_lower_quality(int p1, int p2)
return TRUE if p1 is lower quality than p2
Definition: colourspace.c:1035
uint8_t v0
Definition: colourspace.h:53
const char * weed_yuv_clamping_get_name(int clamping)
Definition: colourspace.c:1130
int weed_layer_get_palette(weed_plant_t *layer)
Definition: colourspace.c:11155
uint8_t u0
Definition: colourspace.h:43
uint8_t y0
Definition: colourspace.h:58
boolean in_alpha
Definition: colourspace.h:74
void alpha_unpremult(weed_plant_t *layer, boolean un)
Definition: colourspace.c:7875
int out_sampling
Definition: colourspace.h:81
void * convert_swab_frame_thread(void *cc_params)
Definition: colourspace.c:6715
uint8_t v0
Definition: colourspace.h:45
uint8_t y1
Definition: colourspace.h:46
void compact_rowstrides(weed_plant_t *layer)
Definition: colourspace.c:10034
void * convert_uyvy_to_argb_frame_thread(void *cc_params)
Definition: colourspace.c:3523
boolean weed_palette_is_rgb_palette(int pal)
Definition: colourspace.c:945
weed_plant_t * weed_layer_create(int width, int height, int *rowstrides, int current_palette)
Definition: colourspace.c:10990
int weed_palette_get_numplanes(int pal)
Definition: colourspace.c:955
void * convert_delpost_frame_thread(void *cc_params)
Definition: colourspace.c:6413
boolean pixbuf_to_layer(weed_plant_t *layer, LiVESPixbuf *) WARN_UNUSED
Definition: colourspace.c:10714
int thread_id
Definition: colourspace.h:83
int out_subspace
Definition: colourspace.h:79
void insert_blank_frames(int sfileno, int nframes, int after)
Definition: colourspace.c:11163
void * convert_bgr_to_yuvp_frame_thread(void *cc_params)
Definition: colourspace.c:2789
void * dest
Definition: colourspace.h:72
boolean convert_layer_palette_full(weed_plant_t *layer, int outpl, int osamtype, boolean oclamping, int osubspace)
Definition: colourspace.c:8044
void * convert_uyvy_to_bgr_frame_thread(void *cc_params)
Definition: colourspace.c:3452
void * convert_addpost_frame_thread(void *cc_params)
Definition: colourspace.c:6194
void * convert_rgb_to_yuv_frame_thread(void *cc_params)
Definition: colourspace.c:2518
void * convert_yuyv_to_bgr_frame_thread(void *cc_params)
Definition: colourspace.c:3682
void * convert_yuv_planar_to_argb_frame_thread(void *cc_params)
Definition: colourspace.c:4109
int weed_palette_get_bits_per_macropixel(int pal)
Definition: colourspace.c:972
void * convert_argb_to_yuv_frame_thread(void *cc_params)
Definition: colourspace.c:2868
void weed_layer_free(weed_plant_t *layer)
Definition: colourspace.c:11148
void * convert_argb_to_uyvy_frame_thread(void *cc_params)
Definition: colourspace.c:2361
double weed_palette_get_compression_ratio(int pal)
Definition: colourspace.c:1161
void * convert_yuyv_to_argb_frame_thread(void *cc_params)
Definition: colourspace.c:3753
void * convert_bgr_to_yuv_frame_thread(void *cc_params)
Definition: colourspace.c:2694
boolean out_clamped
Definition: colourspace.h:77
_palette * palette
Definition: main.c:84
uint8_t y3
Definition: colourspace.h:62
boolean alpha_first
Definition: colourspace.h:82
uint8_t y0
Definition: colourspace.h:50
uint8_t y2
Definition: colourspace.h:61
weed_plant_t * weed_layer_copy(weed_plant_t *dlayer, weed_plant_t *slayer)
Definition: colourspace.c:11004
uint8_t u2
Definition: colourspace.h:57
boolean in_clamped
Definition: colourspace.h:76
boolean weed_palette_has_alpha_channel(int pal)
Definition: colourspace.c:1000
void * convert_argb_to_yuyv_frame_thread(void *cc_params)
Definition: colourspace.c:2436
Definition: colourspace.h:56
void * convert_delpre_frame_thread(void *cc_params)
Definition: colourspace.c:6486
void * convert_rgb_to_uyvy_frame_thread(void *cc_params)
Definition: colourspace.c:2039
void * convert_swapprepost_frame_thread(void *cc_params)
Definition: colourspace.c:6655
void * convert_swap3postalpha_frame_thread(void *cc_params)
Definition: colourspace.c:6115
boolean weed_palette_is_valid_palette(int pal)
Definition: colourspace.c:966
uint8_t y1
Definition: colourspace.h:59
double weed_palette_get_plane_ratio_horizontal(int pal, int plane)
Definition: colourspace.c:1007
boolean weed_palette_is_alpha_palette(int pal)
Definition: colourspace.c:940
void * convert_swap4_frame_thread(void *cc_params)
Definition: colourspace.c:5890
void * convert_swap3delpre_frame_thread(void *cc_params)
Definition: colourspace.c:6559
void * convert_addpre_frame_thread(void *cc_params)
Definition: colourspace.c:6269
void * convert_swap3addpre_frame_thread(void *cc_params)
Definition: colourspace.c:6040
void * convert_rgb_to_yuyv_frame_thread(void *cc_params)
Definition: colourspace.c:2121
void * convert_yuv888_to_argb_frame_thread(void *cc_params)
Definition: colourspace.c:1630
int in_subspace
Definition: colourspace.h:78
boolean convert_layer_palette_with_sampling(weed_plant_t *layer, int outpl, int out_sampling)
void * convert_yuyv_to_rgb_frame_thread(void *cc_params)
Definition: colourspace.c:3602
void * convert_argb_to_yuvp_frame_thread(void *cc_params)
Definition: colourspace.c:2956
boolean weed_palette_is_float_palette(int pal)
Definition: colourspace.c:995
int weed_palette_get_pixels_per_macropixel(int pal)
Definition: colourspace.c:988
void * convert_uyvy_to_rgb_frame_thread(void *cc_params)
Definition: colourspace.c:3371
void * convert_yuv888_to_bgr_frame_thread(void *cc_params)
Definition: colourspace.c:1473
void create_empty_pixel_data(weed_plant_t *layer, boolean black_fill, boolean may_contig)
Definition: colourspace.c:7202
void * convert_swap3delpost_frame_thread(void *cc_params)
Definition: colourspace.c:6342
void * src
Definition: colourspace.h:66
void lives_pixbuf_set_opaque(LiVESPixbuf *pixbuf)
Definition: colourspace.c:10011
boolean convert_layer_palette(weed_plant_t *layer, int outpl, int op_clamping)
Definition: colourspace.c:9795
boolean weed_palette_is_yuv_palette(int pal)
Definition: colourspace.c:950
boolean lives_painter_to_layer(lives_painter_t *cairo, weed_plant_t *layer)
Definition: colourspace.c:10912
lives_painter_t * layer_to_lives_painter(weed_plant_t *layer)
Definition: colourspace.c:10826
int in_sampling
Definition: colourspace.h:80
void * convert_yuv888_to_rgb_frame_thread(void *cc_params)
Definition: colourspace.c:1313
boolean out_alpha
Definition: colourspace.h:75
void * convert_bgr_to_uyvy_frame_thread(void *cc_params)
Definition: colourspace.c:2203
void * convert_yuva8888_to_argb_frame_thread(void *cc_params)
Definition: colourspace.c:1708
void * convert_yuva8888_to_bgra_frame_thread(void *cc_params)
Definition: colourspace.c:1553
void * convert_yuv_planar_to_bgr_frame_thread(void *cc_params)
Definition: colourspace.c:4026
void weed_layer_pixel_data_free(weed_plant_t *layer)
Definition: colourspace.c:11094
void * convert_yuv_planar_to_rgb_frame_thread(void *cc_params)
Definition: colourspace.c:3934
void * convert_rgb_to_yuvp_frame_thread(void *cc_params)
Definition: colourspace.c:2611
uint8_t y0
Definition: colourspace.h:44
uint8_t y1
Definition: colourspace.h:52
void pixel_data_planar_from_membuf(void **pixel_data, void *data, size_t size, int palette)
Definition: colourspace.c:1208
double weed_palette_get_plane_ratio_vertical(int pal, int plane)
Definition: colourspace.c:1021
Definition: colourspace.h:49
void * convert_swap3_frame_thread(void *cc_params)
Definition: colourspace.c:5817
LiVESPixbuf * layer_to_pixbuf(weed_plant_t *layer)
Definition: colourspace.c:9853
Definition: colourspace.h:42
uint8_t u0
Definition: colourspace.h:51
char * weed_palette_get_name_full(int pal, int clamped, int subspace)
Definition: colourspace.c:1146
int vsize
Definition: colourspace.h:69
void letterbox_layer(weed_plant_t *layer, int width, int height, int nwidth, int nheight)
Definition: colourspace.c:10428
boolean resize_layer(weed_plant_t *layer, int width, int height, LiVESInterpType interp, int opal_hint, int oclamp_hint)
Definition: colourspace.c:10203
uint8_t v2
Definition: colourspace.h:60
Definition: colourspace.h:65
const char * weed_yuv_subspace_get_name(int subspace)
Definition: colourspace.c:1138
#define WARN_UNUSED
Definition: main.h:305
void * convert_yuva8888_to_rgba_frame_thread(void *cc_params)
Definition: colourspace.c:1394
void * convert_swap3addpost_frame_thread(void *cc_params)
Definition: colourspace.c:5965
const char * weed_palette_get_name(int pal)
Definition: colourspace.c:1081