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;
 };
 
 /**
-- 
2.11.0

_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to