On Mon, 27 Mar 2017 21:38:16 +0100 Mark Thompson <s...@jkqxz.net> wrote:
> This functions identically to the same field in AVCodecContext. > --- > doc/APIchanges | 3 +++ > libavfilter/avfilter.c | 2 ++ > libavfilter/avfilter.h | 13 +++++++++++++ > 3 files changed, 18 insertions(+) > > diff --git a/doc/APIchanges b/doc/APIchanges > index 677f5f7f1..8f06614fb 100644 > --- a/doc/APIchanges > +++ b/doc/APIchanges > @@ -13,6 +13,9 @@ libavutil: 2017-03-23 > > API changes, most recent first: > > +2017-04-xx - xxxxxxx - lavfi 7.x+1.0 - avfilter.h > + Add AVFilterContext.extra_hw_frames. > + > 2017-04-xx - xxxxxxx - lavc 58.x+1.0 - avcodec.h > Add AVCodecContext.extra_hw_frames. > > diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c > index 83c1a7c20..834eca8b3 100644 > --- a/libavfilter/avfilter.c > +++ b/libavfilter/avfilter.c > @@ -368,6 +368,8 @@ static const AVOption avfilter_options[] = { > { "thread_type", "Allowed thread types", OFFSET(thread_type), > AV_OPT_TYPE_FLAGS, > { .i64 = AVFILTER_THREAD_SLICE }, 0, INT_MAX, FLAGS, "thread_type" }, > { "slice", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = > AVFILTER_THREAD_SLICE }, .unit = "thread_type" }, > + { "extra_hw_frames", "Number of extra hardware frames to allocate for > the user", > + OFFSET(extra_hw_frames), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, > FLAGS }, > { NULL }, > }; > > diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h > index 6df69dbbb..c8f861076 100644 > --- a/libavfilter/avfilter.h > +++ b/libavfilter/avfilter.h > @@ -311,6 +311,19 @@ struct AVFilterContext { > * hardware context information. > */ > AVBufferRef *hw_device_ctx; > + > + /** > + * Sets the number of extra hardware frames which the filter will > + * allocate on its output links for use in following filters or by > + * the caller. > + * > + * Some hardware filters require all frames that they will use for > + * output to be defined in advance before filtering starts. For such > + * filters, any hardware frame pools used for output must therefore be > + * of fixed size. The extra frames set here are on top of any number > + * that the filter needs internally in order to operate normally. > + */ > + int extra_hw_frames; > }; > > /** (Same comment as on the AVCodecContext patch, otherwise LGTM.) (Also we need something to make this work for the whole graph, but that's one difficulty level and patch set later.) _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel