diff --git a/multimedia/x265/Makefile b/multimedia/x265/Makefile index 0f84465e8d1b..be9a85a53b7f 100644 --- a/multimedia/x265/Makefile +++ b/multimedia/x265/Makefile @@ -1,159 +1,139 @@ PORTNAME= x265 -PORTVERSION= 3.6 -PORTREVISION= 1 +PORTVERSION= 4.1 CATEGORIES= multimedia MASTER_SITES= https://bitbucket.org/multicoreware/x265_git/downloads/ \ http://ftp.videolan.org/pub/videolan/x265/ DISTNAME= ${PORTNAME}_${PORTVERSION} MAINTAINER= ports@virtual-estates.net COMMENT= H.265/High Efficiency Video Coding (HEVC) format WWW= https://www.x265.org/ LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC:H}/COPYING USES= cmake compiler:c++14-lang cpe pathfix dos2unix CPE_VENDOR= multicorewareinc DOS2UNIX_FILES= common/scaler.cpp USE_LDCONFIG= yes CMAKE_ARGS= -DENABLE_TESTS=on -DGIT_ARCHETYPE=1 CMAKE_ON= ENABLE_HDR10_PLUS LDFLAGS_i386= -Wl,-znotext EXTRACT_AFTER_ARGS+= --exclude compat --exclude md5\.* --strip-components=1 PATCH_WRKSRC= ${WRKSRC:H} WRKSRC= ${WRKDIR}/source BB_TAG= Release_${DISTVERSION} OPTIONS_DEFINE= VMAF OPTIONS_DEFINE_amd64= SVTHEVC -OPTIONS_DEFAULT= HI10P HI12P HI8P OPTIMIZED_FLAGS +OPTIONS_DEFINE_powerpc= ALTIVEC +OPTIONS_DEFINE_powerpc64= ${OPTIONS_DEFINE_powerpc} +OPTIONS_DEFINE_powerpc64le= ${OPTIONS_DEFINE_powerpc} +OPTIONS_DEFAULT= HI10P HI12P HI8P OPTIMIZED_FLAGS ALTIVEC OPTIONS_MULTI= PIXELWIDTH OPTIONS_MULTI_PIXELWIDTH= HI10P HI12P HI8P OPTIONS_RADIO= OPTIMIZATION OPTIONS_RADIO_OPTIMIZATION= DEBUG OPTIMIZED_FLAGS DEBUG_DESC= Enable debugging (and -O0 -g) HI10P_DESC= Enable 10-bit pixels (may break on i386) HI12P_DESC= Enable 12-bit pixels (may break on i386) HI8P_DESC= Enable 8-bit pixel-width (you, probably, want this) OPTIMIZED_FLAGS_DESC= Enable O3 optimization SVTHEVC_DESC= HEVC encoding via SVT-HEVC -VMAF_DESC= VMAF scores (broken: needs older VMAF) +VMAF_DESC= VMAF scores VMAF_USES= localbase:ldflags DEBUG_CMAKE_ON= -DCMAKE_ASM_NASM_FLAGS:STRING="-g -O0" SVTHEVC_LIB_DEPENDS= libSvtHevcEnc.so:multimedia/svt-hevc SVTHEVC_CMAKE_ON= -DSVT_HEVC_INCLUDE_DIR:PATH="${LOCALBASE}/include/svt-hevc" SVTHEVC_CMAKE_BOOL= ENABLE_SVT_HEVC VMAF_CMAKE_ON= -DVMAF_INCLUDE_DIR:PATH="${LOCALBASE}/include/libvmaf" VMAF_LIB_DEPENDS= libvmaf.so:multimedia/vmaf VMAF_CMAKE_BOOL= ENABLE_LIBVMAF +ALTIVEC_CMAKE_BOOL= ENABLE_ALTIVEC .include -.if ${ARCH} == powerpc64le -CMAKE_ARGS+= -DCPU_POWER8=ON \ - -DENABLE_ALTIVEC=ON -.endif - -.if !${ARCH:Mpowerpc64*} && !${ARCH:Marmv7} +.if ${ARCH} == i386 && ${PORT_OPTIONS:MHI8P} || ${ARCH} == amd64 BUILD_DEPENDS= nasm:devel/nasm .endif DEFAULT_DEPTH= ${PORT_OPTIONS:MHI*P:O:ts/:T} OTHER_DEPTHS= ${PORT_OPTIONS:MHI*P:N${DEFAULT_DEPTH}} .if "${DEFAULT_DEPTH}" == "HI12P" CMAKE_ARGS+= -DMAIN12:BOOL=true .endif .if "${DEFAULT_DEPTH}" != "HI8P" CMAKE_ARGS+= -DHIGH_BIT_DEPTH:BOOL=true +.if ${ARCH} == i386 +CMAKE_ARGS+= -DENABLE_ASSEMBLY:BOOL=false +.endif .endif CMAKE_OTHER_ARGS= ${CMAKE_ARGS:C/.*-D_END_CUSTOM_OPTIONS=1 +//W} .if ${PORT_OPTIONS:MDEBUG} CFLAGS:= ${CFLAGS:N-O*} -O0 -g .endif .if ${PORT_OPTIONS:MOPTIMIZED_FLAGS} CFLAGS:= ${CFLAGS:N-O*} -O3 .endif -.for b in ${OTHER_DEPTHS:C/HI([0-9]+)P/\1/} -EXTRA_LINK_FLAGS+= -L${WRKSRC:H}/${b}bit - -.if ${ARCH} == powerpc64le - -.if ${b} != 8 -ASSEMBLY= false -.else -ASSEMBLY= true +.if ${ARCH} == armv7 +CMAKE_ARGS+= -DENABLE_NEON:BOOL=true .endif -post-patch: - ${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' ${WRKSRC}/x265.h +.if ${ARCH:Mpowerpc*} +CMAKE_OTHER_ARGS+= ${CMAKE_ARGS:M*ALTIVEC*} -DCPU_POWER8=false +CMAKE_ARGS+= -DCPU_POWER8=false +.endif -pre-build:: - @${ECHO_MSG} "---> Building the ${b}-bit library ---" - ${MKDIR} ${WRKSRC:H}/${b}bit - ${CMAKE_BIN} -S ${WRKSRC} -B ${WRKSRC:H}/${b}bit \ - ${CMAKE_OTHER_ARGS} ${b:C/1./-DHIGH_BIT_DEPTH:BOOL=true/} \ - -DMAIN${b}:BOOL=true -DENABLE_ALTIVEC=${ASSEMBLY} -DCPU_POWER8=true \ - -DEXPORT_C_API:BOOL=false -DENABLE_CLI=false - ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C ${WRKSRC:H}/${b}bit ${MAKE_ARGS} - ${LN} -f ${WRKSRC:H}/${b}bit/libx265.a ${WRKSRC:H}/${b}bit/libx265_${b}bit.a - ${ECHO_MSG} "---> Built the ${b}-bit library ---" +.for b in ${OTHER_DEPTHS:C/HI([0-9]+)P/\1/} +EXTRA_LINK_FLAGS+= -L${WRKSRC:H}/$bbit -.else -.if ((${ARCH} == i386 || ${ARCH} == armv7) && $b != 8) || ${ARCH} == powerpc || ${ARCH} == powerpc64 +.if (${ARCH} == i386 && $b != 8) || ${ARCH:Mpowerpc*} ASSEMBLY= false .else ASSEMBLY= true .endif pre-build:: - @${ECHO_MSG} "---> Building the ${b}-bit library ---" - ${MKDIR} ${WRKSRC:H}/${b}bit - ${CMAKE_BIN} -S ${WRKSRC} -B ${WRKSRC:H}/${b}bit \ + @${ECHO_MSG} "---> Building the $b-bit library ---" + ${MKDIR} ${WRKSRC:H}/$bbit + ${CMAKE_BIN} -S ${WRKSRC} -B ${WRKSRC:H}/$bbit \ ${CMAKE_OTHER_ARGS} ${b:C/1./-DHIGH_BIT_DEPTH:BOOL=true/} \ - -DMAIN${b}:BOOL=true -DENABLE_ASSEMBLY:BOOL=${ASSEMBLY} -DCPU_POWER8=false -DENABLE_ALTIVEC:BOOL=false \ + -DMAIN$b:BOOL=true -DENABLE_ASSEMBLY:BOOL=${ASSEMBLY} \ -DEXPORT_C_API:BOOL=false -DENABLE_CLI=false - ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C ${WRKSRC:H}/${b}bit ${MAKE_ARGS} - ${LN} -f ${WRKSRC:H}/${b}bit/libx265.a ${WRKSRC:H}/${b}bit/libx265_${b}bit.a - ${ECHO_MSG} "---> Built the ${b}-bit library ---" -.endif + ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C ${WRKSRC:H}/$bbit ${MAKE_ARGS} + ${LN} -f ${WRKSRC:H}/$bbit/libx265.a ${WRKSRC:H}/$bbit/libx265_$bbit.a + @${ECHO_MSG} "---> Built the $b-bit library ---" .endfor .if "${EXTRA_LINK_FLAGS}" CMAKE_ARGS+= -DEXTRA_LINK_FLAGS:STRING="${EXTRA_LINK_FLAGS}" CMAKE_ARGS+= -DEXTRA_LIB="${OTHER_DEPTHS:C/HI([0-9]+)P/x265_\1bit/:C/ /;/gW}" CMAKE_ARGS+= ${OTHER_DEPTHS:C/HI([0-9]+)P/-DLINKED_\1BIT:BOOL=true/} .endif CMAKE_ARGS+= -DENABLE_SHARED:BOOL=true -.if ${ARCH} == i386 && ${DEFAULT_DEPTH} != "HI8P" -CMAKE_ARGS+= -DENABLE_ASSEMBLY:BOOL=false -.else -.if !${ARCH:Mpowerpc*} -CMAKE_ARGS+= -DENABLE_ASSEMBLY:BOOL=true -.elif ${ARCH} == powerpc64le -CMAKE_ARGS+= -DCPU_POWER8=ON \ - -DENABLE_ALTIVEC=ON -.elif ${ARCH} == powerpc64 -CMAKE_ARGS+= -DCPU_POWER8=OFF \ - -DENABLE_ALTIVEC=OFF -.endif - do-test: +.if ${PORT_OPTIONS:MHI8P} || ${ARCH} != i386 ${WRKDIR}/.build/test/TestBench +.else + @${ECHO_MSG} On ${ARCH} TestBench is only built, when 8bit is enabled .endif CMAKE_ARGS+= -D_END_CUSTOM_OPTIONS=1 CMAKE_ARGS+= -DENABLE_PIC:BOOL=true +.if !defined(DEVELOPER) +CMAKE_ARGS+= -Wno-dev +.endif + .include diff --git a/multimedia/x265/distinfo b/multimedia/x265/distinfo index 7e5f3d943d14..8f4377694bb7 100644 --- a/multimedia/x265/distinfo +++ b/multimedia/x265/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1727555881 -SHA256 (x265_3.6.tar.gz) = 663531f341c5389f460d730e62e10a4fcca3428ca2ca109693867bc5fe2e2807 -SIZE (x265_3.6.tar.gz) = 1655889 +TIMESTAMP = 1762019503 +SHA256 (x265_4.1.tar.gz) = a31699c6a89806b74b0151e5e6a7df65de4b49050482fe5ebf8a4379d7af8f29 +SIZE (x265_4.1.tar.gz) = 1725279 diff --git a/multimedia/x265/files/patch-arm-assembly b/multimedia/x265/files/patch-arm-assembly index e481269c43f0..dd3f71dd12c4 100644 --- a/multimedia/x265/files/patch-arm-assembly +++ b/multimedia/x265/files/patch-arm-assembly @@ -1,117 +1,108 @@ ---- source/common/arm/blockcopy8.S 2024-09-30 08:38:43.172350000 +0200 -+++ source/common/arm/blockcopy8.S 2024-09-30 09:13:08.635457000 +0200 -@@ -833,5 +833,5 @@ - vmov.u32 r0, d0[0] - uasx r0, r0, r0 -- mov r0, r0, lsr 16 -+ lsr r0, r0, #16 - rsb r0, #1024 - bx lr --- source/common/arm/asm.S 2024-04-04 11:39:50.000000000 +0200 +++ source/common/arm/asm.S 2024-09-30 19:45:33.295896000 +0200 @@ -85,4 +85,9 @@ .endm +.macro MYADRLSUB reg:req, label:req +sub \reg, pc, #((. - \label) & 0xff00) +sub \reg, \reg, #((. - \label) - ((. - \label) & 0xff00)) + 4 +.endm + .macro movrel rd, val #if HAVE_ARMV6T2 && !defined(PIC) @@ -90,5 +95,5 @@ movt \rd, #:upper16:\val #else - ldr \rd, =\val + MYADRLSUB \rd, \val #endif .endm --- source/common/arm/ipfilter8.S 2024-04-04 11:39:50.000000000 +0200 +++ source/common/arm/ipfilter8.S 2024-09-30 19:48:31.490019000 +0200 @@ -26,5 +26,5 @@ #include "asm.S" -.section .rodata +.text .align 4 @@ -43,7 +43,4 @@ .word -2, -2, 16, 16, 54, 54, -4 ,-4 .word -2, -2, 10, 10, 58, 58, -2, -2 - - -.text // filterPixelToShort(const pixel* src, intptr_t srcStride, int16_t* dst, intptr_t dstStride) --- source/common/arm/sad-a.S 2024-04-04 11:39:50.000000000 +0200 +++ source/common/arm/sad-a.S 2024-09-30 19:49:06.534263000 +0200 @@ -26,11 +26,9 @@ #include "asm.S" -.section .rodata +.text .align 4 sad12_mask: .byte 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0 - -.text /* sad4x4(pixel* dst, intptr_t dstStride, const pixel* src, intptr_t srcStride) --- source/test/checkasm-arm.S 2024-04-04 11:39:50.000000000 +0200 +++ source/test/checkasm-arm.S 2024-10-01 02:51:29.815273000 +0200 @@ -27,5 +27,5 @@ #include "../common/arm/asm.S" -.section .rodata +.text .align 4 register_init: @@ -41,6 +41,4 @@ error_message: .asciz "failed to preserve register" - -.text @ max number of args used by any x265 asm function. --- source/common/cpu.cpp 2024-04-04 11:39:50.000000000 +0200 +++ source/common/cpu.cpp 2024-10-01 02:56:32.094316000 +0200 @@ -339,6 +339,6 @@ extern "C" { -void PFX(cpu_neon_test)(void); -int PFX(cpu_fast_neon_mrc_test)(void); +void x265_cpu_neon_test(void); +int x265_cpu_fast_neon_mrc_test(void); } @@ -361,5 +361,5 @@ canjump = 1; - PFX(cpu_neon_test)(); + x265_cpu_neon_test(); canjump = 0; signal(SIGILL, oldsig); @@ -377,5 +377,5 @@ // right now Apple does not seem to support performance counters for this test #ifndef __MACH__ - flags |= PFX(cpu_fast_neon_mrc_test)() ? X265_CPU_FAST_NEON_MRC : 0; + flags |= x265_cpu_fast_neon_mrc_test() ? X265_CPU_FAST_NEON_MRC : 0; #endif // TODO: write dual issue test? currently it's A8 (dual issue) vs. A9 (fast mrc) --- source/test/testharness.h 2024-04-04 11:39:50.000000000 +0200 +++ source/test/testharness.h 2024-10-01 03:05:54.786008000 +0200 @@ -83,9 +83,12 @@ asm volatile("rdtsc" : "=a" (a) ::"edx"); #elif X265_ARCH_ARM + struct timeval tv; + gettimeofday(&tv, nullptr); + return static_cast(tv.tv_sec) * 1000000 + tv.tv_usec; // TOD-DO: verify following inline asm to get cpu Timestamp Counter for ARM arch // asm volatile("mrc p15, 0, %0, c9, c13, 0" : "=r"(a)); // TO-DO: replace clock() function with appropriate ARM cpu instructions - a = clock(); + // a = clock(); #elif X265_ARCH_ARM64 asm volatile("mrs %0, cntvct_el0" : "=r"(a)); diff --git a/multimedia/x265/files/patch-warnings b/multimedia/x265/files/patch-warnings index e1a65940be2e..31e3d2416405 100644 --- a/multimedia/x265/files/patch-warnings +++ b/multimedia/x265/files/patch-warnings @@ -1,342 +1,349 @@ --- source/encoder/entropy.cpp 2024-09-13 09:02:55.000000000 -0400 +++ source/encoder/entropy.cpp 2024-09-24 00:56:25.162151000 -0400 @@ -1758,5 +1762,7 @@ bool bDenomCoded = false; int numRefDirs = slice.m_sliceType == B_SLICE ? 2 : 1; +#if CHECKED_BUILD || _DEBUG uint32_t totalSignalledWeightFlags = 0; +#endif if ((slice.m_sliceType == P_SLICE && slice.m_pps->bUseWeightPred) || @@ -1784,5 +1790,7 @@ } WRITE_FLAG(!!wp[0].wtPresent, "luma_weight_lX_flag"); +#if CHECKED_BUILD || _DEBUG totalSignalledWeightFlags += wp[0].wtPresent; +#endif } @@ -1797,5 +1805,7 @@ wp = slice.m_weightPredTable[list][ref]; WRITE_FLAG(!!wp[1].wtPresent, "chroma_weight_lX_flag"); +#if CHECKED_BUILD || _DEBUG totalSignalledWeightFlags += 2 * wp[1].wtPresent; +#endif } } --- source/encoder/sao.cpp 2023-06-27 10:11:49.000000000 -0400 +++ source/encoder/sao.cpp 2023-10-22 21:03:08.008923000 -0400 @@ -740,5 +740,4 @@ const pixel* fenc0 = m_frame->m_fencPic->getPlaneAddr(plane, addr); const pixel* rec0 = reconPic->getPlaneAddr(plane, addr); - const pixel* fenc; const pixel* rec; intptr_t stride = plane ? reconPic->m_strideC : reconPic->m_stride; @@ -870,5 +869,4 @@ } - fenc = fenc0; rec = rec0; @@ -880,5 +878,4 @@ if (startY) { - fenc += stride; rec += stride; } @@ -895,5 +892,4 @@ skipR = 5; } - fenc = fenc0; rec = rec0; startX = !lpelx; @@ -905,5 +901,4 @@ if (startY) { - fenc += stride; rec += stride; } --- source/test/pixelharness.cpp 2023-06-27 10:11:49.000000000 -0400 +++ source/test/pixelharness.cpp 2023-10-22 21:37:53.184785000 -0400 @@ -999,5 +999,4 @@ bool PixelHarness::check_pixel_var(var_t ref, var_t opt) { - int j = 0; intptr_t stride = STRIDE; @@ -1012,5 +1011,4 @@ reportfail(); - j += INCR; } @@ -1352,6 +1350,4 @@ int8_t _upBuff1_vec[MAX_CU_SIZE + 2], *upBuff1_vec = _upBuff1_vec + 1; - int j = 0; - for (int i = 0; i < ITERS; i++) { @@ -1380,5 +1376,4 @@ reportfail(); - j += INCR; } @@ -1400,6 +1395,4 @@ int8_t _upBufft_vec[MAX_CU_SIZE + 2], *upBufft_vec = _upBufft_vec + 1; - int j = 0; - // NOTE: verify more times since our asm is NOT exact match to C, the output of upBuff* will be DIFFERENT for (int i = 0; i < ITERS * 10; i++) @@ -1434,5 +1427,4 @@ reportfail(); - j += INCR; } @@ -1452,6 +1444,4 @@ int8_t _upBuff1_vec[MAX_CU_SIZE + 2], *upBuff1_vec = _upBuff1_vec + 1; - int j = 0; - // (const pixel *fenc, const pixel *rec, intptr_t stride, int8_t *upBuff1, int endX, int endY, int32_t *stats, int32_t *count) for (int i = 0; i < ITERS; i++) @@ -1483,5 +1473,4 @@ reportfail(); - j += INCR; } @@ -1736,5 +1725,4 @@ uint16_t ref_coeffFlag[MLS_GRP_NUM], opt_coeffFlag[MLS_GRP_NUM]; // bit mask map for non-zero coeff - int totalCoeffs = 0; for (int i = 0; i < 32 * 32; i++) { @@ -1748,5 +1736,4 @@ if ((rand() % 10) < 8) ref_src[i] *= -1; - totalCoeffs += (ref_src[i] != 0); } @@ -1873,5 +1860,4 @@ memset(opt_absCoeff, 0xCD, sizeof(opt_absCoeff)); - int totalCoeffs = 0; for (int i = 0; i < 32 * 32; i++) { @@ -1885,5 +1871,4 @@ if ((rand() % 10) < 8) ref_src[i] *= -1; - totalCoeffs += (ref_src[i] != 0); } @@ -2230,5 +2215,4 @@ { intptr_t srcStep = 64; - int j = 0; uint32_t dst_ref[BUFFSIZE] = { 0 }; uint32_t dst_opt[BUFFSIZE] = { 0 }; @@ -2260,6 +2244,5 @@ return false; - reportfail() - j += INCR; + reportfail(); } return true; @@ -2272,5 +2255,4 @@ * where data movement in AVX2 is 8 elements at a time */ intptr_t srcStep[2] = { 56, 64 }; - int j = 0; uint32_t dst_ref[BUFFSIZE] = { 0 }; uint32_t dst_opt[BUFFSIZE] = { 0 }; @@ -2290,6 +2272,5 @@ return false; - reportfail() - j += INCR; + reportfail(); } } --- source/common/scaler.cpp 2023-06-27 10:11:49.000000000 -0400 +++ source/common/scaler.cpp 2023-10-22 21:43:05.304243000 -0400 @@ -512,8 +512,5 @@ int srcVCrPos; int dstVCrPos; - int dst_stride = SCALER_ALIGN(dstW * sizeof(int16_t) + 66, 16); m_bitDepth = dstVideoDesc->m_inputDepth; - if (m_bitDepth == 16) - dst_stride <<= 1; m_algorithmFlags = algorithmFlags; --- source/encoder/ratecontrol.cpp 2024-09-13 09:02:55.000000000 -0400 +++ source/encoder/ratecontrol.cpp 2024-09-23 23:12:11.531124000 -0400 @@ -661,5 +661,4 @@ /* read stats */ p = statsIn; - double totalQpAq = 0; for (int i = 0; i < m_numEntries; i++) { @@ -726,5 +725,4 @@ } rce->qScale = rce->newQScale = x265_qp2qScale(qpRc); - totalQpAq += qpAq; rce->qpNoVbv = qNoVbv; rce->qpaRc = qpRc; @@ -1105,5 +1103,5 @@ bool RateControl::initPass2() { - uint64_t allConstBits = 0, allCodedBits = 0; + uint64_t allConstBits = 0; uint64_t allAvailableBits = uint64_t(m_param->rc.bitrate * 1000. * m_numEntries * m_frameDuration); int startIndex, endIndex; @@ -1124,5 +1122,4 @@ { allConstBits += m_rce2Pass[endIndex].miscBits; - allCodedBits += m_rce2Pass[endIndex].coeffBits + m_rce2Pass[endIndex].mvBits; } @@ -1222,5 +1219,5 @@ double qScaleMin = x265_qp2qScale(m_param->rc.qpMin); double qScaleMax = x265_qp2qScale(m_param->rc.qpMax); - int iterations = 0 , adjMin, adjMax; + int adjMin, adjMax; CHECKED_MALLOC(fills, double, m_numEntries + 1); fills++; @@ -1229,5 +1226,4 @@ do { - iterations++; prevBits = expectedBits; --- source/encoder/search.cpp 2024-09-13 09:02:55.000000000 -0400 +++ source/encoder/search.cpp 2024-09-23 23:37:29.009223000 -0400 @@ -277,5 +277,4 @@ } - uint32_t tuDepthC = tuDepth; uint32_t log2TrSizeC = log2TrSize - m_hChromaShift; @@ -286,5 +285,4 @@ return; log2TrSizeC = 2; - tuDepthC--; } @@ -5706,10 +5708,8 @@ uint32_t log2TrSizeC = log2TrSize - m_hChromaShift; uint32_t codeChroma = (m_csp != X265_CSP_I400 && m_frame->m_fencPic->m_picCsp != X265_CSP_I400) ? 1 : 0; - uint32_t tuDepthC = tuDepth; if (log2TrSizeC < 2) { X265_CHECK(log2TrSize == 2 && m_csp != X265_CSP_I444 && tuDepth, "invalid tuDepth\n"); log2TrSizeC = 2; - tuDepthC--; codeChroma &= !(absPartIdx & 3); } --- source/dynamicHDR10/json11/json11.cpp 2024-09-13 09:02:55.000000000 -0400 +++ source/dynamicHDR10/json11/json11.cpp 2024-09-23 23:43:58.447286000 -0400 @@ -158,5 +158,5 @@ // Constructors explicit Value(const T &value) : m_value(value) {} - explicit Value(T &&value) : m_value(move(value)) {} + explicit Value(T &&value) : m_value(std::move(value)) {} // Get type tag @@ -205,5 +205,5 @@ public: explicit JsonString(const string &value) : Value(value) {} - explicit JsonString(string &&value) : Value(move(value)) {} + explicit JsonString(string &&value) : Value(std::move(value)) {} }; @@ -213,5 +213,5 @@ public: explicit JsonArray(const Json::array &value) : Value(value) {} - explicit JsonArray(Json::array &&value) : Value(move(value)) {} + explicit JsonArray(Json::array &&value) : Value(std::move(value)) {} }; @@ -221,5 +221,5 @@ public: explicit JsonObject(const Json::object &value) : Value(value) {} - explicit JsonObject(Json::object &&value) : Value(move(value)) {} + explicit JsonObject(Json::object &&value) : Value(std::move(value)) {} }; @@ -263,10 +263,10 @@ Json::Json(bool value) : m_ptr(value ? statics().t : statics().f) {} Json::Json(const string &value) : m_ptr(make_shared(value)) {} -Json::Json(string &&value) : m_ptr(make_shared(move(value))) {} +Json::Json(string &&value) : m_ptr(make_shared(std::move(value))) {} Json::Json(const char * value) : m_ptr(make_shared(value)) {} Json::Json(const Json::array &values) : m_ptr(make_shared(values)) {} -Json::Json(Json::array &&values) : m_ptr(make_shared(move(values))) {} +Json::Json(Json::array &&values) : m_ptr(make_shared(std::move(values))) {} Json::Json(const Json::object &values) : m_ptr(make_shared(values)) {} -Json::Json(Json::object &&values) : m_ptr(make_shared(move(values))) {} +Json::Json(Json::object &&values) : m_ptr(make_shared(std::move(values))) {} /* * * * * * * * * * * * * * * * * * * * @@ -362,5 +362,5 @@ */ Json fail(string &&msg) { - return fail(move(msg), Json()); + return fail(std::move(msg), Json()); } --- source/encoder/slicetype.cpp 2024-09-13 09:02:55.000000000 -0400 +++ source/encoder/slicetype.cpp 2024-09-23 23:46:16.350590000 -0400 @@ -1455,5 +1455,4 @@ uint32_t variance; - uint64_t blockXY = 0; pixel* src = curFrame->m_fencPic->m_picOrg[0]; @@ -1471,5 +1470,4 @@ rowVariance += variance; - blockXY++; } picTotVariance += (uint16_t)(rowVariance / maxCol); @@ -1502,5 +1500,4 @@ rowVariance += variance; - blockXY++; } picTotVariance += (uint16_t)(rowVariance / maxColChroma); @@ -1526,5 +1523,4 @@ rowVariance += variance; - blockXY++; } picTotVariance += (uint16_t)(rowVariance / maxColChroma); --- source/common/param.cpp 2024-09-13 09:02:55.000000000 -0400 +++ source/common/param.cpp 2024-09-23 23:52:41.800395000 -0400 @@ -871,10 +871,13 @@ bool bExtraParams = false; char nameBuf[64]; - static int count; if (!name) return X265_PARAM_BAD_NAME; +#ifdef SVT_HEVC + static int count; count++; +#endif + // skip -- prefix if provided if (name[0] == '-' && name[1] == '-') ---- source/common/cudata.cpp 2024-09-13 09:02:55.000000000 -0400 -+++ source/common/cudata.cpp 2024-09-24 00:04:19.872724000 -0400 -@@ -74,5 +74,5 @@ - inline bool isEqualRowOrCol(int addrA, int addrB) - { -- return isEqualCol(addrA, addrB) | isEqualRow(addrA, addrB); -+ return isEqualCol(addrA, addrB) || isEqualRow(addrA, addrB); - } +--- source/encoder/level.cpp 2024-11-22 07:07:34.000000000 -0500 ++++ source/encoder/level.cpp 2025-11-01 20:29:50.066886000 -0400 +@@ -61,13 +61,4 @@ + }; +-static inline int _confirm(x265_param* param, bool bflag, const char* message) +-{ +- if (!bflag) +- return 0; +- +- x265_log(param, X265_LOG_ERROR, "%s\n", message); +- return 1; +-} +- + /* determine minimum decoder level required to decode the described video */ + void determineLevel(const x265_param ¶m, VPS& vps) diff --git a/multimedia/x265/pkg-plist b/multimedia/x265/pkg-plist index 25e1a71607c4..179d1313492b 100644 --- a/multimedia/x265/pkg-plist +++ b/multimedia/x265/pkg-plist @@ -1,10 +1,10 @@ bin/x265 include/hdr10plus.h include/x265.h include/x265_config.h lib/libhdr10plus.a lib/libhdr10plus.so lib/libx265.a lib/libx265.so -lib/libx265.so.209 +lib/libx265.so.215 libdata/pkgconfig/x265.pc