From: Good Guy Date: Tue, 2 Jan 2024 22:41:20 +0000 (-0700) Subject: Credit Andrew/Andrea - adding libsvtav1 library as an option --enable-libsvtav1 on... X-Git-Tag: 2024-01~6 X-Git-Url: https://cinelerra-gg.org/git/?a=commitdiff_plain;h=c2742824fdcfa54b3a9f594250c30bf45ffc9d81;p=goodguy%2Fcinelerra.git Credit Andrew/Andrea - adding libsvtav1 library as an option --enable-libsvtav1 on configure line with new render formats and testing --- diff --git a/cinelerra-5.1/configure.ac b/cinelerra-5.1/configure.ac index bc0580e0..1f5fde5b 100644 --- a/cinelerra-5.1/configure.ac +++ b/cinelerra-5.1/configure.ac @@ -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 index 00000000..e19ae864 --- /dev/null +++ b/cinelerra-5.1/ffmpeg/video/av1_svt.mkv @@ -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 index 00000000..6784f822 --- /dev/null +++ b/cinelerra-5.1/ffmpeg/video/av1_svt.webm @@ -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 diff --git a/cinelerra-5.1/thirdparty/Makefile b/cinelerra-5.1/thirdparty/Makefile index 3a7b603e..8b779f04 100644 --- a/cinelerra-5.1/thirdparty/Makefile +++ b/cinelerra-5.1/thirdparty/Makefile @@ -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)) diff --git a/cinelerra-5.1/thirdparty/downloads.txt b/cinelerra-5.1/thirdparty/downloads.txt index 9b2ea5ef..5d32e8a8 100644 --- a/cinelerra-5.1/thirdparty/downloads.txt +++ b/cinelerra-5.1/thirdparty/downloads.txt @@ -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 index 00000000..3a7b2b83 --- /dev/null +++ b/cinelerra-5.1/thirdparty/src/libsvtav1-v1.8.0.patch0 @@ -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 index 00000000..1b3b1004 Binary files /dev/null and b/cinelerra-5.1/thirdparty/src/libsvtav1-v1.8.0.tar.xz differ