[Decode]Optimize AV1 DBP logic for repeated frame, fix repeated flag … #1638
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: ci | |
on: [ push, pull_request ] | |
env: | |
CFLAGS: -O2 -Wformat -Wformat-security -Wall -Werror -D_FORTIFY_SOURCE=2 -fstack-protector-strong | |
LDFLAGS: -Wl,--as-needed | |
permissions: read-all | |
jobs: | |
clang14: | |
runs-on: ubuntu-22.04 | |
env: | |
CC: /usr/bin/clang-14 | |
CXX: /usr/bin/clang++-14 | |
ASM: /usr/bin/clang-14 | |
steps: | |
- name: checkout libmfxgen | |
uses: actions/checkout@v4 | |
with: | |
path: libmfxgen | |
- name: checkout libva | |
uses: actions/checkout@v4 | |
with: | |
repository: intel/libva | |
path: libva | |
- name: install toolchain | |
run: | | |
if [[ -e $CC && -e $CXX ]]; then \ | |
echo "clang-14 already presents in the image"; \ | |
else \ | |
echo "clang-14 missed in the image, installing from llvm"; \ | |
echo "deb [trusted=yes] https://apt.llvm.org/jammy/ llvm-toolchain-jammy-14 main" | sudo tee -a /etc/apt/sources.list; \ | |
sudo apt-get update; \ | |
sudo apt-get install -y --no-install-recommends clang-14; \ | |
fi | |
- name: install prerequisites | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y --no-install-recommends \ | |
cmake \ | |
libdrm-dev \ | |
libegl1-mesa-dev \ | |
libgl1-mesa-dev \ | |
libx11-dev \ | |
libx11-xcb-dev \ | |
libxcb-dri3-dev \ | |
libxcb-present-dev \ | |
libxext-dev \ | |
libxfixes-dev \ | |
libwayland-dev \ | |
ninja-build \ | |
make | |
- name: print tools versions | |
run: | | |
cmake --version | |
$CC --version | |
$CXX --version | |
- name: build libva | |
run: | | |
cd libva | |
./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu | |
make -j$(nproc) | |
sudo make install | |
- name: build libmfxgen | |
run: | | |
cd libmfxgen | |
mkdir build && cd build | |
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DMFX_ENABLE_PXP=ON -DCMAKE_C_FLAGS_RELEASE="$CFLAGS" -DCMAKE_CXX_FLAGS_RELEASE="$CFLAGS" .. | |
ninja | |
sudo ninja install | |
clang14-enctools-full: | |
runs-on: ubuntu-22.04 | |
env: | |
CC: /usr/bin/clang-14 | |
CXX: /usr/bin/clang++-14 | |
ASM: /usr/bin/clang-14 | |
steps: | |
- name: checkout libmfxgen | |
uses: actions/checkout@v4 | |
with: | |
path: libmfxgen | |
- name: checkout libva | |
uses: actions/checkout@v4 | |
with: | |
repository: intel/libva | |
path: libva | |
- name: install toolchain | |
run: | | |
if [[ -e $CC && -e $CXX ]]; then \ | |
echo "clang-14 already presents in the image"; \ | |
else \ | |
echo "clang-14 missed in the image, installing from llvm"; \ | |
echo "deb [trusted=yes] https://apt.llvm.org/jammy/ llvm-toolchain-jammy-14 main" | sudo tee -a /etc/apt/sources.list; \ | |
sudo apt-get update; \ | |
sudo apt-get install -y --no-install-recommends clang-14; \ | |
fi | |
- name: install prerequisites | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y --no-install-recommends \ | |
cmake \ | |
libdrm-dev \ | |
libegl1-mesa-dev \ | |
libgl1-mesa-dev \ | |
libx11-dev \ | |
libx11-xcb-dev \ | |
libxcb-dri3-dev \ | |
libxcb-present-dev \ | |
libxext-dev \ | |
libxfixes-dev \ | |
libwayland-dev \ | |
ninja-build \ | |
make | |
- name: print tools versions | |
run: | | |
cmake --version | |
$CC --version | |
$CXX --version | |
- name: build libva | |
run: | | |
cd libva | |
./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu | |
make -j$(nproc) | |
sudo make install | |
- name: build libmfxgen | |
run: | | |
cd libmfxgen | |
mkdir build && cd build | |
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS_RELEASE="$CFLAGS" -DCMAKE_CXX_FLAGS_RELEASE="$CFLAGS" \ | |
-DMFX_ENABLE_USER_ENCTOOLS=ON -DMFX_ENABLE_AENC=ON -DMFX_ENABLE_PXP=ON \ | |
.. | |
ninja | |
sudo ninja install | |
clang14-enctools-noaenc: | |
runs-on: ubuntu-22.04 | |
env: | |
CC: /usr/bin/clang-14 | |
CXX: /usr/bin/clang++-14 | |
ASM: /usr/bin/clang-14 | |
steps: | |
- name: checkout libmfxgen | |
uses: actions/checkout@v4 | |
with: | |
path: libmfxgen | |
- name: checkout libva | |
uses: actions/checkout@v4 | |
with: | |
repository: intel/libva | |
path: libva | |
- name: install toolchain | |
run: | | |
if [[ -e $CC && -e $CXX ]]; then \ | |
echo "clang-14 already presents in the image"; \ | |
else \ | |
echo "clang-14 missed in the image, installing from llvm"; \ | |
echo "deb [trusted=yes] https://apt.llvm.org/jammy/ llvm-toolchain-jammy-14 main" | sudo tee -a /etc/apt/sources.list; \ | |
sudo apt-get update; \ | |
sudo apt-get install -y --no-install-recommends clang-14; \ | |
fi | |
- name: install prerequisites | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y --no-install-recommends \ | |
cmake \ | |
libdrm-dev \ | |
libegl1-mesa-dev \ | |
libgl1-mesa-dev \ | |
libx11-dev \ | |
libx11-xcb-dev \ | |
libxcb-dri3-dev \ | |
libxcb-present-dev \ | |
libxext-dev \ | |
libxfixes-dev \ | |
libwayland-dev \ | |
ninja-build \ | |
make | |
- name: print tools versions | |
run: | | |
cmake --version | |
$CC --version | |
$CXX --version | |
- name: build libva | |
run: | | |
cd libva | |
./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu | |
make -j$(nproc) | |
sudo make install | |
- name: build libmfxgen | |
run: | | |
cd libmfxgen | |
mkdir build && cd build | |
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS_RELEASE="$CFLAGS" -DCMAKE_CXX_FLAGS_RELEASE="$CFLAGS" \ | |
-DMFX_ENABLE_USER_ENCTOOLS=ON -DMFX_ENABLE_AENC=OFF -DMFX_ENABLE_PXP=ON \ | |
.. | |
ninja | |
sudo ninja install | |
clang12: | |
runs-on: ubuntu-20.04 | |
env: | |
CC: /usr/bin/clang-12 | |
CXX: /usr/bin/clang++-12 | |
ASM: /usr/bin/clang-12 | |
steps: | |
- name: checkout libmfxgen | |
uses: actions/checkout@v4 | |
with: | |
path: libmfxgen | |
- name: checkout libva | |
uses: actions/checkout@v4 | |
with: | |
repository: intel/libva | |
path: libva | |
- name: install prerequisites | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y --no-install-recommends \ | |
cmake \ | |
libdrm-dev \ | |
libegl1-mesa-dev \ | |
libgl1-mesa-dev \ | |
libx11-dev \ | |
libx11-xcb-dev \ | |
libxcb-dri3-dev \ | |
libxcb-present-dev \ | |
libxext-dev \ | |
libxfixes-dev \ | |
libwayland-dev \ | |
ninja-build \ | |
make | |
- name: print tools versions | |
run: | | |
cmake --version | |
$CC --version | |
$CXX --version | |
- name: build libva | |
run: | | |
cd libva | |
./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu | |
make -j$(nproc) | |
sudo make install | |
- name: build libmfxgen | |
run: | | |
cd libmfxgen | |
mkdir build && cd build | |
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DMFX_ENABLE_PXP=ON -DCMAKE_C_FLAGS_RELEASE="$CFLAGS" -DCMAKE_CXX_FLAGS_RELEASE="$CFLAGS" .. | |
ninja | |
sudo ninja install | |
gcc11: | |
runs-on: ubuntu-22.04 | |
env: | |
CC: /usr/bin/gcc-11 | |
CXX: /usr/bin/g++-11 | |
ASM: /usr/bin/gcc-11 | |
# TODO: mind no -Werror | |
# We stepped into https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100366 | |
# gcc-11 throws -Wstringop-overflow on some std:: operations | |
CFLAGS: -O2 -Wformat -Wformat-security -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong | |
steps: | |
- name: checkout libmfxgen | |
uses: actions/checkout@v4 | |
with: | |
path: libmfxgen | |
- name: checkout libva | |
uses: actions/checkout@v4 | |
with: | |
repository: intel/libva | |
path: libva | |
- name: install prerequisites | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y --no-install-recommends \ | |
automake \ | |
cmake \ | |
gcc \ | |
g++ \ | |
libtool \ | |
libdrm-dev \ | |
libegl1-mesa-dev \ | |
libgl1-mesa-dev \ | |
libx11-dev \ | |
libx11-xcb-dev \ | |
libxcb-dri3-dev \ | |
libxcb-present-dev \ | |
libxext-dev \ | |
libxfixes-dev \ | |
libwayland-dev \ | |
ninja-build \ | |
pkg-config \ | |
make | |
- name: print tools versions | |
run: | | |
cmake --version | |
$CC --version | |
$CXX --version | |
- name: build libva | |
run: | | |
cd libva | |
./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu | |
make -j$(nproc) | |
sudo make install | |
- name: build libmfxgen | |
run: | | |
cd libmfxgen | |
mkdir build && cd build | |
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DMFX_ENABLE_PXP=ON -DCMAKE_C_FLAGS_RELEASE="$CFLAGS" -DCMAKE_CXX_FLAGS_RELEASE="$CFLAGS" .. | |
ninja | |
sudo ninja install | |
gcc10: | |
runs-on: ubuntu-20.04 | |
env: | |
CC: /usr/bin/gcc-10 | |
CXX: /usr/bin/g++-10 | |
ASM: /usr/bin/gcc-10 | |
steps: | |
- name: checkout libmfxgen | |
uses: actions/checkout@v4 | |
with: | |
path: libmfxgen | |
- name: checkout libva | |
uses: actions/checkout@v4 | |
with: | |
repository: intel/libva | |
path: libva | |
- name: install prerequisites | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y --no-install-recommends \ | |
cmake \ | |
libdrm-dev \ | |
libegl1-mesa-dev \ | |
libgl1-mesa-dev \ | |
libx11-dev \ | |
libx11-xcb-dev \ | |
libxcb-dri3-dev \ | |
libxcb-present-dev \ | |
libxext-dev \ | |
libxfixes-dev \ | |
libwayland-dev \ | |
ninja-build \ | |
make | |
- name: print tools versions | |
run: | | |
cmake --version | |
$CC --version | |
$CXX --version | |
- name: build libva | |
run: | | |
cd libva | |
./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu | |
make -j$(nproc) | |
sudo make install | |
- name: build libmfxgen | |
run: | | |
cd libmfxgen | |
mkdir build && cd build | |
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DMFX_ENABLE_PXP=ON -DCMAKE_C_FLAGS_RELEASE="$CFLAGS" -DCMAKE_CXX_FLAGS_RELEASE="$CFLAGS" .. | |
ninja | |
sudo ninja install |