Use MozJPEG

This commit is contained in:
Ilya Fedin 2020-10-07 06:21:20 +04:00 committed by John Preston
parent e31ffb699a
commit 822d1718a9
8 changed files with 154 additions and 39 deletions

View File

@ -157,6 +157,22 @@ jobs:
cmake --version
- name: MozJPEG.
run: |
cd $LibrariesPath
git clone -b v4.0.1-rc2 $GIT/mozilla/mozjpeg.git
cd mozjpeg
cmake -B build . \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DWITH_JPEG8=ON \
-DPNG_SUPPORTED=OFF
cmake --build build -j$(nproc)
sudo cmake --install build
cd ..
rm -rf mozjpeg
- name: Opus cache.
id: cache-opus
uses: actions/cache@v2
@ -439,7 +455,6 @@ jobs:
-confirm-license \
-qt-zlib \
-qt-libpng \
-qt-libjpeg \
-qt-harfbuzz \
-qt-pcre \
-qt-xcb \
@ -531,7 +546,7 @@ jobs:
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Debug \
-DTG_OWT_SPECIAL_TARGET=linux \
-DTG_OWT_LIBJPEG_INCLUDE_PATH=`pwd`/../../../qt_$QT/qtbase/src/3rdparty/libjpeg \
-DTG_OWT_LIBJPEG_INCLUDE_PATH=/usr/local/include \
-DTG_OWT_OPENSSL_INCLUDE_PATH=$OPENSSL_PREFIX/include \
-DTG_OWT_OPUS_INCLUDE_PATH=/usr/local/include/opus \
-DTG_OWT_FFMPEG_INCLUDE_PATH=/usr/local/include \

View File

@ -132,6 +132,20 @@ jobs:
make -j$(nproc)
sudo make install
- name: MozJPEG.
run: |
cd $LibrariesPath
git clone -b v4.0.1-rc2 $GIT/mozilla/mozjpeg.git
cd mozjpeg
cmake -B build . \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local/macos \
-DWITH_JPEG8=ON \
-DPNG_SUPPORTED=OFF
cmake --build build -j$(nproc)
sudo cmake --install build
- name: OpenSSL cache.
id: cache-openssl
uses: actions/cache@v2
@ -443,7 +457,10 @@ jobs:
-securetransport \
-nomake examples \
-nomake tests \
-platform macx-clang
-platform macx-clang \
-I "/usr/local/macos/include" \
LIBJPEG_LIBS="/usr/local/macos/lib/libjpeg.a" \
ZLIB_LIBS="/usr/local/macos/lib/libz.a"
make -j$(nproc)
sudo make install
@ -467,7 +484,7 @@ jobs:
cd tg_owt/out/Debug
cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug \
-DTG_OWT_SPECIAL_TARGET=mac \
-DTG_OWT_LIBJPEG_INCLUDE_PATH=`pwd`/../../../qt_$QT/qtbase/src/3rdparty/libjpeg \
-DTG_OWT_LIBJPEG_INCLUDE_PATH=/usr/local/macos/include \
-DTG_OWT_OPENSSL_INCLUDE_PATH=`pwd`/../../../openssl_$OPENSSL_VER/include \
-DTG_OWT_OPUS_INCLUDE_PATH=$PREFIX/include/opus \
-DTG_OWT_FFMPEG_INCLUDE_PATH=/usr/local/include \

View File

@ -186,6 +186,20 @@ jobs:
cd contrib\vstudio\vc14
msbuild -m zlibstat.vcxproj /property:Configuration=Debug
- name: MozJPEG.
shell: cmd
run: |
%VC%
git clone -b v4.0.1-rc2 %GIT%/mozilla/mozjpeg.git
cd mozjpeg
cmake . ^
-G "Visual Studio 16 2019" ^
-A Win32 ^
-DWITH_JPEG8=ON ^
-DPNG_SUPPORTED=OFF
cmake --build . --config Debug
- name: OpenAL Soft cache.
id: cache-openal
uses: actions/cache@v2
@ -326,7 +340,10 @@ jobs:
-mp ^
-nomake examples ^
-nomake tests ^
-platform win32-msvc
-platform win32-msvc ^
-I "%LibrariesPath%\mozjpeg" ^
LIBJPEG_LIBS_DEBUG="%LibrariesPath%\mozjpeg\Debug\jpeg-static.lib" ^
LIBJPEG_LIBS_RELEASE="%LibrariesPath%\mozjpeg\Release\jpeg-static.lib"
- name: Qt 5.12.8 build.
if: steps.cache-qt.outputs.cache-hit != 'true'
run: |
@ -350,28 +367,13 @@ jobs:
run: |
%VC%
:: Qt libjpeg.
mkdir qt_%QT%
cd qt_%QT%
git clone -b %QT_VER% https://github.com/qt/qtbase
move qtbase\src\3rdparty\libjpeg ..
cd ..
dir
rmdir /S /Q qt_%QT%
mkdir qt_%QT%\qtbase\src\3rdparty\
move libjpeg qt_%QT%\qtbase\src\3rdparty\
:: WebRTC.
cd %LibrariesPath%
git clone %GIT%/desktop-app/tg_owt.git
mkdir tg_owt\out\Debug
cd tg_owt\out\Debug
cmake -G Ninja ^
-DCMAKE_BUILD_TYPE=Debug ^
-DTG_OWT_SPECIAL_TARGET=win ^
-DTG_OWT_LIBJPEG_INCLUDE_PATH=%cd%/../../../qt_%QT%/qtbase/src/3rdparty/libjpeg ^
-DTG_OWT_LIBJPEG_INCLUDE_PATH=%cd%/../../../mozjpeg ^
-DTG_OWT_OPENSSL_INCLUDE_PATH=%cd%/../../../openssl_%OPENSSL_VER%/include ^
-DTG_OWT_OPUS_INCLUDE_PATH=%cd%/../../../opus/include ^
-DTG_OWT_FFMPEG_INCLUDE_PATH=%cd%/../../../ffmpeg ^
@ -386,9 +388,6 @@ jobs:
mkdir out\Debug
move tg_owt.lib out\Debug\tg_owt.lib
cd %LibrariesPath%
rmdir /S /Q qt_%QT%
- name: Read defines.
shell: bash
run: |

View File

@ -58,6 +58,17 @@ Go to ***BuildPath*** and run
git checkout ddd4084
cd ../
git clone -b v4.0.1-rc2 https://github.com/mozilla/mozjpeg.git
cd mozjpeg
cmake -B build . \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DWITH_JPEG8=ON \
-DPNG_SUPPORTED=OFF
cmake --build build $MAKE_THREADS_CNT
sudo cmake --install build
cd ..
git clone https://github.com/xiph/opus
cd opus
git checkout v1.3
@ -221,7 +232,7 @@ Go to ***BuildPath*** and run
--enable-static \
--disable-documentation \
--disable-dtd-validation
make -j$(nproc)
make $MAKE_THREADS_CNT
sudo make install
cd ..
@ -257,7 +268,6 @@ Go to ***BuildPath*** and run
-confirm-license \
-qt-zlib \
-qt-libpng \
-qt-libjpeg \
-qt-harfbuzz \
-qt-pcre \
-qt-xcb \
@ -283,7 +293,7 @@ Go to ***BuildPath*** and run
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Debug \
-DTG_OWT_SPECIAL_TARGET=linux \
-DTG_OWT_LIBJPEG_INCLUDE_PATH=`pwd`/../../../qt_5_12_8/qtbase/src/3rdparty/libjpeg \
-DTG_OWT_LIBJPEG_INCLUDE_PATH=/usr/local/include \
-DTG_OWT_OPENSSL_INCLUDE_PATH=/usr/local/desktop-app/openssl-1.1.1/include \
-DTG_OWT_OPUS_INCLUDE_PATH=/usr/local/include/opus \
-DTG_OWT_FFMPEG_INCLUDE_PATH=/usr/local/include ../..

View File

@ -100,6 +100,16 @@ Open **x86 Native Tools Command Prompt for VS 2019.bat**, go to ***BuildPath***
msbuild zlibstat.vcxproj /property:Configuration=ReleaseWithoutAsm
cd ..\..\..\..
git clone -b v4.0.1-rc2 https://github.com/mozilla/mozjpeg.git
cd mozjpeg
cmake . ^
-G "Visual Studio 16 2019" ^
-A Win32 ^
-DWITH_JPEG8=ON ^
-DPNG_SUPPORTED=OFF
cmake --build .
cd ..
git clone https://github.com/telegramdesktop/openal-soft.git
cd openal-soft
git checkout fix_mono
@ -161,7 +171,7 @@ Open **x86 Native Tools Command Prompt for VS 2019.bat**, go to ***BuildPath***
for /r %i in (..\..\patches\qtbase_5_12_8\*) do git apply %i
cd ..
configure -prefix "%LibrariesPath%\Qt-5.12.8" -debug-and-release -force-debug-info -opensource -confirm-license -static -static-runtime -I "%LibrariesPath%\openssl_1_1_1\include" -no-opengl -openssl-linked OPENSSL_LIBS_DEBUG="%LibrariesPath%\openssl_1_1_1\out32.dbg\libssl.lib %LibrariesPath%\openssl_1_1_1\out32.dbg\libcrypto.lib Ws2_32.lib Gdi32.lib Advapi32.lib Crypt32.lib User32.lib" OPENSSL_LIBS_RELEASE="%LibrariesPath%\openssl_1_1_1\out32\libssl.lib %LibrariesPath%\openssl_1_1_1\out32\libcrypto.lib Ws2_32.lib Gdi32.lib Advapi32.lib Crypt32.lib User32.lib" -mp -nomake examples -nomake tests -platform win32-msvc
configure -prefix "%LibrariesPath%\Qt-5.12.8" -debug-and-release -force-debug-info -opensource -confirm-license -static -static-runtime -I "%LibrariesPath%\openssl_1_1_1\include" -no-opengl -openssl-linked OPENSSL_LIBS_DEBUG="%LibrariesPath%\openssl_1_1_1\out32.dbg\libssl.lib %LibrariesPath%\openssl_1_1_1\out32.dbg\libcrypto.lib Ws2_32.lib Gdi32.lib Advapi32.lib Crypt32.lib User32.lib" OPENSSL_LIBS_RELEASE="%LibrariesPath%\openssl_1_1_1\out32\libssl.lib %LibrariesPath%\openssl_1_1_1\out32\libcrypto.lib Ws2_32.lib Gdi32.lib Advapi32.lib Crypt32.lib User32.lib" -mp -nomake examples -nomake tests -platform win32-msvc -I "%LibrariesPath%\mozjpeg" LIBJPEG_LIBS_DEBUG="%LibrariesPath%\mozjpeg\Debug\jpeg-static.lib" LIBJPEG_LIBS_RELEASE="%LibrariesPath%\mozjpeg\Release\jpeg-static.lib"
jom -j4
jom -j4 install
@ -176,7 +186,7 @@ Open **x86 Native Tools Command Prompt for VS 2019.bat**, go to ***BuildPath***
cmake -G Ninja ^
-DCMAKE_BUILD_TYPE=Debug ^
-DTG_OWT_SPECIAL_TARGET=win ^
-DTG_OWT_LIBJPEG_INCLUDE_PATH=%cd%/../../../qt_5_12_8/qtbase/src/3rdparty/libjpeg ^
-DTG_OWT_LIBJPEG_INCLUDE_PATH=%cd%/../../../mozjpeg ^
-DTG_OWT_OPENSSL_INCLUDE_PATH=%cd%/../../../openssl_1_1_1/include ^
-DTG_OWT_OPUS_INCLUDE_PATH=%cd%/../../../opus/include ^
-DTG_OWT_FFMPEG_INCLUDE_PATH=%cd%/../../../ffmpeg ../..
@ -187,7 +197,7 @@ Open **x86 Native Tools Command Prompt for VS 2019.bat**, go to ***BuildPath***
cmake -G Ninja ^
-DCMAKE_BUILD_TYPE=Release ^
-DTG_OWT_SPECIAL_TARGET=win ^
-DTG_OWT_LIBJPEG_INCLUDE_PATH=%cd%/../../../qt_5_12_8/qtbase/src/3rdparty/libjpeg ^
-DTG_OWT_LIBJPEG_INCLUDE_PATH=%cd%/../../../mozjpeg ^
-DTG_OWT_OPENSSL_INCLUDE_PATH=%cd%/../../../openssl_1_1_1/include ^
-DTG_OWT_OPUS_INCLUDE_PATH=%cd%/../../../opus/include ^
-DTG_OWT_FFMPEG_INCLUDE_PATH=%cd%/../../../ffmpeg ../..

View File

@ -68,6 +68,17 @@ Go to ***BuildPath*** and run
sudo make install
cd ..
git clone -b v4.0.1-rc2 https://github.com/mozilla/mozjpeg.git
cd mozjpeg
cmake -B build . \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DWITH_JPEG8=ON \
-DPNG_SUPPORTED=OFF
cmake --build build $MAKE_THREADS_CNT
sudo cmake --install build
cd ..
git clone https://github.com/openssl/openssl openssl_1_1_1
cd openssl_1_1_1
git checkout OpenSSL_1_1_1-stable
@ -240,7 +251,7 @@ Go to ***BuildPath*** and run
git apply ../../patches/qtbase_5_6_2.diff
cd ..
./configure -prefix "/usr/local/desktop-app/Qt-5.6.2" -debug-and-release -force-debug-info -opensource -confirm-license -static -opengl desktop -no-openssl -securetransport -nomake examples -nomake tests -platform macx-clang
./configure -prefix "/usr/local/desktop-app/Qt-5.6.2" -debug-and-release -force-debug-info -opensource -confirm-license -static -opengl desktop -no-openssl -securetransport -nomake examples -nomake tests -platform macx-clang -I "/usr/local/include" LIBJPEG_LIBS="/usr/local/lib/libjpeg.a" ZLIB_LIBS="/usr/local/lib/libz.a"
make $MAKE_THREADS_CNT
sudo make install
cd ..
@ -254,7 +265,7 @@ Go to ***BuildPath*** and run
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Debug \
-DTG_OWT_SPECIAL_TARGET=osx \
-DTG_OWT_LIBJPEG_INCLUDE_PATH=`pwd`/../../../qt5_6_2/qtbase/src/3rdparty/libjpeg \
-DTG_OWT_LIBJPEG_INCLUDE_PATH=/usr/local/include \
-DTG_OWT_OPENSSL_INCLUDE_PATH=`pwd`/../../../openssl_1_1_1/include \
-DTG_OWT_OPUS_INCLUDE_PATH=/usr/local/include/opus \
-DTG_OWT_FFMPEG_INCLUDE_PATH=`pwd`/../../../ffmpeg ../..
@ -265,7 +276,7 @@ Go to ***BuildPath*** and run
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DTG_OWT_SPECIAL_TARGET=osx \
-DTG_OWT_LIBJPEG_INCLUDE_PATH=`pwd`/../../../qt5_6_2/qtbase/src/3rdparty/libjpeg \
-DTG_OWT_LIBJPEG_INCLUDE_PATH=/usr/local/include \
-DTG_OWT_OPENSSL_INCLUDE_PATH=`pwd`/../../../openssl_1_1_1/include \
-DTG_OWT_OPUS_INCLUDE_PATH=/usr/local/include/opus \
-DTG_OWT_FFMPEG_INCLUDE_PATH=`pwd`/../../../ffmpeg ../..

View File

@ -75,6 +75,17 @@ Go to ***BuildPath*** and run
sudo make install
cd ..
git clone -b v4.0.1-rc2 https://github.com/mozilla/mozjpeg.git
cd mozjpeg
cmake -B build . \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local/macos \
-DWITH_JPEG8=ON \
-DPNG_SUPPORTED=OFF
cmake --build build $MAKE_THREADS_CNT
sudo cmake --install build
cd ..
git clone https://github.com/openssl/openssl openssl_1_1_1
cd openssl_1_1_1
git checkout OpenSSL_1_1_1-stable
@ -262,7 +273,10 @@ Go to ***BuildPath*** and run
-securetransport \
-nomake examples \
-nomake tests \
-platform macx-clang
-platform macx-clang \
-I "/usr/local/macos/include" \
LIBJPEG_LIBS="/usr/local/macos/lib/libjpeg.a" \
ZLIB_LIBS="/usr/local/macos/lib/libz.a"
make $MAKE_THREADS_CNT
sudo make install
@ -277,7 +291,7 @@ Go to ***BuildPath*** and run
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Debug \
-DTG_OWT_SPECIAL_TARGET=mac \
-DTG_OWT_LIBJPEG_INCLUDE_PATH=`pwd`/../../../qt_5_12_8/qtbase/src/3rdparty/libjpeg \
-DTG_OWT_LIBJPEG_INCLUDE_PATH=/usr/local/macos/include \
-DTG_OWT_OPENSSL_INCLUDE_PATH=`pwd`/../../../openssl_1_1_1/include \
-DTG_OWT_OPUS_INCLUDE_PATH=/usr/local/macos/include/opus \
-DTG_OWT_FFMPEG_INCLUDE_PATH=/usr/local/macos/include ../..
@ -288,7 +302,7 @@ Go to ***BuildPath*** and run
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DTG_OWT_SPECIAL_TARGET=mac \
-DTG_OWT_LIBJPEG_INCLUDE_PATH=`pwd`/../../../qt_5_12_8/qtbase/src/3rdparty/libjpeg \
-DTG_OWT_LIBJPEG_INCLUDE_PATH=/usr/local/macos/include \
-DTG_OWT_OPENSSL_INCLUDE_PATH=`pwd`/../../../openssl_1_1_1/include \
-DTG_OWT_OPUS_INCLUDE_PATH=/usr/local/macos/include/opus \
-DTG_OWT_FFMPEG_INCLUDE_PATH=/usr/local/macos/include ../..

View File

@ -123,9 +123,12 @@ parts:
snapcraftctl set-version "$version"
sed -i 's|^Icon=.*|Icon=/usr/share/icons/hicolor/512x512/apps/telegram.png|g' lib/xdg/telegramdesktop.desktop
stage:
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libjpeg.so.8.2.2
after:
- desktop-qt5
- ffmpeg
- mozjpeg
- openal
- qtwayland
- webrtc
@ -154,17 +157,29 @@ parts:
- locales-all
- xdg-user-dirs
- fcitx-frontend-qt5
stage:
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libjpeg.so.8.2.2
after:
- mozjpeg
qt5-xdgdesktopportal-platform:
plugin: nil
stage-packages:
- qt5-xdgdesktopportal-platformtheme
stage:
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libjpeg.so.8.2.2
after:
- mozjpeg
# Qt checks that ibus-daemon binary is present, otherwise doesn't work
ibus:
plugin: nil
stage-packages:
- ibus
stage:
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libjpeg.so.8.2.2
after:
- mozjpeg
ffmpeg:
plugin: nil
@ -180,6 +195,27 @@ parts:
- libavutil56
- libswresample3
- libswscale5
stage:
- -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libjpeg.so.8.2.2
after:
- mozjpeg
mozjpeg:
source: https://github.com/mozilla/mozjpeg.git
source-depth: 1
source-tag: v4.0.1-rc2
plugin: cmake
cmake-parameters:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_PREFIX=/usr
- -DENABLE_STATIC=OFF
- -DWITH_JPEG8=ON
- -DPNG_SUPPORTED=OFF
prime:
- -./usr/bin
- -./usr/include
- -./usr/lib/pkgconfig
- -./usr/share
openal:
source: https://github.com/kcat/openal-soft.git
@ -228,15 +264,17 @@ parts:
plugin: cmake
build-packages:
- yasm
- libjpeg8-dev
- libopus-dev
- libssl-dev
stage-packages:
- libjpeg8
- libopus0
- libssl1.1
override-build: |
cmake "$SNAPCRAFT_PART_SRC" -DCMAKE_BUILD_TYPE=Release
cmake "$SNAPCRAFT_PART_SRC" \
-DCMAKE_BUILD_TYPE=Release \
-DJPEG_LIBRARY_RELEASE="$SNAPCRAFT_STAGE/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libjpeg.so" \
-DJPEG_INCLUDE_DIR="$SNAPCRAFT_STAGE/usr/include"
cmake --build . -- -j$(nproc)
cp -a . "$SNAPCRAFT_PART_INSTALL"
organize:
@ -244,3 +282,4 @@ parts:
prime: [-./*]
after:
- ffmpeg
- mozjpeg