Commit ef6718a5 authored by Paul B Mahol's avatar Paul B Mahol

lavfi/tile: make color of blank/unused area configurable

Signed-off-by: 's avatarPaul B Mahol <onemda@gmail.com>
parent d7ed473d
......@@ -7119,6 +7119,10 @@ Set the inner border thickness (i.e. the number of pixels between frames). For
more advanced padding options (such as having different values for the edges),
refer to the pad video filter.
@item color
Specify the color of the unused area, it can be the name of a color
(case insensitive match) or a 0xRRGGBB[AA] sequence.
The default value of @var{color} is "black".
@end table
@subsection Examples
......
......@@ -41,6 +41,7 @@ typedef struct {
FFDrawContext draw;
FFDrawColor blank;
AVFrame *out_ref;
uint8_t rgba_color[4];
} TileContext;
#define REASONABLE_SIZE 1024
......@@ -57,6 +58,7 @@ static const AVOption tile_options[] = {
AV_OPT_TYPE_INT, {.i64 = 0}, 0, 1024, FLAGS },
{ "padding", "set inner border thickness in pixels", OFFSET(padding),
AV_OPT_TYPE_INT, {.i64 = 0}, 0, 1024, FLAGS },
{ "color", "set the color of the unused area", OFFSET(rgba_color), AV_OPT_TYPE_COLOR, {.str = "black"}, .flags = FLAGS },
{NULL},
};
......@@ -113,8 +115,7 @@ static int config_props(AVFilterLink *outlink)
outlink->frame_rate = av_mul_q(inlink->frame_rate,
(AVRational){ 1, tile->nb_frames });
ff_draw_init(&tile->draw, inlink->format, 0);
/* TODO make the color an option, or find an unified way of choosing it */
ff_draw_color(&tile->draw, &tile->blank, (uint8_t[]){ 0, 0, 0, -1 });
ff_draw_color(&tile->draw, &tile->blank, tile->rgba_color);
outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment