On Mon, 27 Mar 2017 21:38:16 +0100
Mark Thompson <[email protected]> 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
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel