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
 

Reply via email to