MLT  7.24.0
mlt_image.h
Go to the documentation of this file.
1 
23 #ifndef MLT_IMAGE_H
24 #define MLT_IMAGE_H
25 
26 #include "mlt_types.h"
27 
32 #define MLT_IMAGE_MAX_PLANES 4
33 
35 {
37  int width;
38  int height;
42  void *data;
44  void *alpha;
47 };
48 
49 extern mlt_image mlt_image_new();
50 extern void mlt_image_close(mlt_image self);
52  mlt_image self, void *data, mlt_image_format format, int width, int height);
54  mlt_image self, void **data, mlt_image_format *format, int *width, int *height);
55 extern void mlt_image_alloc_data(mlt_image self);
56 extern void mlt_image_alloc_alpha(mlt_image self);
58 extern void mlt_image_fill_black(mlt_image self);
59 extern void mlt_image_fill_checkerboard(mlt_image self, double sample_aspect_ratio);
60 extern void mlt_image_fill_white(mlt_image self, int full_range);
61 extern void mlt_image_fill_opaque(mlt_image self);
62 extern const char *mlt_image_format_name(mlt_image_format format);
63 extern mlt_image_format mlt_image_format_id(const char *name);
64 extern int mlt_image_rgba_opaque(uint8_t *image, int width, int height);
65 
66 // Deprecated functions
67 extern int mlt_image_format_size(mlt_image_format format, int width, int height, int *bpp);
69  mlt_image_format format, int width, int height, void *data, uint8_t *planes[4], int strides[4]);
70 
71 #endif
#define MLT_IMAGE_MAX_PLANES
Image class.
Definition: mlt_image.h:32
mlt_image mlt_image_new()
Allocate a new Image object.
Definition: mlt_image.c:35
Provides forward definitions of all public types.
void(* mlt_destructor)(void *)
pointer to destructor function
Definition: mlt_types.h:269
mlt_image_format
The set of supported image formats.
Definition: mlt_types.h:44
Definition: mlt_image.h:35
void mlt_image_alloc_alpha(mlt_image self)
Allocate the alpha field based on the other properties of the Image.
Definition: mlt_image.c:158
void mlt_image_close(mlt_image self)
Destroy an image object created by mlt_image_new().
Definition: mlt_image.c:48
void mlt_image_fill_opaque(mlt_image self)
Fill an image alpha channel with opaque if it exists.
Definition: mlt_image.c:518
void mlt_image_format_planes(mlt_image_format format, int width, int height, void *data, uint8_t *planes[4], int strides[4])
Build a planes pointers of image mapping.
Definition: mlt_image.c:602
mlt_image_format mlt_image_format_id(const char *name)
Get the id of image format from short name.
Definition: mlt_image.c:250
const char * mlt_image_format_name(mlt_image_format format)
Get the short name for an image format.
Definition: mlt_image.c:214
void mlt_image_fill_checkerboard(mlt_image self, double sample_aspect_ratio)
Fill an image with a checkerboard pattern.
Definition: mlt_image.c:342
void mlt_image_fill_white(mlt_image self, int full_range)
Fill an image with white.
Definition: mlt_image.c:446
mlt_destructor release_alpha
Definition: mlt_image.h:45
void * data
Definition: mlt_image.h:42
void mlt_image_fill_black(mlt_image self)
Fill an image with black.
Definition: mlt_image.c:269
int colorspace
Definition: mlt_image.h:39
void mlt_image_get_values(mlt_image self, void **data, mlt_image_format *format, int *width, int *height)
Get the most common values for the image.
Definition: mlt_image.c:103
int mlt_image_rgba_opaque(uint8_t *image, int width, int height)
Check if the alpha channel of an rgba image is opaque.
Definition: mlt_image.c:671
int height
Definition: mlt_image.h:38
void mlt_image_alloc_data(mlt_image self)
Allocate the data field based on the other properties of the Image.
Definition: mlt_image.c:125
uint8_t * planes[MLT_IMAGE_MAX_PLANES]
Definition: mlt_image.h:40
int mlt_image_calculate_size(mlt_image self)
Calculate the number of bytes needed for the Image data.
Definition: mlt_image.c:180
mlt_destructor release_data
Definition: mlt_image.h:43
int mlt_image_format_size(mlt_image_format format, int width, int height, int *bpp)
Get the number of bytes needed for an image.
Definition: mlt_image.c:545
mlt_image_format format
Definition: mlt_image.h:36
int width
Definition: mlt_image.h:37
void * alpha
Definition: mlt_image.h:44
int strides[MLT_IMAGE_MAX_PLANES]
Definition: mlt_image.h:41
void mlt_image_set_values(mlt_image self, void *data, mlt_image_format format, int width, int height)
Set the most common values for the image.
Definition: mlt_image.c:75
mlt_destructor close
Definition: mlt_image.h:46