@@ -55,7 +55,6 @@ AOMAV1_VERSION=3.14.1
5555SVTAV1_VERSION=4.2.0
5656ZIMG_VERSION=3.0.6
5757FFMPEG_VERSION=8.1.2
58- OPENCL_VERSION=2026.05.29
5958
6059# Vendored snapshot of https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20847.patch
6160# with the unsupported FFmpeg 8.1 Changelog hunk already removed.
@@ -83,24 +82,25 @@ download https://github.com/webmproject/libwebp/archive/refs/tags/v$WEBP_VERSION
8382download https://storage.googleapis.com/aom-releases/libaom-$AOMAV1_VERSION .tar.gz aom-$AOMAV1_VERSION .tar.gz
8483download https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v$SVTAV1_VERSION /SVT-AV1-v$SVTAV1_VERSION .tar.gz SVT-AV1-$SVTAV1_VERSION .tar.gz
8584download https://github.com/sekrit-twc/zimg/archive/refs/tags/release-$ZIMG_VERSION .tar.gz zimg-release-$ZIMG_VERSION .tar.gz
86- case $PLATFORM in
87- linux-arm64 | linux-x86_64 | macosx-arm64 | macosx-x86_64 | windows-x86_64)
88- download https://github.com/KhronosGroup/OpenCL-Headers/archive/v$OPENCL_VERSION .tar.gz OpenCL-Headers-$OPENCL_VERSION .tar.gz
89- download https://github.com/KhronosGroup/OpenCL-ICD-Loader/archive/v$OPENCL_VERSION .tar.gz OpenCL-ICD-Loader-$OPENCL_VERSION .tar.gz
90- ;;
91- esac
9285download https://ffmpeg.org/releases/ffmpeg-$FFMPEG_VERSION .tar.bz2 ffmpeg-$FFMPEG_VERSION .tar.bz2
9386
9487mkdir -p $PLATFORM$EXTENSION
9588cd $PLATFORM$EXTENSION
9689INSTALL_PATH=` pwd`
9790case $PLATFORM in
9891 linux-arm64 | linux-x86_64 | macosx-arm64 | macosx-x86_64 | windows-x86_64)
99- OPENCL_PATH=" $INSTALL_PATH "
92+ OPENCL_PATH=" $TOP_PATH /opencl/cppbuild/ $PLATFORM "
10093 OPENCL_CONFIG=" --enable-opencl"
10194 OPENCL_CFLAGS=" -I$OPENCL_PATH /include"
10295 OPENCL_LDFLAGS=" -L$OPENCL_PATH /lib"
10396 OPENCL_LIBS=" -lOpenCL"
97+ if [[ " $PLATFORM " == windows-* ]]; then
98+ if [[ ! -f " $OPENCL_PATH /include/CL/cl_d3d11.h" ]]; then
99+ echo " Error: OpenCL D3D11 sharing header not found: $OPENCL_PATH /include/CL/cl_d3d11.h"
100+ exit 1
101+ fi
102+ OPENCL_LIBS=" -l:OpenCL.lib"
103+ fi
104104 ;;
105105esac
106106DISABLE=" $DISABLE $OPENCL_CONFIG "
@@ -127,10 +127,6 @@ tar --totals -xzf ../libwebp-$WEBP_VERSION.tar.gz
127127tar --totals -xzf ../aom-$AOMAV1_VERSION .tar.gz
128128tar --totals -xzf ../SVT-AV1-$SVTAV1_VERSION .tar.gz
129129tar --totals -xzf ../zimg-release-$ZIMG_VERSION .tar.gz
130- if [[ " $OPENCL_CONFIG " == " --enable-opencl" ]]; then
131- tar --totals -xzf ../OpenCL-Headers-$OPENCL_VERSION .tar.gz
132- tar --totals -xzf ../OpenCL-ICD-Loader-$OPENCL_VERSION .tar.gz
133- fi
134130tar --totals -xjf ../ffmpeg-$FFMPEG_VERSION .tar.bz2
135131
136132if [[ " ${ACLOCAL_PATH:- } " == C:\\ msys64\\ * ]]; then
@@ -163,50 +159,8 @@ sedinplace 's/CMAKE_C_COMPILER_ID MATCHES "Clang"/FALSE/g' SVT-AV1-*/CMakeLists.
163159sedinplace ' /ANativeWindow_release/d' ffmpeg-* /libavutil/hwcontext_mediacodec.c
164160sedinplace ' s/#define MAX_SLICES 32/#define MAX_SLICES 256/g' ffmpeg-* /libavcodec/h264dec.h
165161
166- if [[ " $OPENCL_CONFIG " == " --enable-opencl" ]]; then
167- echo " "
168- echo " --------------------"
169- echo " Building OpenCL"
170- echo " --------------------"
171- echo " "
172- cd OpenCL-Headers-$OPENCL_VERSION
173- case $PLATFORM in
174- linux-arm64)
175- CC=" aarch64-linux-gnu-gcc" CXX=" aarch64-linux-gnu-g++" cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH .
176- make -j $MAKEJ
177- make install/strip
178- cd ../OpenCL-ICD-Loader-$OPENCL_VERSION
179- CC=" aarch64-linux-gnu-gcc" CXX=" aarch64-linux-gnu-g++" cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH -DCMAKE_INSTALL_LIBDIR=" lib" -DOPENCL_ICD_LOADER_HEADERS_DIR=$INSTALL_PATH /include .
180- make -j $MAKEJ
181- make install/strip
182- ;;
183- windows-x86_64)
184- CC=" gcc -m64" CXX=" g++ -m64" $CMAKE -G " MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH .
185- make -j $MAKEJ
186- make install
187- cd ../OpenCL-ICD-Loader-$OPENCL_VERSION
188- CC=" gcc -m64" CXX=" g++ -m64" $CMAKE -G " MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH -DCMAKE_INSTALL_LIBDIR=" lib" -DOPENCL_ICD_LOADER_HEADERS_DIR=$INSTALL_PATH /include .
189- make -j $MAKEJ
190- make install
191- ;;
192- * )
193- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH .
194- make -j $MAKEJ
195- make install/strip
196- cd ../OpenCL-ICD-Loader-$OPENCL_VERSION
197- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH -DCMAKE_INSTALL_LIBDIR=" lib" -DOPENCL_ICD_LOADER_HEADERS_DIR=$INSTALL_PATH /include .
198- make -j $MAKEJ
199- make install/strip
200- ;;
201- esac
202- if [[ " $PLATFORM " == windows-* && ! -f " $OPENCL_PATH /include/CL/cl_d3d11.h" ]]; then
203- echo " Error: OpenCL D3D11 sharing header not found: $OPENCL_PATH /include/CL/cl_d3d11.h"
204- exit 1
205- fi
206- cd ..
207- if [[ " $PLATFORM " == macosx-* ]]; then
208- export DYLD_LIBRARY_PATH=" $OPENCL_PATH /lib${DYLD_LIBRARY_PATH: +: $DYLD_LIBRARY_PATH } "
209- fi
162+ if [[ " $PLATFORM " == macosx-* && " $OPENCL_CONFIG " == " --enable-opencl" ]]; then
163+ export DYLD_LIBRARY_PATH=" $OPENCL_PATH /lib${DYLD_LIBRARY_PATH: +: $DYLD_LIBRARY_PATH } "
210164fi
211165
212166case $PLATFORM in
0 commit comments