FFmpeg
|
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_draw_init2 (FFDrawContext *draw, enum AVPixelFormat format, enum AVColorSpace csp, enum AVColorRange range, unsigned flags) |
Init a draw context. More... | |
int | ff_draw_init (FFDrawContext *draw, enum AVPixelFormat format, unsigned flags) |
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 33 of file drawutils.h.
#define FF_DRAW_PROCESS_ALPHA 1 |
Process alpha pixel component.
Definition at line 62 of file drawutils.h.
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(), oscilloscope_config_input(), pad_opencl_init(), pixscope_config_input(), and remap_opencl_load().
int ff_draw_init2 | ( | FFDrawContext * | draw, |
enum AVPixelFormat | format, | ||
enum AVColorSpace | csp, | ||
enum AVColorRange | range, | ||
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.
format | pixel format of the frames that will be drawn onto |
csp | color space of the frames that will be drawn onto, defaulting to BT601 or RGB depending on the specified format when AVCOL_SPC_UNSPECIFIED is passed. |
range | sample value range of the frames that will be drawn onto, defaulting to TV-range unless using a legacy J format when AVCOL_RANGE_UNSPECIFIED is passed. |
flags | combination of FF_DRAW_* flags. |
Definition at line 81 of file drawutils.c.
Referenced by config_input(), config_out_props(), config_output(), config_props(), ff_draw_init(), qrencode_config_input(), and qrencodesrc_config_props().
int ff_draw_init | ( | FFDrawContext * | draw, |
enum AVPixelFormat | format, | ||
unsigned | flags | ||
) |
Definition at line 152 of file drawutils.c.
Referenced by ff_draw_supported_pixel_formats(), main(), oscilloscope_config_input(), pixscope_config_input(), qrencodesrc_config_props(), and qrencodesrc_query_formats().
void ff_draw_color | ( | FFDrawContext * | draw, |
FFDrawColor * | color, | ||
const uint8_t | rgba[4] | ||
) |
Prepare a color.
The rgba value passed is always 8-bit full-range in the RGB space corresponding to the space set at initialization.
Definition at line 157 of file drawutils.c.
Referenced by config_input(), config_out_props(), config_output(), config_props(), draw_text(), main(), oscilloscope_config_input(), overlay_ass_image(), pixscope_config_input(), process_command(), qrencode_config_input(), qrencodesrc_config_props(), update_color_with_alpha(), and update_oscilloscope().
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 210 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 232 of file drawutils.c.
Referenced by activate(), config_out_props(), draw_blank_frame(), draw_qrcode(), filter_color2(), filter_frame(), oscilloscope_filter_frame(), pixscope_filter_frame(), process_frame(), and video_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 354 of file drawutils.c.
Referenced by draw_qrcode(), 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 535 of file drawutils.c.
Referenced by draw_glyphs(), draw_qrcode(), 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 636 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 648 of file drawutils.c.
Referenced by qrencode_query_formats(), and query_formats().