Accepting request 676669 from home:plater
Update 0001-Add-ability-for-ffmpeg-to-run-svt-av1.patch from git To fix build with SVT-AV1. OBS-URL: https://build.opensuse.org/request/show/676669 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-4?expand=0&rev=43
This commit is contained in:
parent
57cf8afc5c
commit
1595b455e4
@ -1,20 +1,23 @@
|
|||||||
From 7951dc4c7e8461da1ca003776ebd318d631ee6cb Mon Sep 17 00:00:00 2001
|
From 976b0ab59e4eb5242729d960539cb2714c6cba28 Mon Sep 17 00:00:00 2001
|
||||||
From: Daryl Seah <daryl.seah@intel.com>
|
From: Daryl Seah <daryl.seah@intel.com>
|
||||||
Date: Fri, 18 Jan 2019 02:11:38 +0000
|
Date: Fri, 18 Jan 2019 02:11:38 +0000
|
||||||
Subject: [PATCH] Add ability for ffmpeg to run svt-av1
|
Subject: [PATCH 1/1] Add ability for ffmpeg to run svt-av1
|
||||||
|
|
||||||
|
Change-Id: I37ee5414fdd99e0b3f112a6e5ede166f3e48d819
|
||||||
|
Signed-off-by: Daryl Seah <daryl.seah@intel.com>
|
||||||
|
Signed-off-by: Jing SUN <jing.a.sun@intel.com>
|
||||||
---
|
---
|
||||||
configure | 4 +
|
configure | 4 +
|
||||||
libavcodec/Makefile | 1 +
|
libavcodec/Makefile | 1 +
|
||||||
libavcodec/allcodecs.c | 1 +
|
libavcodec/allcodecs.c | 1 +
|
||||||
libavcodec/libsvt_av1.c | 498 ++++++++++++++++++++++++++++++++++++++++
|
libavcodec/libsvt_av1.c | 491 ++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
4 files changed, 504 insertions(+)
|
4 files changed, 497 insertions(+)
|
||||||
create mode 100644 libavcodec/libsvt_av1.c
|
create mode 100644 libavcodec/libsvt_av1.c
|
||||||
|
|
||||||
Index: ffmpeg-4.1/configure
|
diff --git a/configure b/configure
|
||||||
===================================================================
|
index a70c5f9..5b5238a 100755
|
||||||
--- ffmpeg-4.1.orig/configure
|
--- a/configure
|
||||||
+++ ffmpeg-4.1/configure
|
+++ b/configure
|
||||||
@@ -262,6 +262,7 @@ External library support:
|
@@ -262,6 +262,7 @@ External library support:
|
||||||
--enable-libspeex enable Speex de/encoding via libspeex [no]
|
--enable-libspeex enable Speex de/encoding via libspeex [no]
|
||||||
--enable-libsrt enable Haivision SRT protocol via libsrt [no]
|
--enable-libsrt enable Haivision SRT protocol via libsrt [no]
|
||||||
@ -31,7 +34,7 @@ Index: ffmpeg-4.1/configure
|
|||||||
libtensorflow
|
libtensorflow
|
||||||
libtesseract
|
libtesseract
|
||||||
libtheora
|
libtheora
|
||||||
@@ -3124,6 +3126,7 @@ libshine_encoder_select="audio_frame_que
|
@@ -3125,6 +3127,7 @@ libshine_encoder_select="audio_frame_queue"
|
||||||
libspeex_decoder_deps="libspeex"
|
libspeex_decoder_deps="libspeex"
|
||||||
libspeex_encoder_deps="libspeex"
|
libspeex_encoder_deps="libspeex"
|
||||||
libspeex_encoder_select="audio_frame_queue"
|
libspeex_encoder_select="audio_frame_queue"
|
||||||
@ -39,7 +42,7 @@ Index: ffmpeg-4.1/configure
|
|||||||
libtheora_encoder_deps="libtheora"
|
libtheora_encoder_deps="libtheora"
|
||||||
libtwolame_encoder_deps="libtwolame"
|
libtwolame_encoder_deps="libtwolame"
|
||||||
libvo_amrwbenc_encoder_deps="libvo_amrwbenc"
|
libvo_amrwbenc_encoder_deps="libvo_amrwbenc"
|
||||||
@@ -6134,6 +6137,7 @@ enabled libsoxr && require lib
|
@@ -6135,6 +6138,7 @@ enabled libsoxr && require libsoxr soxr.h soxr_create -lsoxr
|
||||||
enabled libssh && require_pkg_config libssh libssh libssh/sftp.h sftp_init
|
enabled libssh && require_pkg_config libssh libssh libssh/sftp.h sftp_init
|
||||||
enabled libspeex && require_pkg_config libspeex speex speex/speex.h speex_decoder_init
|
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 libsrt && require_pkg_config libsrt "srt >= 1.3.0" srt/srt.h srt_socket
|
||||||
@ -47,11 +50,11 @@ Index: ffmpeg-4.1/configure
|
|||||||
enabled libtensorflow && require libtensorflow tensorflow/c/c_api.h TF_Version -ltensorflow
|
enabled libtensorflow && require libtensorflow tensorflow/c/c_api.h TF_Version -ltensorflow
|
||||||
enabled libtesseract && require_pkg_config libtesseract tesseract tesseract/capi.h TessBaseAPICreate
|
enabled libtesseract && require_pkg_config libtesseract tesseract tesseract/capi.h TessBaseAPICreate
|
||||||
enabled libtheora && require libtheora theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg
|
enabled libtheora && require libtheora theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg
|
||||||
Index: ffmpeg-4.1/libavcodec/Makefile
|
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
|
||||||
===================================================================
|
index 3e41497..9b2e663 100644
|
||||||
--- ffmpeg-4.1.orig/libavcodec/Makefile
|
--- a/libavcodec/Makefile
|
||||||
+++ ffmpeg-4.1/libavcodec/Makefile
|
+++ b/libavcodec/Makefile
|
||||||
@@ -981,6 +981,7 @@ OBJS-$(CONFIG_LIBOPUS_ENCODER)
|
@@ -981,6 +981,7 @@ OBJS-$(CONFIG_LIBOPUS_ENCODER) += libopusenc.o libopus.o \
|
||||||
OBJS-$(CONFIG_LIBSHINE_ENCODER) += libshine.o
|
OBJS-$(CONFIG_LIBSHINE_ENCODER) += libshine.o
|
||||||
OBJS-$(CONFIG_LIBSPEEX_DECODER) += libspeexdec.o
|
OBJS-$(CONFIG_LIBSPEEX_DECODER) += libspeexdec.o
|
||||||
OBJS-$(CONFIG_LIBSPEEX_ENCODER) += libspeexenc.o
|
OBJS-$(CONFIG_LIBSPEEX_ENCODER) += libspeexenc.o
|
||||||
@ -59,10 +62,10 @@ Index: ffmpeg-4.1/libavcodec/Makefile
|
|||||||
OBJS-$(CONFIG_LIBTHEORA_ENCODER) += libtheoraenc.o
|
OBJS-$(CONFIG_LIBTHEORA_ENCODER) += libtheoraenc.o
|
||||||
OBJS-$(CONFIG_LIBTWOLAME_ENCODER) += libtwolame.o
|
OBJS-$(CONFIG_LIBTWOLAME_ENCODER) += libtwolame.o
|
||||||
OBJS-$(CONFIG_LIBVO_AMRWBENC_ENCODER) += libvo-amrwbenc.o
|
OBJS-$(CONFIG_LIBVO_AMRWBENC_ENCODER) += libvo-amrwbenc.o
|
||||||
Index: ffmpeg-4.1/libavcodec/allcodecs.c
|
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
|
||||||
===================================================================
|
index 1b8144a..f7df66c 100644
|
||||||
--- ffmpeg-4.1.orig/libavcodec/allcodecs.c
|
--- a/libavcodec/allcodecs.c
|
||||||
+++ ffmpeg-4.1/libavcodec/allcodecs.c
|
+++ b/libavcodec/allcodecs.c
|
||||||
@@ -697,6 +697,7 @@ extern AVCodec ff_librsvg_decoder;
|
@@ -697,6 +697,7 @@ extern AVCodec ff_librsvg_decoder;
|
||||||
extern AVCodec ff_libshine_encoder;
|
extern AVCodec ff_libshine_encoder;
|
||||||
extern AVCodec ff_libspeex_encoder;
|
extern AVCodec ff_libspeex_encoder;
|
||||||
@ -71,11 +74,12 @@ Index: ffmpeg-4.1/libavcodec/allcodecs.c
|
|||||||
extern AVCodec ff_libtheora_encoder;
|
extern AVCodec ff_libtheora_encoder;
|
||||||
extern AVCodec ff_libtwolame_encoder;
|
extern AVCodec ff_libtwolame_encoder;
|
||||||
extern AVCodec ff_libvo_amrwbenc_encoder;
|
extern AVCodec ff_libvo_amrwbenc_encoder;
|
||||||
Index: ffmpeg-4.1/libavcodec/libsvt_av1.c
|
diff --git a/libavcodec/libsvt_av1.c b/libavcodec/libsvt_av1.c
|
||||||
===================================================================
|
new file mode 100644
|
||||||
|
index 0000000..1eba049
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ ffmpeg-4.1/libavcodec/libsvt_av1.c
|
+++ b/libavcodec/libsvt_av1.c
|
||||||
@@ -0,0 +1,498 @@
|
@@ -0,0 +1,491 @@
|
||||||
+/*
|
+/*
|
||||||
+* Scalable Video Technology for AV1 encoder library plugin
|
+* Scalable Video Technology for AV1 encoder library plugin
|
||||||
+*
|
+*
|
||||||
@ -122,7 +126,6 @@ Index: ffmpeg-4.1/libavcodec/libsvt_av1.c
|
|||||||
+ int eos_flag;
|
+ int eos_flag;
|
||||||
+
|
+
|
||||||
+ // User options.
|
+ // User options.
|
||||||
+ int vui_info;
|
|
||||||
+ int hierarchical_level;
|
+ int hierarchical_level;
|
||||||
+ int la_depth;
|
+ int la_depth;
|
||||||
+ int enc_mode;
|
+ int enc_mode;
|
||||||
@ -274,9 +277,6 @@ Index: ffmpeg-4.1/libavcodec/libsvt_av1.c
|
|||||||
+ param->intra_refresh_type =
|
+ param->intra_refresh_type =
|
||||||
+ !!(avctx->flags & AV_CODEC_FLAG_CLOSED_GOP) + 1;
|
+ !!(avctx->flags & AV_CODEC_FLAG_CLOSED_GOP) + 1;
|
||||||
+
|
+
|
||||||
+ if (svt_enc->vui_info)
|
|
||||||
+ param->video_usability_info = svt_enc->vui_info;
|
|
||||||
+
|
|
||||||
+ if (svt_enc->la_depth != -1)
|
+ if (svt_enc->la_depth != -1)
|
||||||
+ param->look_ahead_distance = svt_enc->la_depth;
|
+ param->look_ahead_distance = svt_enc->la_depth;
|
||||||
+
|
+
|
||||||
@ -477,9 +477,6 @@ Index: ffmpeg-4.1/libavcodec/libsvt_av1.c
|
|||||||
+#define OFFSET(x) offsetof(SvtContext, x)
|
+#define OFFSET(x) offsetof(SvtContext, x)
|
||||||
+#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM
|
+#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM
|
||||||
+static const AVOption options[] = {
|
+static const AVOption options[] = {
|
||||||
+ { "vui", "Enable vui info", OFFSET(vui_info),
|
|
||||||
+ AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, VE },
|
|
||||||
+
|
|
||||||
+ { "aud", "Include AUD", OFFSET(aud),
|
+ { "aud", "Include AUD", OFFSET(aud),
|
||||||
+ AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE },
|
+ AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE },
|
||||||
+
|
+
|
||||||
@ -574,3 +571,6 @@ Index: ffmpeg-4.1/libavcodec/libsvt_av1.c
|
|||||||
+ .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
|
+ .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
|
||||||
+ .wrapper_name = "libsvt_av1",
|
+ .wrapper_name = "libsvt_av1",
|
||||||
+};
|
+};
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
|
@ -18,6 +18,7 @@ libopenjpeg # openjpeg
|
|||||||
libopus # opus
|
libopus # opus
|
||||||
libschroedinger # schroedinger
|
libschroedinger # schroedinger
|
||||||
libspeex # speex
|
libspeex # speex
|
||||||
|
libsvt_av1 # AV1
|
||||||
libtheora # libtheora
|
libtheora # libtheora
|
||||||
libtwolame # twolame
|
libtwolame # twolame
|
||||||
libvorbis # libvorbis
|
libvorbis # libvorbis
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Feb 16 12:41:43 UTC 2019 - davejplater@gmail.com
|
||||||
|
|
||||||
|
- Update 0001-Add-ability-for-ffmpeg-to-run-svt-av1.patch from git
|
||||||
|
To fix build with SVT-AV1.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sat Feb 16 12:36:08 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
|
Sat Feb 16 12:36:08 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
# license that conforms to the Open Source Definition (Version 1.9)
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
# published by the Open Source Initiative.
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
@ -129,7 +129,7 @@ BuildRequires: libmysofa-devel
|
|||||||
%endif
|
%endif
|
||||||
%if %{with svt_av1}
|
%if %{with svt_av1}
|
||||||
%ifarch x86_64
|
%ifarch x86_64
|
||||||
BuildRequires: SVT-AV1-devel
|
BuildRequires: pkgconfig(SvtAv1Enc)
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: nasm
|
BuildRequires: nasm
|
||||||
@ -634,8 +634,10 @@ CFLAGS="%optflags" \
|
|||||||
%if %{with srt}
|
%if %{with srt}
|
||||||
--enable-libsrt \
|
--enable-libsrt \
|
||||||
%endif
|
%endif
|
||||||
|
%if %{with svt_av1}
|
||||||
%ifarch x86_64
|
%ifarch x86_64
|
||||||
--enable-libsvtav1 \
|
--enable-libsvtav1 \
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--enable-libtheora \
|
--enable-libtheora \
|
||||||
--enable-libtwolame \
|
--enable-libtwolame \
|
||||||
|
Loading…
Reference in New Issue
Block a user