Skip to content

[Decode] Fix mpeg2 decoding issue to avoid piece of bitstream reading… #1621

[Decode] Fix mpeg2 decoding issue to avoid piece of bitstream reading…

[Decode] Fix mpeg2 decoding issue to avoid piece of bitstream reading… #1621

Workflow file for this run

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