FFmpeg
|
misc drawing utilities More...
Go to the source code of this file.
Data Structures | |
struct | FFDrawContext |
struct | FFDrawColor |
Macros | |
#define | MAX_PLANES 4 |
#define | FF_DRAW_PROCESS_ALPHA 1 |
Process alpha pixel component. More... | |
Functions | |
int | ff_fill_rgba_map (uint8_t *rgba_map, enum AVPixelFormat pix_fmt) |
int | ff_fill_line_with_color (uint8_t *line[4], int pixel_step[4], int w, uint8_t dst_color[4], enum AVPixelFormat pix_fmt, uint8_t rgba_color[4], int *is_packed_rgba, uint8_t rgba_map[4]) |
void | ff_draw_rectangle (uint8_t *dst[4], int dst_linesize[4], uint8_t *src[4], int pixelstep[4], int hsub, int vsub, int x, int y, int w, int h) |
void | ff_copy_rectangle (uint8_t *dst[4], int dst_linesize[4], uint8_t *src[4], int src_linesize[4], int pixelstep[4], int hsub, int vsub, int x, int y, int y2, int w, int h) |
int | ff_draw_init (FFDrawContext *draw, enum AVPixelFormat format, unsigned flags) |
Init a draw context. More... | |
void | ff_draw_color (FFDrawContext *draw, FFDrawColor *color, const uint8_t rgba[4]) |
Prepare a color. More... | |
void | ff_copy_rectangle2 (FFDrawContext *draw, uint8_t *dst[], int dst_linesize[], uint8_t *src[], int src_linesize[], int dst_x, int dst_y, int src_x, int src_y, int w, int h) |
Copy a rectangle from an image to another. More... | |
void | ff_fill_rectangle (FFDrawContext *draw, FFDrawColor *color, uint8_t *dst[], int dst_linesize[], int dst_x, int dst_y, int w, int h) |
Fill a rectangle with an uniform color. More... | |
void | ff_blend_rectangle (FFDrawContext *draw, FFDrawColor *color, uint8_t *dst[], int dst_linesize[], int dst_w, int dst_h, int x0, int y0, int w, int h) |
Blend a rectangle with an uniform color. More... | |
void | ff_blend_mask (FFDrawContext *draw, FFDrawColor *color, uint8_t *dst[], int dst_linesize[], int dst_w, int dst_h, const uint8_t *mask, int mask_linesize, int mask_w, int mask_h, int l2depth, unsigned endianness, int x0, int y0) |
Blend an alpha mask with an uniform color. More... | |
int | ff_draw_round_to_sub (FFDrawContext *draw, int sub_dir, int round_dir, int value) |
Round a dimension according to subsampling. More... | |
AVFilterFormats * | ff_draw_supported_pixel_formats (unsigned flags) |
Return the list of pixel formats supported by the draw functions. More... | |
misc drawing utilities
Definition in file drawutils.h.
#define MAX_PLANES 4 |
Definition at line 46 of file drawutils.h.
#define FF_DRAW_PROCESS_ALPHA 1 |
Process alpha pixel component.
Definition at line 73 of file drawutils.h.
Referenced by config_input(), ff_blend_mask(), ff_blend_rectangle(), and ff_draw_init().
int ff_fill_rgba_map | ( | uint8_t * | rgba_map, |
enum AVPixelFormat | pix_fmt | ||
) |
Definition at line 35 of file drawutils.c.
Referenced by config_input(), config_input_main(), config_input_overlay(), config_input_ref(), config_output(), config_props(), ff_draw_color(), and ff_fill_line_with_color().
int ff_fill_line_with_color | ( | uint8_t * | line[4], |
int | pixel_step[4], | ||
int | w, | ||
uint8_t | dst_color[4], | ||
enum AVPixelFormat | pix_fmt, | ||
uint8_t | rgba_color[4], | ||
int * | is_packed_rgba, | ||
uint8_t | rgba_map[4] | ||
) |
Definition at line 80 of file drawutils.c.
void ff_draw_rectangle | ( | uint8_t * | dst[4], |
int | dst_linesize[4], | ||
uint8_t * | src[4], | ||
int | pixelstep[4], | ||
int | hsub, | ||
int | vsub, | ||
int | x, | ||
int | y, | ||
int | w, | ||
int | h | ||
) |
Definition at line 134 of file drawutils.c.
void ff_copy_rectangle | ( | uint8_t * | dst[4], |
int | dst_linesize[4], | ||
uint8_t * | src[4], | ||
int | src_linesize[4], | ||
int | pixelstep[4], | ||
int | hsub, | ||
int | vsub, | ||
int | x, | ||
int | y, | ||
int | y2, | ||
int | w, | ||
int | h | ||
) |
Definition at line 156 of file drawutils.c.
int ff_draw_init | ( | FFDrawContext * | draw, |
enum AVPixelFormat | format, | ||
unsigned | flags | ||
) |
Init a draw context.
Only a limited number of pixel formats are supported, if format is not supported the function will return an error. flags is combination of FF_DRAW_* flags.
Definition at line 178 of file drawutils.c.
Referenced by config_input(), config_out_props(), config_props(), ff_draw_supported_pixel_formats(), main(), oscilloscope_config_input(), and pixscope_config_input().
void ff_draw_color | ( | FFDrawContext * | draw, |
FFDrawColor * | color, | ||
const uint8_t | rgba[4] | ||
) |
Prepare a color.
Definition at line 226 of file drawutils.c.
Referenced by config_input(), config_out_props(), config_props(), draw_text(), main(), oscilloscope_config_input(), overlay_ass_image(), pixscope_config_input(), and update_color_with_alpha().
void ff_copy_rectangle2 | ( | FFDrawContext * | draw, |
uint8_t * | dst[], | ||
int | dst_linesize[], | ||
uint8_t * | src[], | ||
int | src_linesize[], | ||
int | dst_x, | ||
int | dst_y, | ||
int | src_x, | ||
int | src_y, | ||
int | w, | ||
int | h | ||
) |
Copy a rectangle from an image to another.
The coordinates must be as even as the subsampling requires.
Definition at line 290 of file drawutils.c.
Referenced by filter_frame().
void ff_fill_rectangle | ( | FFDrawContext * | draw, |
FFDrawColor * | color, | ||
uint8_t * | dst[], | ||
int | dst_linesize[], | ||
int | dst_x, | ||
int | dst_y, | ||
int | w, | ||
int | h | ||
) |
Fill a rectangle with an uniform color.
The coordinates must be as even as the subsampling requires. The color needs to be inited with ff_draw_color.
Definition at line 312 of file drawutils.c.
Referenced by config_out_props(), draw_blank_frame(), filter_color2(), filter_frame(), oscilloscope_filter_frame(), and pixscope_filter_frame().
void ff_blend_rectangle | ( | FFDrawContext * | draw, |
FFDrawColor * | color, | ||
uint8_t * | dst[], | ||
int | dst_linesize[], | ||
int | dst_w, | ||
int | dst_h, | ||
int | x0, | ||
int | y0, | ||
int | w, | ||
int | h | ||
) |
Blend a rectangle with an uniform color.
Definition at line 439 of file drawutils.c.
Referenced by draw_text(), oscilloscope_filter_frame(), and pixscope_filter_frame().
void ff_blend_mask | ( | FFDrawContext * | draw, |
FFDrawColor * | color, | ||
uint8_t * | dst[], | ||
int | dst_linesize[], | ||
int | dst_w, | ||
int | dst_h, | ||
const uint8_t * | mask, | ||
int | mask_linesize, | ||
int | mask_w, | ||
int | mask_h, | ||
int | l2depth, | ||
unsigned | endianness, | ||
int | x0, | ||
int | y0 | ||
) |
Blend an alpha mask with an uniform color.
draw | draw context |
color | color for the overlay; |
dst | destination image |
dst_linesize | line stride of the destination |
dst_w | width of the destination image |
dst_h | height of the destination image |
mask | mask |
mask_linesize | line stride of the mask |
mask_w | width of the mask |
mask_h | height of the mask |
l2depth | log2 of depth of the mask (0 for 1bpp, 3 for 8bpp) |
endianness | bit order of the mask (0: MSB to the left) |
x0 | horizontal position of the overlay |
y0 | vertical position of the overlay |
Definition at line 616 of file drawutils.c.
Referenced by draw_glyphs(), draw_text(), and overlay_ass_image().
int ff_draw_round_to_sub | ( | FFDrawContext * | draw, |
int | sub_dir, | ||
int | round_dir, | ||
int | value | ||
) |
Round a dimension according to subsampling.
draw | draw context |
sub_dir | 0 for horizontal, 1 for vertical |
round_dir | 0 nearest, -1 round down, +1 round up |
value | value to round |
Definition at line 713 of file drawutils.c.
Referenced by config_input().
AVFilterFormats* ff_draw_supported_pixel_formats | ( | unsigned | flags | ) |
Return the list of pixel formats supported by the draw functions.
The flags are the same as ff_draw_init, i.e., none currently.
Definition at line 725 of file drawutils.c.
Referenced by query_formats().