Fix FFmpeg D3D11VA implementation selection on Windows

This commit is contained in:
evgeny committed 2026-10-19 19:45:00 +02:00
1 parent 64761fd945
commit ae1d05deda
1 file changed
+5 -1
+5 -1
View File
@@ -7,7 +7,7 @@ SRC_DIR="$BUILD_DIR/src"
INSTALL_DIR="$BUILD_DIR/install"
JOBS=$(nproc 2>/dev/null || echo 4)
AMF_HEADERS_VERSION="${AMF_HEADERS_VERSION:-1.5.3}"
FFMPEG_PROFILE_MARKER="$INSTALL_DIR/share/utun-chatgui-ffmpeg-minimal-v5"
FFMPEG_PROFILE_MARKER="$INSTALL_DIR/share/utun-chatgui-ffmpeg-minimal-v6"
case "$(uname -s)" in
Linux) PLATFORM=linux ;;
@@ -273,6 +273,8 @@ for encoder in "${ENCODERS[@]}"; do CONFIGURE_ARGS+=("--enable-encoder=$encoder"
if [ "$PLATFORM" = "windows" ]; then
CONFIGURE_ARGS+=(
--enable-amf --enable-d3d11va
# FFmpeg 7.1.2 добавляет dxva2_h264/hevc.o только по legacy-флагам; файлы содержат также d3d11va2.
--enable-hwaccel=h264_d3d11va --enable-hwaccel=hevc_d3d11va
--enable-hwaccel=h264_d3d11va2 --enable-hwaccel=hevc_d3d11va2
--enable-encoder=h264_amf --enable-encoder=hevc_amf --enable-encoder=av1_amf
)
@@ -290,6 +292,8 @@ fi
grep -Eq '^#define CONFIG_CBS_H265 1$' config.h || die "FFmpeg configure did not enable the HEVC header parser"
grep -Eq '^#define CONFIG_TRACE_HEADERS_BSF 1$' config_components.h || die "FFmpeg configure did not enable trace_headers"
if [ "$PLATFORM" = "windows" ]; then
grep -Eq '^#define CONFIG_H264_D3D11VA_HWACCEL 1$' config_components.h || die "H.264 D3D11VA implementation object unavailable"
grep -Eq '^#define CONFIG_HEVC_D3D11VA_HWACCEL 1$' config_components.h || die "HEVC D3D11VA implementation object unavailable"
grep -Eq '^#define CONFIG_H264_D3D11VA2_HWACCEL 1$' config_components.h || die "H.264 D3D11VA device decoder unavailable"
grep -Eq '^#define CONFIG_HEVC_D3D11VA2_HWACCEL 1$' config_components.h || die "HEVC D3D11VA device decoder unavailable"
else