mirror of
https://github.com/davisking/dlib.git
synced 2024-11-01 10:14:53 +08:00
a76f205bf6
* Add BGR(A) to pixel_traits * add support for reading webp * Apply Davis' suggestions and fix formatting * Fix signed/unsigned warning * Update decoding paths * update pixel traits documentation * Add support for writing WebP images * Simplify image_saver code * WIP: add tests, PSNR is low but images look good * Add lossless compression for quality > 100 * Fix build when WebP support is disabled * Use C++ stream instead of C-style FILE * Fix indentation * Use reinterpret_cast instead of C-style cast * Improve impl::impl_save_webp signature * Remove empty line * Use switch statement and clean up code * Update Copyright and test libwebp on Linux * Fix formatting in github workflow * Fix operator== for bgr_alpha_pixel * Show where the test fails * Add libwebp to CI for the remaining Linux workflows * Use filename consistently * Improve message with wrong pixel type * Fix tests for WebP images * Prevent saving images which are too large and improve error messages * Use max dimension from WebP header directly * Update documentation, index and release notes * Update dlib/image_saver/save_webp_abstract.h Co-authored-by: Martin T. H. Sandsmark <martin.sandsmark@kde.org> Co-authored-by: Davis E. King <davis685@gmail.com>
129 lines
4.3 KiB
YAML
129 lines
4.3 KiB
YAML
name: C++
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
|
|
env:
|
|
config: Release
|
|
build_dir: build
|
|
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
working-directory: dlib/test
|
|
|
|
jobs:
|
|
ubuntu-latest-gcc-default:
|
|
runs-on: 'ubuntu-latest'
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Install dependecies
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install libwebp-dev
|
|
- name: Configure
|
|
run: cmake ${{ github.workspace }}/dlib/test -B ${{ env.build_dir }}
|
|
- name: Build just tests
|
|
run: cmake --build ${{ env.build_dir }} --config ${{ env.config }} --target dtest --parallel 4
|
|
- name: Test
|
|
run: ${{ env.build_dir }}/dtest --runall -q
|
|
- name: Build examples, etc
|
|
run: cmake --build ${{ env.build_dir }} --config ${{ env.config }} --parallel 2
|
|
|
|
ubuntu-latest-gcc-11:
|
|
if: ${{ false }} # disabled until https://github.com/davisking/dlib/issues/2506 has been resolved
|
|
runs-on: 'ubuntu-latest'
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Install dependecies
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install libwebp-dev
|
|
- name: Install gcc 11
|
|
run: |
|
|
sudo apt install gcc-11 g++-11
|
|
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 110 --slave /usr/bin/g++ g++ /usr/bin/g++-11 --slave /usr/bin/gcov gcov /usr/bin/gcov-11
|
|
- name: Configure
|
|
run: cmake ${{ github.workspace }}/dlib/test -B ${{ env.build_dir }}
|
|
- name: Build just tests
|
|
run: cmake --build ${{ env.build_dir }} --config ${{ env.config }} --target dtest --parallel 4
|
|
- name: Test
|
|
run: ${{ env.build_dir }}/dtest --runall -q
|
|
- name: Build examples, etc
|
|
run: cmake --build ${{ env.build_dir }} --config ${{ env.config }} --parallel 2
|
|
|
|
ubuntu-latest-clang-default:
|
|
runs-on: 'ubuntu-latest'
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Install dependecies
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install libwebp-dev
|
|
- name: Configure
|
|
run: |
|
|
export CC=/usr/bin/clang
|
|
export CXX=/usr/bin/clang++
|
|
cmake ${{ github.workspace }}/dlib/test -B ${{ env.build_dir }}
|
|
- name: Build just tests
|
|
run: cmake --build ${{ env.build_dir }} --config ${{ env.config }} --target dtest --parallel 4
|
|
- name: Test
|
|
run: ${{ env.build_dir }}/dtest --runall -q
|
|
- name: Build examples, etc
|
|
run: cmake --build ${{ env.build_dir }} --config ${{ env.config }} --parallel 2
|
|
|
|
ubuntu-latest-clang-13:
|
|
runs-on: 'ubuntu-latest'
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Install dependecies
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install libwebp-dev
|
|
- name: Install clang 13
|
|
run: |
|
|
wget https://apt.llvm.org/llvm.sh
|
|
chmod +x llvm.sh
|
|
sudo ./llvm.sh 13
|
|
- name: Configure
|
|
run: |
|
|
export CC=/usr/bin/clang-13
|
|
export CXX=/usr/bin/clang++-13
|
|
cmake ${{ github.workspace }}/dlib/test -B ${{ env.build_dir }}
|
|
- name: Build just tests
|
|
run: cmake --build ${{ env.build_dir }} --config ${{ env.config }} --target dtest --parallel 4
|
|
- name: Test
|
|
run: ${{ env.build_dir }}/dtest --runall -q
|
|
- name: Build examples, etc
|
|
run: cmake --build ${{ env.build_dir }} --config ${{ env.config }} --parallel 2
|
|
|
|
windows-latest:
|
|
runs-on: 'windows-latest'
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Configure
|
|
run: cmake . -B ${{ env.build_dir }}
|
|
- name: Build just tests
|
|
run: cmake --build ${{ env.build_dir }} --config ${{ env.config }} --target dtest --parallel 4
|
|
- name: Test
|
|
run: ${{ env.build_dir }}/${{ env.config }}/dtest.exe --runall -q
|
|
|
|
macos-latest:
|
|
runs-on: 'macos-latest'
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Configure
|
|
# MacOS machines often come with low quality BLAS libraries installed, so don't use those.
|
|
run: cmake ${{ github.workspace }}/dlib/test -B ${{ env.build_dir }} -DDLIB_USE_BLAS=0 -DDLIB_USE_LAPACK=0
|
|
- name: Build just tests
|
|
run: cmake --build ${{ env.build_dir }} --config ${{ env.config }} --target dtest --parallel 4
|
|
- name: Test
|
|
run: ${{ env.build_dir }}/dtest --runall --no_test_timer -q
|
|
- name: Build examples, etc
|
|
run: cmake --build ${{ env.build_dir }} --config ${{ env.config }} --parallel 2
|