--- a/010-ffmpeg-add-svt-hevc-g6cca5b9.patch +++ b/010-ffmpeg-add-svt-hevc-g6cca5b9.patch @@ -1,36 +1,14 @@ -From 673e67dfff221da589e28216927fe5efd5b40586 Mon Sep 17 00:00:00 2001 -From: Jing Sun -Date: Wed, 21 Nov 2018 11:33:04 +0800 -Subject: [PATCH] lavc/svt_hevc: add libsvt hevc encoder wrapper - -Signed-off-by: Zhengxu Huang -Signed-off-by: Hassene Tmar -Signed-off-by: Jun Zhao -Signed-off-by: Jing Sun -Signed-off-by: Austin Hu -Signed-off-by: Christopher Degawa -Signed-off-by: Guo Jiansheng ---- - configure | 4 + - libavcodec/Makefile | 1 + - libavcodec/allcodecs.c | 1 + - libavcodec/libsvt_hevc.c | 585 +++++++++++++++++++++++++++++++++++++++ - 4 files changed, 591 insertions(+) - create mode 100644 libavcodec/libsvt_hevc.c - -diff --git a/configure b/configure -index c726076da1..c00fcd0294 100755 --- a/configure +++ b/configure -@@ -291,6 +291,7 @@ External library support: +@@ -289,6 +289,7 @@ External library support: --enable-libwebp enable WebP encoding via libwebp [no] --enable-libx264 enable H.264 encoding via x264 [no] --enable-libx265 enable HEVC encoding via x265 [no] + --enable-libsvthevc enable HEVC encoding via svt [no] + --enable-libxeve enable EVC encoding via libxeve [no] + --enable-libxevd enable EVC decoding via libxevd [no] --enable-libxavs enable AVS encoding via xavs [no] - --enable-libxavs2 enable AVS2 encoding via xavs2 [no] - --enable-libxcb enable X11 grabbing using XCB [autodetect] -@@ -1852,6 +1853,7 @@ EXTERNAL_LIBRARY_LIST=" +@@ -1893,6 +1894,7 @@ EXTERNAL_LIBRARY_LIST=" libsrt libssh libsvtav1 @@ -38,7 +16,7 @@ index c726076da1..c00fcd0294 100755 libtensorflow libtesseract libtheora -@@ -3404,6 +3406,7 @@ vapoursynth_demuxer_deps="vapoursynth" +@@ -3470,6 +3472,7 @@ vapoursynth_demuxer_deps="vapoursynth" videotoolbox_suggest="coreservices" videotoolbox_deps="corefoundation coremedia corevideo" videotoolbox_encoder_deps="videotoolbox VTCompressionSessionPrepareToEncodeFrames" @@ -46,7 +24,7 @@ index c726076da1..c00fcd0294 100755 # demuxers / muxers ac3_demuxer_select="ac3_parser" -@@ -6678,6 +6681,7 @@ enabled libssh && require_pkg_config libssh libssh libssh/sftp.h sftp +@@ -6828,6 +6831,7 @@ enabled libssh && require_pkg_config libssh "libssh >= 0.6.0" libssh/ enabled libspeex && require_pkg_config libspeex speex speex/speex.h speex_decoder_init enabled libsrt && require_pkg_config libsrt "srt >= 1.3.0" srt/srt.h srt_socket enabled libsvtav1 && require_pkg_config libsvtav1 "SvtAv1Enc >= 0.9.0" EbSvtAv1Enc.h svt_av1_enc_init_handle @@ -54,30 +32,26 @@ index c726076da1..c00fcd0294 100755 enabled libtensorflow && require libtensorflow tensorflow/c/c_api.h TF_Version -ltensorflow enabled libtesseract && require_pkg_config libtesseract tesseract tesseract/capi.h TessBaseAPICreate enabled libtheora && require libtheora theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg -diff --git a/libavcodec/Makefile b/libavcodec/Makefile -index 1fb963f820..77c9926ea6 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile -@@ -1126,6 +1126,7 @@ OBJS-$(CONFIG_LIBWEBP_ANIM_ENCODER) += libwebpenc_common.o libwebpenc_anim +@@ -1147,6 +1147,7 @@ OBJS-$(CONFIG_LIBWEBP_ANIM_ENCODER) += libwebpenc_common.o libwebpenc_anim OBJS-$(CONFIG_LIBX262_ENCODER) += libx264.o OBJS-$(CONFIG_LIBX264_ENCODER) += libx264.o OBJS-$(CONFIG_LIBX265_ENCODER) += libx265.o +OBJS-$(CONFIG_LIBSVT_HEVC_ENCODER) += libsvt_hevc.o OBJS-$(CONFIG_LIBXAVS_ENCODER) += libxavs.o OBJS-$(CONFIG_LIBXAVS2_ENCODER) += libxavs2.o - OBJS-$(CONFIG_LIBXVID_ENCODER) += libxvid.o -diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c -index ff82423a88..57f085415c 100644 + OBJS-$(CONFIG_LIBXEVD_DECODER) += libxevd.o --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c -@@ -812,6 +812,7 @@ extern LIBX264_CONST FFCodec ff_libx264_encoder; +@@ -821,6 +821,7 @@ extern LIBX264_CONST FFCodec ff_libx264_encoder; #endif extern const FFCodec ff_libx264rgb_encoder; extern FFCodec ff_libx265_encoder; +extern FFCodec ff_libsvt_hevc_encoder; + extern const FFCodec ff_libxeve_encoder; + extern const FFCodec ff_libxevd_decoder; extern const FFCodec ff_libxavs_encoder; - extern const FFCodec ff_libxavs2_encoder; - extern const FFCodec ff_libxvid_encoder; diff --git a/libavcodec/libsvt_hevc.c b/libavcodec/libsvt_hevc.c new file mode 100644 index 0000000000..739144ca0c