SVT-AV1 is video encoder/decoder for av1, which has
very fast encoder compared with aom. Fedora has this
package. https://src.fedoraproject.org/rpms/svt-av1
I would like to enable svt-av1 encoding in ffmpeg via
this package.
Thanks in advance.
--
Takashi Yano <[email protected]>
NAME="svt-av1"
VERSION=1.8.0
RELEASE=1
LICENSE="BSD-3-Clause"
CATEGORY="Video"
SUMMARY="Scalable Video Technology for AV1 (Encoer and Decoder)"
DESCRIPTION="The Scalable Video Technology for AV1 (SVT-AV1 Encoder and
Decoder) is an AV1-compliant software encoder/decoder library. The work on the
SVT-AV1 encoder targets the development of a production-quality AV1-encoder
with performance levels applicable to a wide range of applications, from
premium VOD to real-time and live encoding/transcoding. The SVT-AV1 decoder
implementation targets future codec research activities."
HOMEPAGE="https://gitlab.com/AOMediaCodec/SVT-AV1"
inherit cmake
SRC_URI="https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v${VERSION}/SVT-AV1-v${VERSION}.tar.bz2"
SRC_DIR="SVT-AV1-v${VERSION}"
PKG_NAMES="
svt-av1
libsvtav1
libsvtav1-devel
libsvtav1-doc
"
svt_av1_CONTENTS="usr/bin/*.exe"
libsvtav1_CONTENTS="usr/bin/*.dll"
libsvtav1_devel_CONTENTS="usr/include usr/lib"
libsvtav1_doc_CONTENTS="usr/share/doc"
DIFF_EXCLUDES="libSvtAv1Dec.dll.a libSvtAv1Enc.dll.a"
BUILD_REQUIRES="cmake ninja yasm"
--- origsrc/SVT-AV1-v1.8.0/CMakeLists.txt 2023-12-14 21:33:03.000000000
+0900
+++ src/SVT-AV1-v1.8.0/CMakeLists.txt 2023-12-29 18:52:22.597806200 +0900
@@ -220,7 +220,7 @@ if(UNIX)
set(CMAKE_CXX_ARCHIVE_FINISH "<CMAKE_RANLIB>
-no_warning_for_no_symbols -c <TARGET>")
endif()
else()
- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -z noexecstack
-z relro -z now")
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}
-Wa,--noexecstack")
endif()
endif()
--- origsrc/SVT-AV1-v1.8.0/Source/App/EncApp/EbAppConfig.c 2023-12-14
21:33:03.000000000 +0900
+++ src/SVT-AV1-v1.8.0/Source/App/EncApp/EbAppConfig.c 2023-12-29
18:52:22.602058200 +0900
@@ -275,7 +275,7 @@ static Bool fopen_and_lock(FILE **file,
return FALSE;
const char *mode = write ? "wb" : "rb";
- FOPEN(*file, name, mode);
+ SVT_FOPEN(*file, name, mode);
if (!*file)
return FALSE;
@@ -304,7 +304,7 @@ static EbErrorType open_file(FILE **file
}
FILE *f;
- FOPEN(f, name, mode);
+ SVT_FOPEN(f, name, mode);
if (!f)
return validate_error(EB_ErrorBadParameter, token, name);
@@ -330,7 +330,7 @@ static EbErrorType set_cfg_input_file(Eb
cfg->input_file = stdin;
cfg->input_file_is_fifo = TRUE;
} else
- FOPEN(cfg->input_file, value, "rb");
+ SVT_FOPEN(cfg->input_file, value, "rb");
if (cfg->input_file == NULL) {
return validate_error(EB_ErrorBadParameter, token, value);
@@ -1548,7 +1548,7 @@ static EbErrorType read_config_file(EbCo
FILE *config_file;
// Open the config file
- FOPEN(config_file, config_path, "rb");
+ SVT_FOPEN(config_file, config_path, "rb");
if (!config_file) {
fprintf(stderr, "Error channel %u: Couldn't open Config File: %s\n",
instance_idx + 1, config_path);
return EB_ErrorBadParameter;
--- origsrc/SVT-AV1-v1.8.0/Source/App/EncApp/EbAppConfig.h 2023-12-14
21:33:03.000000000 +0900
+++ src/SVT-AV1-v1.8.0/Source/App/EncApp/EbAppConfig.h 2023-12-29
18:52:22.639768700 +0900
@@ -52,9 +52,9 @@ typedef enum EncPass {
#define MAX_NUM_TOKENS 210
#ifdef _WIN32
-#define FOPEN(f, s, m) fopen_s(&f, s, m)
+#define SVT_FOPEN(f, s, m) fopen_s(&f, s, m)
#else
-#define FOPEN(f, s, m) f = fopen(s, m)
+#define SVT_FOPEN(f, s, m) f = fopen(s, m)
#endif
typedef struct EbPerformanceContext {
--- origsrc/SVT-AV1-v1.8.0/Source/Lib/Common/ASM_AVX2/dav1d_x86inc.asm
2023-12-14 21:33:03.000000000 +0900
+++ src/SVT-AV1-v1.8.0/Source/Lib/Common/ASM_AVX2/dav1d_x86inc.asm
2023-12-29 19:00:25.994706400 +0900
@@ -61,7 +61,7 @@
%elifidn __OUTPUT_FORMAT__,x64
%define WIN64 1
%else
- %define UNIX64 1
+ %define WIN64 1
%endif
%endif
--- origsrc/SVT-AV1-v1.8.0/Source/Lib/Common/ASM_SSE2/x64inc.asm
2023-12-14 21:33:03.000000000 +0900
+++ src/SVT-AV1-v1.8.0/Source/Lib/Common/ASM_SSE2/x64inc.asm 2023-12-29
18:52:22.642767800 +0900
@@ -18,7 +18,7 @@
%elifidn __OUTPUT_FORMAT__,x64
%define WIN64 1
%else
- %define UNIX64 1
+ %define WIN64 1
%endif
%undef FORMAT_ELF
--- origsrc/SVT-AV1-v1.8.0/Source/Lib/Common/ASM_SSE2/x86inc.asm
2023-12-14 21:33:03.000000000 +0900
+++ src/SVT-AV1-v1.8.0/Source/Lib/Common/ASM_SSE2/x86inc.asm 2023-12-29
18:52:22.645765800 +0900
@@ -133,7 +133,7 @@ HAVE_WXWIDGETS equ 0
%elifidn __OUTPUT_FORMAT__,x64
%define WIN64 1
%else
- %define UNIX64 1
+ %define WIN64 1
%endif
%endif