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 <takashi.y...@nifty.ne.jp>
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