Commit ffc01280 authored by Paul B Mahol's avatar Paul B Mahol

avfilter: add lv2 wrapper filter

Signed-off-by: 's avatarPaul B Mahol <onemda@gmail.com>
parent 3701d499
...@@ -20,6 +20,7 @@ version <next>: ...@@ -20,6 +20,7 @@ version <next>:
- OpenCL overlay filter - OpenCL overlay filter
- video mix filter - video mix filter
- video normalize filter - video normalize filter
- audio lv2 wrapper filter
version 3.4: version 3.4:
......
...@@ -283,6 +283,7 @@ External library support: ...@@ -283,6 +283,7 @@ External library support:
--enable-libzimg enable z.lib, needed for zscale filter [no] --enable-libzimg enable z.lib, needed for zscale filter [no]
--enable-libzmq enable message passing via libzmq [no] --enable-libzmq enable message passing via libzmq [no]
--enable-libzvbi enable teletext support via libzvbi [no] --enable-libzvbi enable teletext support via libzvbi [no]
--enable-lv2 enable LV2 audio filtering [no]
--disable-lzma disable lzma [autodetect] --disable-lzma disable lzma [autodetect]
--enable-decklink enable Blackmagic DeckLink I/O support [no] --enable-decklink enable Blackmagic DeckLink I/O support [no]
--enable-libndi_newtek enable Newteck NDI I/O support [no] --enable-libndi_newtek enable Newteck NDI I/O support [no]
...@@ -1631,6 +1632,7 @@ EXTERNAL_LIBRARY_LIST=" ...@@ -1631,6 +1632,7 @@ EXTERNAL_LIBRARY_LIST="
libzimg libzimg
libzmq libzmq
libzvbi libzvbi
lv2
mediacodec mediacodec
openal openal
opengl opengl
...@@ -3229,6 +3231,7 @@ hqdn3d_filter_deps="gpl" ...@@ -3229,6 +3231,7 @@ hqdn3d_filter_deps="gpl"
interlace_filter_deps="gpl" interlace_filter_deps="gpl"
kerndeint_filter_deps="gpl" kerndeint_filter_deps="gpl"
ladspa_filter_deps="ladspa libdl" ladspa_filter_deps="ladspa libdl"
lv2_filter_deps="lv2"
mcdeint_filter_deps="avcodec gpl" mcdeint_filter_deps="avcodec gpl"
movie_filter_deps="avcodec avformat" movie_filter_deps="avcodec avformat"
mpdecimate_filter_deps="gpl" mpdecimate_filter_deps="gpl"
...@@ -5825,6 +5828,7 @@ enabled gmp && require gmp gmp.h mpz_export -lgmp ...@@ -5825,6 +5828,7 @@ enabled gmp && require gmp gmp.h mpz_export -lgmp
enabled gnutls && require_pkg_config gnutls gnutls gnutls/gnutls.h gnutls_global_init enabled gnutls && require_pkg_config gnutls gnutls gnutls/gnutls.h gnutls_global_init
enabled jni && { [ $target_os = "android" ] && check_header jni.h && enabled pthreads || die "ERROR: jni not found"; } enabled jni && { [ $target_os = "android" ] && check_header jni.h && enabled pthreads || die "ERROR: jni not found"; }
enabled ladspa && require_header ladspa.h enabled ladspa && require_header ladspa.h
enabled lv2 && require_pkg_config lv2 lilv-0 "lilv-0/lilv/lilv.h" lilv_world_new
enabled libiec61883 && require libiec61883 libiec61883/iec61883.h iec61883_cmp_connect -lraw1394 -lavc1394 -lrom1394 -liec61883 enabled libiec61883 && require libiec61883 libiec61883/iec61883.h iec61883_cmp_connect -lraw1394 -lavc1394 -lrom1394 -liec61883
enabled libass && require_pkg_config libass libass ass/ass.h ass_library_init enabled libass && require_pkg_config libass libass ass/ass.h ass_library_init
enabled libbluray && require_pkg_config libbluray libbluray libbluray/bluray.h bd_open enabled libbluray && require_pkg_config libbluray libbluray libbluray/bluray.h bd_open
......
...@@ -3281,6 +3281,65 @@ lowpass=c=LFE ...@@ -3281,6 +3281,65 @@ lowpass=c=LFE
@end example @end example
@end itemize @end itemize
@section lv2
Load a LV2 (LADSPA Version 2) plugin.
To enable compilation of this filter you need to configure FFmpeg with
@code{--enable-lv2}.
@table @option
@item plugin, p
Specifies the plugin URI. You may need to escape ':'.
@item controls, c
Set the '|' separated list of controls which are zero or more floating point
values that determine the behavior of the loaded plugin (for example delay,
threshold or gain).
If @option{controls} is set to @code{help}, all available controls and
their valid ranges are printed.
@item sample_rate, s
Specify the sample rate, default to 44100. Only used if plugin have
zero inputs.
@item nb_samples, n
Set the number of samples per channel per each output frame, default
is 1024. Only used if plugin have zero inputs.
@item duration, d
Set the minimum duration of the sourced audio. See
@ref{time duration syntax,,the Time duration section in the ffmpeg-utils(1) manual,ffmpeg-utils}
for the accepted syntax.
Note that the resulting duration may be greater than the specified duration,
as the generated audio is always cut at the end of a complete frame.
If not specified, or the expressed duration is negative, the audio is
supposed to be generated forever.
Only used if plugin have zero inputs.
@end table
@subsection Examples
@itemize
@item
Apply bass enhancer plugin from Calf:
@example
lv2=p=http\\\\://calf.sourceforge.net/plugins/BassEnhancer:c=amount=2
@end example
@item
Apply bass vinyl plugin from Calf:
@example
lv2=p=http\\\\://calf.sourceforge.net/plugins/Vinyl:c=drone=0.2|aging=0.5
@end example
@item
Apply bit crusher plugin from ArtyFX:
@example
lv2=p=http\\\\://www.openavproductions.com/artyfx#bitta:c=crush=0.3
@end example
@end itemize
@section mcompand @section mcompand
Multiband Compress or expand the audio's dynamic range. Multiband Compress or expand the audio's dynamic range.
......
...@@ -101,6 +101,7 @@ OBJS-$(CONFIG_JOIN_FILTER) += af_join.o ...@@ -101,6 +101,7 @@ OBJS-$(CONFIG_JOIN_FILTER) += af_join.o
OBJS-$(CONFIG_LADSPA_FILTER) += af_ladspa.o OBJS-$(CONFIG_LADSPA_FILTER) += af_ladspa.o
OBJS-$(CONFIG_LOUDNORM_FILTER) += af_loudnorm.o ebur128.o OBJS-$(CONFIG_LOUDNORM_FILTER) += af_loudnorm.o ebur128.o
OBJS-$(CONFIG_LOWPASS_FILTER) += af_biquads.o OBJS-$(CONFIG_LOWPASS_FILTER) += af_biquads.o
OBJS-$(CONFIG_LV2_FILTER) += af_lv2.o
OBJS-$(CONFIG_MCOMPAND_FILTER) += af_mcompand.o OBJS-$(CONFIG_MCOMPAND_FILTER) += af_mcompand.o
OBJS-$(CONFIG_PAN_FILTER) += af_pan.o OBJS-$(CONFIG_PAN_FILTER) += af_pan.o
OBJS-$(CONFIG_REPLAYGAIN_FILTER) += af_replaygain.o OBJS-$(CONFIG_REPLAYGAIN_FILTER) += af_replaygain.o
......
This diff is collapsed.
...@@ -112,6 +112,7 @@ static void register_all(void) ...@@ -112,6 +112,7 @@ static void register_all(void)
REGISTER_FILTER(LADSPA, ladspa, af); REGISTER_FILTER(LADSPA, ladspa, af);
REGISTER_FILTER(LOUDNORM, loudnorm, af); REGISTER_FILTER(LOUDNORM, loudnorm, af);
REGISTER_FILTER(LOWPASS, lowpass, af); REGISTER_FILTER(LOWPASS, lowpass, af);
REGISTER_FILTER(LV2, lv2, af);
REGISTER_FILTER(MCOMPAND, mcompand, af); REGISTER_FILTER(MCOMPAND, mcompand, af);
REGISTER_FILTER(PAN, pan, af); REGISTER_FILTER(PAN, pan, af);
REGISTER_FILTER(REPLAYGAIN, replaygain, af); REGISTER_FILTER(REPLAYGAIN, replaygain, af);
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
#include "libavutil/version.h" #include "libavutil/version.h"
#define LIBAVFILTER_VERSION_MAJOR 7 #define LIBAVFILTER_VERSION_MAJOR 7
#define LIBAVFILTER_VERSION_MINOR 4 #define LIBAVFILTER_VERSION_MINOR 5
#define LIBAVFILTER_VERSION_MICRO 100 #define LIBAVFILTER_VERSION_MICRO 100
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \ #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment