Commit 17cd1dac authored by Maksim Shabunin's avatar Maksim Shabunin

HAL Filter2D interface: Updated according to comments

parent 85b2c2ae
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
#define CV_IMGPROC_HAL_HPP #define CV_IMGPROC_HAL_HPP
#include "opencv2/core/cvdef.h" #include "opencv2/core/cvdef.h"
#include "opencv2/core/cvstd.hpp"
#include "opencv2/core/hal/interface.h" #include "opencv2/core/hal/interface.h"
namespace cv { namespace hal { namespace cv { namespace hal {
...@@ -9,42 +10,29 @@ namespace cv { namespace hal { ...@@ -9,42 +10,29 @@ namespace cv { namespace hal {
//! @addtogroup core_hal_functions //! @addtogroup core_hal_functions
//! @{ //! @{
struct FilterContext struct CV_EXPORTS Filter2D
{ {
void * impl; static Ptr<hal::Filter2D> createFilter2D(uchar * kernel_data, size_t kernel_step, int kernel_type,
FilterContext() : impl(0) {}
};
CV_EXPORTS
void init_filter2d(FilterContext &c,
uchar * kernel_data, size_t kernel_step, int kernel_type,
int kernel_width, int kernel_height, int kernel_width, int kernel_height,
int max_width, int max_height, int max_width, int max_height,
int stype, int dtype, int stype, int dtype,
int borderType, double delta, int anchor_x, int anchor_y, bool isSubmatrix, bool isInplace); int borderType, double delta,
int anchor_x, int anchor_y,
CV_EXPORTS bool isSubmatrix, bool isInplace);
void filter2d(FilterContext & c, uchar * src_data, size_t src_step, uchar * dst_data, size_t dst_step, static Ptr<hal::Filter2D> createSepFilter2D(int stype, int dtype, int ktype,
int width, int height, int full_width, int full_height, int offset_x, int offset_y); uchar * kernelx_data, size_t kernelx_step,
int kernelx_width, int kernelx_height,
CV_EXPORTS uchar * kernely_data, size_t kernely_step,
void free_filter2d(FilterContext & c); int kernely_width, int kernely_height,
int anchor_x, int anchor_y,
double delta, int borderType);
CV_EXPORTS virtual void apply(uchar * src_data, size_t src_step,
void init_sepFilter2d(FilterContext & c, int stype, int dtype, int ktype, uchar * dst_data, size_t dst_step,
uchar * kernelx_data, size_t kernelx_step, int kernelx_width, int kernelx_height, int width, int height,
uchar * kernely_data, size_t kernely_step, int kernely_width, int kernely_height, int full_width, int full_height,
int anchor_x, int anchor_y, double delta, int borderType); int offset_x, int offset_y) = 0;
virtual ~Filter2D() {}
CV_EXPORTS };
void sepFilter2d(FilterContext & c, uchar* src_data, size_t src_step, uchar* dst_data, size_t dst_step,
int width, int height, int full_width, int full_height,
int offset_x, int offset_y);
CV_EXPORTS
void free_sepFilter2d(FilterContext & c);
//! @} //! @}
......
This diff is collapsed.
...@@ -3,17 +3,19 @@ ...@@ -3,17 +3,19 @@
#include "opencv2/core/hal/interface.h" #include "opencv2/core/hal/interface.h"
inline int hal_ni_filterInit(void **, uchar *, size_t, int, int, int, int, int, int, int, int, double, int, int, bool, bool) { return CV_HAL_ERROR_NOT_IMPLEMENTED; } struct cvhalFilter2D {};
inline int hal_ni_filter(void *, uchar *, size_t, uchar *, size_t, int, int, int, int, int, int) { return CV_HAL_ERROR_NOT_IMPLEMENTED; }
inline int hal_ni_filterFree(void *) { return CV_HAL_ERROR_NOT_IMPLEMENTED; } inline int hal_ni_filterInit(cvhalFilter2D **, uchar *, size_t, int, int, int, int, int, int, int, int, double, int, int, bool, bool) { return CV_HAL_ERROR_NOT_IMPLEMENTED; }
inline int hal_ni_filter(cvhalFilter2D *, uchar *, size_t, uchar *, size_t, int, int, int, int, int, int) { return CV_HAL_ERROR_NOT_IMPLEMENTED; }
inline int hal_ni_filterFree(cvhalFilter2D *) { return CV_HAL_ERROR_NOT_IMPLEMENTED; }
#define cv_hal_filterInit hal_ni_filterInit #define cv_hal_filterInit hal_ni_filterInit
#define cv_hal_filter hal_ni_filter #define cv_hal_filter hal_ni_filter
#define cv_hal_filterFree hal_ni_filterFree #define cv_hal_filterFree hal_ni_filterFree
inline int hal_ni_sepFilterInit(void **, int, int, int, uchar *, size_t, int, int, uchar *, size_t, int, int, int, int, double, int) { return CV_HAL_ERROR_NOT_IMPLEMENTED; } inline int hal_ni_sepFilterInit(cvhalFilter2D **, int, int, int, uchar *, size_t, int, int, uchar *, size_t, int, int, int, int, double, int) { return CV_HAL_ERROR_NOT_IMPLEMENTED; }
inline int hal_ni_sepFilter(void *, uchar *, size_t, uchar*, size_t, int, int, int, int, int, int) { return CV_HAL_ERROR_NOT_IMPLEMENTED; } inline int hal_ni_sepFilter(cvhalFilter2D *, uchar *, size_t, uchar*, size_t, int, int, int, int, int, int) { return CV_HAL_ERROR_NOT_IMPLEMENTED; }
inline int hal_ni_sepFilterFree(void *) { return CV_HAL_ERROR_NOT_IMPLEMENTED; } inline int hal_ni_sepFilterFree(cvhalFilter2D *) { return CV_HAL_ERROR_NOT_IMPLEMENTED; }
#define cv_hal_sepFilterInit hal_ni_sepFilterInit #define cv_hal_sepFilterInit hal_ni_sepFilterInit
#define cv_hal_sepFilter hal_ni_sepFilter #define cv_hal_sepFilter hal_ni_sepFilter
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment