git: 17614c8f9266 - main - multimedia/handbrake: Update 1.7.2 → 1.9.0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 13 Jan 2025 17:24:47 UTC
The branch main has been updated by vvd: URL: https://cgit.FreeBSD.org/ports/commit/?id=17614c8f9266ab35ecad4fca289495d05f253287 commit 17614c8f9266ab35ecad4fca289495d05f253287 Author: Yuichiro NAITO <naito.yuichiro@gmail.com> AuthorDate: 2025-01-13 17:15:35 +0000 Commit: Vladimir Druzenko <vvd@FreeBSD.org> CommitDate: 2025-01-13 17:24:31 +0000 multimedia/handbrake: Update 1.7.2 → 1.9.0 Changelogs: https://github.com/HandBrake/HandBrake/releases/tag/1.7.3 https://github.com/HandBrake/HandBrake/releases/tag/1.8.0 https://github.com/HandBrake/HandBrake/releases/tag/1.8.1 https://github.com/HandBrake/HandBrake/releases/tag/1.8.2 https://github.com/HandBrake/HandBrake/releases/tag/1.9.0 Improve port: * add required dependencies; * remove unnecessary dependencies; * fix link command-line tool HandBrakeCLI with libX11; * fix warnings from portclippy. PR: 277355 --- multimedia/handbrake/Makefile | 60 +++++------ multimedia/handbrake/distinfo | 26 ++--- .../files/patch-contrib_ffmpeg_module.defs | 10 +- multimedia/handbrake/files/patch-libhb_enc__qsv.c | 67 ++++++++++++ .../files/patch-libhb_handbrake_qsv__common.h | 12 +++ .../handbrake/files/patch-libhb_qsv__common.c | 120 +++++++++++++++++++++ 6 files changed, 245 insertions(+), 50 deletions(-) diff --git a/multimedia/handbrake/Makefile b/multimedia/handbrake/Makefile index 30d42bb84bda..96d8ca094e49 100644 --- a/multimedia/handbrake/Makefile +++ b/multimedia/handbrake/Makefile @@ -1,9 +1,9 @@ PORTNAME= handbrake -DISTVERSION= 1.7.2 -PORTREVISION= 2 +DISTVERSION= 1.9.0 CATEGORIES= multimedia MASTER_SITES= https://github.com/HandBrake/HandBrake/releases/download/${DISTVERSION}/ MASTER_SITES+= https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/:contrib +MASTER_SITES+= https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs2/:contrib DISTNAME= HandBrake-${DISTVERSION} DISTFILES= ${DISTNAME}-source.tar.bz2 ${CONTRIB_FILES:S/$/:contrib/} DIST_SUBDIR= ${PORTNAME} @@ -12,8 +12,11 @@ MAINTAINER= naito.yuichiro@gmail.com COMMENT= Versatile DVD ripper and video transcoder WWW= https://handbrake.fr/ -LICENSE= GPLv2 -LICENSE_FILE= ${WRKSRC}/COPYING +LICENSE= GPLv2 +LICENSE_NAME_FDK_AAC= Software License for The Fraunhofer FDK AAC Codec Library for Android +LICENSE_FILE_FDK_AAC= ${WRKDIR}/${DISTFILES:Mfdk*:R:R}/NOTICE +LICENSE_FILE= ${WRKSRC}/COPYING +LICENSE_PERMS_FDK_AAC= dist-mirror pkg-mirror auto-accept ONLY_FOR_ARCHS= amd64 powerpc powerpc64 powerpc64le @@ -23,11 +26,7 @@ BUILD_DEPENDS= bash:shells/bash \ meson:devel/meson \ git:devel/git@lite LIB_DEPENDS= libdbus-1.so:devel/dbus \ - libgudev-1.0.so:devel/libgudev \ - libharfbuzz.so:print/harfbuzz \ - libfontconfig.so:x11-fonts/fontconfig \ - libfreetype.so:print/freetype2 \ - libfribidi.so:converters/fribidi \ + libdrm.so:graphics/libdrm \ libturbojpeg.so:graphics/libjpeg-turbo \ libass.so:multimedia/libass \ libspeex.so:audio/speex \ @@ -42,19 +41,18 @@ LIB_DEPENDS= libdbus-1.so:devel/dbus \ libopus.so:audio/opus \ libjansson.so:devel/jansson -USES= autoreconf:build compiler:c11 gmake gnome iconv libtool:build \ +USES= autoreconf:build compiler:c11 gmake iconv libtool:build \ localbase:ldflags ninja:build pkgconfig python:build -USE_GNOME= libxml2 -CONTRIB_FILES= SVT-AV1-v1.7.0.tar.gz \ - fdk-aac-2.0.2.tar.gz \ - ffmpeg-6.1.tar.bz2 \ +CONTRIB_FILES= SVT-AV1-v2.3.0.tar.gz \ + fdk-aac-2.0.3.tar.gz \ + ffmpeg-7.1.tar.bz2 \ libbluray-1.3.4.tar.bz2 \ libdvdnav-6.1.1.tar.bz2 \ libdvdread-6.1.3.tar.bz2 \ - dav1d-1.3.0.tar.bz2 \ + dav1d-1.5.0.tar.bz2 \ dovi_tool-libdovi-3.1.2.tar.gz \ - x265-snapshot-20230403-12776.tar.gz \ + x265_4.1.tar.gz \ zimg-3.0.5.tar.gz .if !defined(PACKAGE_BUILDING) @@ -63,24 +61,24 @@ LIB_DEPENDS+= libdvdcss.so:multimedia/libdvdcss .endif GNU_CONFIGURE= yes -MAKE_ENV= V=1 ACLOCAL=${LOCALBASE}/bin/aclocal - -BINARY_ALIAS= python3=${PYTHON_VERSION} CONFIGURE_ARGS= --force --enable-x265 CONFIGURE_TARGET= build -BUILD_WRKSRC= ${WRKSRC}/build -INSTALL_WRKSRC= ${WRKSRC}/build MAKEFILE= GNUmakefile +MAKE_ENV= V=1 ACLOCAL=${LOCALBASE}/bin/aclocal ALL_TARGET= # INSTALL_TARGET= install-strip -NOPRECIOUSMAKEVARS= yes # for ffmpeg and x264 - # Enforce linking to bundled libraries instead of system libraries LDFLAGS+= -L${BUILD_WRKSRC}/contrib/lib +BINARY_ALIAS= python3=${PYTHON_VERSION} +NOPRECIOUSMAKEVARS= yes # for ffmpeg and x264 + +BUILD_WRKSRC= ${WRKSRC}/build +INSTALL_WRKSRC= ${WRKSRC}/build + OPTIONS_DEFINE= FDK_AAC VPL X11 OPTIONS_DEFAULT= VPL X11 OPTIONS_EXCLUDE_powerpc= VPL @@ -95,23 +93,19 @@ X11_DESC= Build GTK 3 based GUI program FDK_AAC_CONFIGURE_ENABLE= fdk-aac FDK_AAC_VARS= LICENSE+=FDK_AAC LICENSE_COMB=multi -LICENSE_NAME_FDK_AAC= Software License for The Fraunhofer FDK AAC Codec Library for Android -LICENSE_FILE_FDK_AAC= ${WRKDIR}/${DISTFILES:Mfdk*:R:R}/NOTICE -LICENSE_PERMS_FDK_AAC= dist-mirror pkg-mirror auto-accept VPL_LIB_DEPENDS= libvpl.so:multimedia/onevpl \ libmfx.so:multimedia/intel-media-sdk \ libva-drm.so:multimedia/libva VPL_CONFIGURE_ON= --enable-qsv -X11_CONFIGURE_ENV= COMPILER_PATH=${LOCALBASE}/bin -X11_MAKE_ENV= COMPILER_PATH=${LOCALBASE}/bin +X11_LIB_DEPENDS= libvpx.so:multimedia/libvpx +X11_USES= gettext desktop-file-utils gnome gstreamer +X11_USE= gstreamer=gdkpixbuf,libav \ + gnome=gtk40,intltool,cairo,gdkpixbuf2,libxml2 X11_CONFIGURE_OFF= --disable-gtk -X11_LIB_DEPENDS= libvpx.so:multimedia/libvpx \ - libnotify.so:devel/libnotify -X11_USES= gettext desktop-file-utils gnome gstreamer -X11_USE= gstreamer=gdkpixbuf,libav \ - gnome=gtk30,intltool,cairo,gdkpixbuf2 +X11_CONFIGURE_ENV= COMPILER_PATH=${LOCALBASE}/bin +X11_MAKE_ENV= COMPILER_PATH=${LOCALBASE}/bin # HandBrake tries to fetch its dependencies during build phase, which is not # considered good in FreeBSD. Instead, we will provide the downloaded files. diff --git a/multimedia/handbrake/distinfo b/multimedia/handbrake/distinfo index 1028ff6dcb1f..9c04ae4d9f9f 100644 --- a/multimedia/handbrake/distinfo +++ b/multimedia/handbrake/distinfo @@ -1,23 +1,23 @@ -TIMESTAMP = 1703662528 -SHA256 (handbrake/HandBrake-1.7.2-source.tar.bz2) = 6a0fa23420483a2d74e58f0ad9944931d8f2e65bee63cf17333cbd9cb560ba93 -SIZE (handbrake/HandBrake-1.7.2-source.tar.bz2) = 9429824 -SHA256 (handbrake/SVT-AV1-v1.7.0.tar.gz) = ce0973584f1a187aa4abf63f509ff8464397120878e322a3153f87e9c161fc4f -SIZE (handbrake/SVT-AV1-v1.7.0.tar.gz) = 10164910 -SHA256 (handbrake/fdk-aac-2.0.2.tar.gz) = 7812b4f0cf66acda0d0fe4302545339517e702af7674dd04e5fe22a5ade16a90 -SIZE (handbrake/fdk-aac-2.0.2.tar.gz) = 2506597 -SHA256 (handbrake/ffmpeg-6.1.tar.bz2) = eb7da3de7dd3ce48a9946ab447a7346bd11a3a85e6efb8f2c2ce637e7f547611 -SIZE (handbrake/ffmpeg-6.1.tar.bz2) = 12637240 +TIMESTAMP = 1734051770 +SHA256 (handbrake/HandBrake-1.9.0-source.tar.bz2) = c15b451502f5c938798595df897a41290e8881b3efb8edd69ff7db2d985733b0 +SIZE (handbrake/HandBrake-1.9.0-source.tar.bz2) = 9427823 +SHA256 (handbrake/SVT-AV1-v2.3.0.tar.gz) = ebb0b484ef4a0dc281e94342a9f73ad458496f5d3457eca7465bec943910c6c3 +SIZE (handbrake/SVT-AV1-v2.3.0.tar.gz) = 10839376 +SHA256 (handbrake/fdk-aac-2.0.3.tar.gz) = e25671cd96b10bad896aa42ab91a695a9e573395262baed4e4a2ff178d6a3a78 +SIZE (handbrake/fdk-aac-2.0.3.tar.gz) = 2518649 +SHA256 (handbrake/ffmpeg-7.1.tar.bz2) = fd59e6160476095082e94150ada5a6032d7dcc282fe38ce682a00c18e7820528 +SIZE (handbrake/ffmpeg-7.1.tar.bz2) = 13260188 SHA256 (handbrake/libbluray-1.3.4.tar.bz2) = 478ffd68a0f5dde8ef6ca989b7f035b5a0a22c599142e5cd3ff7b03bbebe5f2b SIZE (handbrake/libbluray-1.3.4.tar.bz2) = 756323 SHA256 (handbrake/libdvdnav-6.1.1.tar.bz2) = c191a7475947d323ff7680cf92c0fb1be8237701885f37656c64d04e98d18d48 SIZE (handbrake/libdvdnav-6.1.1.tar.bz2) = 367606 SHA256 (handbrake/libdvdread-6.1.3.tar.bz2) = ce35454997a208cbe50e91232f0e73fb1ac3471965813a13b8730a8f18a15369 SIZE (handbrake/libdvdread-6.1.3.tar.bz2) = 395439 -SHA256 (handbrake/dav1d-1.3.0.tar.bz2) = bde8db3d0583a4f3733bb5a4ac525556ffd03ab7dcd8a6e7c091bee28d9466b1 -SIZE (handbrake/dav1d-1.3.0.tar.bz2) = 1033699 +SHA256 (handbrake/dav1d-1.5.0.tar.bz2) = a6ca64e34cec56ae1c2d359e1da5c5386ecd7a3a62f931d026ac4f2ff72ade64 +SIZE (handbrake/dav1d-1.5.0.tar.bz2) = 1211046 SHA256 (handbrake/dovi_tool-libdovi-3.1.2.tar.gz) = 3c74f8f6afdb7d4be97210df201a28a48676b2ebe10c20961176e81e2fd98c36 SIZE (handbrake/dovi_tool-libdovi-3.1.2.tar.gz) = 450556 -SHA256 (handbrake/x265-snapshot-20230403-12776.tar.gz) = 23898695c5520e9e971d12e88125d5ad03ad67f462fc8ecaa016b48adad7cb20 -SIZE (handbrake/x265-snapshot-20230403-12776.tar.gz) = 1622414 +SHA256 (handbrake/x265_4.1.tar.gz) = ef05940bdbf8e2f24c93d799ae8c5d19f43cd235d01c17fa5acf3fa77b48c032 +SIZE (handbrake/x265_4.1.tar.gz) = 1722231 SHA256 (handbrake/zimg-3.0.5.tar.gz) = a9a0226bf85e0d83c41a8ebe4e3e690e1348682f6a2a7838f1b8cbff1b799bcf SIZE (handbrake/zimg-3.0.5.tar.gz) = 326694 diff --git a/multimedia/handbrake/files/patch-contrib_ffmpeg_module.defs b/multimedia/handbrake/files/patch-contrib_ffmpeg_module.defs index bc0f471efe37..178198ba7762 100644 --- a/multimedia/handbrake/files/patch-contrib_ffmpeg_module.defs +++ b/multimedia/handbrake/files/patch-contrib_ffmpeg_module.defs @@ -6,13 +6,15 @@ definitions has been removed since vulkan-headers-1.3.238. * VK_EXT_VIDEO_DECODE_H264_EXTENSION_NAME * VK_EXT_VIDEO_DECODE_H265_EXTENSION_NAME ---- contrib/ffmpeg/module.defs.orig 2022-12-28 08:43:46 UTC +--- contrib/ffmpeg/module.defs.orig 2024-12-01 15:28:40 UTC +++ contrib/ffmpeg/module.defs -@@ -37,6 +37,7 @@ FFMPEG.CONFIGURE.extra = \ - --enable-libzimg \ +@@ -34,8 +34,10 @@ FFMPEG.CONFIGURE.extra = \ + --enable-filters \ --disable-hwaccels \ --disable-vdpau \ + --disable-vulkan \ + --disable-postproc \ --disable-encoders \ ++ --disable-xlib \ --enable-libmp3lame \ - --enable-encoder=aac \ + --enable-encoder=ac3 \ diff --git a/multimedia/handbrake/files/patch-libhb_enc__qsv.c b/multimedia/handbrake/files/patch-libhb_enc__qsv.c new file mode 100644 index 000000000000..51f61011c734 --- /dev/null +++ b/multimedia/handbrake/files/patch-libhb_enc__qsv.c @@ -0,0 +1,67 @@ +--- libhb/enc_qsv.c.orig 2024-12-01 15:28:40 UTC ++++ libhb/enc_qsv.c +@@ -174,7 +174,9 @@ static int log_encoder_params(const hb_work_private_t + { + const mfxExtCodingOption *option1 = NULL; + const mfxExtCodingOption2 *option2 = NULL; ++#if (MFX_VERSION >= 2012) + const mfxExtAV1ScreenContentTools *extScreenContentCoding = NULL; ++#endif + const mfxExtHyperModeParam *extHyperModeOption = NULL; + + for (int i = 0; i < videoParam->NumExtParam; i++) +@@ -188,10 +190,12 @@ static int log_encoder_params(const hb_work_private_t + { + option2 = (mfxExtCodingOption2*)videoParam->ExtParam[i]; + } ++#if (MFX_VERSION >= 2012) + else if (option->Header.BufferId == MFX_EXTBUFF_AV1_SCREEN_CONTENT_TOOLS) + { + extScreenContentCoding = (mfxExtAV1ScreenContentTools*)videoParam->ExtParam[i]; + } ++#endif + else if (option->Header.BufferId == MFX_EXTBUFF_HYPER_MODE_PARAM) + { + extHyperModeOption = (mfxExtHyperModeParam*)videoParam->ExtParam[i]; +@@ -221,13 +225,14 @@ static int log_encoder_params(const hb_work_private_t + hb_log("encqsvInit: GopRefDist %"PRIu16" GopPicSize %"PRIu16" NumRefFrame %"PRIu16" IdrInterval %"PRIu16"", + videoParam->mfx.GopRefDist, videoParam->mfx.GopPicSize, videoParam->mfx.NumRefFrame, videoParam->mfx.IdrInterval); + ++#if (MFX_VERSION >= 2012) + if (extScreenContentCoding && ((extScreenContentCoding->IntraBlockCopy == MFX_CODINGOPTION_ON) || (extScreenContentCoding->Palette == MFX_CODINGOPTION_ON))) + { + hb_log("encqsvInit: ScreenContentCoding is enabled IBC %s, Palette %s", + (extScreenContentCoding->IntraBlockCopy == MFX_CODINGOPTION_ON) ? "on" : "off", + (extScreenContentCoding->Palette == MFX_CODINGOPTION_ON) ? "on" : "off"); + } +- ++#endif + if (pv->qsv_info->capabilities & HB_QSV_CAP_B_REF_PYRAMID) + { + hb_log("encqsvInit: BFramesMax %d BRefType %s", +@@ -1670,7 +1675,9 @@ int encqsvInit(hb_work_object_t *w, hb_job_t *job) + mfxSession session = (mfxSession)0; + mfxExtCodingOption option1_buf, *option1 = &option1_buf; + mfxExtCodingOption2 option2_buf, *option2 = &option2_buf; ++#if (MFX_VERSION >= 2012) + mfxExtAV1ScreenContentTools screencont_coding_buf, *screencont_coding = &screencont_coding_buf; ++#endif + mfxExtCodingOptionSPSPPS sps_pps_buf, *sps_pps = &sps_pps_buf; + mfxExtAV1BitstreamParam av1_bitstream_buf, *av1_bitstream = &av1_bitstream_buf; + mfxExtChromaLocInfo chroma_loc_info_buf, *chroma_loc_info = &chroma_loc_info_buf; +@@ -1795,6 +1802,7 @@ int encqsvInit(hb_work_object_t *w, hb_job_t *job) + { + videoParam.ExtParam[videoParam.NumExtParam++] = (mfxExtBuffer*)hyper_encode; + } ++#if (MFX_VERSION >= 2012) + memset(screencont_coding, 0, sizeof(mfxExtAV1ScreenContentTools)); + screencont_coding->Header.BufferId = MFX_EXTBUFF_AV1_SCREEN_CONTENT_TOOLS; + screencont_coding->Header.BufferSz = sizeof(mfxExtAV1ScreenContentTools); +@@ -1802,6 +1810,7 @@ int encqsvInit(hb_work_object_t *w, hb_job_t *job) + { + videoParam.ExtParam[videoParam.NumExtParam++] = (mfxExtBuffer*)screencont_coding; + } ++#endif + /* Query actual encoding parameters after MFXVideoENCODE_Init, some of them could be overridden */ + sts = MFXVideoENCODE_GetVideoParam(session, &videoParam); + if (sts != MFX_ERR_NONE) diff --git a/multimedia/handbrake/files/patch-libhb_handbrake_qsv__common.h b/multimedia/handbrake/files/patch-libhb_handbrake_qsv__common.h new file mode 100644 index 000000000000..87c487304cad --- /dev/null +++ b/multimedia/handbrake/files/patch-libhb_handbrake_qsv__common.h @@ -0,0 +1,12 @@ +--- libhb/handbrake/qsv_common.h.orig 2024-12-01 15:28:40 UTC ++++ libhb/handbrake/qsv_common.h +@@ -171,7 +171,9 @@ typedef struct + mfxExtCodingOption2 codingOption2; + mfxExtVideoSignalInfo videoSignalInfo; + mfxExtHyperModeParam hyperEncodeParam; ++#if (MFX_VERSION >= 2012) + mfxExtAV1ScreenContentTools av1ScreenContentToolsParam; ++#endif + mfxExtChromaLocInfo chromaLocInfo; + mfxExtMasteringDisplayColourVolume masteringDisplayColourVolume; + mfxExtContentLightLevelInfo contentLightLevelInfo; diff --git a/multimedia/handbrake/files/patch-libhb_qsv__common.c b/multimedia/handbrake/files/patch-libhb_qsv__common.c new file mode 100644 index 000000000000..78580b06be46 --- /dev/null +++ b/multimedia/handbrake/files/patch-libhb_qsv__common.c @@ -0,0 +1,120 @@ +--- libhb/qsv_common.c.orig 2024-12-01 15:28:40 UTC ++++ libhb/qsv_common.c +@@ -463,6 +463,7 @@ int qsv_map_mfx_platform_codename(int mfx_platform_cod + case MFX_PLATFORM_DG2: + case MFX_PLATFORM_ALDERLAKE_N: + case MFX_PLATFORM_KEEMBAY: ++#if (MFX_VERSION >= 2012) + case MFX_PLATFORM_METEORLAKE: + case MFX_PLATFORM_BATTLEMAGE: + case MFX_PLATFORM_ARROWLAKE: +@@ -471,6 +472,7 @@ int qsv_map_mfx_platform_codename(int mfx_platform_cod + case MFX_PLATFORM_LUNARLAKE: + platform = HB_CPU_PLATFORM_INTEL_LNL; + break; ++#endif + default: + platform = HB_CPU_PLATFORM_UNSPECIFIED; + } +@@ -984,7 +986,7 @@ static void init_ext_av1bitstream_option(mfxExtAV1Bits + extAV1BitstreamParam->Header.BufferSz = sizeof(mfxExtAV1BitstreamParam); + extAV1BitstreamParam->WriteIVFHeaders = MFX_CODINGOPTION_OFF; + } +- ++#if (MFX_VERSION >= 2012) + static void init_ext_av1screencontent_tools(mfxExtAV1ScreenContentTools *extScreenContentTools) + { + if (extScreenContentTools == NULL) +@@ -998,7 +1000,7 @@ static void init_ext_av1screencontent_tools(mfxExtAV1S + extScreenContentTools->IntraBlockCopy = MFX_CODINGOPTION_OFF; + extScreenContentTools->Palette = MFX_CODINGOPTION_OFF; + } +- ++#endif + static int query_capabilities(mfxSession session, int index, mfxVersion version, hb_qsv_info_t *info, int lowpower) + { + /* +@@ -1026,7 +1028,9 @@ static int query_capabilities(mfxSession session, int + mfxExtMasteringDisplayColourVolume extMasteringDisplayColourVolume; + mfxExtContentLightLevelInfo extContentLightLevelInfo; + mfxExtAV1BitstreamParam extAV1BitstreamParam; ++#if (MFX_VERSION >= 2012) + mfxExtAV1ScreenContentTools extAV1ScreenContentToolsParam; ++#endif + mfxExtHyperModeParam extHyperEncodeParam; + + /* Reset capabilities before querying */ +@@ -1460,6 +1464,7 @@ static int query_capabilities(mfxSession session, int + info->capabilities |= HB_QSV_CAP_HYPERENCODE; + } + } ++#if (MFX_VERSION >= 2012) + if ((lowpower == MFX_CODINGOPTION_ON) && (info->codec_id == MFX_CODEC_AV1)) + { + init_video_param(&videoParam); +@@ -1494,6 +1499,7 @@ static int query_capabilities(mfxSession session, int + info->capabilities |= HB_QSV_CAP_AV1_SCREENCONTENT; + } + } ++#endif + } + + return 0; +@@ -1935,10 +1941,12 @@ static void log_encoder_capabilities(const int log_lev + strcat(buffer, "+nmpslice"); + } + } ++#if (MFX_VERSION >= 2012) + if (caps & HB_QSV_CAP_AV1_SCREENCONTENT) + { + strcat(buffer, " av1screencontent"); + } ++#endif + if (caps & HB_QSV_CAP_HYPERENCODE) + { + strcat(buffer, " hyperencode"); +@@ -3011,6 +3019,7 @@ int hb_qsv_param_parse(hb_qsv_param_t *param, hb_qsv_i + param->hyperEncodeParam.Mode = mode->value; + } + } ++#if (MFX_VERSION >= 2012) + else if (!strcasecmp(key, "palette")) + { + if (info->capabilities & HB_QSV_CAP_AV1_SCREENCONTENT) +@@ -3041,6 +3050,7 @@ int hb_qsv_param_parse(hb_qsv_param_t *param, hb_qsv_i + return HB_QSV_PARAM_UNSUPPORTED; + } + } ++#endif + else if (!strcasecmp(key, "async-depth")) + { + int async_depth = hb_qsv_atoi(value, &error); +@@ -3527,13 +3537,14 @@ int hb_qsv_param_default(hb_qsv_param_t *param, mfxVid + param->av1BitstreamParam.Header.BufferId = MFX_EXTBUFF_AV1_BITSTREAM_PARAM; + param->av1BitstreamParam.Header.BufferSz = sizeof(mfxExtAV1BitstreamParam); + param->av1BitstreamParam.WriteIVFHeaders = MFX_CODINGOPTION_OFF; ++#if (MFX_VERSION >= 2012) + // introduced in API 2.11 + memset(¶m->av1ScreenContentToolsParam, 0, sizeof(mfxExtAV1ScreenContentTools)); + param->av1ScreenContentToolsParam.Header.BufferId = MFX_EXTBUFF_AV1_SCREEN_CONTENT_TOOLS; + param->av1ScreenContentToolsParam.Header.BufferSz = sizeof(mfxExtAV1ScreenContentTools); + param->av1ScreenContentToolsParam.IntraBlockCopy = MFX_CODINGOPTION_OFF; + param->av1ScreenContentToolsParam.Palette = MFX_CODINGOPTION_OFF; +- ++#endif + // GOP & rate control + param->gop.b_pyramid = 1; // enabled by default (if supported) + param->gop.gop_pic_size = -1; // set automatically +@@ -3607,10 +3618,12 @@ int hb_qsv_param_default(hb_qsv_param_t *param, mfxVid + { + param->videoParam->ExtParam[param->videoParam->NumExtParam++] = (mfxExtBuffer*)¶m->av1BitstreamParam; + } ++#if (MFX_VERSION >= 2012) + if (info->capabilities & HB_QSV_CAP_AV1_SCREENCONTENT) + { + param->videoParam->ExtParam[param->videoParam->NumExtParam++] = (mfxExtBuffer*)¶m->av1ScreenContentToolsParam; + } ++#endif + #if defined(_WIN32) || defined(__MINGW32__) + if (info->capabilities & HB_QSV_CAP_LOWPOWER_ENCODE) + {