From 9a2278d21cc0c17cfff088836050735906b99539 Mon Sep 17 00:00:00 2001 From: Martin Eesmaa Date: Wed, 7 Dec 2022 23:37:06 +1100 Subject: [PATCH] fix shell script compilation bug --- FFMPEGMINGW.sh | 117 +++++++++++++++++++++++----------------------- libvvdecffmpeg.sh | 68 +++++++++++++-------------- 2 files changed, 92 insertions(+), 93 deletions(-) diff --git a/FFMPEGMINGW.sh b/FFMPEGMINGW.sh index 20fe545..7e214c6 100644 --- a/FFMPEGMINGW.sh +++ b/FFMPEGMINGW.sh @@ -1,59 +1,58 @@ -echo Updating & upgrading MSYS2 packages... (if system core update requires reboot this application, please run this script again after being updated) -pacman -Syu -pacman -Su -echo Installing MSYS2 packages... -pacman -S python nasm $MINGW_PACKAGE_PREFIX-{toolchain,cmake,autotools,meson,ninja} -echo Starting process of FFmpeg build with libvvenc and libvvdec... -mkdir buildffmpegwin && cd buildffmpegwin -git clone --depth=1 https://github.com/MartinEesmaa/FFmpeg-FixVVC -git clone --depth=1 https://github.com/fraunhoferhhi/vvenc -git clone --depth=1 https://github.com/fraunhoferhhi/vvdec -git clone --depth=1 https://github.com/mstorsjo/fdk-aac -git clone --depth=1 https://github.com/libsdl-org/SDL -git clone --depth=1 https://github.com/gnome/libxml2 -git clone --depth=1 https://github.com/xiph/opus -git clone --depth=1 https://code.videolan.org/videolan/dav1d - -echo Starting to build fdk-aac: -cd fdk-aac -autoreconf -if && ./configure --enable-static --disable-shared --prefix=$MSYSTEM_PREFIX && make install -j $nproc -cd .. - -echo Starting to build libxml2: -cd libxml2 -autoreconf -if && ./configure --enable-static --disable-shared --prefix=$MSYSTEM_PREFIX && make install -j $nproc -cd .. - -echo Starting to build sdl2: -cd SDL -./configure --enable-static --disable-shared --prefix=$MSYSTEM_PREFIX && make install -j $nproc -cd .. - -echo Starting to build libopus to improve decode quality on FFmpeg: -cd opus -CFLAGS="-O2 -D_FORTIFY_SOURCE=0" LDFLAGS="-flto -s" ./configure --enable-static --disable-shared --prefix=$MSYSTEM_PREFIX && make install -j $nproc -cd .. - -echo Starting to build dav1d: -mkdir dav1d/build && cd dav1d/build && meson -Denable_docs=false -Ddefault_library=static -Dprefix=$MSYSTEM_PREFIX .. && ninja install -cd ../../ - -echo Starting to build vvenc & vvdec... -cd vvenc -mkdir build && cd build -cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$MSYSTEM_PREFIX -DVVENC_ENABLE_LINK_TIME_OPT=OFF .. -G "MinGW Makefiles" -cmake --build . --target install -j $nproc -cd ../../ -cd vvdec -mkdir build && cd build -cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$MSYSTEM_PREFIX -DVVDEC_ENABLE_LINK_TIME_OPT=OFF .. -G "MinGW Makefiles" -cmake --build . --target install -j $nproc -cd ../../ - -echo Starting configuring and making FFmpeg VVCEasy build... -cd FFmpeg-FixVVC -./configure --enable-libfdk-aac --enable-static --enable-libvvenc --enable-libvvdec --enable-pic \ ---enable-zlib --enable-libxml2 --extra-ldexeflags=-static \ ---pkg-config-flags=-static --disable-w32threads --enable-sdl2 && \ -make -j -echo FFmpeg VVC version tools are now compiled, please see buildffmpegwin/FFmpeg folder. +echo Updating & upgrading MSYS2 packages... if system core update requires reboot this application, please run this script again after being updated. +pacman -Syu +echo Installing MSYS2 packages... +pacman -S python nasm $MINGW_PACKAGE_PREFIX-{toolchain,cmake,autotools,meson,ninja} +echo Starting process of FFmpeg build with libvvenc and libvvdec... +mkdir buildffmpegwin && cd buildffmpegwin +git clone --depth=1 https://github.com/MartinEesmaa/FFmpeg-FixVVC +git clone --depth=1 https://github.com/fraunhoferhhi/vvenc +git clone --depth=1 https://github.com/fraunhoferhhi/vvdec +git clone --depth=1 https://github.com/mstorsjo/fdk-aac +git clone --depth=1 https://github.com/libsdl-org/SDL +git clone --depth=1 https://github.com/gnome/libxml2 +git clone --depth=1 https://github.com/xiph/opus +git clone --depth=1 https://code.videolan.org/videolan/dav1d + +echo Starting to build fdk-aac: +cd fdk-aac +autoreconf -if && ./configure --enable-static --disable-shared --prefix=$MSYSTEM_PREFIX && make install -j $nproc +cd .. + +echo Starting to build libxml2: +cd libxml2 +autoreconf -if && ./configure --enable-static --disable-shared --prefix=$MSYSTEM_PREFIX && make install -j $nproc +cd .. + +echo Starting to build sdl2: +cd SDL +mkdir build && cd build && cmake -DCMAKE_EXE_LINKER_FLAGS="-static" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$MSYSTEM_PREFIX .. -G "MinGW Makefiles" && cmake --build . --target install -j $nproc +cd ../../ + +echo Starting to build libopus to improve decode quality on FFmpeg: +cd opus +autoreconf -if && CFLAGS="-O2 -D_FORTIFY_SOURCE=0" LDFLAGS="-flto -s" ./configure --enable-static --disable-shared --disable-tests --disable-extras --prefix=$MSYSTEM_PREFIX && make install -j $nproc +cd .. + +echo Starting to build dav1d: +mkdir dav1d/build && cd dav1d/build && meson -Denable_docs=false -Ddefault_library=static -Dprefix=$MSYSTEM_PREFIX .. && ninja install +cd ../../ + +echo Starting to build vvenc & vvdec... +cd vvenc +mkdir build && cd build +cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$MSYSTEM_PREFIX -DVVENC_ENABLE_LINK_TIME_OPT=OFF .. -G "MinGW Makefiles" +cmake --build . --target install -j $nproc +cd ../../ +cd vvdec +mkdir build && cd build +cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$MSYSTEM_PREFIX -DVVDEC_ENABLE_LINK_TIME_OPT=OFF .. -G "MinGW Makefiles" +cmake --build . --target install -j $nproc +cd ../../ + +echo Starting configuring and making FFmpeg VVCEasy build... +cd FFmpeg-FixVVC +./configure --enable-libfdk-aac --enable-static --enable-libvvenc --enable-libvvdec --enable-pic \ +--enable-zlib --enable-libxml2 --enable-libdav1d --enable-libopus --extra-ldexeflags=-static \ +--pkg-config-flags=-static --disable-w32threads --enable-sdl2 && \ +make -j +echo FFmpeg VVC version tools are now compiled, please see buildffmpegwin/FFmpeg folder. diff --git a/libvvdecffmpeg.sh b/libvvdecffmpeg.sh index 8481051..723b222 100644 --- a/libvvdecffmpeg.sh +++ b/libvvdecffmpeg.sh @@ -1,34 +1,34 @@ -#!/bin/bash -sudo apt update && sudo apt upgrade -y && \ -sudo apt install build-essential cmake nasm autoconf pkg-config \ -python3-setuptools ninja-build python3-pip libtool git wget -y && \ -sudo pip3 install meson && \ -git clone --depth=1 https://github.com/fraunhoferhhi/vvenc && \ -git clone --depth=1 https://github.com/fraunhoferhhi/vvdec && \ -git clone --depth=1 https://github.com/mstorsjo/fdk-aac && \ -git clone --depth=1 https://github.com/libsdl-org/SDL && \ -git clone --depth=1 https://github.com/gnome/libxml2 && \ -git clone --depth=1 https://github.com/xiph/opus && \ -git clone --depth=1 https://code.videolan.org/videolan/dav1d && \ -git clone --depth=1 https://github.com/MartinEesmaa/FFmpeg-FixVVC && \ -cd vvenc && sudo make install-release install-prefix=/usr/local disable-lto=1 && \ -cd .. && \ -cd vvdec && sudo make install-release install-prefix=/usr/local disable-lto=1 && \ -cd .. && \ -cd fdk-aac && autoreconf -if && ./configure --prefix=/usr/local --enable-static --disable-shared && sudo make install -j $nproc && \ -cd .. && \ -cd libxml2 && autoreconf -if && ./configure --prefix=/usr/local --enable-static --disable-shared && sudo make install -j $nproc && \ -cd .. && \ -cd opus && autoreconf -if && ./configure --prefix=/usr/local --enable-static --disable-shared && sudo make install -j $nproc && \ -cd .. && \ -cd SDL && ./configure --prefix=/usr/local --enable-static --disable-shared && sudo make install -j $nproc && \ -cd .. && \ -mkdir dav1d/build && cd dav1d/build && meson -Denable_docs=false -Ddefault_library=static -Dprefix=/usr/local .. && sudo ninja install && \ -cd ../../ && \ -cd FFmpeg-FixVVC && \ -./configure --enable-static --pkg-config-flags="--static" --extra-ldexeflags="-static" \ ---enable-libfdk-aac --enable-libvvenc --enable-libvvdec --enable-pic \ ---enable-libxml2 --enable-libopus --enable-libdav1d --enable-sdl2 && \ -make -j -echo You're ready to preview VVC, view VVC information or convert from VVC using ffmpeg, ffplay and ffprobe. -echo - Martin Eesmaa +#!/bin/bash +sudo apt update && sudo apt upgrade -y && \ +sudo apt install build-essential cmake nasm autoconf pkg-config \ +python3-setuptools ninja-build python3-pip libtool git wget -y && \ +sudo pip3 install meson && \ +git clone --depth=1 https://github.com/fraunhoferhhi/vvenc && \ +git clone --depth=1 https://github.com/fraunhoferhhi/vvdec && \ +git clone --depth=1 https://github.com/mstorsjo/fdk-aac && \ +git clone --depth=1 https://github.com/libsdl-org/SDL && \ +git clone --depth=1 https://github.com/gnome/libxml2 && \ +git clone --depth=1 https://github.com/xiph/opus && \ +git clone --depth=1 https://code.videolan.org/videolan/dav1d && \ +git clone --depth=1 https://github.com/MartinEesmaa/FFmpeg-FixVVC && \ +cd vvenc && sudo make install-release install-prefix=/usr/local disable-lto=1 && \ +cd .. && \ +cd vvdec && sudo make install-release install-prefix=/usr/local disable-lto=1 && \ +cd .. && \ +cd fdk-aac && autoreconf -if && ./configure --prefix=/usr/local --enable-static --disable-shared && sudo make install -j $nproc && \ +cd .. && \ +cd libxml2 && autoreconf -if && ./configure --prefix=/usr/local --enable-static --disable-shared && sudo make install -j $nproc && \ +cd .. && \ +cd opus && autoreconf -if && ./configure --prefix=/usr/local --enable-static --disable-shared && sudo make install -j $nproc && \ +cd .. && \ +cd SDL && mkdir build && cd build && cmake -DCMAKE_EXE_LINKER_FLAGS="-static" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local .. && sudo make install -j $nproc && \ +cd ../../ && \ +mkdir dav1d/build && cd dav1d/build && meson -Denable_docs=false -Ddefault_library=static -Dprefix=/usr/local .. && sudo ninja install && \ +cd ../../ && \ +cd FFmpeg-FixVVC && \ +./configure --enable-static --pkg-config-flags="--static" --extra-ldexeflags="-static" \ +--enable-libfdk-aac --enable-libvvenc --enable-libvvdec --enable-pic \ +--enable-libxml2 --enable-libopus --enable-libdav1d --enable-sdl2 && \ +make -j +echo You're ready to preview VVC, view VVC information or convert from VVC using ffmpeg, ffplay and ffprobe. +echo - Martin Eesmaa