diff --git a/audio/exhale/Makefile b/audio/exhale/Makefile index c645b3481286..0ae30b1d7a73 100644 --- a/audio/exhale/Makefile +++ b/audio/exhale/Makefile @@ -1,29 +1,28 @@ PORTNAME= exhale -#DISTVERSIONPREFIX= v +DISTVERSIONPREFIX= v DISTVERSION= 1.2.2 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= audio MAINTAINER= diizzy@FreeBSD.org COMMENT= Open source xHE-AAC (Extended HE-AAC/USAC) encoder WWW= https://gitlab.com/ecodis/exhale LICENSE= EXHALE LICENSE_NAME= exhale Copyright License LICENSE_FILE= ${WRKSRC}/include/License.htm LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept USES= cmake USE_LDCONFIG= yes USE_GITLAB= yes GL_ACCOUNT= ecodis -GL_COMMIT= adef96eace10526b997dc974d960677ab759385b CMAKE_ON= BUILD_SHARED_LIBS PLIST_FILES= bin/exhale \ include/exhaleDecl.h \ lib/libexhale.so .include diff --git a/audio/exhale/distinfo b/audio/exhale/distinfo index 8de7f51dcd2b..9b0722d05ebf 100644 --- a/audio/exhale/distinfo +++ b/audio/exhale/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1765621337 -SHA256 (ecodis-exhale-adef96eace10526b997dc974d960677ab759385b_GL0.tar.gz) = 9930a5d4fc1f22b8ecf253044e702618f126cb0a95b7bdf27abb0c042ccbb407 -SIZE (ecodis-exhale-adef96eace10526b997dc974d960677ab759385b_GL0.tar.gz) = 144351 +TIMESTAMP = 1766955247 +SHA256 (exhale-v1.2.2.tar.bz2) = e16bb524584c67c24ea1d4b2b8cdb5bb14bcdf63e15663ed8e82eb26b0543478 +SIZE (exhale-v1.2.2.tar.bz2) = 120468 diff --git a/audio/exhale/files/patch-git-01-bf9ecb7999e4b1ea8df8684c294512f190fa028c b/audio/exhale/files/patch-git-01-bf9ecb7999e4b1ea8df8684c294512f190fa028c new file mode 100644 index 000000000000..453b432444ff --- /dev/null +++ b/audio/exhale/files/patch-git-01-bf9ecb7999e4b1ea8df8684c294512f190fa028c @@ -0,0 +1,38 @@ +From bf9ecb7999e4b1ea8df8684c294512f190fa028c Mon Sep 17 00:00:00 2001 +From: "Christian R. Helmrich" +Date: Mon, 22 Dec 2025 11:00:34 +0000 +Subject: [PATCH] fix CBR at preset>9 + +--- + src/lib/bitAllocation.cpp | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/lib/bitAllocation.cpp b/src/lib/bitAllocation.cpp +index 72c525a..ca23d92 100644 +--- src/lib/bitAllocation.cpp ++++ src/lib/bitAllocation.cpp +@@ -57,7 +57,7 @@ static void jndPowerLawAndPeakSmoothing (uint32_t* const stepSizes, const unsig + + if ((stepSizeM3 <= stepSizeM2) && (stepSizeM3 <= stepSizeM1) && (stepSizeB <= stepSizeM2) && (stepSizeB <= stepSizeM1)) + { +- const uint32_t maxM3M0 = __max (stepSizeM3, stepSizeB); // smoothen local spectral peak of _´`- shape ++ const uint32_t maxM3M0 = __max (stepSizeM3, stepSizeB); // smoothen local spectral peak of _'`- shape + + stepSizes[b - 2] = uint32_t ((modifiedB * stepSizes[b - 2] + oneMinusB * __min (maxM3M0, stepSizes[b - 2]) + 64) >> 7); // _-`- + stepSizes[b - 1] = uint32_t ((modifiedB * stepSizes[b - 1] + oneMinusB * __min (maxM3M0, stepSizes[b - 1]) + 64) >> 7); // _--- +@@ -105,9 +105,9 @@ uint16_t BitAllocator::getRateCtrlFac (const int32_t rateRatio, const unsigned s + const bool prevEightShorts /*= false*/) + { + #if BA_MORE_CBR +- const int32_t ratioFac = rateRatio * (40 - 5 * m_rateIndex); +- const uint32_t brRatio = __max ((prevEightShorts ? (ratioFac * ratioFac + (1 << 16)) >> 17 : 0) - SHRT_MIN, __min (USHRT_MAX, ratioFac)) - +- (m_rateIndex == 2 ? 1 << 12 : 0); // rate tuning ++ const int32_t ratioFac = rateRatio * (40 - 5 * __min (9, m_rateIndex)); ++ const uint32_t brRatio = __max ((prevEightShorts ? (ratioFac * ratioFac + (1 << 16)) >> 17 : 0) + 32768, __min (65535, ratioFac)) - ++ (m_rateIndex == 2 ? 4096 : 0); // rate tuning + const uint16_t mSfmSqr = (m_rateIndex <= 2 && samplingRate >= 27713 ? (specFlatness * specFlatness) >> m_rateIndex : 0); + #else + const uint32_t brRatio = __max (1 << 15, __min ((1 << 16) - 1, rateRatio * (36 - 9 * m_rateIndex))); +-- +GitLab +