libavfilter/drawutils.h File Reference

misc drawing utilities More...

#include <stdint.h>
#include "avfilter.h"
#include "libavutil/pixfmt.h"

Go to the source code of this file.

Data Structures

struct  FFDrawContext
struct  FFDrawColor

Defines

#define MAX_PLANES   4

Functions

int ff_fill_rgba_map (uint8_t *rgba_map, enum PixelFormat pix_fmt)
int ff_fill_line_with_color (uint8_t *line[4], int pixel_step[4], int w, uint8_t dst_color[4], enum PixelFormat 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 PixelFormat format, unsigned flags)
 Init a draw context.
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.
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.
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, 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.
int ff_draw_round_to_sub (FFDrawContext *draw, int sub_dir, int round_dir, int value)
 Round a dimension according to subsampling.
AVFilterFormatsff_draw_supported_pixel_formats (unsigned flags)
 Return the list of pixel formats supported by the draw functions.


Detailed Description

misc drawing utilities

Definition in file drawutils.h.


Define Documentation

#define MAX_PLANES   4

Definition at line 46 of file drawutils.h.


Function Documentation

void ff_blend_mask ( FFDrawContext draw,
FFDrawColor color,
uint8_t dst[],
int  dst_linesize[],
int  dst_w,
int  dst_h,
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 430 of file drawutils.c.

Referenced by draw_glyphs(), and overlay_ass_image().

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 332 of file drawutils.c.

Referenced by draw_text().

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 115 of file drawutils.c.

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 214 of file drawutils.c.

Referenced by draw_slice().

void ff_draw_color ( FFDrawContext draw,
FFDrawColor color,
const uint8_t  rgba[4] 
)

Prepare a color.

Definition at line 179 of file drawutils.c.

Referenced by config_input(), and overlay_ass_image().

int ff_draw_init ( FFDrawContext draw,
enum PixelFormat  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. No flags currently defined.

Returns:
0 for success, < 0 for error

Definition at line 135 of file drawutils.c.

Referenced by config_input(), and ff_draw_supported_pixel_formats().

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 95 of file drawutils.c.

int ff_draw_round_to_sub ( FFDrawContext draw,
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 490 of file drawutils.c.

Referenced by config_input(), and draw_slice().

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 502 of file drawutils.c.

Referenced by query_formats().

int ff_fill_line_with_color ( uint8_t line[4],
int  pixel_step[4],
int  w,
uint8_t  dst_color[4],
enum PixelFormat  pix_fmt,
uint8_t  rgba_color[4],
int is_packed_rgba,
uint8_t  rgba_map[4] 
)

Definition at line 52 of file drawutils.c.

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 236 of file drawutils.c.

Referenced by draw_blank_frame(), draw_send_bar_slice(), and draw_slice().

int ff_fill_rgba_map ( uint8_t rgba_map,
enum PixelFormat  pix_fmt 
)


Generated on Fri Oct 26 02:50:09 2012 for FFmpeg by  doxygen 1.5.8