mirror of
https://github.com/opencv/opencv.git
synced 2024-11-23 18:50:21 +08:00
Updated OpenVX detector and wrappers to handle Reference attribute names change
This commit is contained in:
parent
3e2b05b096
commit
5ebf066dd5
3
3rdparty/openvx/hal/openvx_hal.cpp
vendored
3
3rdparty/openvx/hal/openvx_hal.cpp
vendored
@ -11,6 +11,7 @@
|
||||
#include <cfloat>
|
||||
#include <climits>
|
||||
#include <cmath>
|
||||
#include <cstring>
|
||||
|
||||
//==================================================================================================
|
||||
// utility
|
||||
@ -1076,7 +1077,7 @@ int ovx_hal_integral(int depth, int sdepth, int, const uchar * a, size_t astep,
|
||||
ib = ivx::Image::createFromHandle(ctx, VX_DF_IMAGE_U32,
|
||||
ivx::Image::createAddressing(w, h, 4, (vx_int32)bstep), (unsigned int *)(b + bstep + sizeof(unsigned int)));
|
||||
ivx::IVX_CHECK_STATUS(vxuIntegralImage(ctx, ia, ib));
|
||||
memset(b, 0, (w + 1) * sizeof(unsigned int));
|
||||
std::memset(b, 0, (w + 1) * sizeof(unsigned int));
|
||||
b += bstep;
|
||||
for (int i = 0; i < h; i++, b += bstep)
|
||||
{
|
||||
|
6
3rdparty/openvx/include/ivx.hpp
vendored
6
3rdparty/openvx/include/ivx.hpp
vendored
@ -32,6 +32,12 @@ static const vx_enum VX_INTERPOLATION_NEAREST_NEIGHBOR = VX_INTERPOLATION_TYPE_N
|
||||
static const vx_enum VX_BORDER_CONSTANT = VX_BORDER_MODE_CONSTANT;
|
||||
static const vx_enum VX_BORDER_REPLICATE = VX_BORDER_MODE_REPLICATE;
|
||||
|
||||
#else
|
||||
|
||||
#ifdef IVX_RENAMED_REFS
|
||||
static const vx_enum VX_REF_ATTRIBUTE_TYPE = VX_REFERENCE_TYPE;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef IVX_USE_CXX98
|
||||
|
@ -25,6 +25,20 @@ endif()
|
||||
|
||||
if(OPENVX_INCLUDE_DIR AND OPENVX_LIBRARIES)
|
||||
set(HAVE_OPENVX TRUE)
|
||||
|
||||
try_compile(OPENVX_RENAMED_REF
|
||||
"${OpenCV_BINARY_DIR}"
|
||||
"${OpenCV_SOURCE_DIR}/cmake/checks/openvx_refenum_test.cpp"
|
||||
CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:STRING=${OPENVX_INCLUDE_DIR}"
|
||||
LINK_LIBRARIES ${OPENVX_LIBRARIES}
|
||||
OUTPUT_VARIABLE OUTPUT
|
||||
)
|
||||
if(OPENVX_RENAMED_REF)
|
||||
add_definitions(-DIVX_RENAMED_REFS=1)
|
||||
message(STATUS "OpenVX: Checking reference attribute name convention... New")
|
||||
else()
|
||||
message(STATUS "OpenVX: Checking reference attribute name convention... Old")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT HAVE_OPENVX)
|
||||
|
5
cmake/checks/openvx_refenum_test.cpp
Normal file
5
cmake/checks/openvx_refenum_test.cpp
Normal file
@ -0,0 +1,5 @@
|
||||
#include <VX/vx.h>
|
||||
int main()
|
||||
{
|
||||
return VX_REFERENCE_COUNT == VX_REFERENCE_TYPE ? VX_REFERENCE_NAME : 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user