You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -234,6 +249,8 @@ template int ovx_hal_mul<short>(const short *a, size_t astep, const short *b, si
234
249
235
250
intovx_hal_not(const uchar *a, size_t astep, uchar *c, size_t cstep, int w, int h)
236
251
{
252
+
if (skipSmallImages<VX_KERNEL_NOT>(w, h))
253
+
return CV_HAL_ERROR_NOT_IMPLEMENTED;
237
254
if (dimTooBig(w) || dimTooBig(h))
238
255
return CV_HAL_ERROR_NOT_IMPLEMENTED;
239
256
refineStep(w, h, VX_DF_IMAGE_U8, astep);
@@ -263,6 +280,8 @@ int ovx_hal_not(const uchar *a, size_t astep, uchar *c, size_t cstep, int w, int
263
280
264
281
intovx_hal_merge8u(const uchar **src_data, uchar *dst_data, int len, int cn)
265
282
{
283
+
if (skipSmallImages<VX_KERNEL_CHANNEL_COMBINE>(len, 1))
284
+
return CV_HAL_ERROR_NOT_IMPLEMENTED;
266
285
if (dimTooBig(len))
267
286
return CV_HAL_ERROR_NOT_IMPLEMENTED;
268
287
if (cn != 3 && cn != 4)
@@ -299,6 +318,8 @@ int ovx_hal_merge8u(const uchar **src_data, uchar *dst_data, int len, int cn)
299
318
300
319
intovx_hal_resize(int atype, const uchar *a, size_t astep, int aw, int ah, uchar *b, size_t bstep, int bw, int bh, double inv_scale_x, double inv_scale_y, int interpolation)
301
320
{
321
+
if (skipSmallImages<VX_KERNEL_SCALE_IMAGE>(aw, ah))
322
+
return CV_HAL_ERROR_NOT_IMPLEMENTED;
302
323
if (dimTooBig(aw) || dimTooBig(ah) || dimTooBig(bw) || dimTooBig(bh))
303
324
return CV_HAL_ERROR_NOT_IMPLEMENTED;
304
325
refineStep(aw, ah, VX_DF_IMAGE_U8, astep);
@@ -350,6 +371,8 @@ int ovx_hal_resize(int atype, const uchar *a, size_t astep, int aw, int ah, ucha
350
371
351
372
intovx_hal_warpAffine(int atype, const uchar *a, size_t astep, int aw, int ah, uchar *b, size_t bstep, int bw, int bh, constdouble M[6], int interpolation, int borderType, constdouble borderValue[4])
352
373
{
374
+
if (skipSmallImages<VX_KERNEL_WARP_AFFINE>(aw, ah))
375
+
return CV_HAL_ERROR_NOT_IMPLEMENTED;
353
376
if (dimTooBig(aw) || dimTooBig(ah) || dimTooBig(bw) || dimTooBig(bh))
354
377
return CV_HAL_ERROR_NOT_IMPLEMENTED;
355
378
refineStep(aw, ah, VX_DF_IMAGE_U8, astep);
@@ -410,6 +433,8 @@ int ovx_hal_warpAffine(int atype, const uchar *a, size_t astep, int aw, int ah,
410
433
411
434
intovx_hal_warpPerspectve(int atype, const uchar *a, size_t astep, int aw, int ah, uchar *b, size_t bstep, int bw, int bh, constdouble M[9], int interpolation, int borderType, constdouble borderValue[4])
412
435
{
436
+
if (skipSmallImages<VX_KERNEL_WARP_PERSPECTIVE>(aw, ah))
437
+
return CV_HAL_ERROR_NOT_IMPLEMENTED;
413
438
if (dimTooBig(aw) || dimTooBig(ah) || dimTooBig(bw) || dimTooBig(bh))
414
439
return CV_HAL_ERROR_NOT_IMPLEMENTED;
415
440
refineStep(aw, ah, VX_DF_IMAGE_U8, astep);
@@ -531,6 +556,7 @@ int ovx_hal_filterInit(cvhalFilter2D **filter_context, uchar *kernel_data, size_
531
556
for (int i = 0; i < kernel_width; ++i)
532
557
data.push_back(row[i]);
533
558
}
559
+
break;
534
560
default:
535
561
return CV_HAL_ERROR_NOT_IMPLEMENTED;
536
562
}
@@ -558,6 +584,8 @@ int ovx_hal_filterFree(cvhalFilter2D *filter_context)
558
584
559
585
intovx_hal_filter(cvhalFilter2D *filter_context, uchar *a, size_t astep, uchar *b, size_t bstep, int w, int h, int, int, int, int)
560
586
{
587
+
if (skipSmallImages<VX_KERNEL_CUSTOM_CONVOLUTION>(w, h))
588
+
return CV_HAL_ERROR_NOT_IMPLEMENTED;
561
589
if (dimTooBig(w) || dimTooBig(h))
562
590
return CV_HAL_ERROR_NOT_IMPLEMENTED;
563
591
try
@@ -782,6 +810,8 @@ int ovx_hal_morphFree(cvhalFilter2D *filter_context)
if (skipSmallImages<VX_KERNEL_DILATE_3x3>(w, h))//Actually it make sense to separate checks if implementations of dilation and erosion have different performance gain
0 commit comments