mirror of
https://github.com/opencv/opencv.git
synced 2024-11-24 03:00:14 +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 <cfloat>
|
||||||
#include <climits>
|
#include <climits>
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
#include <cstring>
|
||||||
|
|
||||||
//==================================================================================================
|
//==================================================================================================
|
||||||
// utility
|
// 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,
|
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::Image::createAddressing(w, h, 4, (vx_int32)bstep), (unsigned int *)(b + bstep + sizeof(unsigned int)));
|
||||||
ivx::IVX_CHECK_STATUS(vxuIntegralImage(ctx, ia, ib));
|
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;
|
b += bstep;
|
||||||
for (int i = 0; i < h; i++, 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_CONSTANT = VX_BORDER_MODE_CONSTANT;
|
||||||
static const vx_enum VX_BORDER_REPLICATE = VX_BORDER_MODE_REPLICATE;
|
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
|
#endif
|
||||||
|
|
||||||
#ifndef IVX_USE_CXX98
|
#ifndef IVX_USE_CXX98
|
||||||
|
@ -25,6 +25,20 @@ endif()
|
|||||||
|
|
||||||
if(OPENVX_INCLUDE_DIR AND OPENVX_LIBRARIES)
|
if(OPENVX_INCLUDE_DIR AND OPENVX_LIBRARIES)
|
||||||
set(HAVE_OPENVX TRUE)
|
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()
|
endif()
|
||||||
|
|
||||||
if(NOT HAVE_OPENVX)
|
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