Merge remote-tracking branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 28 Sep 2013 09:02:01 +0000 (11:02 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 28 Sep 2013 09:02:01 +0000 (11:02 +0200)
* qatar/master:
  lavfi: allow user-provided execute() callbacks

Conflicts:
libavfilter/avfilter.h
libavfilter/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
doc/APIchanges
libavfilter/avfilter.c
libavfilter/avfilter.h
libavfilter/avfiltergraph.c
libavfilter/internal.h
libavfilter/pthread.c
libavfilter/thread.h
libavfilter/version.h

diff --cc doc/APIchanges
Simple merge
Simple merge
@@@ -1169,19 -971,26 +1198,40 @@@ typedef struct AVFilterGraph 
       */
      AVFilterGraphInternal *internal;
  
+     /**
+      * Opaque user data. May be set by the caller to an arbitrary value, e.g. to
+      * be used from callbacks like @ref AVFilterGraph.execute.
+      * Libavfilter will not touch this field in any way.
+      */
+     void *opaque;
+     /**
+      * This callback may be set by the caller immediately after allocating the
+      * graph and before adding any filters to it, to provide a custom
+      * multithreading implementation.
+      *
+      * If set, filters with slice threading capability will call this callback
+      * to execute multiple jobs in parallel.
+      *
+      * If this field is left unset, libavfilter will use its internal
+      * implementation, which may or may not be multithreaded depending on the
+      * platform and build options.
+      */
+     avfilter_execute_func *execute;
++
 +    char *aresample_swr_opts; ///< swr options to use for the auto-inserted aresample filters, Access ONLY through AVOptions
 +
 +    /**
 +     * Private fields
 +     *
 +     * The following fields are for internal use only.
 +     * Their type, offset, number and semantic can change without notice.
 +     */
 +
 +    AVFilterLink **sink_links;
 +    int sink_links_count;
 +
 +    unsigned disable_auto_convert;
  } AVFilterGraph;
  
  /**
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -30,8 -30,8 +30,8 @@@
  #include "libavutil/avutil.h"
  
  #define LIBAVFILTER_VERSION_MAJOR  3
- #define LIBAVFILTER_VERSION_MINOR  87
 -#define LIBAVFILTER_VERSION_MINOR  11
 -#define LIBAVFILTER_VERSION_MICRO  0
++#define LIBAVFILTER_VERSION_MINOR  88
 +#define LIBAVFILTER_VERSION_MICRO 100
  
  #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
                                                 LIBAVFILTER_VERSION_MINOR, \