On 07/01/2024 10:42, Takashi Yano via Cygwin-apps wrote:
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.
svt-av1.cygport

NAME="svt-av1"
VERSION=1.8.0
RELEASE=1
LICENSE="BSD-3-Clause"
CATEGORY="Video"
SUMMARY="Scalable Video Technology for AV1 (Encoer and Decoder)"

Typo: "Encoder"

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"


svt-av1-1.8.0-1.src.patch

--- 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)

This provokes my curiosity.  Is there some reason for renaming this macro?

(In general, feel free to provide commentary at the start of the patch file on why it's doing what it's doing :))

Otherwise, all looks good.  I added this to your packages.


Reply via email to