|
FFmpeg
|
misc drawing utilities More...
Go to the source code of this file.
Classes | |
| struct | FFDrawContext |
| struct | FFDrawColor |
Macros | |
| #define | MAX_PLANES 4 |
| #define | FF_DRAW_PROCESS_ALPHA 1 |
| Process alpha pixel component. | |
Typedefs | |
| typedef struct FFDrawContext | FFDrawContext |
| typedef struct FFDrawColor | FFDrawColor |
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. | |
| 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. | |
| 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
| 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 |
| 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.
| 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.
| 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 |
| 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.
| 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.
1.8.12