Skip to content

Commit 676d0db

Browse files
committed
support ffmpeg
1 parent c0f38a3 commit 676d0db

File tree

1 file changed

+34
-8
lines changed

1 file changed

+34
-8
lines changed

commons/Dockerfile.base.py38-cuda11.3

Lines changed: 34 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@ ARG CUDA=11.3
55
ARG LIBNVINFER=8.0.0-1
66
ARG LIBNVINFER_MAJOR_VERSION=8
77
#ARG CUDNN=8.0.5.39-1
8+
#ENV CUDNN_VERSION 7.6.5.32
9+
ENV CUDNN_VERSION 8.20.0
810
ENV NCCL=2.9.9
911
ENV NCCL_VERSION=2.9.9-1+cuda11.3
10-
#ENV CUDNN_VERSION 8.0.5.43
1112
ENV MLNX_OFED_VERSION=5.1-2.3.7.1
1213
ENV MKL_VERSION=2021.2
1314
ENV MKL_BUILD=296
@@ -101,6 +102,7 @@ RUN rm -fr /var/lib/apt/lists/* && \
101102
libgirepository1.0-dev \
102103
libgoogle-glog-dev \
103104
libgphoto2-dev \
105+
libgnutls28-dev \
104106
libgraphicsmagick1-dev \
105107
libgstreamer-plugins-base1.0-dev \
106108
libgstreamer1.0-dev \
@@ -134,6 +136,7 @@ RUN rm -fr /var/lib/apt/lists/* && \
134136
libsdl2-dev \
135137
libsm6 \
136138
libsmpeg-dev \
139+
libsnappy-dev \
137140
libssl-dev \
138141
libswscale-dev \
139142
libtbb-dev \
@@ -189,8 +192,6 @@ RUN rm -fr /var/lib/apt/lists/* && \
189192
build-essential \
190193
gcc g++ make \
191194
git subversion \
192-
vim \
193-
wget \
194195
zlib1g-dev && \
195196
echo "/opt/intel/daal/lib/intel64" >> /etc/ls.so.conf && \
196197
echo "/opt/intel/ipp/lib/intel64" >> /etc/ls.so.conf && \
@@ -203,6 +204,13 @@ RUN rm -fr /var/lib/apt/lists/* && \
203204
# Install CUDA-11.3 + cuDNN 8.2.0
204205
ln -s /usr/local/cuda-11.3 /usr/local/cuda && \
205206
ln -s /usr/lib/x86_64-linux-gnu/libcudnn.so.8.2.0 /usr/local/cuda/lib64/libcudnn.so && \
207+
ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_adv_train.so.8.2.0 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_adv_train.so.8 && \
208+
ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8.2.0 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8 && \
209+
ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8.2.0 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8 && \
210+
ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8.2.0 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8 && \
211+
ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_ops_train.so.8.2.0 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_ops_train.so.8 && \
212+
ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8.2.0 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8 && \
213+
ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn.so.8.2.0 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn.so.8 && \
206214
ldconfig
207215

208216
RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - && \
@@ -452,6 +460,19 @@ RUN set -xe && \
452460
make -j$(nproc) && \
453461
make install
454462

463+
# libsvtav1
464+
WORKDIR /usr/local/ffmpeg_sources
465+
RUN xet -xe && \
466+
git -C SVT-AV1 pull 2> /dev/null || git clone https://gitlab.com/AOMediaCodec/SVT-AV1.git && \
467+
mkdir -p SVT-AV1/build && \
468+
cd SVT-AV1/build && \
469+
cmake -G "Unix Makefiles" \
470+
-DCMAKE_BUILD_TYPE=Release \
471+
-DBUILD_DEC=OFF \
472+
-DBUILD_SHARED_LIBS=OFF .. && \
473+
make -j$(nproc) && \
474+
make install
475+
455476
# install nvidias codec API
456477
WORKDIR /usr/local/ffmpeg_sources
457478
RUN set -xe && \
@@ -471,6 +492,10 @@ RUN set -xe && \
471492
cd /usr/local/ffmpeg_sources/ffmpeg && \
472493
./configure \
473494
--extra-libs="-lpthread -lm" \
495+
--enable-openssl \
496+
--enable-libaom \
497+
--enable-libsvtav1 \
498+
--enable-libsnappy \
474499
--enable-gpl \
475500
--enable-libass \
476501
--enable-libnpp \
@@ -491,8 +516,8 @@ RUN set -xe && \
491516
--enable-pic \
492517
--enable-indev=v4l2 \
493518
--enable-libtensorflow \
494-
--extra-cflags=-I/usr/local/cuda/include \
495-
--extra-ldflags=-L/usr/local/cuda/lib64 \
519+
--extra-cflags=-I/usr/local/cuda-11.3/include \
520+
--extra-ldflags=-L/usr/local/cuda-11.3/lib64 \
496521
--enable-nonfree && \
497522
make -j$(nproc) && \
498523
make install && \
@@ -558,7 +583,7 @@ RUN wget https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip && \
558583
-D CUDA_NVCC_FLAGS="-D_FORCE_INLINES --expt-relaxed-constexpr" \
559584
-D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-11.3 \
560585
-D CUDNN_INCLUDE_DIR=/usr/local/cuda/include \
561-
-D CUDNN_LIBRARY=/usr/lib/x86_64-linux-gnu/libcudnn.so.8.2.0 \
586+
-D CUDNN_LIBRARY=/usr/local/cuda/lib64/libcudnn.so.8.2.0 \
562587
-D ENABLE_AVX=ON \
563588
-D ENABLE_FAST_MATH=1 \
564589
-D HAVE_opencv_python3=ON \
@@ -618,10 +643,11 @@ RUN wget https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip && \
618643
-D WITH_XIMEA=OFF \
619644
-D WITH_XINE=OFF \
620645
-D WITH_ZLIB=ON \
621-
-G Ninja \
646+
# -G Ninja \
622647
-D CMAKE_INSTALL_PREFIX=/usr/local \
623648
.. 2>&1 | tee cmake_messages.txt && \
624-
cd /tmp/opencv-4.5.2/cmake_binary && ninja
649+
# ninja
650+
cd /tmp/opencv-4.5.2/cmake_binary && make -j(nproc) && make install
625651

626652
# XGBoost
627653
RUN git clone --recursive https://github.com/dmlc/xgboost && \

0 commit comments

Comments
 (0)