From 5985a1bf72332e10d251ec643e100b5592285819 Mon Sep 17 00:00:00 2001 From: hwren Date: Fri, 27 Jul 2018 11:50:19 +0800 Subject: [PATCH] lavc, doc, configure: add avs2 video decoder wrapper Tested-by: Steven Liu Signed-off-by: hwren Signed-off-by: Steven Liu --- Changelog | 1 + configure | 4 ++++ doc/decoders.texi | 6 ++++++ doc/general.texi | 14 ++++++++++++++ libavcodec/Makefile | 1 + libavcodec/allcodecs.c | 1 + 6 files changed, 27 insertions(+) diff --git a/Changelog b/Changelog index 807a05dec9..9f6ce505ed 100644 --- a/Changelog +++ b/Changelog @@ -16,6 +16,7 @@ version : - ATRAC9 decoder - lensfun wrapper filter - colorconstancy filter +- AVS2 video decoder via libdavs2 version 4.0: diff --git a/configure b/configure index d509f74e1a..f57ef1844b 100755 --- a/configure +++ b/configure @@ -226,6 +226,7 @@ External library support: --enable-libcelt enable CELT decoding via libcelt [no] --enable-libcdio enable audio CD grabbing with libcdio [no] --enable-libcodec2 enable codec2 en/decoding using libcodec2 [no] + --enable-libdavs2 enable AVS2 decoding via libdavs2 [no] --enable-libdc1394 enable IIDC-1394 grabbing using libdc1394 and libraw1394 [no] --enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no] @@ -1639,6 +1640,7 @@ EXTERNAL_LIBRARY_GPL_LIST=" avisynth frei0r libcdio + libdavs2 librubberband libvidstab libx264 @@ -3052,6 +3054,7 @@ libaom_av1_encoder_select="extract_extradata_bsf" libcelt_decoder_deps="libcelt" libcodec2_decoder_deps="libcodec2" libcodec2_encoder_deps="libcodec2" +libdavs2_decoder_deps="libdavs2" libfdk_aac_decoder_deps="libfdk_aac" libfdk_aac_encoder_deps="libfdk_aac" libfdk_aac_encoder_select="audio_frame_queue" @@ -6011,6 +6014,7 @@ enabled libcelt && require libcelt celt/celt.h celt_decode -lcelt0 && die "ERROR: libcelt must be installed and version must be >= 0.11.0."; } enabled libcaca && require_pkg_config libcaca caca caca.h caca_create_canvas enabled libcodec2 && require libcodec2 codec2/codec2.h codec2_create -lcodec2 +enabled libdavs2 && require_pkg_config libdavs2 "davs2 >= 1.5.115" davs2.h davs2_decoder_open enabled libdc1394 && require_pkg_config libdc1394 libdc1394-2 dc1394/dc1394.h dc1394_new enabled libdrm && require_pkg_config libdrm libdrm xf86drm.h drmGetVersion enabled libfdk_aac && { check_pkg_config libfdk_aac fdk-aac "fdk-aac/aacenc_lib.h" aacEncOpen || diff --git a/doc/decoders.texi b/doc/decoders.texi index 8f07bc1afb..9439b7b96a 100644 --- a/doc/decoders.texi +++ b/doc/decoders.texi @@ -47,6 +47,12 @@ top-field-first is assumed @end table +@section libdavs2 + +AVS2/IEEE 1857.4 video decoder wrapper. + +This decoder allows libavcodec to decode AVS2 streams with davs2 library. + @c man end VIDEO DECODERS @chapter Audio Decoders diff --git a/doc/general.texi b/doc/general.texi index 8c3a04b078..cd725bb51d 100644 --- a/doc/general.texi +++ b/doc/general.texi @@ -17,6 +17,20 @@ for more formats. None of them are used by default, their use has to be explicitly requested by passing the appropriate flags to @command{./configure}. +@section libdavs2 + +FFmpeg can make use of the davs2 library for AVS2/IEEE 1857.4 video decoding. + +Go to @url{https://github.com/pkuvcl/davs2} and follow the instructions for +installing the library. Then pass @code{--enable-libdavs2} to configure to +enable it. + +@float NOTE +libdavs2 is under the GNU Public License Version 2 or later +(see @url{http://www.gnu.org/licenses/old-licenses/gpl-2.0.html} for +details), you must upgrade FFmpeg's license to GPL in order to use it. +@end float + @section Alliance for Open Media libaom FFmpeg can make use of the libaom library for AV1 decoding. diff --git a/libavcodec/Makefile b/libavcodec/Makefile index c1a7d2f292..6e40702947 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -946,6 +946,7 @@ OBJS-$(CONFIG_LIBAOM_AV1_ENCODER) += libaomenc.o OBJS-$(CONFIG_LIBCELT_DECODER) += libcelt_dec.o OBJS-$(CONFIG_LIBCODEC2_DECODER) += libcodec2.o codec2utils.o OBJS-$(CONFIG_LIBCODEC2_ENCODER) += libcodec2.o codec2utils.o +OBJS-$(CONFIG_LIBDAVS2_DECODER) += libdavs2.o OBJS-$(CONFIG_LIBFDK_AAC_DECODER) += libfdk-aacdec.o OBJS-$(CONFIG_LIBFDK_AAC_ENCODER) += libfdk-aacenc.o OBJS-$(CONFIG_LIBGSM_DECODER) += libgsmdec.o diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c index 505a361fb9..ab3ec04251 100644 --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c @@ -668,6 +668,7 @@ extern AVCodec ff_libaom_av1_encoder; extern AVCodec ff_libcelt_decoder; extern AVCodec ff_libcodec2_encoder; extern AVCodec ff_libcodec2_decoder; +extern AVCodec ff_libdavs2_decoder; extern AVCodec ff_libfdk_aac_encoder; extern AVCodec ff_libfdk_aac_decoder; extern AVCodec ff_libgsm_encoder;