2020-07-08 20:40:06 +00:00
|
|
|
name: tests
|
2020-07-02 08:35:52 +00:00
|
|
|
on:
|
|
|
|
push:
|
|
|
|
paths-ignore:
|
|
|
|
- "*.yml"
|
|
|
|
- .gitignore
|
|
|
|
- "*.md"
|
|
|
|
pull_request:
|
|
|
|
paths-ignore:
|
|
|
|
- "*.yml"
|
|
|
|
- .gitignore
|
|
|
|
- "*.md"
|
2020-08-10 22:22:55 +00:00
|
|
|
|
2020-07-02 08:35:52 +00:00
|
|
|
env:
|
2020-08-10 22:16:14 +00:00
|
|
|
deps: python3-dev libglib2.0-0 libsm6 libxext6 libxrender-dev libgl1-mesa-glx
|
2020-07-26 18:53:14 +00:00
|
|
|
x265_deps: libx265-dev libnuma-dev mercurial cmake nasm
|
2020-07-02 08:35:52 +00:00
|
|
|
DEBIAN_FRONTEND: noninteractive
|
|
|
|
temp: .temp
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
validate:
|
|
|
|
name: ${{ matrix.name }}
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
container: registry.gitlab.com/luigi311/av1-docker:latest
|
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
|
|
|
include:
|
|
|
|
- name: baseline
|
|
|
|
flags: ""
|
|
|
|
- name: rav1e
|
|
|
|
flags: -enc rav1e
|
2020-07-26 18:53:14 +00:00
|
|
|
- name: x265
|
2020-07-26 21:27:38 +00:00
|
|
|
encoder: x265
|
2020-07-26 18:53:14 +00:00
|
|
|
flags: -enc x265
|
2020-07-02 08:35:52 +00:00
|
|
|
- name: workers
|
|
|
|
flags: -w 2
|
|
|
|
- name: video flags
|
|
|
|
flags: -v " --threads=2 --cpu-used=6 --end-usage=q --cq-level=30 "
|
|
|
|
- name: target vmaf
|
|
|
|
flags: -v " --threads=2 --cpu-used=6 --end-usage=q --cq-level=30 " --vmaf_target 95
|
|
|
|
- name: extra splits
|
|
|
|
flags: -xs 10
|
|
|
|
- name: split method
|
|
|
|
flags: --split_method aom_keyframes
|
|
|
|
- name: temp
|
|
|
|
flags: --temp temporary
|
|
|
|
temp: "temporary"
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: Validate encoders
|
|
|
|
run: |
|
|
|
|
aomenc --help
|
|
|
|
SvtAv1EncApp --help
|
|
|
|
rav1e --help
|
|
|
|
- name: Install requirements
|
|
|
|
run: |
|
|
|
|
apt-get update && apt-get install -y ${{ env.deps }}
|
|
|
|
pip3 install -r requirements.txt
|
2020-07-26 18:53:14 +00:00
|
|
|
- name: Install x265
|
2020-07-26 21:27:38 +00:00
|
|
|
if: matrix.encoder == 'x265'
|
2020-07-26 18:53:14 +00:00
|
|
|
run: |
|
|
|
|
apt-get install -y ${{ env.x265_deps }}
|
|
|
|
hg clone https://bitbucket.org/multicoreware/x265
|
|
|
|
cd x265/build/linux
|
|
|
|
cmake -G "Unix Makefiles" -DENABLE_SHARED=off ../../source
|
|
|
|
make -j$(nproc)
|
|
|
|
make install
|
2020-07-02 08:35:52 +00:00
|
|
|
- name: Download videos
|
|
|
|
run: |
|
|
|
|
for url in raw.githubusercontent.com/OpenVisualCloud/SVT-AV1-Resources/master randomderp.com; do
|
|
|
|
curl -LO https://$url/video.tar.gz && break
|
|
|
|
done
|
|
|
|
tar xf video.tar.gz
|
|
|
|
- name: Testing ${{ matrix.name }}
|
|
|
|
run: |
|
|
|
|
[ "${{ matrix.temp }}" != "" ] && TEMP=${{ matrix.temp }} || TEMP=${{ env.temp }}
|
2020-07-26 22:07:56 +00:00
|
|
|
./av1an.py -i bus_cif.y4m -tr 20 --keep ${{ matrix.flags }} -o "$TEMP"/bus_cif.mkv
|
2020-07-02 08:35:52 +00:00
|
|
|
echo ::set-env name=TEMPPATH::$TEMP
|
|
|
|
- name: Upload video
|
|
|
|
uses: actions/upload-artifact@v2
|
|
|
|
with:
|
|
|
|
name: "${{ matrix.name }}"
|
|
|
|
path: "${{ env.TEMPPATH }}"
|