add codec2 to ffmpeg mingw script

This commit is contained in:
Martin Eesmaa 2022-12-23 21:57:15 +11:00 committed by GitHub
parent a686d7535c
commit 33d7f39fa9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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.