FFmpeg
Data Structures | Macros | Functions
drawutils.h File Reference
#include <stdint.h>
#include "avfilter.h"
#include "libavutil/pixfmt.h"

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)
 
  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...
 
  Return the list of pixel formats supported by the draw functions. More...
 

Detailed Description

misc drawing utilities

Definition in file drawutils.h.

Macro Definition Documentation

MAX_PLANES

#define MAX_PLANES   4

Definition at line 33 of file drawutils.h.

FF_DRAW_PROCESS_ALPHA

#define FF_DRAW_PROCESS_ALPHA   1

Process alpha pixel component.

Definition at line 62 of file drawutils.h.

Function Documentation

ff_fill_rgba_map()

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().

ff_draw_init2()

int ff_draw_init2 ( FFDrawContextdraw,
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.

Parameters
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.
Returns
0 for success, < 0 for error

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().

ff_draw_init()

int ff_draw_init ( FFDrawContextdraw,
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().

ff_draw_color()

void ff_draw_color ( FFDrawContextdraw,
FFDrawColorcolor,
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(), set_color(), update_color_with_alpha(), and update_oscilloscope().

ff_copy_rectangle2()

void ff_copy_rectangle2 ( FFDrawContextdraw,
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().

ff_fill_rectangle()

void ff_fill_rectangle ( FFDrawContextdraw,
FFDrawColorcolor,
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().

ff_blend_rectangle()

void ff_blend_rectangle ( FFDrawContextdraw,
FFDrawColorcolor,
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().

ff_blend_mask()

void ff_blend_mask ( FFDrawContextdraw,
FFDrawColorcolor,
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.

Parameters
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().

ff_draw_round_to_sub()

int ff_draw_round_to_sub ( FFDrawContextdraw,
int  sub_dir,
int  round_dir,
int  value 
)

Round a dimension according to subsampling.

Parameters
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
Returns
the rounded value

Definition at line 636 of file drawutils.c.

Referenced by config_input().

ff_draw_supported_pixel_formats()

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().


Generated on Fri Aug 22 2025 14:00:04 for FFmpeg by   doxygen 1.8.17

AltStyle によって変換されたページ (->オリジナル) /