Credit Andrew/Andrea - adding libsvtav1 library as an option --enable-libsvtav1 on...
authorGood Guy <good1.2guy@gmail.com>
Tue, 2 Jan 2024 22:41:20 +0000 (15:41 -0700)
committerGood Guy <good1.2guy@gmail.com>
Tue, 2 Jan 2024 22:41:20 +0000 (15:41 -0700)
cinelerra-5.1/configure.ac
cinelerra-5.1/ffmpeg/video/av1_svt.mkv [new file with mode: 0644]
cinelerra-5.1/ffmpeg/video/av1_svt.webm [new file with mode: 0644]
cinelerra-5.1/thirdparty/Makefile
cinelerra-5.1/thirdparty/downloads.txt
cinelerra-5.1/thirdparty/src/libsvtav1-v1.8.0.patch0 [new file with mode: 0644]
cinelerra-5.1/thirdparty/src/libsvtav1-v1.8.0.tar.xz [new file with mode: 0644]

index bc0580e0f890cedbdd4e125a224f154926bd60c6..1f5fde5bbea949989904b42e130e81e5dafca5ab 100644 (file)
@@ -467,6 +467,11 @@ PKG_3RD([libaom],[auto],
   [ usr/local/lib*/libaom*.a ],
   [ usr/local/include ])
 
+PKG_3RD([libsvtav1],[no],
+  [libsvtav1-v1.8.0],
+  [ usr/local/lib*/libSvtAv1Enc.a ],
+  [ usr/local/include/svt-av1 ])
+
 PKG_3RD([dav1d],[auto],
   [dav1d-0.5.1],
   [ usr/local/lib*/libdav1d*.a ],
@@ -1027,6 +1032,7 @@ PKG_PROVIDE([libuuid])
 PKG_PROVIDE([libvorbis])
 PKG_PROVIDE([mjpegtools])
 PKG_PROVIDE([libaom])
+PKG_PROVIDE([libsvtav1])
 PKG_PROVIDE([dav1d])
 PKG_PROVIDE([libwebp])
 PKG_PROVIDE([openExr], [$WANT_OPENEXR])
diff --git a/cinelerra-5.1/ffmpeg/video/av1_svt.mkv b/cinelerra-5.1/ffmpeg/video/av1_svt.mkv
new file mode 100644 (file)
index 0000000..e19ae86
--- /dev/null
@@ -0,0 +1,6 @@
+matroska libsvtav1
+# this codec codes less than one frame per sec
+# and so even a few seconds of video can take
+# a very long time to encode
+# crf = 26
+# preset = 6
diff --git a/cinelerra-5.1/ffmpeg/video/av1_svt.webm b/cinelerra-5.1/ffmpeg/video/av1_svt.webm
new file mode 100644 (file)
index 0000000..6784f82
--- /dev/null
@@ -0,0 +1,6 @@
+webm libsvtav1
+# this codec codes less than one frame per sec
+# and so even a few seconds of video can take
+# a very long time to encode
+# crf = 26
+# preset = 6
index 3a7b603e4bff9d314ca6c4bd9d825396d3720718..8b779f046d394ff4556a2560b55812a72cc9f18a 100644 (file)
@@ -112,6 +112,7 @@ $(BLD):
 
 # pkg-config names
 pc_libaom=aom
+pc_libsvtav1=SvtAv1Enc
 pc_dav1d=dav1d
 pc_libwebp=libwebp libwebpmux
 pc_opus=opus
@@ -140,6 +141,7 @@ ffmpeg.cfg_params= \
        $(call if_ena,openjpeg,--enable-libopenjpeg) \
        $(call if_ena,lame,--enable-libmp3lame) \
        $(call if_ena,libaom,--enable-libaom) \
+       $(call if_ena,libsvtav1,--enable-libsvtav1) \
        $(call if_ena,dav1d,--enable-libdav1d) \
        $(call if_ena,libwebp,--enable-libwebp) \
        $(call if_ena,opus,--enable-libopus) \
@@ -153,6 +155,7 @@ ffmpeg.cfg_params= \
                $(call inc_path,twolame) \
                $(call inc_path,lame) \
                $(call inc_path,libaom) \
+               $(call inc_path,libsvtav1) \
                $(call inc_path,dav1d) \
                $(call inc_path,libwebp) \
                $(call inc_path,openjpeg) \
@@ -169,6 +172,7 @@ ffmpeg.cfg_params= \
                $(call ld_path,twolame,libtwolame/.libs) \
                $(call ld_path,lame,libmp3lame/.libs) \
                $(call ld_path,libaom,usr/local/lib) \
+               $(call ld_path,libsvtav1,usr/local/lib) \
                $(call ld_path,dav1d,usr/local/lib) \
                $(call ld_path,libwebp,usr/local/lib) \
                $(call ld_path,openjpeg,bin) \
@@ -209,6 +213,10 @@ libaom.cfg_vars?= mkdir aom.build && cd aom.build && $(call cmake_config,..)
 libaom.cfg_params?=  -DENABLE_TESTS=no -DCMAKE_BUILD_TYPE=Release -DENABLE_DOCS=no -DENABLE_SHARED=no -DCMAKE_INSTALL_LIBDIR=lib \
  -DENABLE_EXAMPLES=no -DCMAKE_INSTALL_PREFIX=$(call bld_path,libaom)/usr/local
 libaom.mak_params?= ; $(MAKE) -C libaom*/aom.build install
+libsvtav1.cfg_vars?= mkdir libsvtav1.build && cd libsvtav1.build && $(call cmake_config,..)
+libsvtav1.cfg_params?=  -DENABLE_TESTS=no -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=no -DENABLE_DOCS=no -DENABLE_SHARED=no -DCMAKE_INSTALL_LIBDIR=lib \
+ -DENABLE_EXAMPLES=no -DCMAKE_INSTALL_PREFIX=$(call bld_path,libsvtav1)/usr/local
+libsvtav1.mak_params?= ; $(MAKE) -C libsvtav1*/libsvtav1.build install
 dav1d.cfg_vars?=echo "echo dav1d custom make" >> configure; chmod +x ./configure;
 dav1d.mak_params?=; $(MAKE) -C dav1d* install DESTDIR="$(call bld_path,dav1d)"
 libwebp.cfg_vars?= ./autogen.sh;
@@ -342,7 +350,7 @@ $(call rules,$(call std-build,audiofile))
 $(call rules,$(call std-build,encore))
 $(call rules,$(call std-build,esound,audiofile))
 $(call rules,$(call std-build,ffmpeg, twolame lame openjpeg opus \
-       libtheora x264 x265 libvpx libaom dav1d libwebp \
+       libtheora x264 x265 libvpx libaom libsvtav1 dav1d libwebp \
        $(call if_want,NV, ffnvcodec)))
 $(call rules,$(call std-build,fftw))
 $(call rules,$(call std-build,flac,libogg))
@@ -351,6 +359,7 @@ $(call rules,$(call std-build,ilmBase, openexr))
 $(call rules,$(call std-build,ladspa))
 $(call rules,$(call std-build,lame))
 $(call rules,$(call std-build,libaom))
+$(call rules,$(call std-build,libsvtav1))
 $(call rules,$(call std-build,dav1d))
 $(call rules,$(call std-build,libwebp))
 $(call rules,$(call std-build,libavc1394,libraw1394))
index 9b2ea5ef255933fbd47749b8399604307d61626a..5d32e8a8baff02eafaa5264a594913f76254d99b 100644 (file)
@@ -32,7 +32,7 @@ https://sourceforge.net/projects/lame/files/latest/download?source=directory = 3
 https://download.osgeo.org/libtiff/tiff-4.6.0.tar.xz
 https://sourceforge.net/projects/libuuid/files/latest/download?source=directory - 1.0.3
 https://code.videolan.org/videolan/x264/-/tree/stable/x264-stable.tar.gz (Jan. 2023 version r3106)
-https://bitbucket.org/multicoreware/x265_git/downloads/x265_3.5.tar.gz
+https://bitbucket.org/multicoreware/x265_git/downloads/x265_3.5.tar.gz (snapshot 17122023)
 https://ffmpeg.org/releases/ffmpeg-6.1.tar.bz2
 https://github.com/webmproject/libvpx/archive/v1.13.1.tar.gz
 https://code.videolan.org/videolan/dav1d/-/archive/0.5.1/dav1d-0.5.1.tar.gz
@@ -40,9 +40,10 @@ https://github.com/swh/ladspa/releases/tag/v0.4.17, plugin.org.uk
 https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
 #https://github.com/webmproject/libwebp = libwebp-1.3.2
 https://github.com/webmproject/libwebp/archive/refs/tags/v1.3.2.tar.gz
-https://github.com/mozilla/aom = libaom-v3.4.0
+https://github.com/mozilla/aom = libaom-v3.8.0 (need v3.4.0 for ubuntu 16)
 git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git ??
 https://github.com/FFmpeg/nv-codec-headers/releases/download/n10.0.26.0/nv-codec-headers-10.0.26.0.tar.gz
+https://gitlab.com/AOMediaCodec/SVT-AV1/-/releases (v.1.8.0)
 
 https://gitlab.com/drobilla/lv2/-/archive/v1.18.0/lv2-v1.18.0.tar.gz
 http://download.drobilla.net/suil-0.10.6.tar.bz2
diff --git a/cinelerra-5.1/thirdparty/src/libsvtav1-v1.8.0.patch0 b/cinelerra-5.1/thirdparty/src/libsvtav1-v1.8.0.patch0
new file mode 100644 (file)
index 0000000..3a7b2b8
--- /dev/null
@@ -0,0 +1,11 @@
+--- libsvtav1-v1.8.0/CMakeLists.txt
++++ libsvtav1-v1.8.0/CMakeLists.txt
+@@ -9,7 +9,7 @@
+ # PATENTS file, you can obtain it at https://www.aomedia.org/license/patent-license.
+ #
+-cmake_minimum_required(VERSION 3.16)
++cmake_minimum_required(VERSION 3.12)
+ if("${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
+     message(WARNING "Building in-source is highly not recommended\n"
diff --git a/cinelerra-5.1/thirdparty/src/libsvtav1-v1.8.0.tar.xz b/cinelerra-5.1/thirdparty/src/libsvtav1-v1.8.0.tar.xz
new file mode 100644 (file)
index 0000000..1b3b100
Binary files /dev/null and b/cinelerra-5.1/thirdparty/src/libsvtav1-v1.8.0.tar.xz differ