Merge commit '45fc73edfe071f9690e8671ed2dc402b1cb02ece'
[ffmpeg.git] / libavfilter / internal.h
index 1e8cd58..308b115 100644 (file)
@@ -141,18 +141,24 @@ struct AVFilterPad {
      * input pads only.
      */
     int needs_fifo;
+
+    /**
+     * The filter expects writable frames from its input link,
+     * duplicating data buffers if needed.
+     *
+     * input pads only.
+     */
+    int needs_writable;
 };
 #endif
 
 struct AVFilterGraphInternal {
     void *thread;
-    int (*thread_execute)(AVFilterContext *ctx, action_func *func, void *arg,
-                          int *ret, int nb_jobs);
+    avfilter_execute_func *thread_execute;
 };
 
 struct AVFilterInternal {
-    int (*execute)(AVFilterContext *ctx, action_func *func, void *arg,
-                   int *ret, int nb_jobs);
+    avfilter_execute_func *execute;
 };
 
 #if FF_API_AVFILTERBUFFER
@@ -171,7 +177,7 @@ int ff_fmt_is_in(int fmt, const int *fmts);
  * @param ret pixel format pointer to where the value should be written
  * @param arg string to parse
  * @param log_ctx log context
- * @return 0 in case of success, a negative AVERROR code on error
+ * @return >= 0 in case of success, a negative AVERROR code on error
  */
 int ff_parse_pixel_format(enum AVPixelFormat *ret, const char *arg, void *log_ctx);
 
@@ -181,7 +187,7 @@ int ff_parse_pixel_format(enum AVPixelFormat *ret, const char *arg, void *log_ct
  * @param ret unsigned integer pointer to where the value should be written
  * @param arg string to parse
  * @param log_ctx log context
- * @return 0 in case of success, a negative AVERROR code on error
+ * @return >= 0 in case of success, a negative AVERROR code on error
  */
 int ff_parse_sample_rate(int *ret, const char *arg, void *log_ctx);
 
@@ -191,7 +197,7 @@ int ff_parse_sample_rate(int *ret, const char *arg, void *log_ctx);
  * @param ret unsigned AVRational pointer to where the value should be written
  * @param arg string to parse
  * @param log_ctx log context
- * @return 0 in case of success, a negative AVERROR code on error
+ * @return >= 0 in case of success, a negative AVERROR code on error
  */
 int ff_parse_time_base(AVRational *ret, const char *arg, void *log_ctx);
 
@@ -201,7 +207,7 @@ int ff_parse_time_base(AVRational *ret, const char *arg, void *log_ctx);
  * @param ret integer pointer to where the value should be written
  * @param arg string to parse
  * @param log_ctx log context
- * @return 0 in case of success, a negative AVERROR code on error
+ * @return >= 0 in case of success, a negative AVERROR code on error
  */
 int ff_parse_sample_format(int *ret, const char *arg, void *log_ctx);
 
@@ -209,11 +215,14 @@ int ff_parse_sample_format(int *ret, const char *arg, void *log_ctx);
  * Parse a channel layout or a corresponding integer representation.
  *
  * @param ret 64bit integer pointer to where the value should be written.
+ * @param nret integer pointer to the number of channels;
+ *             if not NULL, then unknown channel layouts are accepted
  * @param arg string to parse
  * @param log_ctx log context
- * @return 0 in case of success, a negative AVERROR code on error
+ * @return >= 0 in case of success, a negative AVERROR code on error
  */
-int ff_parse_channel_layout(int64_t *ret, const char *arg, void *log_ctx);
+int ff_parse_channel_layout(int64_t *ret, int *nret, const char *arg,
+                            void *log_ctx);
 
 void ff_update_link_current_pts(AVFilterLink *link, int64_t pts);