Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Recent HAL changes ported to 4.9#26395

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Closed
savuor wants to merge15 commits intoopencv:4.xfromsavuor:rv/fastcv_hal_4.9
Closed
Show file tree
Hide file tree
Changes from1 commit
Commits
Show all changes
15 commits
Select commitHold shift + click to select a range
67fe2ba
Merge pull request #25789 from asmorkalov:as/HAL_meanStdDev_tails
asmorkalovJun 27, 2024
e8cc13c
Merge pull request #25789 from asmorkalov:as/HAL_meanStdDev_tails
asmorkalovJun 27, 2024
b25db18
Relax equalizeHist test for some HAL implementations.
asmorkalovJun 27, 2024
e5f2be8
Use Carotene implementation of TEGRA_GaussianBlurBinomial 3x3 and 5x5…
asmorkalovJun 20, 2024
153a50a
Merge pull request #25792 from asmorkalov:as/HAL_fast_GaussianBlur
asmorkalovJul 12, 2024
e376ee7
Merge pull request #25936 from savuor:rv/hal_dot
savuorJul 23, 2024
ff8afe8
Report used HAL to test log and xml
asmorkalovJul 23, 2024
2f6c235
Merge pull request #25970 from savuor:rv/hal_pyrdown
savuorAug 6, 2024
a242431
Got rid of CAROTENE_NEON_ARCH and use standard __ARM_ARCH check.
asmorkalovAug 30, 2024
14e4be0
Merge pull request #26080 from asmorkalov:as/HAL_minMaxIdx_ND_offset
asmorkalovAug 30, 2024
a8f2b2b
Excluded nullptr leak to arithmetic HAL got from empty Mat.
asmorkalovSep 6, 2024
5a2e561
Merge pull request #26143 from asmorkalov:as/HAL_opticalFlowLK
asmorkalovSep 16, 2024
ba340ee
Merge pull request #26163 from asmorkalov:as/HAL_schaar_deriv
asmorkalovSep 23, 2024
5ee4f59
OpenCV Acceleration with FastCV HAL changes
sssanjee-quicOct 16, 2024
6f907fb
Fastcv HAL changes for Opencv Acceleration
sssanjee-quicOct 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
PrevPrevious commit
NextNext commit
Got rid of CAROTENE_NEON_ARCH and use standard __ARM_ARCH check.
  • Loading branch information
@asmorkalov
asmorkalov authored andRostislav Vasilikhin committedNov 1, 2024
commita242431513a085ca4359929e17f71169f5d70846
4 changes: 4 additions & 0 deletions3rdparty/carotene/CMakeLists.txt
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -52,5 +52,9 @@ if(WITH_NEON)
endif()
endif()

if(MINGW)
target_compile_definitions(carotene_objs PRIVATE "-D_USE_MATH_DEFINES=1")
endif()

# we add dummy file to fix XCode build
add_library(carotene STATIC ${OPENCV_3RDPARTY_EXCLUDE_FROM_ALL} "$<TARGET_OBJECTS:carotene_objs>" "${CAROTENE_SOURCE_DIR}/dummy.cpp")
4 changes: 2 additions & 2 deletions3rdparty/carotene/hal/tegra_hal.hpp
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -1857,7 +1857,7 @@ TegraCvtColor_Invoker(bgrx2hsvf, bgrx2hsv, src_data + static_cast<size_t>(range.
#endif

// The optimized branch was developed for old armv7 processors and leads to perf degradation on armv8
#if defined(DCAROTENE_NEON_ARCH) && (DCAROTENE_NEON_ARCH == 7)
#if defined(__ARM_ARCH) && (__ARM_ARCH == 7)
inline CAROTENE_NS::BORDER_MODE borderCV2Carotene(int borderType)
{
switch(borderType)
Expand DownExpand Up@@ -1928,7 +1928,7 @@ inline int TEGRA_GaussianBlurBinomial(const uchar* src_data, size_t src_step, uc
#undef cv_hal_gaussianBlurBinomial
#define cv_hal_gaussianBlurBinomial TEGRA_GaussianBlurBinomial

#endif //DCAROTENE_NEON_ARCH=7
#endif //__ARM_ARCH=7

#endif // OPENCV_IMGPROC_HAL_INTERFACE_H

Expand Down
11 changes: 0 additions & 11 deletions3rdparty/carotene/src/common.hpp
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -58,17 +58,6 @@

namespace CAROTENE_NS { namespace internal {

#ifndef CAROTENE_NEON_ARCH
# if defined(__aarch64__) || defined(__aarch32__)
# define CAROTENE_NEON_ARCH 8
# else
# define CAROTENE_NEON_ARCH 7
# endif
#endif
#if ( !defined(__aarch64__) && !defined(__aarch32__) ) && (CAROTENE_NEON_ARCH == 8 )
# error("ARMv7 doen't support A32/A64 Neon instructions")
#endif

inline void prefetch(const void *ptr, size_t offset = 32*10)
{
#if defined __GNUC__
Expand Down
8 changes: 4 additions & 4 deletions3rdparty/carotene/src/vround_helper.hpp
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -57,7 +57,7 @@ namespace CAROTENE_NS { namespace internal {

inline uint32x4_t vroundq_u32_f32(const float32x4_t val)
{
#ifCAROTENE_NEON_ARCH>= 8 /* get ready for ARMv9 */
#ifdefined(__ARM_ARCH) && (__ARM_ARCH>= 8)
return vcvtnq_u32_f32(val);
#else
const float32x4_t delta = vdupq_n_f32(CAROTENE_ROUND_DELTA);
Expand All@@ -67,7 +67,7 @@ inline uint32x4_t vroundq_u32_f32(const float32x4_t val)

inline uint32x2_t vround_u32_f32(const float32x2_t val)
{
#ifCAROTENE_NEON_ARCH>= 8 /* get ready for ARMv9 */
#ifdefined(__ARM_ARCH) && (__ARM_ARCH>= 8)
return vcvtn_u32_f32(val);
#else
const float32x2_t delta = vdup_n_f32(CAROTENE_ROUND_DELTA);
Expand All@@ -77,7 +77,7 @@ inline uint32x2_t vround_u32_f32(const float32x2_t val)

inline int32x4_t vroundq_s32_f32(const float32x4_t val)
{
#ifCAROTENE_NEON_ARCH>= 8 /* get ready for ARMv9 */
#ifdefined(__ARM_ARCH) && (__ARM_ARCH>= 8)
return vcvtnq_s32_f32(val);
#else
const float32x4_t delta = vdupq_n_f32(CAROTENE_ROUND_DELTA);
Expand All@@ -87,7 +87,7 @@ inline int32x4_t vroundq_s32_f32(const float32x4_t val)

inline int32x2_t vround_s32_f32(const float32x2_t val)
{
#ifCAROTENE_NEON_ARCH>= 8 /* get ready for ARMv9 */
#ifdefined(__ARM_ARCH) && (__ARM_ARCH>= 8)
return vcvtn_s32_f32(val);
#else
const float32x2_t delta = vdup_n_f32(CAROTENE_ROUND_DELTA);
Expand Down
10 changes: 1 addition & 9 deletionsCMakeLists.txt
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -967,15 +967,7 @@ foreach(hal ${OpenCV_HAL})
if(";${CPU_BASELINE_FINAL};" MATCHES ";NEON;")
add_subdirectory(3rdparty/carotene/hal)
ocv_hal_register(CAROTENE_HAL_LIBRARIES CAROTENE_HAL_HEADERS CAROTENE_HAL_INCLUDE_DIRS)

if( NOT DEFINED CAROTENE_NEON_ARCH)
set(CAROTENE_NEON_MSG "Auto detected")
elseif( CAROTENE_NEON_ARCH GREATER 7)
set(CAROTENE_NEON_MSG "Force ARMv8+")
else()
set(CAROTENE_NEON_MSG "Force ARMv7")
endif()
list(APPEND OpenCV_USED_HAL "carotene (ver ${CAROTENE_HAL_VERSION}, ${CAROTENE_NEON_MSG})")
list(APPEND OpenCV_USED_HAL "carotene (ver ${CAROTENE_HAL_VERSION})")
else()
message(STATUS "Carotene: NEON is not available, disabling carotene...")
endif()
Expand Down
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -586,7 +586,6 @@ Following options can be used to change installation layout for common scenarios
| `BUILD_FAT_JAVA_LIB` | _ON_ (for static Android builds) | Build single _opencv_java_ dynamic library containing all library functionality bundled with Java bindings. |
| `BUILD_opencv_python2` | _ON_ | Build python2 bindings (deprecated). Python with development files and numpy must be installed. |
| `BUILD_opencv_python3` | _ON_ | Build python3 bindings. Python with development files and numpy must be installed. |
| `CAROTENE_NEON_ARCH` | '(auto)' | Switch NEON Arch for Carotene. If it sets nothing, it will be auto-detected. If it sets 8, ARMv8(and later) is used. Otherwise, ARMv7 is used. |

TODO: need separate tutorials covering bindings builds

Expand Down

[8]ページ先頭

©2009-2025 Movatter.jp