| Top |
| #define | UCIL_FOURCC() |
| unicap_status_t | ucil_check_version () |
| void | ucil_set_pixel () |
| void | ucil_set_pixel_alpha () |
| void | ucil_draw_line () |
| void | ucil_draw_rect () |
| void | ucil_fill () |
| void | ucil_draw_box () |
| void | ucil_draw_circle () |
| ucil_font_object_t * | ucil_create_font_object () |
| void | ucil_draw_text () |
| void | ucil_destroy_font_object () |
| void | ucil_text_get_size () |
| void | ucil_get_pixel () |
| void | ucil_convert_color () |
| unicap_status_t | ucil_convert_buffer () |
| int | ucil_conversion_supported () |
| ucil_colorspace_t | ucil_get_colorspace_from_fourcc () |
| void | ucil_blend_alpha () |
| ucil_convolution_mask_t * | ucil_create_convolution_mask () |
| ucil_video_file_object_t * | ucil_create_video_file () |
| unicap_status_t | ucil_encode_frame () |
| unicap_status_t | ucil_close_video_file () |
| unicap_status_t | ucil_open_video_file () |
| const char * | ucil_get_video_file_extension () |
| typedef | ucil_rgb24_t |
| struct | ucil_rgb32 |
| typedef | ucil_rgb32_t |
| struct | ucil_yuv |
| typedef | ucil_yuv_t |
| struct | ucil_y8 |
| typedef | ucil_y8_t |
| struct | ucil_color |
| typedef | ucil_color_t |
| struct | ucil_convolution_mask |
| typedef | ucil_convolution_mask_t |
| struct | ucil_font_object |
| typedef | ucil_font_object_t |
| struct | ucil_video_file_object |
| typedef | ucil_video_file_object_t |
#define UCIL_FOURCC(a,b,c,d) (unsigned int)((((unsigned int)d)<<24)+(((unsigned int)c)<<16)+(((unsigned int)b)<<8)+a)
unicap_status_t ucil_check_version (unsigned int major,unsigned int minor,unsigned int micro);
void ucil_set_pixel (unicap_data_buffer_t *data_buffer,ucil_color_t *color,int x,int y);
Draws a pixel on the data buffer.
data_buffer |
target buffer |
|
color |
an ucil_color_t. The colorspace of the color has to match the colorspace of the data_buffer. |
|
x |
x position |
|
y |
y position |
void ucil_set_pixel_alpha (unicap_data_buffer_t *data_buffer,ucil_color_t *color,int alpha,int x,int y);
Draws a pixel on the data buffer, applying an alpha ( transparency ) value to the pixel.
data_buffer |
target buffer |
|
color |
an ucil_color_t. The colorspace of the color has to match the colorspace of the data_buffer. |
|
alpha |
the alpha value that should be applied to this pixel |
|
x |
x position |
|
y |
y position |
void ucil_draw_line (unicap_data_buffer_t *data_buffer,ucil_color_t *color,int x1,int y1,int x2,int y2);
Draws a line on the data buffer. The endpoints are clipped to the buffer dimensions
data_buffer |
target buffer |
|
color |
an ucil_color_t. The colorspace of the color has to match the colorspace of the data_buffer. |
|
x1 |
starting point of the line ( x position ) |
|
y1 |
starting point of the line ( y position ) |
|
x2 |
endpoint of the line ( x position ) |
|
y2 |
endpoint of the line ( y position ) |
void ucil_draw_rect (unicap_data_buffer_t *data_buffer,ucil_color_t *color,int x1,int y1,int x2,int y2);
Draws a rectangle filled with color.
data_buffer |
target buffer |
|
color |
an ucil_color_t. The colorspace of the color has to match the colorspace of the data_buffer. |
|
x1 |
starting point of the rectangle ( x position ) |
|
y1 |
starting point of the rectangle ( y position ) |
|
x2 |
endpoint of the rectangle ( x position ) |
|
y2 |
endpoint of the rectangle ( y position ) |
void ucil_fill (unicap_data_buffer_t *data_buffer,ucil_color_t *color);
Fill the buffer with a color.
data_buffer |
target buffer |
|
color |
an ucil_color_t. The colorspace of the color has to match the colorspace of the data_buffer. |
void ucil_draw_box (unicap_data_buffer_t *data_buffer,ucil_color_t *color,int x1,int y1,int x2,int y2);
Draws a box
data_buffer |
target buffer |
|
color |
an ucil_color_t. The colorspace of the color has to match the colorspace of the data_buffer. |
|
x1 |
starting point of the box ( x position ) |
|
y1 |
starting point of the box ( y position ) |
|
x2 |
endpoint of the box ( x position ) |
|
y2 |
endpoint of the box ( y position ) |
void ucil_draw_circle (unicap_data_buffer_t *dest,ucil_color_t *color,int cx,int cy,int r);
Draws a circle.
data_buffer |
target buffer |
|
color |
an ucil_color_t. The colorspace of the color has to match the colorspace of the data_buffer. |
|
cx |
center of the circle ( x position ) |
|
cy |
center of the circle ( y position ) |
|
r |
radius |
ucil_font_object_t * ucil_create_font_object (int size,const char *font);
Creates a font object required for text operations. The application must free the font object with ucil_destroy_font_object.
void ucil_draw_text (unicap_data_buffer_t *dest,ucil_color_t *color,ucil_font_object_t *fobj,const char *text,int x,int y);
Draws a text string onto the target buffer.
dest |
target buffer |
|
color |
an ucil_color_t. The colorspace of the color has to match the colorspace of the data_buffer. |
|
fobj |
||
text |
text string to draw |
|
x |
x position |
|
y |
y position |
void
ucil_destroy_font_object (ucil_font_object_t *fobj);
Frees all resources allocated by the font object
void ucil_text_get_size (ucil_font_object_t *fobj,const char *text,int *width,int *height);
Determines the size in pixels a text string will take up when drawn onto a buffer.
void ucil_get_pixel (unicap_data_buffer_t *data_buffer,ucil_color_t *color,int x,int y);
Reads the pixel at position (x,y) and stores the result in color.
data_buffer |
buffer |
|
color |
pointer to an ucil_color_t to store the result |
|
x |
x position |
|
y |
y position |
void ucil_convert_color (ucil_color_t *src,ucil_color_t *dest);
Convert colors between colorspaces. The
colorspace field of
dest needs to be set to the target
colorspace, like in this example:
1 2 3 4 5 6 |
src.colorspace = UCIL_COLORSPACE_RGB24; src.rgb24.r = 0xff; src.rgb24.g = 0xff; src.rgb24.b = 0xff; dest.colorspace = UCIL_COLORSPACE_YUV; ucil_convert_color( &dest, &src ); |
unicap_status_t ucil_convert_buffer (unicap_data_buffer_t *dest,unicap_data_buffer_t *src);
Convert the colorspace of a data buffer. The colorspaces are
denoted by the buffer.format.fourcc
field. The dest->format.fourcc gets set to the correct value.
int ucil_conversion_supported (unsigned int dest_fourcc,unsigned int src_fourcc);
Tests whether a specific conversion is supported.
ucil_colorspace_t
ucil_get_colorspace_from_fourcc (unsigned int fourcc);
Gets the ucil_colorspace_t that matches the fourcc.
void ucil_blend_alpha (unicap_data_buffer_t *dest,unicap_data_buffer_t *bg,unicap_data_buffer_t *fg,int alpha);
Blends two buffers into a target buffer. Colorspaces of buffers should match.
ucil_convolution_mask_t * ucil_create_convolution_mask (unsigned char *array,int size,ucil_colorspace_t cs,int mode);
ucil_video_file_object_t * ucil_create_video_file (const char *path,unicap_format_t *format,const char *codec,...);
Creates a video file to be used for video recording. After creation, add frames to the video file with ucil_encode_frame.
unicap_status_t ucil_encode_frame (ucil_video_file_object_t *vobj,unicap_data_buffer_t *buffer);
Adds a frame to a video file.
unicap_status_t
ucil_close_video_file (ucil_video_file_object_t *vobj);
Close a video file created with ucil_create_video_file
unicap_status_t ucil_open_video_file (unicap_handle_t *unicap_handle,char *filename);
Opens a video file for playback. The resulting handle can be used like a video capture device.
struct ucil_rgb32 {
unsigned char r;
unsigned char g;
unsigned char b;
unsigned char a;
};
struct ucil_color {
ucil_colorspace_t colorspace;
union
{
ucil_yuv_t yuv;
ucil_rgb24_t rgb24;
ucil_rgb32_t rgb32;
ucil_y8_t y8;
};
};
struct ucil_convolution_mask {
ucil_colorspace_t colorspace;
ucil_color_t *mask;
int size;
};
Apply a convolution mask