Tests, loop unrolling, high bit NV improvements #406
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
on: | |
push: | |
branches: | |
- 'master' | |
- '!ci_test_*' | |
tags-ignore: | |
- '*' | |
pull_request: | |
branches: | |
- 'master' | |
jobs: | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
- run: rustup target add aarch64-unknown-linux-gnu x86_64-unknown-linux-gnu i686-unknown-linux-gnu powerpc-unknown-linux-gnu wasm32-unknown-unknown | |
- run: RUSTFLAGS="-C target-feature=+neon" cargo build --target aarch64-unknown-linux-gnu | |
- run: RUSTFLAGS="-C target-feature=+avx2" cargo build --target i686-unknown-linux-gnu | |
- run: cargo build --target powerpc-unknown-linux-gnu | |
- run: RUSTFLAGS="-C target-feature=+avx2" cargo build --features "nightly_avx512" --target x86_64-unknown-linux-gnu | |
- run: RUSTFLAGS="-C target-feature=+simd128" cargo build --target wasm32-unknown-unknown | |
tests: | |
name: Testing | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, macos-latest ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@nightly | |
- run: cargo test | |
fuzz_decoding: | |
name: Fuzzing decoders | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, macos-latest ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@nightly | |
- run: cargo install cargo-fuzz | |
- run: cargo fuzz run yuv_to_rgb -- -max_total_time=15 | |
- run: cargo fuzz run yuv_nv_to_rgb -- -max_total_time=15 | |
- run: cargo fuzz run y_to_rgb -- -max_total_time=15 | |
- run: cargo fuzz run yuv16_to_rgb16 -- -max_total_time=15 | |
- run: cargo fuzz run y16_to_rgb16 -- -max_total_time=15 | |
- run: cargo fuzz run yuv_to_yuyu2 -- -max_total_time=15 | |
- run: cargo fuzz run yuv_nv16_to_rgb16 -- -max_total_time=15 | |
fuzz_encoding: | |
name: Fuzzing encoders | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, macos-latest ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@nightly | |
- run: cargo install cargo-fuzz | |
- run: cargo fuzz run rgb_to_yuv -- -max_total_time=15 | |
- run: cargo fuzz run rgb_to_nv -- -max_total_time=15 | |
- run: cargo fuzz run rgb_to_y -- -max_total_time=15 | |
- run: cargo fuzz run rgb16_to_yuv16 -- -max_total_time=15 | |
- run: cargo fuzz run rgb16_to_nv16 -- -max_total_time=15 |