2022-12-07 23:46:13 +11:00
echo Updating and upgrading MSYS2 packages... if system core update requires reboot this application, please run this script again after being updated.
2022-12-07 23:37:06 +11:00
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.