From 6918f977660f1932e1e2e576abae4fc4fa4aaaeb Mon Sep 17 00:00:00 2001 From: q3aql Date: Tue, 7 Mar 2023 20:53:51 +0100 Subject: [PATCH] Update FFmpeg 6.0 Build2 --- ffmpeg-shared-build-cywin32.sh | 7 +++++++ ffmpeg-shared-build-cywin64.sh | 35 ++++++++++++++++++++++++++++++++-- ffmpeg-static-build-linux32.sh | 30 +++++++++++++++++++++++++++-- ffmpeg-static-build-linux64.sh | 30 +++++++++++++++++++++++++++-- 4 files changed, 96 insertions(+), 6 deletions(-) diff --git a/ffmpeg-shared-build-cywin32.sh b/ffmpeg-shared-build-cywin32.sh index 40c558c..a8a75c8 100755 --- a/ffmpeg-shared-build-cywin32.sh +++ b/ffmpeg-shared-build-cywin32.sh @@ -142,6 +142,11 @@ apt-cyg install autoconf apt-cyg install libtool apt-cyg install ninja apt-cyg install libiconv-devel +apt-cyg install clang +apt-cyg install compiler-rt +apt-cyg install libjson-c-common +apt-cyg install libc++abi-devel +apt-cyg install libc++-devel # Build x264 if [ -f /usr/lib/pkgconfig/x264.pc ] ; then @@ -235,6 +240,8 @@ else fi # Download FFmpeg +cd / && ln -s usr mingw32 +unlink /mingw32/usr 2> /dev/null echo "* Building FFmpeg using system libraries" cd ${dir_build_libs} name_package=$(echo ${ffmpeg_package_name} | cut -d "@" -f 1) diff --git a/ffmpeg-shared-build-cywin64.sh b/ffmpeg-shared-build-cywin64.sh index 3c41f3e..9c0533b 100755 --- a/ffmpeg-shared-build-cywin64.sh +++ b/ffmpeg-shared-build-cywin64.sh @@ -38,6 +38,9 @@ lib_aom_msys="https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-aom-3.6.0-1- lib_aom_msys_name="mingw-w64-x86_64-aom-3.6.0-1-any.pkg.tar.zst@mingw64" #https://packages.msys2.org/package/mingw-w64-i686-aom +lib_svtav1_msys="https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-svt-av1-1.4.1-1-any.pkg.tar.zst" +lib_svtav1_msys_name="mingw-w64-x86_64-svt-av1-1.4.1-1-any.pkg.tar.zst@mingw64" + # Dependencies for aom dep_one="https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-gcc-libs-12.2.0-6-any.pkg.tar.zst" dep_one_name="mingw-w64-x86_64-gcc-libs-12.2.0-6-any.pkg.tar.zst" @@ -142,6 +145,11 @@ apt-cyg install autoconf apt-cyg install libtool apt-cyg install ninja apt-cyg install libiconv-devel +apt-cyg install clang +apt-cyg install compiler-rt +apt-cyg install libjson-c-common +apt-cyg install libc++abi-devel +apt-cyg install libc++-devel # Build x264 if [ -f /usr/lib/pkgconfig/x264.pc ] ; then @@ -234,7 +242,30 @@ else rm -rfv ${name_folder} fi +# Build SVT-AV1 +if [ -f /usr/lib/pkgconfig/SvtAv1Dec.pc ] ; then + echo "* SVT-AV1 was compiled previously" + rm -rfv ${name_package} + rm -rfv ${name_folder} + sleep 1 +else + cd ${dir_build_libs} + rm -rfv ${name_package} + name_package=$(echo ${lib_svtav1_msys_name} | cut -d "@" -f 1) + name_folder=$(echo ${lib_svtav1_msys_name} | cut -d "@" -f 2) + cd /tmp + wget ${lib_svtav1_msys} + tar --use-compress-program=unzstd -xvf ${name_package} + cd ${name_folder} + cp -rfv * /usr/ + cd .. + rm -rfv ${name_package} + rm -rfv ${name_folder} +fi + # Download FFmpeg +cd / && ln -s usr mingw64 +unlink /mingw64/usr 2> /dev/null echo "* Building FFmpeg using system libraries" cd ${dir_build_libs} name_package=$(echo ${ffmpeg_package_name} | cut -d "@" -f 1) @@ -244,7 +275,7 @@ wget -c ${ffmpeg_package} tar jxvf ${name_package} cd ${name_folder} chmod +x configure -./configure --prefix=${dir_build} --enable-gpl --enable-nonfree --disable-ffplay --disable-w32threads --enable-openssl --enable-libass --enable-libbs2b --enable-libcaca --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxml2 --enable-libxvid --enable-libspeex --enable-libx264 --enable-libx265 --enable-static --enable-version3 --enable-doc --disable-indev=dshow --disable-indev=gdigrab --enable-libaom +./configure --prefix=${dir_build} --enable-gpl --enable-nonfree --disable-ffplay --disable-w32threads --enable-openssl --enable-libass --enable-libbs2b --enable-libcaca --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxml2 --enable-libxvid --enable-libspeex --enable-libx264 --enable-libx265 --enable-static --enable-version3 --enable-doc --disable-indev=dshow --disable-indev=gdigrab --enable-libsvtav1 --enable-libaom build_error=$? if [ ${build_error} -eq 0 ] ; then echo "" @@ -258,7 +289,7 @@ else echo " - aom" echo "" sleep 5 - ./configure --prefix=${dir_build} --enable-gpl --enable-nonfree --disable-ffplay --disable-w32threads --enable-openssl --enable-libass --enable-libbs2b --enable-libcaca --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxml2 --enable-libxvid --enable-libspeex --enable-libx264 --enable-libx265 --enable-static --enable-version3 --enable-doc --disable-indev=dshow --disable-indev=gdigrab --disable-libaom + ./configure --prefix=${dir_build} --enable-gpl --enable-nonfree --disable-ffplay --disable-w32threads --enable-openssl --enable-libass --enable-libbs2b --enable-libcaca --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxml2 --enable-libxvid --enable-libspeex --enable-libx264 --enable-libx265 --enable-static --enable-version3 --enable-doc --disable-indev=dshow --disable-indev=gdigrab --enable-libsvtav1 --disable-libaom fi make rm -rf ${dir_build}/* diff --git a/ffmpeg-static-build-linux32.sh b/ffmpeg-static-build-linux32.sh index 8ee2934..e585461 100755 --- a/ffmpeg-static-build-linux32.sh +++ b/ffmpeg-static-build-linux32.sh @@ -121,6 +121,9 @@ lib_xvid_name="xvidcore-1.3.7.tar.gz@xvidcore" lib_aom="https://aomedia.googlesource.com/aom" lib_aom_name="aom" +lib_svtav1="https://gitlab.com/AOMediaCodec/SVT-AV1" +lib_svtav1_name="SVT-AV1" + # Check root permission mkdir -p /etc/root &> /dev/null administrador=$? @@ -620,6 +623,29 @@ else rm -rfv ${name_folder} fi +# Build SVT-AV1 +if [ -f ${dir_build_libs}/lib/pkgconfig/SvtAv1Dec.pc ] ; then + echo "* SVT-AV1 was compiled previously" + rm -rfv ${name_package} + rm -rfv ${name_folder} + sleep 1 +else + cd ${dir_build_libs} + rm -rfv ${name_package} + rm -rfv ${name_folder} + name_folder=$(echo ${lib_svtav1_name}) + name_package=$(echo ${lib_svtav1}) + git clone ${lib_svtav1} + cd "${name_folder}/Build/linux" + PKG_CONFIG_PATH=${dir_build_libs}/lib/pkgconfig/ LD_LIBRARY_PATH=${dir_build_libs}/lib/ CC="${C_COMPILER}" CXX="${CXX_COMPILER}" + ./build.sh --prefix=${dir_build_libs} --static + cd Release + make install + cd ${dir_build_libs} + rm -rfv ${name_package} + rm -rfv ${name_folder} +fi + # Download FFmpeg echo "* Building FFmpeg using system libraries" cd ${dir_build_libs} @@ -629,7 +655,7 @@ wget -c ${ffmpeg_package} tar jxvf ${name_package} cd ${name_folder} chmod +x configure -PKG_CONFIG_PATH=${dir_build_libs}/lib/pkgconfig LD_LIBRARY_PATH=${dir_build_libs}/lib CC="${C_COMPILER}" CXX="${CXX_COMPILER}" ./configure --prefix="${dir_build}/usr" --extra-ldexeflags="-static" --pkg-config-flags="--static" --extra-cflags="-I${dir_build_libs}/include" --extra-ldflags="-L${dir_build_libs}/lib" --extra-libs="-lpthread -lm -lz" --extra-ldexeflags="-static" --enable-gpl --enable-nonfree --enable-version3 --disable-debug --disable-indev=sndio --disable-outdev=sndio --enable-fontconfig --enable-frei0r --enable-openssl --enable-libaom --enable-libfribidi --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libdav1d --enable-libxvid --enable-libfdk-aac --enable-ffplay --enable-pic +PKG_CONFIG_PATH=${dir_build_libs}/lib/pkgconfig LD_LIBRARY_PATH=${dir_build_libs}/lib CC="${C_COMPILER}" CXX="${CXX_COMPILER}" ./configure --prefix="${dir_build}/usr" --extra-ldexeflags="-static" --pkg-config-flags="--static" --extra-cflags="-I${dir_build_libs}/include" --extra-ldflags="-L${dir_build_libs}/lib" --extra-libs="-lpthread -lm -lz" --extra-ldexeflags="-static" --enable-gpl --enable-nonfree --enable-version3 --disable-debug --disable-indev=sndio --disable-outdev=sndio --enable-fontconfig --enable-frei0r --enable-openssl --enable-libaom --enable-libfribidi --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libdav1d --enable-libxvid --enable-libfdk-aac --enable-libsvtav1 --enable-ffplay --enable-pic build_error=$? if [ ${build_error} -eq 0 ] ; then echo "" @@ -643,7 +669,7 @@ else echo " - vidstab" echo "" sleep 5 - PKG_CONFIG_PATH=${dir_build_libs}/lib/pkgconfig LD_LIBRARY_PATH=${dir_build_libs}/lib CC="${C_COMPILER}" CXX="${CXX_COMPILER}" ./configure --prefix="${dir_build}/usr" --extra-ldexeflags="-static" --pkg-config-flags="--static" --extra-cflags="-I${dir_build_libs}/include" --extra-ldflags="-L${dir_build_libs}/lib" --extra-libs="-lpthread -lm -lz" --extra-ldexeflags="-static" --enable-gpl --enable-nonfree --enable-version3 --disable-debug --disable-indev=sndio --disable-outdev=sndio --enable-fontconfig --enable-frei0r --enable-openssl --enable-libaom --enable-libfribidi --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --disable-libvidstab --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libdav1d --enable-libxvid --enable-libfdk-aac --enable-ffplay --enable-pic + PKG_CONFIG_PATH=${dir_build_libs}/lib/pkgconfig LD_LIBRARY_PATH=${dir_build_libs}/lib CC="${C_COMPILER}" CXX="${CXX_COMPILER}" ./configure --prefix="${dir_build}/usr" --extra-ldexeflags="-static" --pkg-config-flags="--static" --extra-cflags="-I${dir_build_libs}/include" --extra-ldflags="-L${dir_build_libs}/lib" --extra-libs="-lpthread -lm -lz" --extra-ldexeflags="-static" --enable-gpl --enable-nonfree --enable-version3 --disable-debug --disable-indev=sndio --disable-outdev=sndio --enable-fontconfig --enable-frei0r --enable-openssl --enable-libaom --enable-libfribidi --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --disable-libvidstab --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libdav1d --enable-libxvid --enable-libfdk-aac --enable-libsvtav1 --enable-ffplay --enable-pic fi sleep 2 make diff --git a/ffmpeg-static-build-linux64.sh b/ffmpeg-static-build-linux64.sh index 7e11414..5a96c23 100755 --- a/ffmpeg-static-build-linux64.sh +++ b/ffmpeg-static-build-linux64.sh @@ -121,6 +121,9 @@ lib_xvid_name="xvidcore-1.3.7.tar.gz@xvidcore" lib_aom="https://aomedia.googlesource.com/aom" lib_aom_name="aom" +lib_svtav1="https://gitlab.com/AOMediaCodec/SVT-AV1" +lib_svtav1_name="SVT-AV1" + # Check root permission mkdir -p /etc/root &> /dev/null administrador=$? @@ -620,6 +623,29 @@ else rm -rfv ${name_folder} fi +# Build SVT-AV1 +if [ -f ${dir_build_libs}/lib/pkgconfig/SvtAv1Dec.pc ] ; then + echo "* SVT-AV1 was compiled previously" + rm -rfv ${name_package} + rm -rfv ${name_folder} + sleep 1 +else + cd ${dir_build_libs} + rm -rfv ${name_package} + rm -rfv ${name_folder} + name_folder=$(echo ${lib_svtav1_name}) + name_package=$(echo ${lib_svtav1}) + git clone ${lib_svtav1} + cd "${name_folder}/Build/linux" + PKG_CONFIG_PATH=${dir_build_libs}/lib/pkgconfig/ LD_LIBRARY_PATH=${dir_build_libs}/lib/ CC="${C_COMPILER}" CXX="${CXX_COMPILER}" + ./build.sh --prefix=${dir_build_libs} --static + cd Release + make install + cd ${dir_build_libs} + rm -rfv ${name_package} + rm -rfv ${name_folder} +fi + # Download FFmpeg echo "* Building FFmpeg using system libraries" cd ${dir_build_libs} @@ -629,7 +655,7 @@ wget -c ${ffmpeg_package} tar jxvf ${name_package} cd ${name_folder} chmod +x configure -PKG_CONFIG_PATH=${dir_build_libs}/lib/pkgconfig LD_LIBRARY_PATH=${dir_build_libs}/lib CC="${C_COMPILER}" CXX="${CXX_COMPILER}" ./configure --prefix="${dir_build}/usr" --extra-ldexeflags="-static" --pkg-config-flags="--static" --extra-cflags="-I${dir_build_libs}/include" --extra-ldflags="-L${dir_build_libs}/lib" --extra-libs="-lpthread -lm -lz" --extra-ldexeflags="-static" --enable-gpl --enable-nonfree --enable-version3 --disable-debug --disable-indev=sndio --disable-outdev=sndio --enable-fontconfig --enable-frei0r --enable-openssl --enable-libaom --enable-libfribidi --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libdav1d --enable-libxvid --enable-libfdk-aac --enable-ffplay --enable-pic +PKG_CONFIG_PATH=${dir_build_libs}/lib/pkgconfig LD_LIBRARY_PATH=${dir_build_libs}/lib CC="${C_COMPILER}" CXX="${CXX_COMPILER}" ./configure --prefix="${dir_build}/usr" --extra-ldexeflags="-static" --pkg-config-flags="--static" --extra-cflags="-I${dir_build_libs}/include" --extra-ldflags="-L${dir_build_libs}/lib" --extra-libs="-lpthread -lm -lz" --extra-ldexeflags="-static" --enable-gpl --enable-nonfree --enable-version3 --disable-debug --disable-indev=sndio --disable-outdev=sndio --enable-fontconfig --enable-frei0r --enable-openssl --enable-libaom --enable-libfribidi --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libdav1d --enable-libxvid --enable-libfdk-aac --enable-libsvtav1 --enable-ffplay --enable-pic build_error=$? if [ ${build_error} -eq 0 ] ; then echo "" @@ -643,7 +669,7 @@ else echo " - vidstab" echo "" sleep 5 - PKG_CONFIG_PATH=${dir_build_libs}/lib/pkgconfig LD_LIBRARY_PATH=${dir_build_libs}/lib CC="${C_COMPILER}" CXX="${CXX_COMPILER}" ./configure --prefix="${dir_build}/usr" --extra-ldexeflags="-static" --pkg-config-flags="--static" --extra-cflags="-I${dir_build_libs}/include" --extra-ldflags="-L${dir_build_libs}/lib" --extra-libs="-lpthread -lm -lz" --extra-ldexeflags="-static" --enable-gpl --enable-nonfree --enable-version3 --disable-debug --disable-indev=sndio --disable-outdev=sndio --enable-fontconfig --enable-frei0r --enable-openssl --enable-libaom --enable-libfribidi --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --disable-libvidstab --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libdav1d --enable-libxvid --enable-libfdk-aac --enable-ffplay --enable-pic + PKG_CONFIG_PATH=${dir_build_libs}/lib/pkgconfig LD_LIBRARY_PATH=${dir_build_libs}/lib CC="${C_COMPILER}" CXX="${CXX_COMPILER}" ./configure --prefix="${dir_build}/usr" --extra-ldexeflags="-static" --pkg-config-flags="--static" --extra-cflags="-I${dir_build_libs}/include" --extra-ldflags="-L${dir_build_libs}/lib" --extra-libs="-lpthread -lm -lz" --extra-ldexeflags="-static" --enable-gpl --enable-nonfree --enable-version3 --disable-debug --disable-indev=sndio --disable-outdev=sndio --enable-fontconfig --enable-frei0r --enable-openssl --enable-libaom --enable-libfribidi --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --disable-libvidstab --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libdav1d --enable-libxvid --enable-libfdk-aac --enable-libsvtav1 --enable-ffplay --enable-pic fi sleep 2 make