Skip to content

Commit d63c7a3

Browse files
committed
Build ffmpeg with dav1d av1 decocer so VideoCapture can read such files
1 parent 4ddfc01 commit d63c7a3

File tree

3 files changed

+28
-8
lines changed

3 files changed

+28
-8
lines changed

.github/workflows/build_wheels_manylinux.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@ jobs:
3636
DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux2014-aarch64:20260102
3737
- platform: x86_64
3838
manylinux: 2014
39-
DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20260102
39+
DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20260217
4040
- platform: x86_64
4141
manylinux: 2_28
42-
DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux_2_28-x86-64:20260102
42+
DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux_2_28-x86-64:20260217
4343
- platform: aarch64
4444
manylinux: 2_28
4545
DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux_2_28-aarch64:20260102

docker/manylinux2014/Dockerfile_x86_64

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Version: 20260102
1+
# Version: 20260217
22
# Image name: quay.io/opencv-ci/opencv-python-manylinux2014-x86-64
33

44
FROM quay.io/pypa/manylinux2014_x86_64:latest
@@ -14,11 +14,12 @@ ARG QT_VERSION=5.15.18
1414
ARG YASM_VERSION=1.3.0
1515
ARG AOM_VERSION=v3.13.1
1616
ARG AVIF_VERSION=v1.3.0
17+
ARG LIBDAV1D_VERSION=1.5.3
1718

1819
ENV LD_LIBRARY_PATH /usr/local/lib:$LD_LIBRARY_PATH
1920

2021
# epel-release need for aarch64 to get openblas packages
21-
RUN yum install zlib-devel curl-devel xcb-util-renderutil-devel xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel xcb-util-wm-devel mesa-libGL-devel libxkbcommon-devel libxkbcommon-x11-devel libXi-devel lapack-devel epel-release -y && \
22+
RUN yum install zlib-devel curl-devel xcb-util-renderutil-devel xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel xcb-util-wm-devel mesa-libGL-devel libxkbcommon-devel libxkbcommon-x11-devel libXi-devel lapack-devel epel-release meson -y && \
2223
yum install openblas-devel dejavu-sans-fonts -y && \
2324
cp /usr/include/openblas/*.h /usr/include/ && \
2425
cp /usr/include/lapacke/lapacke*.h /usr/include/ && \
@@ -121,13 +122,22 @@ RUN mkdir ~/avif_sources && \
121122
make install && \
122123
cd / && rm -rf ~/avif_sources
123124

125+
RUN mkdir ~/libdav1d_sources && \
126+
cd ~/libdav1d_sources && \
127+
git clone -b ${LIBDAV1D_VERSION} https://code.videolan.org/videolan/dav1d.git && \
128+
mkdir build && cd build && \
129+
PATH=$HOME/bin:$PATH meson setup --prefix="/ffmpeg_build" --libdir lib ../dav1d && \
130+
#DESTDIR=/ffmpeg_build meson install && \
131+
meson install && \
132+
cd / && rm -rf ~/libdav1d_sources
133+
124134
RUN mkdir ~/ffmpeg_sources && \
125135
cd ~/ffmpeg_sources && \
126136
curl -O -L https://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.gz && \
127137
tar -xf ffmpeg-${FFMPEG_VERSION}.tar.gz && \
128138
cd ffmpeg-${FFMPEG_VERSION} && \
129139
PATH=~/bin:$PATH && \
130-
PKG_CONFIG_PATH="/ffmpeg_build/lib/pkgconfig" ./configure --prefix="/ffmpeg_build" --extra-cflags="-I/ffmpeg_build/include" --extra-ldflags="-L/ffmpeg_build/lib" --enable-openssl --enable-libvpx --enable-shared --enable-pic --bindir="$HOME/bin" && \
140+
PKG_CONFIG_PATH="/ffmpeg_build/lib/pkgconfig" ./configure --prefix="/ffmpeg_build" --extra-cflags="-I/ffmpeg_build/include" --extra-ldflags="-L/ffmpeg_build/lib" --enable-openssl --enable-libvpx --enable-shared --enable-pic --enable-libdav1d --bindir="$HOME/bin" && \
131141
make -j$(getconf _NPROCESSORS_ONLN) && \
132142
make install && \
133143
echo "/ffmpeg_build/lib/" >> /etc/ld.so.conf && \

docker/manylinux_2_28/Dockerfile_x86_64

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Version: 20260102
1+
# Version: 20260217
22
# Image name: quay.io/opencv-ci/opencv-python-manylinux_2_28-x86-64
33

44
FROM quay.io/pypa/manylinux_2_28_x86_64:latest
@@ -10,11 +10,12 @@ ARG VPX_VERSION=v1.15.2
1010
ARG QT_VERSION=5.15.18
1111
ARG AOM_VERSION=v3.13.1
1212
ARG AVIF_VERSION=v1.3.0
13+
ARG LIBDAV1D_VERSION=1.5.3
1314

1415
ENV LD_LIBRARY_PATH /usr/local/lib:$LD_LIBRARY_PATH
1516

1617
# epel-release need for aarch64 to get openblas packages
17-
RUN yum install zlib-devel curl-devel xcb-util-renderutil-devel xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel xcb-util-wm-devel mesa-libGL-devel libxkbcommon-devel libxkbcommon-x11-devel libXi-devel lapack-devel epel-release -y && \
18+
RUN yum install zlib-devel curl-devel xcb-util-renderutil-devel xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel xcb-util-wm-devel mesa-libGL-devel libxkbcommon-devel libxkbcommon-x11-devel libXi-devel lapack-devel epel-release meson -y && \
1819
yum install openblas-devel dejavu-sans-fonts ccache yasm nasm ninja-build openssl openssl-devel -y && \
1920
# libpng will be built from source
2021
yum remove libpng -y
@@ -82,13 +83,22 @@ RUN mkdir ~/avif_sources && \
8283
make install && \
8384
cd / && rm -rf ~/avif_sources
8485

86+
RUN mkdir ~/libdav1d_sources && \
87+
cd ~/libdav1d_sources && \
88+
git clone -b ${LIBDAV1D_VERSION} https://code.videolan.org/videolan/dav1d.git && \
89+
mkdir build && cd build && \
90+
meson setup --prefix="/ffmpeg_build" --libdir lib ../dav1d && \
91+
#DESTDIR=/ffmpeg_build meson install && \
92+
meson install && \
93+
cd / && rm -rf ~/libdav1d_sources
94+
8595
RUN mkdir ~/ffmpeg_sources && \
8696
cd ~/ffmpeg_sources && \
8797
curl -O -L https://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.gz && \
8898
tar -xf ffmpeg-${FFMPEG_VERSION}.tar.gz && \
8999
cd ffmpeg-${FFMPEG_VERSION} && \
90100
PATH=~/bin:$PATH && \
91-
PKG_CONFIG_PATH="/ffmpeg_build/lib/pkgconfig" ./configure --prefix="/ffmpeg_build" --extra-cflags="-I/ffmpeg_build/include" --extra-ldflags="-L/ffmpeg_build/lib" --enable-openssl --enable-libvpx --enable-shared --enable-pic --bindir="$HOME/bin" && \
101+
PKG_CONFIG_PATH="/ffmpeg_build/lib/pkgconfig" ./configure --prefix="/ffmpeg_build" --extra-cflags="-I/ffmpeg_build/include" --extra-ldflags="-L/ffmpeg_build/lib" --enable-openssl --enable-libvpx --enable-shared --enable-pic --enable-libdav1d --bindir="$HOME/bin" && \
92102
make -j$(getconf _NPROCESSORS_ONLN) && \
93103
make install && \
94104
echo "/ffmpeg_build/lib/" >> /etc/ld.so.conf && \

0 commit comments

Comments
 (0)