[FFmpeg-devel] [PATCH] lavfi/tile: make color of padding configurable

Paul B Mahol onemda at gmail.com
Wed Aug 14 23:53:02 CEST 2013


Signed-off-by: Paul B Mahol <onemda at gmail.com>
---
 doc/filters.texi      | 4 ++++
 libavfilter/vf_tile.c | 5 +++--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/doc/filters.texi b/doc/filters.texi
index 9a871b9..d390ff4 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -7102,6 +7102,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.
 
+ at item color
+Specify the color of the padded 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
diff --git a/libavfilter/vf_tile.c b/libavfilter/vf_tile.c
index f5eb763..9807e7e 100644
--- a/libavfilter/vf_tile.c
+++ b/libavfilter/vf_tile.c
@@ -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 padded 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;
 
-- 
1.7.11.2



More information about the ffmpeg-devel mailing list