diff --git a/tools/chatgui/ffmpeg/build_ffmpeg.sh b/tools/chatgui/ffmpeg/build_ffmpeg.sh index 5685394c..b97e3c01 100755 --- a/tools/chatgui/ffmpeg/build_ffmpeg.sh +++ b/tools/chatgui/ffmpeg/build_ffmpeg.sh @@ -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