Skip to content

Commit 0596ae3

Browse files
committed
Added Hardware Decoding with VAAPI and QSV
LibVA - implementation for VAAPI LibVPL - Intel Video Processing Library
1 parent cf072d2 commit 0596ae3

File tree

2 files changed

+53
-2
lines changed

2 files changed

+53
-2
lines changed

Dockerfile

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,12 @@ RUN apk add --no-cache $APK_OPTS \
4848
xz-dev xz-static \
4949
python3 py3-packaging \
5050
linux-headers \
51-
curl
51+
curl \
52+
libdrm-dev
5253

5354
# linux-headers need by rtmpdump
5455
# python3 py3-packaging needed by glib
55-
56+
5657
# -O3 makes sure we compile with optimization. setting CFLAGS/CXXFLAGS seems to override
5758
# default automake cflags.
5859
# -static-libgcc is needed to make gcc not include gcc_s as "as-needed" shared library which
@@ -1027,6 +1028,51 @@ RUN \
10271028
sed -i 's/-ljxl_cms/-ljxl_cms -lstdc++ /' /usr/local/lib/pkgconfig/libjxl_cms.pc && \
10281029
sed -i 's/-ljxl_threads/-ljxl_threads -lstdc++ /' /usr/local/lib/pkgconfig/libjxl_threads.pc
10291030

1031+
# requires libdrm
1032+
# bump: libva /LIBVA_VERSION=([\d.]+)/ https://github.com/intel/libva.git|^0
1033+
# bump: libva after ./hashupdate Dockerfile LIBVA $LATEST
1034+
# bump: libva link "Changelog" https://github.com/intel/libva/blob/master/NEWS
1035+
ARG LIBVA_VERSION=2.22.0
1036+
ARG LIBVA_URL="https://github.com/intel/libva/archive/refs/tags/${LIBVA_VERSION}.tar.gz"
1037+
ARG LIBVA_SHA256=467c418c2640a178c6baad5be2e00d569842123763b80507721ab87eb7af8735
1038+
RUN \
1039+
wget $WGET_OPTS -O libva.tar.gz "$LIBVA_URL" && \
1040+
echo "$LIBVA_SHA256 libva.tar.gz" | sha256sum -c - && \
1041+
tar $TAR_OPTS libva.tar.gz && cd libva-* && \
1042+
meson setup build \
1043+
-Dbuildtype=release \
1044+
-Ddefault_library=static \
1045+
-Ddisable_drm=false \
1046+
-Dwith_x11=no \
1047+
-Dwith_glx=no \
1048+
-Dwith_wayland=no \
1049+
-Dwith_win32=no \
1050+
-Dwith_legacy=[] \
1051+
-Denable_docs=false && \
1052+
ninja -j$(nproc) -vC build install
1053+
1054+
# bump: libvpl /LIBVPL_VERSION=([\d.]+)/ https://github.com/intel/libvpl.git|^0
1055+
# bump: libvpl after ./hashupdate Dockerfile LIBVPL $LATEST
1056+
# bump: libvpl link "Changelog" https://github.com/intel/libvpl/blob/main/CHANGELOG.md
1057+
ARG LIBVPL_VERSION=2.12.0
1058+
ARG LIBVPL_URL="https://github.com/intel/libvpl/archive/refs/tags/v${LIBVPL_VERSION}.tar.gz"
1059+
ARG LIBVPL_SHA256=efc19e5a8544704100f814753eb5e09e85a68e3386508b164042c1f1f761bae8
1060+
RUN \
1061+
wget $WGET_OPTS -O libvpl.tar.gz "$LIBVPL_URL" && \
1062+
echo "$LIBVPL_SHA256 libvpl.tar.gz" | sha256sum -c - && \
1063+
tar $TAR_OPTS libvpl.tar.gz && cd libvpl-* && \
1064+
cmake -B build \
1065+
-G"Unix Makefiles" \
1066+
-DCMAKE_BUILD_TYPE=Release \
1067+
-DCMAKE_VERBOSE_MAKEFILE=ON \
1068+
-DCMAKE_INSTALL_LIBDIR=lib \
1069+
-DCMAKE_INSTALL_PREFIX=/usr/local \
1070+
-DBUILD_SHARED_LIBS=OFF \
1071+
-DBUILD_TESTS=OFF \
1072+
-DENABLE_WARNING_AS_ERROR=ON && \
1073+
cmake --build build -j$(nproc) && \
1074+
cmake --install build
1075+
10301076
# bump: ffmpeg /FFMPEG_VERSION=([\d.]+)/ https://github.com/FFmpeg/FFmpeg.git|*
10311077
# bump: ffmpeg after ./hashupdate Dockerfile FFMPEG $LATEST
10321078
# bump: ffmpeg link "Changelog" https://github.com/FFmpeg/FFmpeg/blob/n$LATEST/Changelog
@@ -1115,6 +1161,7 @@ RUN \
11151161
--enable-libzimg \
11161162
--enable-openssl \
11171163
--enable-libjxl \
1164+
--enable-libvpl \
11181165
|| (cat ffbuild/config.log ; false) \
11191166
&& make -j$(nproc) install
11201167

@@ -1174,10 +1221,12 @@ RUN \
11741221
libtheora: env.THEORA_VERSION, \
11751222
libtwolame: env.TWOLAME_VERSION, \
11761223
libuavs3d: env.UAVS3D_COMMIT, \
1224+
libva: env.LIBVA_VERSION, \
11771225
libvidstab: env.VIDSTAB_VERSION, \
11781226
libvmaf: env.VMAF_VERSION, \
11791227
libvo_amrwbenc: env.LIBVO_AMRWBENC_VERSION, \
11801228
libvorbis: env.VORBIS_VERSION, \
1229+
libvpl: env.LIBVPL_VERSION, \
11811230
libvpx: env.VPX_VERSION, \
11821231
libwebp: env.LIBWEBP_VERSION, \
11831232
libx264: env.X264_VERSION, \

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,12 @@ alias ffprobe='docker run -i --rm -u $UID:$GROUPS -v "$PWD:$PWD" -w "$PWD" --ent
7373
- [libtheora](https://github.com/xiph/theora)
7474
- [libtwolame](https://github.com/njh/twolame)
7575
- [libuavs3d](https://github.com/uavs3/uavs3d)
76+
- [libva](https://github.com/intel/libva)
7677
- [libvidstab](https://github.com/georgmartius/vid.stab)
7778
- [libvmaf](https://github.com/Netflix/vmaf)
7879
- [libvo-amrwbenc](https://github.com/mstorsjo/vo-amrwbenc)
7980
- [libvorbis](https://github.com/xiph/vorbis)
81+
- [libvpl](https://github.com/intel/libvpl)
8082
- [libvpx](https://github.com/webmproject/libvpx)
8183
- [libwebp](https://chromium.googlesource.com/webm/libwebp)
8284
- [libx264](https://www.videolan.org/developers/x264.html)

0 commit comments

Comments
 (0)