1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
--- 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 <jing.a.sun@intel.com>
-Date: Wed, 21 Nov 2018 11:33:04 +0800
-Subject: [PATCH] lavc/svt_hevc: add libsvt hevc encoder wrapper
-
-Signed-off-by: Zhengxu Huang <zhengxu.huang@intel.com>
-Signed-off-by: Hassene Tmar <hassene.tmar@intel.com>
-Signed-off-by: Jun Zhao <jun.zhao@intel.com>
-Signed-off-by: Jing Sun <jing.a.sun@intel.com>
-Signed-off-by: Austin Hu <austin.hu@intel.com>
-Signed-off-by: Christopher Degawa <ccom@randomderp.com>
-Signed-off-by: Guo Jiansheng <jiansheng.guo@intel.com>
----
- 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
|