diff --git a/ffmpeg_plugin/master-0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch b/ffmpeg_plugin/master-0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch index 3e1c9e3a..ec686c67 100644 --- a/ffmpeg_plugin/master-0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch +++ b/ffmpeg_plugin/master-0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch @@ -1,4 +1,4 @@ -From 673e67dfff221da589e28216927fe5efd5b40586 Mon Sep 17 00:00:00 2001 +From be059eaeefdc49e93066a8b618d5635e9a2c696a 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 @@ -19,18 +19,18 @@ Signed-off-by: Guo Jiansheng create mode 100644 libavcodec/libsvt_hevc.c diff --git a/configure b/configure -index c726076da1..c00fcd0294 100755 +index c8ae0a061d..9cc741d2a7 100755 --- a/configure +++ b/configure -@@ -291,6 +291,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] +@@ -330,6 +330,7 @@ External library support: + --enable-vapoursynth enable VapourSynth demuxer [no] + --disable-xlib disable xlib [autodetect] + --disable-zlib disable zlib [autodetect] + --enable-libsvthevc enable HEVC encoding via svt [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=" + + The following libraries provide various hardware acceleration features: + --disable-amf disable AMF video encoding code [autodetect] +@@ -1898,6 +1899,7 @@ EXTERNAL_LIBRARY_LIST=" libsrt libssh libsvtav1 @@ -38,7 +38,7 @@ index c726076da1..c00fcd0294 100755 libtensorflow libtesseract libtheora -@@ -3404,6 +3406,7 @@ vapoursynth_demuxer_deps="vapoursynth" +@@ -3495,6 +3497,7 @@ vapoursynth_demuxer_deps="vapoursynth" videotoolbox_suggest="coreservices" videotoolbox_deps="corefoundation coremedia corevideo" videotoolbox_encoder_deps="videotoolbox VTCompressionSessionPrepareToEncodeFrames" @@ -46,7 +46,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 +@@ -6868,6 +6871,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 @@ -55,32 +55,32 @@ index c726076da1..c00fcd0294 100755 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 +index bb42095165..08ebc58d7d 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile -@@ -1126,6 +1126,7 @@ OBJS-$(CONFIG_LIBWEBP_ANIM_ENCODER) += libwebpenc_common.o libwebpenc_anim +@@ -1156,6 +1156,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 + OBJS-$(CONFIG_LIBXEVD_DECODER) += libxevd.o diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c -index ff82423a88..57f085415c 100644 +index 93ce8e3224..b709c7d551 100644 --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c -@@ -812,6 +812,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_libxavs_encoder; +@@ -829,6 +829,7 @@ extern const FFCodec ff_libxavs_encoder; extern const FFCodec ff_libxavs2_encoder; extern const FFCodec ff_libxvid_encoder; + extern const FFCodec ff_libzvbi_teletext_decoder; ++extern const FFCodec ff_libsvt_hevc_encoder; + + /* text */ + extern const FFCodec ff_bintext_decoder; diff --git a/libavcodec/libsvt_hevc.c b/libavcodec/libsvt_hevc.c new file mode 100644 -index 0000000000..739144ca0c +index 0000000000..80b53a2157 --- /dev/null +++ b/libavcodec/libsvt_hevc.c @@ -0,0 +1,585 @@ @@ -647,7 +647,7 @@ index 0000000000..739144ca0c + { NULL }, +}; + -+FFCodec ff_libsvt_hevc_encoder = { ++const FFCodec ff_libsvt_hevc_encoder = { + .p.name = "libsvt_hevc", + .p.long_name = NULL_IF_CONFIG_SMALL("SVT-HEVC(Scalable Video Technology for HEVC) encoder"), + .priv_data_size = sizeof(SvtContext), @@ -670,5 +670,5 @@ index 0000000000..739144ca0c + .p.wrapper_name = "libsvt_hevc", +}; -- -2.39.1 +2.43.0