mirror of
https://github.com/opencv/opencv.git
synced 2025-06-07 17:44:04 +08:00
Changed restrictions for OpenVX HAL calls on small images
This commit is contained in:
parent
bf62dca45a
commit
0f1a56da7c
7
3rdparty/openvx/hal/openvx_hal.cpp
vendored
7
3rdparty/openvx/hal/openvx_hal.cpp
vendored
@ -82,9 +82,10 @@ inline bool dimTooBig(int size)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//OpenVX calls have essential overhead so it make sense to skip them for small images
|
//OpenVX calls have essential overhead so it make sense to skip them for small images
|
||||||
template <int kernel_id> inline bool skipSmallImages(int w, int h) { return w*h < 7680 * 4320; }
|
template <int kernel_id> inline bool skipSmallImages(int w, int h) { return w*h < 7680 * 4320; }
|
||||||
template <> inline bool skipSmallImages<VX_KERNEL_MULTIPLY>(int w, int h) { return w*h < 640 * 480; }
|
template <> inline bool skipSmallImages<VX_KERNEL_MULTIPLY>(int w, int h) { return w*h < 640 * 480; }
|
||||||
template <> inline bool skipSmallImages<VX_KERNEL_COLOR_CONVERT>(int w, int h) { return w*h < 2048 * 1536; }
|
template <> inline bool skipSmallImages<VX_KERNEL_COLOR_CONVERT>(int w, int h) { return w*h < 2048 * 1536; }
|
||||||
|
template <> inline bool skipSmallImages<VX_KERNEL_INTEGRAL_IMAGE>(int w, int h) { return w*h < 640 * 480; }
|
||||||
|
|
||||||
inline void setConstantBorder(ivx::border_t &border, vx_uint8 val)
|
inline void setConstantBorder(ivx::border_t &border, vx_uint8 val)
|
||||||
{
|
{
|
||||||
|
@ -28,11 +28,11 @@ CV_EXPORTS_W ivx::Context& getOpenVXContext();
|
|||||||
template <int kernel_id> inline bool skipSmallImages(int w, int h) { return w*h < 3840 * 2160; }
|
template <int kernel_id> inline bool skipSmallImages(int w, int h) { return w*h < 3840 * 2160; }
|
||||||
template <> inline bool skipSmallImages<VX_KERNEL_MINMAXLOC>(int w, int h) { return w*h < 3840 * 2160; }
|
template <> inline bool skipSmallImages<VX_KERNEL_MINMAXLOC>(int w, int h) { return w*h < 3840 * 2160; }
|
||||||
template <> inline bool skipSmallImages<VX_KERNEL_MEDIAN_3x3>(int w, int h) { return w*h < 1280 * 720; }
|
template <> inline bool skipSmallImages<VX_KERNEL_MEDIAN_3x3>(int w, int h) { return w*h < 1280 * 720; }
|
||||||
template <> inline bool skipSmallImages<VX_KERNEL_GAUSSIAN_3x3>(int w, int h) { return w*h < 1280 * 720; }
|
template <> inline bool skipSmallImages<VX_KERNEL_GAUSSIAN_3x3>(int w, int h) { return w*h < 320 * 240; }
|
||||||
template <> inline bool skipSmallImages<VX_KERNEL_BOX_3x3>(int w, int h) { return w*h < 1920 * 1080; }
|
template <> inline bool skipSmallImages<VX_KERNEL_BOX_3x3>(int w, int h) { return w*h < 640 * 480; }
|
||||||
template <> inline bool skipSmallImages<VX_KERNEL_HISTOGRAM>(int w, int h) { return w*h < 2048 * 1536; }
|
template <> inline bool skipSmallImages<VX_KERNEL_HISTOGRAM>(int w, int h) { return w*h < 2048 * 1536; }
|
||||||
template <> inline bool skipSmallImages<VX_KERNEL_SOBEL_3x3>(int w, int h) { return w*h < 1280 * 720; }
|
template <> inline bool skipSmallImages<VX_KERNEL_SOBEL_3x3>(int w, int h) { return w*h < 320 * 240; }
|
||||||
template <> inline bool skipSmallImages<VX_KERNEL_CUSTOM_CONVOLUTION>(int w, int h) { return w*h < 1280 * 720; }
|
template <> inline bool skipSmallImages<VX_KERNEL_CUSTOM_CONVOLUTION>(int w, int h) { return w*h < 640 * 480; }
|
||||||
|
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
@ -234,8 +234,8 @@ namespace cv
|
|||||||
border = VX_BORDER_CONSTANT;
|
border = VX_BORDER_CONSTANT;
|
||||||
break;
|
break;
|
||||||
case BORDER_REPLICATE:
|
case BORDER_REPLICATE:
|
||||||
border = VX_BORDER_REPLICATE;
|
// border = VX_BORDER_REPLICATE;
|
||||||
break;
|
// break;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user