[FFmpeg-devel] [PATCH] lavf: add chromaprint muxer
wm4
nfxjfg at googlemail.com
Fri Oct 2 22:44:39 CEST 2015
On Fri, 2 Oct 2015 15:35:04 -0500
Rodger Combs <rodger.combs at gmail.com> wrote:
> ---
> Changelog | 1 +
> configure | 4 ++++
> doc/muxers.texi | 35 +++++++++++++++++++++++++++++++++++
> libavformat/Makefile | 1 +
> libavformat/allformats.c | 1 +
> libavformat/version.h | 2 +-
> 6 files changed, 43 insertions(+), 1 deletion(-)
>
> diff --git a/Changelog b/Changelog
> index 515d649..1b7e44d 100644
> --- a/Changelog
> +++ b/Changelog
> @@ -13,6 +13,7 @@ version <next>:
> - agate filter
> - chromakey filter
> - maskedmerge filter
> +- chromaprint fingerprinting muxer
>
>
> version 2.8:
> diff --git a/configure b/configure
> index 361c024..b9731c0 100755
> --- a/configure
> +++ b/configure
> @@ -197,6 +197,7 @@ Individual component options:
> External library support:
> --enable-avisynth enable reading of AviSynth script files [no]
> --disable-bzlib disable bzlib [autodetect]
> + --enable-chromaprint enable audio fingerprinting with chromaprint [no]
> --enable-fontconfig enable fontconfig, useful for drawtext filter [no]
> --enable-frei0r enable frei0r video filtering [no]
> --enable-gnutls enable gnutls, needed for https support
> @@ -1367,6 +1368,7 @@ EXAMPLE_LIST="
> EXTERNAL_LIBRARY_LIST="
> avisynth
> bzlib
> + chromaprint
> crystalhd
> decklink
> frei0r
> @@ -2505,6 +2507,7 @@ vc1_parser_select="mpegvideo startcode vc1_decoder"
> mjpeg2jpeg_bsf_select="jpegtables"
>
> # external libraries
> +chromaprint_muxer_deps="chromaprint"
> libaacplus_encoder_deps="libaacplus"
> libcelt_decoder_deps="libcelt"
> libdcadec_decoder_deps="libdcadec"
> @@ -5242,6 +5245,7 @@ enabled avfoundation_indev && { check_lib2 CoreGraphics/CoreGraphics.h CGGetActi
> enabled avisynth && { { check_lib2 "windows.h" LoadLibrary; } ||
> { check_lib2 "dlfcn.h" dlopen -ldl; } ||
> die "ERROR: LoadLibrary/dlopen not found for avisynth"; }
> +enabled chromaprint && require chromaprint chromaprint.h chromaprint_get_version -lchromaprint
> enabled decklink && { check_header DeckLinkAPI.h || die "ERROR: DeckLinkAPI.h header not found"; }
> enabled frei0r && { check_header frei0r.h || die "ERROR: frei0r.h header not found"; }
> enabled gnutls && require_pkg_config gnutls gnutls/gnutls.h gnutls_global_init
> diff --git a/doc/muxers.texi b/doc/muxers.texi
> index 86ca4ad..91d131f 100644
> --- a/doc/muxers.texi
> +++ b/doc/muxers.texi
> @@ -37,6 +37,41 @@ ID3v2.3 and ID3v2.4) are supported. The default is version 4.
>
> @end table
>
> + at anchor{chromaprint}
> + at section chromaprint
> +
> +Chromaprint fingerprinter
> +
> +This muxer feeds audio data to the Chromaprint library, which generates
> +a fingerprint for the provided audio data. It takes a single signed
> +native-endian 16-bit raw audio stream.
> +
> + at subsection Options
> +
> + at table @option
> + at item silence_threshold
> +Threshold for detecting silence, ranges from 0 to 32767. -1 for default
> +(required for use with the AcoustID service).
> +
> + at item algorithm
> +Algorithm index to fingerprint with.
> +
> + at item fp_format
> +Format to output the fingerprint as. Accepts the following options:
> + at table @samp
> + at item raw
> +Binary raw fingerprint
> +
> + at item compressed
> +Binary compressed fingerprint
> +
> + at item base64
> +Base64 compressed fingerprint
> +
> + at end table
> +
> + at end table
> +
> @anchor{crc}
> @section crc
>
> diff --git a/libavformat/Makefile b/libavformat/Makefile
> index 466da51..c9bf20f 100644
> --- a/libavformat/Makefile
> +++ b/libavformat/Makefile
> @@ -487,6 +487,7 @@ OBJS-$(CONFIG_YUV4MPEGPIPE_MUXER) += yuv4mpegenc.o
> OBJS-$(CONFIG_YUV4MPEGPIPE_DEMUXER) += yuv4mpegdec.o
>
> # external libraries
> +OBJS-$(CONFIG_CHROMAPRINT_MUXER) += chromaprint.o
> OBJS-$(CONFIG_LIBGME_DEMUXER) += libgme.o
> OBJS-$(CONFIG_LIBMODPLUG_DEMUXER) += libmodplug.o
> OBJS-$(CONFIG_LIBNUT_DEMUXER) += libnut.o
> diff --git a/libavformat/allformats.c b/libavformat/allformats.c
> index 0a24ac7..0ccde9d 100644
> --- a/libavformat/allformats.c
> +++ b/libavformat/allformats.c
> @@ -391,6 +391,7 @@ void av_register_all(void)
> REGISTER_PROTOCOL(UNIX, unix);
>
> /* external libraries */
> + REGISTER_MUXER (CHROMAPRINT, chromaprint);
> REGISTER_DEMUXER (LIBGME, libgme);
> REGISTER_DEMUXER (LIBMODPLUG, libmodplug);
> REGISTER_MUXDEMUX(LIBNUT, libnut);
> diff --git a/libavformat/version.h b/libavformat/version.h
> index 743617e..f7a2e09 100644
> --- a/libavformat/version.h
> +++ b/libavformat/version.h
> @@ -30,7 +30,7 @@
> #include "libavutil/version.h"
>
> #define LIBAVFORMAT_VERSION_MAJOR 57
> -#define LIBAVFORMAT_VERSION_MINOR 2
> +#define LIBAVFORMAT_VERSION_MINOR 3
> #define LIBAVFORMAT_VERSION_MICRO 100
>
> #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
Misses the muxer source file?
More information about the ffmpeg-devel
mailing list