1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-29 23:33:05 +04:00

Merge branch 4.x

This commit is contained in:
Alexander Smorkalov
2026-02-19 17:10:14 +03:00
120 changed files with 650 additions and 465 deletions
@@ -237,6 +237,8 @@ CV_INLINE int cvFloor( double value )
#if defined CV__FASTMATH_ENABLE_GCC_MATH_BUILTINS || \
defined CV__FASTMATH_ENABLE_CLANG_MATH_BUILTINS
return (int)__builtin_floor(value);
#elif defined(_MSC_VER) && (defined(_M_ARM64) || defined(_M_ARM64EC))
return (int)vcvtmd_s64_f64(value);
#elif defined __loongarch64
int i;
double tmp;
@@ -264,6 +266,8 @@ CV_INLINE int cvCeil( double value )
#if defined CV__FASTMATH_ENABLE_GCC_MATH_BUILTINS || \
defined CV__FASTMATH_ENABLE_CLANG_MATH_BUILTINS
return (int)__builtin_ceil(value);
#elif defined(_MSC_VER) && (defined(_M_ARM64) || defined(_M_ARM64EC))
return (int)vcvtpd_s64_f64(value);
#elif defined __loongarch64
int i;
double tmp;
@@ -362,6 +366,8 @@ CV_INLINE int cvFloor( float value )
#if defined CV__FASTMATH_ENABLE_GCC_MATH_BUILTINS || \
defined CV__FASTMATH_ENABLE_CLANG_MATH_BUILTINS
return (int)__builtin_floorf(value);
#elif defined(_MSC_VER) && (defined(_M_ARM64) || defined(_M_ARM64EC))
return (int)vcvtms_s32_f32(value);
#elif defined __loongarch__
int i;
float tmp;
@@ -389,6 +395,8 @@ CV_INLINE int cvCeil( float value )
#if defined CV__FASTMATH_ENABLE_GCC_MATH_BUILTINS || \
defined CV__FASTMATH_ENABLE_CLANG_MATH_BUILTINS
return (int)__builtin_ceilf(value);
#elif defined(_MSC_VER) && (defined(_M_ARM64) || defined(_M_ARM64EC))
return (int)vcvtps_s32_f32(value);
#elif defined __loongarch__
int i;
float tmp;
@@ -68,7 +68,7 @@ CV_EXPORTS void replaceWriteLogMessage(WriteLogMessageFuncType f);
/**
* @brief Replaces the OpenCV writeLogMessageEx function with a user-defined function.
* @note The user-defined function must have the same signature as writeLogMessage.
* @note The user-defined function must have the same signature as writeLogMessageEx.
* @note The user-defined function must accept arguments that can be potentially null.
* @note The user-defined function must be thread-safe, as OpenCV logging may be called
* from multiple threads.
@@ -258,7 +258,7 @@ VSX_IMPL_1VRG(vec_udword2, vec_dword2, vpopcntd, vec_popcntu)
// converts between single and double-precision
// vec_floate and vec_doubleo are available since Power10 and z14
#if defined(__POWER10__) || (defined(__powerpc64__) && defined(__ARCH_PWR10__)
#if defined(__POWER10__) || (defined(__powerpc64__) && defined(__ARCH_PWR10__))
// Use VSX double<->float conversion instructions (if supported by the architecture)
VSX_REDIRECT_1RG(vec_float4, vec_double2, vec_cvfo, vec_floate)
VSX_REDIRECT_1RG(vec_double2, vec_float4, vec_cvfo, vec_doubleo)