diff --git a/libavfilter/drawutils.c b/libavfilter/drawutils.c index 6f7dca021b..f7e3adf9e8 100644 --- a/libavfilter/drawutils.c +++ b/libavfilter/drawutils.c @@ -164,6 +164,12 @@ int ff_draw_init2(FFDrawContext *draw, enum AVPixelFormat format, enum AVColorSp return 0; } +int ff_draw_init_from_link(FFDrawContext *draw, const AVFilterLink *link, + unsigned flags) +{ + return ff_draw_init2(draw, link->format, link->colorspace, link->color_range, flags); +} + int ff_draw_init(FFDrawContext *draw, enum AVPixelFormat format, unsigned flags) { return ff_draw_init2(draw, format, AVCOL_SPC_UNSPECIFIED, AVCOL_RANGE_UNSPECIFIED, flags); diff --git a/libavfilter/drawutils.h b/libavfilter/drawutils.h index f4903d1a86..c68a78e84b 100644 --- a/libavfilter/drawutils.h +++ b/libavfilter/drawutils.h @@ -80,6 +80,13 @@ typedef struct FFDrawColor { int ff_draw_init2(FFDrawContext *draw, enum AVPixelFormat format, enum AVColorSpace csp, enum AVColorRange range, unsigned flags); +/** + * Init a draw context, taking the format, colorspace and range from the given + * filter link. + */ +int ff_draw_init_from_link(FFDrawContext *draw, const AVFilterLink *link, + unsigned flags); + /* * Legacy wrapper for ff_draw_init2. */