diff options
author | wm4 <wm4@nowhere> | 2013-05-23 15:11:57 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2013-05-23 17:44:06 +0200 |
commit | 60a7f3b8bc7caca5a60d763e5d57732c78e35a14 (patch) | |
tree | d9b580cde0217ae1d1039f72f7c532895c11123b /configure | |
parent | 5bdf9d01cafd451fa971e94d5f2dab982338130a (diff) | |
download | mpv-60a7f3b8bc7caca5a60d763e5d57732c78e35a14.tar.bz2 mpv-60a7f3b8bc7caca5a60d763e5d57732c78e35a14.tar.xz |
af_lavfi: add libavfilter bridge
Mostly copied from vf_lavfi. The parts that could be shared are minor,
because most code is about setting up audio and video, which are too
different.
This won't work with Libav. I used ffplay.c as guide, and noticed too
late that their setup methods are incompatible with Libav's. Trying to
make it work with both would be too much effort. The configure test for
av_opt_set_int_list() should disable af_lavfi gracefully when compiling
with Libav.
Due to option parser chaos, you currently can't have a "," as part of
the filter graph string - not even with quoting or escaping. This will
probably be fixed later.
The audio filter chain is not PTS aware. So we have to do some hacks
to make up a fake PTS, and we have to map the output PTS back to the
filter chain's method of tracking PTS changes and buffering, by
adjusting af->delay.
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 31 |
1 files changed, 31 insertions, 0 deletions
@@ -329,6 +329,7 @@ Optional features: --disable-libavdevice enable libavdevice demuxers [autodetect] --disable-libavfilter enable libavfilter [autodetect] --disable-vf-lavfi enable vf_lavfi libavfilter bridge [audodetect] + --disable-af-lavfi enable af_lavfi libavfilter bridge [audodetect] Codecs: --enable-mng enable MNG input support [autodetect] @@ -487,6 +488,7 @@ _rpath=no libpostproc=auto libavfilter=auto vf_lavfi=auto +af_lavfi=auto libavdevice=auto _stream_cache=yes _priority=no @@ -703,6 +705,8 @@ for ac_option do --disable-libavfilter) libavfilter=no ;; --enable-vf-lavfi) vf_lavfi=auto ;; --disable-vf-lavfi) vf_lavfi=no ;; + --enable-af-lavfi) af_lavfi=auto ;; + --disable-af-lavfi) af_lavfi=no ;; --enable-enca) _enca=yes ;; --disable-enca) _enca=no ;; @@ -2750,6 +2754,31 @@ fi echores "$vf_lavfi" +echocheck "libavutil av_opt_set_int_list() API" +_avutil_has_opt_set_int_list=no +statement_check libavutil/opt.h 'av_opt_set_int_list(0,0,(int*)0,0,0)' && _avutil_has_opt_set_int_list=yes +echores "$_avutil_has_opt_set_int_list" + + +echocheck "using libavfilter through af_lavfi" +if test "$af_lavfi" = auto ; then + af_lavfi=no + if test "$libavfilter" = yes ; then + if test "$_avutil_has_opt_set_int_list" = no ; then + res_comment="libavutil too old" + else + af_lavfi=yes + fi + fi +fi +if test "$af_lavfi" = yes ; then + def_af_lavfi='#define CONFIG_AF_LAVFI 1' +else + def_af_lavfi='#undef CONFIG_AF_LAVFI' +fi +echores "$af_lavfi" + + echocheck "libavdevice >= 54.0.0" if test "$libavdevice" = auto ; then libavdevice=no @@ -3087,6 +3116,7 @@ LIBPOSTPROC = $libpostproc LIBAVDEVICE = $libavdevice LIBAVFILTER = $libavfilter VF_LAVFI = $vf_lavfi +AF_LAVFI = $af_lavfi LIBSMBCLIENT = $_smb LIBQUVI = $_libquvi LIBTHEORA = $_theora @@ -3242,6 +3272,7 @@ $def_libpostproc $def_libavdevice $def_libavfilter $def_vf_lavfi +$def_af_lavfi /* Audio output drivers */ |