From 33d7f39fa9e841a07514196508c776678a93e88d Mon Sep 17 00:00:00 2001 From: Martin Eesmaa Date: Fri, 23 Dec 2022 21:57:15 +1100 Subject: [PATCH] add codec2 to ffmpeg mingw script --- FFMPEGMINGW.sh | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/FFMPEGMINGW.sh b/FFMPEGMINGW.sh index 2b9513d..37891fc 100644 --- a/FFMPEGMINGW.sh +++ b/FFMPEGMINGW.sh @@ -12,6 +12,8 @@ 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/xiph/speex +git clone --depth=1 https://github.com/drowe67/codec2 echo Starting to build fdk-aac: cd fdk-aac @@ -25,18 +27,32 @@ 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 ../../ +./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 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 speex: +cd speex +autoreconf -if && ./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 codec2: +cd codec2 +sed -i 's|if(WIN32)|if(FALSE)|g' CMakeLists.txt +grep -ERl "\b(lsp|lpc)_to_(lpc|lsp)" --include="*.[ch]" | \ + xargs -r sed -ri "s;((lsp|lpc)_to_(lpc|lsp));c2_\1;g" +mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$MSYSTEM_PREFIX -D{UNITTEST,INSTALL_EXAMPLES}=off .. -G "MinGW Makefiles" +cmake --build . -j $nproc install +cd ../../ + echo Starting to build vvenc & vvdec... cd vvenc mkdir build && cd build @@ -52,7 +68,7 @@ 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 \ +--enable-zlib --enable-libxml2 --enable-libdav1d --enable-libopus --enable-libcodec2 --enable-libspeex --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.