|
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 78 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 132 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 154 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 176 of file drawutils.c.
Referenced by config_input(), config_props(), ff_draw_supported_pixel_formats(), and main().
| void ff_draw_color | ( | FFDrawContext * | draw, |
| FFDrawColor * | color, | ||
| const uint8_t | rgba[4] | ||
| ) |
Prepare a color.
Definition at line 224 of file drawutils.c.
Referenced by config_input(), config_props(), draw_text(), main(), overlay_ass_image(), 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 286 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 308 of file drawutils.c.
Referenced by draw_blank_frame(), filter_color2(), and 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 435 of file drawutils.c.
Referenced by draw_text().
| 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 612 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 709 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 721 of file drawutils.c.
Referenced by query_formats().
1.8.6