multimedia/handbrake: Remove port
Desktop application; personal use cases not relevant to server focus
This commit is contained in:
@@ -5489,6 +5489,7 @@ multimedia/gstreamer1-validate
|
||||
multimedia/gstreamermm
|
||||
multimedia/gtk-pipe-viewer
|
||||
multimedia/gtk-youtube-viewer
|
||||
multimedia/handbrake
|
||||
multimedia/haruna
|
||||
multimedia/helvum
|
||||
multimedia/iso2mkv
|
||||
|
||||
@@ -78,7 +78,6 @@
|
||||
SUBDIR += gstreamer1-plugins-x265
|
||||
SUBDIR += gstreamer1-rtsp-server
|
||||
SUBDIR += gstreamer1-vaapi
|
||||
SUBDIR += handbrake
|
||||
SUBDIR += harvid
|
||||
SUBDIR += intel-media-sdk
|
||||
SUBDIR += jmref
|
||||
|
||||
@@ -1,128 +0,0 @@
|
||||
PORTNAME= handbrake
|
||||
DISTVERSION= 1.9.2
|
||||
PORTREVISION= 2
|
||||
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}
|
||||
|
||||
MAINTAINER= naito.yuichiro@gmail.com
|
||||
COMMENT= Versatile DVD ripper and video transcoder
|
||||
WWW= https://handbrake.fr/
|
||||
|
||||
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
|
||||
|
||||
BUILD_DEPENDS= bash:shells/bash \
|
||||
nasm:devel/nasm \
|
||||
cmake:devel/cmake-core \
|
||||
meson:devel/meson \
|
||||
git:devel/git@lite
|
||||
LIB_DEPENDS= libdbus-1.so:devel/dbus \
|
||||
libdrm.so:graphics/libdrm \
|
||||
libturbojpeg.so:graphics/libjpeg-turbo \
|
||||
libass.so:multimedia/libass \
|
||||
libspeex.so:audio/speex \
|
||||
libogg.so:audio/libogg \
|
||||
libvorbis.so:audio/libvorbis \
|
||||
libvorbisenc.so:audio/libvorbis \
|
||||
libtheoradec.so:multimedia/libtheora \
|
||||
libtheoraenc.so:multimedia/libtheora \
|
||||
libx264.so:multimedia/libx264 \
|
||||
libvpx.so:multimedia/libvpx \
|
||||
libmp3lame.so:audio/lame \
|
||||
libopus.so:audio/opus \
|
||||
libjansson.so:devel/jansson
|
||||
|
||||
USES= autoreconf:build compiler:c11 gmake iconv libtool:build \
|
||||
localbase:ldflags ninja:build pkgconfig python:build
|
||||
|
||||
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.5.1.tar.bz2 \
|
||||
dovi_tool-libdovi-3.1.2.tar.gz \
|
||||
x265_4.1.tar.gz \
|
||||
zimg-3.0.5.tar.gz
|
||||
|
||||
.if !defined(PACKAGE_BUILDING)
|
||||
# DVDCSS version hardcoded in contrib/libdvdread/libdvdread-5.0.0-6-gcb1ae87/src/dvd_input.c (dlopen'ed)
|
||||
LIB_DEPENDS+= libdvdcss.so:multimedia/libdvdcss
|
||||
.endif
|
||||
|
||||
GNU_CONFIGURE= yes
|
||||
|
||||
CONFIGURE_ARGS= --force --enable-x265
|
||||
CONFIGURE_TARGET= build
|
||||
|
||||
MAKEFILE= GNUmakefile
|
||||
MAKE_ENV= V=1 ACLOCAL=${LOCALBASE}/bin/aclocal
|
||||
ALL_TARGET= #
|
||||
INSTALL_TARGET= install-strip
|
||||
|
||||
# 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
|
||||
OPTIONS_EXCLUDE_powerpc64= VPL
|
||||
OPTIONS_EXCLUDE_powerpc64le= VPL
|
||||
|
||||
OPTIONS_SUB= yes
|
||||
|
||||
FDK_AAC_DESC= Enable non-free Fraunhofer FDK AAC codec
|
||||
VPL_DESC= Intel oneVPL (aka Quick Sync Video)
|
||||
X11_DESC= Build GTK 3 based GUI program
|
||||
|
||||
FDK_AAC_CONFIGURE_ENABLE= fdk-aac
|
||||
FDK_AAC_VARS= LICENSE+=FDK_AAC LICENSE_COMB=multi
|
||||
|
||||
VPL_LIB_DEPENDS= libvpl.so:multimedia/onevpl \
|
||||
libmfx.so:multimedia/intel-media-sdk \
|
||||
libva-drm.so:multimedia/libva
|
||||
VPL_CONFIGURE_ON= --enable-qsv
|
||||
|
||||
X11_LIB_DEPENDS= libvpx.so:multimedia/libvpx
|
||||
X11_USES= gettext desktop-file-utils gnome gstreamer
|
||||
X11_USE= gstreamer=gdkpixbuf,libav \
|
||||
gnome=gtk40,intltool,cairo,gdkpixbuf,libxml2
|
||||
X11_CONFIGURE_OFF= --disable-gtk
|
||||
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.
|
||||
post-extract: .SILENT
|
||||
${MKDIR} ${WRKSRC}/download
|
||||
|
||||
pre-configure:
|
||||
cd ${DISTDIR}/${DIST_SUBDIR} && \
|
||||
${INSTALL_DATA} ${CONTRIB_FILES} \
|
||||
${WRKSRC}/download
|
||||
|
||||
# for powerpc64
|
||||
# picked from multimedia/ffmpeg/files/patch-libswscale_ppc_yuv2rgb__altivec.c
|
||||
${CP} ${FILESDIR}/P02-freebsd-ppc-libswscale.patch ${WRKSRC}/contrib/ffmpeg
|
||||
|
||||
post-install-X11-on:
|
||||
${LN} -sf ghb ${STAGEDIR}${PREFIX}/bin/HandBrake
|
||||
|
||||
.include <bsd.port.mk>
|
||||
@@ -1,23 +0,0 @@
|
||||
TIMESTAMP = 1740479422
|
||||
SHA256 (handbrake/HandBrake-1.9.2-source.tar.bz2) = f56696b9863a6c926c0eabdcb980cece9aa222c650278d455ac6873d3220ce49
|
||||
SIZE (handbrake/HandBrake-1.9.2-source.tar.bz2) = 9431665
|
||||
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.5.1.tar.bz2) = 4eddffd108f098e307b93c9da57b6125224dc5877b1b3d157b31be6ae8f1f093
|
||||
SIZE (handbrake/dav1d-1.5.1.tar.bz2) = 1214503
|
||||
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_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
|
||||
@@ -1,15 +0,0 @@
|
||||
Error:
|
||||
libswscale/ppc/yuv2rgb_altivec.c:288:36: error: redeclaration of 'vec_xl' must have the 'overloadable' attribute
|
||||
static inline vector unsigned char vec_xl(signed long long offset, const ubyte *addr)
|
||||
|
||||
--- a/libswscale/ppc/yuv2rgb_altivec.c.orig 2021-04-08 21:28:40 UTC
|
||||
+++ b/libswscale/ppc/yuv2rgb_altivec.c
|
||||
@@ -284,7 +284,7 @@ static inline void cvtyuvtoRGB(SwsContext *c, vector s
|
||||
* ------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
-#if !HAVE_VSX
|
||||
+#if !HAVE_VSX && !defined(__clang__)
|
||||
static inline vector unsigned char vec_xl(signed long long offset, const ubyte *addr)
|
||||
{
|
||||
const vector unsigned char *v_addr = (const vector unsigned char *) (addr + offset);
|
||||
@@ -1,20 +0,0 @@
|
||||
Disable vulkan support.
|
||||
Handbrake doesn't require Vulkan but if it is installed in build environment
|
||||
(for other ports like QT5), It fails to build Handbrake, because following
|
||||
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 2024-12-01 15:28:40 UTC
|
||||
+++ contrib/ffmpeg/module.defs
|
||||
@@ -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=ac3 \
|
||||
@@ -1,67 +0,0 @@
|
||||
--- 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)
|
||||
@@ -1,12 +0,0 @@
|
||||
--- 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;
|
||||
@@ -1,120 +0,0 @@
|
||||
--- 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)
|
||||
{
|
||||
@@ -1,8 +0,0 @@
|
||||
--- make/variant/freebsd.defs.orig 2019-11-09 20:44:32 UTC
|
||||
+++ make/variant/freebsd.defs
|
||||
@@ -15,4 +15,4 @@ GCC.args.g.max = -g3
|
||||
|
||||
GCC.MAJOR_VERSION = $(shell $(GCC.gcc) -dumpversion | cut -f 1 -d .)
|
||||
GCC.LDFLAGS = -lc++ -Wl,-rpath=$(LOCALBASE)/lib/gcc$(GCC.MAJOR_VERSION)
|
||||
-LDFLAGS += $(if $(findstring gcc, $(GCC.gcc)), $(GCC.LDFLAGS), )
|
||||
+LDFLAGS += $(if $(findstring gcc, $(GCC.gcc)), $(if $(shell /usr/bin/clang -dumpversion 2> /dev/null), $(GCC.LDFLAGS), ), )
|
||||
@@ -1,11 +0,0 @@
|
||||
--- scripts/repo-info.sh.orig 2023-11-12 12:42:45 UTC
|
||||
+++ scripts/repo-info.sh
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Retrieves git repository info for directory ${1} using command ${2}
|
||||
-
|
||||
+exit 1
|
||||
repo_info()
|
||||
{
|
||||
# Process args
|
||||
@@ -1,21 +0,0 @@
|
||||
HandBrake is an open-source, GPL-licensed, multiplatform, multithreaded video
|
||||
transcoder with rich selection of features. Both GUI and command-line only
|
||||
versions are available.
|
||||
|
||||
Supported sources:
|
||||
|
||||
* Most common multimedia files that libavformat and libavcodec support
|
||||
* Any DVD or Bluray-like source which is NOT copy-protected (removal of
|
||||
copy protection is not supported)
|
||||
|
||||
Outputs:
|
||||
|
||||
* File (container) format: MP4 (M4V) and MKV
|
||||
* Video: H.264 (x264), H.265 (x265), MPEG-2/MPEG-4 (ffmpeg),
|
||||
VP8, VP9 (libvpx) or Theora (libtheora)
|
||||
* Audio: AAC, CoreAudio AAC/HE-AAC (OS X only), MP3, FLAC, AC3, or Vorbis;
|
||||
AC-3, DTS, DTS-HD, AAC, and MP3 pass-through
|
||||
|
||||
HandBrake also includes support for chapters, subtitles, advanced video
|
||||
filters, and more. It is also useful for making videos compatible with
|
||||
portable video devices such as the Apple iPod/iPhone.
|
||||
@@ -1,39 +0,0 @@
|
||||
bin/HandBrakeCLI
|
||||
%%X11%%bin/ghb
|
||||
%%X11%%bin/HandBrake
|
||||
%%X11%%share/applications/fr.handbrake.ghb.desktop
|
||||
%%X11%%share/icons/hicolor/scalable/apps/fr.handbrake.ghb.svg
|
||||
%%X11%%share/locale/af/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/bg/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/ca/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/co/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/cs/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/da/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/de/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/es/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/eu/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/fi/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/fr/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/he/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/hr/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/it/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/ja/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/ka/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/ko/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/nl/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/no/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/pl/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/pt/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/pt_BR/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/ro/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/ru/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/si/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/sk/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/sl_SI/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/sv/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/th/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/tr/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/uk_UA/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/zh_CN/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/locale/zh_TW/LC_MESSAGES/ghb.mo
|
||||
%%X11%%share/metainfo/fr.handbrake.ghb.metainfo.xml
|
||||
Reference in New Issue
Block a user