platform/upstream/opencv.git
5 years agoFixed out of bound reading in LINEAR_EXACT resize for 8UC3
Vitaly Tuzov [Tue, 5 Mar 2019 14:21:21 +0000 (17:21 +0300)]
Fixed out of bound reading in LINEAR_EXACT resize for 8UC3

5 years agoMerge pull request #13969 from alalek:issue_13929
Alexander Alekhin [Tue, 5 Mar 2019 10:28:59 +0000 (10:28 +0000)]
Merge pull request #13969 from alalek:issue_13929

5 years agovideoio(v4l): fix build due missing defines
Alexander Alekhin [Mon, 4 Mar 2019 15:45:01 +0000 (18:45 +0300)]
videoio(v4l): fix build due missing defines

- V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT
- V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH

5 years agoMerge pull request #13958 from nglee:dev_FixCuda101BuildIssue
Alexander Alekhin [Sun, 3 Mar 2019 18:44:28 +0000 (18:44 +0000)]
Merge pull request #13958 from nglee:dev_FixCuda101BuildIssue

5 years agoCUDA 10.1 Build Issue Fix
Namgoo Lee [Sun, 3 Mar 2019 16:40:43 +0000 (16:40 +0000)]
CUDA 10.1 Build Issue Fix

5 years agoMerge pull request #13951 from alalek:dnn_fix_logging_verbose
Alexander Alekhin [Sat, 2 Mar 2019 20:09:07 +0000 (20:09 +0000)]
Merge pull request #13951 from alalek:dnn_fix_logging_verbose

5 years agodnn: fix usage of CV_LOG_VERBOSE macro
Alexander Alekhin [Sat, 2 Mar 2019 14:49:21 +0000 (14:49 +0000)]
dnn: fix usage of CV_LOG_VERBOSE macro

5 years agoMerge pull request #13942 from alalek:imgproc_lsd
Alexander Alekhin [Fri, 1 Mar 2019 21:16:29 +0000 (21:16 +0000)]
Merge pull request #13942 from alalek:imgproc_lsd

5 years agoMerge pull request #13940 from alalek:fix_13914
Alexander Alekhin [Fri, 1 Mar 2019 19:32:36 +0000 (19:32 +0000)]
Merge pull request #13940 from alalek:fix_13914

5 years agoimgproc: removed LSD code due original code license conflict
Alexander Alekhin [Fri, 1 Mar 2019 13:18:49 +0000 (16:18 +0300)]
imgproc: removed LSD code due original code license conflict

5 years agoMerge pull request #13935 from seiko2plus:issue13934
Alexander Alekhin [Fri, 1 Mar 2019 10:52:41 +0000 (10:52 +0000)]
Merge pull request #13935 from seiko2plus:issue13934

5 years agoml: handle sigmoid NaN result (should be Inf)
Alexander Alekhin [Fri, 1 Mar 2019 10:47:45 +0000 (13:47 +0300)]
ml: handle sigmoid NaN result (should be Inf)

- added more debug checks

5 years agocore:vsx Fix narrowing warning on vector splats
Sayed Adel [Fri, 1 Mar 2019 00:48:38 +0000 (00:48 +0000)]
core:vsx Fix narrowing warning on vector splats

5 years agoMerge pull request #13905 from terfendail:pyr_wintr2
Alexander Alekhin [Thu, 28 Feb 2019 14:53:42 +0000 (14:53 +0000)]
Merge pull request #13905 from terfendail:pyr_wintr2

5 years agoMerge pull request #13931 from berak:core_fix_mat_max_mult
Alexander Alekhin [Thu, 28 Feb 2019 14:29:31 +0000 (14:29 +0000)]
Merge pull request #13931 from berak:core_fix_mat_max_mult

5 years agocore: fix mat matx multiplication
berak [Thu, 28 Feb 2019 10:28:38 +0000 (11:28 +0100)]
core: fix mat matx multiplication

5 years agoMerge pull request #13925 from alalek:core_disable_io_perf_test
Alexander Alekhin [Thu, 28 Feb 2019 12:21:03 +0000 (12:21 +0000)]
Merge pull request #13925 from alalek:core_disable_io_perf_test

5 years agoHorizontal line processing for pyrDown() reworked using wide universal intrinsics.
Vitaly Tuzov [Thu, 11 Oct 2018 17:00:12 +0000 (20:00 +0300)]
Horizontal line processing for pyrDown() reworked using wide universal intrinsics.

5 years agoMerge pull request #13904 from cftang0827:dnn_tf_text_graph_common_bug
Alexander Alekhin [Wed, 27 Feb 2019 16:32:40 +0000 (16:32 +0000)]
Merge pull request #13904 from cftang0827:dnn_tf_text_graph_common_bug

5 years agocore: disable I/O perf test
Alexander Alekhin [Wed, 27 Feb 2019 15:04:00 +0000 (18:04 +0300)]
core: disable I/O perf test

- can be enable separately if needed
- not stable (due storage I/O processing)

5 years agoMerge pull request #13901 from reunanen:update_libjpeg-turbo
Alexander Alekhin [Tue, 26 Feb 2019 10:35:32 +0000 (10:35 +0000)]
Merge pull request #13901 from reunanen:update_libjpeg-turbo

5 years agoMerge pull request #13840 from jaewoosong:jaewoosong-patch-1
Alexander Alekhin [Tue, 26 Feb 2019 10:19:17 +0000 (10:19 +0000)]
Merge pull request #13840 from jaewoosong:jaewoosong-patch-1

5 years agoMerge pull request #13892 from dkurt:onnx_upsample_unsqueeze
Alexander Alekhin [Tue, 26 Feb 2019 10:17:06 +0000 (10:17 +0000)]
Merge pull request #13892 from dkurt:onnx_upsample_unsqueeze

5 years agoMerge pull request #13889 from mshabunin:enable-narrowing-warning
Maksim Shabunin [Tue, 26 Feb 2019 10:15:59 +0000 (13:15 +0300)]
Merge pull request #13889 from mshabunin:enable-narrowing-warning

* Enabled -Wnarrowing warning

* Fixed type narrowing issues

* Cast python constants

* Use long long for python constants

* Use int for python constants with fallback to long

* Update cv2.cpp

5 years ago3rdparty: update libjpeg-turbo/CMakeLists.txt
Alexander Alekhin [Mon, 25 Feb 2019 15:50:15 +0000 (18:50 +0300)]
3rdparty: update libjpeg-turbo/CMakeLists.txt

5 years agoUpdate libjpeg-turbo from 1.5.3 to 2.0.2
Juha Reunanen [Sat, 23 Feb 2019 16:30:49 +0000 (18:30 +0200)]
Update libjpeg-turbo from 1.5.3 to 2.0.2

5 years agoMerge pull request #13912 from alalek:cmake_workaround_trycompile_ios
Alexander Alekhin [Tue, 26 Feb 2019 09:28:36 +0000 (09:28 +0000)]
Merge pull request #13912 from alalek:cmake_workaround_trycompile_ios

5 years agoMaking JavaCamera2View behaves in the same way as JavaCameraView
Jaewoo Song [Fri, 15 Feb 2019 09:10:38 +0000 (17:10 +0800)]
Making JavaCamera2View behaves in the same way as JavaCameraView

5 years agocmake: workaround iOS try_compile(COPY_FILE) bug
Alexander Alekhin [Mon, 25 Feb 2019 21:33:21 +0000 (21:33 +0000)]
cmake: workaround iOS try_compile(COPY_FILE) bug

5 years agofix tf_text_graph_common tensor_content type bug
cftang [Mon, 25 Feb 2019 17:20:54 +0000 (01:20 +0800)]
fix tf_text_graph_common tensor_content type bug

5 years agoMerge pull request #13903 from nglee:dev_CudevRework
Alexander Alekhin [Mon, 25 Feb 2019 16:11:38 +0000 (16:11 +0000)]
Merge pull request #13903 from nglee:dev_CudevRework

5 years agoMerge pull request #13906 from dkurt:fix_tf_ssd_min_size
Alexander Alekhin [Mon, 25 Feb 2019 16:09:57 +0000 (16:09 +0000)]
Merge pull request #13906 from dkurt:fix_tf_ssd_min_size

5 years agoMerge pull request #13887 from dkurt:dnn_ie_lrn_bug
Alexander Alekhin [Mon, 25 Feb 2019 14:26:22 +0000 (14:26 +0000)]
Merge pull request #13887 from dkurt:dnn_ie_lrn_bug

5 years agoMerge pull request #13900 from alalek:core_dispatch_merge
Alexander Alekhin [Mon, 25 Feb 2019 13:54:10 +0000 (13:54 +0000)]
Merge pull request #13900 from alalek:core_dispatch_merge

5 years agoFix priors boxes generation in case of non square inputs for TensorFlow SSDs
Dmitry Kurtaev [Mon, 25 Feb 2019 09:43:42 +0000 (12:43 +0300)]
Fix priors boxes generation in case of non square inputs for TensorFlow SSDs

5 years agocudev - Rework some code
Namgoo Lee [Sat, 23 Feb 2019 04:54:48 +0000 (04:54 +0000)]
cudev - Rework some code

- Use shfl_down, instead of __shfl_down, on warp scan
- Remove race conditions

5 years agocore: dispatch merge.cpp
Alexander Alekhin [Fri, 22 Feb 2019 11:17:18 +0000 (11:17 +0000)]
core: dispatch merge.cpp

5 years agocore: keep history of merge.cpp
Alexander Alekhin [Sat, 23 Feb 2019 15:41:39 +0000 (15:41 +0000)]
core: keep history of merge.cpp

5 years agocore: clone merge.simd.hpp
Alexander Alekhin [Fri, 22 Feb 2019 11:10:29 +0000 (11:10 +0000)]
core: clone merge.simd.hpp

5 years agocore: clone merge.dispatch.cpp
Alexander Alekhin [Fri, 22 Feb 2019 11:09:53 +0000 (11:09 +0000)]
core: clone merge.dispatch.cpp

5 years agoMerge pull request #13893 from alalek:core_dispatch_split
Alexander Alekhin [Sat, 23 Feb 2019 15:39:54 +0000 (15:39 +0000)]
Merge pull request #13893 from alalek:core_dispatch_split

5 years agoMerge pull request #13837 from amithjkamath:test
AKAMath [Fri, 22 Feb 2019 15:36:40 +0000 (21:06 +0530)]
Merge pull request #13837 from amithjkamath:test

New computeECC function, and updated findTransformECC function to make gaussian filtering optional (#13837)

* fix for https://github.com/opencv/opencv/issues/12432 with doc and tests

* Added doc string for new parameter.

* Fixes suggested by Alalek for getting around ABI incompatibility.

* Update to docstring, to remove parameter that isn't relevant.

* More updates based on Alalek's usggestions.

5 years agoMerge pull request #13877 from LaurentBerger:pythonvideo
Alexander Alekhin [Fri, 22 Feb 2019 11:33:42 +0000 (11:33 +0000)]
Merge pull request #13877 from LaurentBerger:pythonvideo

5 years agoMerge pull request #13884 from dkurt:dnn_drop_ie_r1_r2
Alexander Alekhin [Fri, 22 Feb 2019 11:21:43 +0000 (11:21 +0000)]
Merge pull request #13884 from dkurt:dnn_drop_ie_r1_r2

5 years agocore: dispatch split.cpp
Alexander Alekhin [Fri, 22 Feb 2019 09:35:32 +0000 (09:35 +0000)]
core: dispatch split.cpp

5 years agocore: keep history of split.cpp
Alexander Alekhin [Fri, 22 Feb 2019 09:18:51 +0000 (09:18 +0000)]
core: keep history of split.cpp

5 years agocore: clone split.simd.hpp
Alexander Alekhin [Fri, 22 Feb 2019 09:18:27 +0000 (09:18 +0000)]
core: clone split.simd.hpp

5 years agocore: clone split.dispatch.cpp
Alexander Alekhin [Fri, 22 Feb 2019 09:17:51 +0000 (09:17 +0000)]
core: clone split.dispatch.cpp

5 years agoImport Upsample and Unsqueeze from ONNX
Dmitry Kurtaev [Thu, 21 Feb 2019 16:48:46 +0000 (19:48 +0300)]
Import Upsample and Unsqueeze from ONNX

5 years agoAdd extra limitations for LRN from Inference Engine backend
Dmitry Kurtaev [Thu, 21 Feb 2019 08:42:55 +0000 (11:42 +0300)]
Add extra limitations for LRN from Inference Engine backend

5 years agoCheck return value in python tutorial
LaurentBerger [Wed, 20 Feb 2019 13:38:57 +0000 (14:38 +0100)]
Check return value in python tutorial

5 years agoMerge pull request #13882 from dkurt:fix_13479
Alexander Alekhin [Thu, 21 Feb 2019 09:38:26 +0000 (09:38 +0000)]
Merge pull request #13882 from dkurt:fix_13479

5 years agoMerge pull request #13874 from dkurt:dnn_default_conf_thresh
Alexander Alekhin [Thu, 21 Feb 2019 09:36:44 +0000 (09:36 +0000)]
Merge pull request #13874 from dkurt:dnn_default_conf_thresh

5 years agoMake Inference Engine R3 as a minimal supported version
Dmitry Kurtaev [Thu, 21 Feb 2019 06:32:26 +0000 (09:32 +0300)]
Make Inference Engine R3 as a minimal supported version

5 years agoAdd a test for grouped deconvolution from ONNX
Dmitry Kurtaev [Thu, 21 Feb 2019 05:54:35 +0000 (08:54 +0300)]
Add a test for grouped deconvolution from ONNX

5 years agoFix Issue #13479
Ayush Pandey [Thu, 21 Feb 2019 05:36:16 +0000 (08:36 +0300)]
Fix Issue #13479

5 years agoMerge pull request #13844 from brad-kelly:integral_avx512_cn234
Alexander Alekhin [Wed, 20 Feb 2019 12:27:16 +0000 (12:27 +0000)]
Merge pull request #13844 from brad-kelly:integral_avx512_cn234

5 years agoMerge pull request #13866 from alalek:core_dispatch_mean
Alexander Alekhin [Wed, 20 Feb 2019 11:50:21 +0000 (11:50 +0000)]
Merge pull request #13866 from alalek:core_dispatch_mean

5 years agoMerge pull request #13781 from terfendail:warp_wintr
Vitaly Tuzov [Wed, 20 Feb 2019 11:30:28 +0000 (14:30 +0300)]
Merge pull request #13781 from terfendail:warp_wintr

Resize reworked using wide universal intrinsics (#13781)

* Added wide universal intrinsics optimized implementation for 3 channel bit-exact linear resize

* Reworked linear resize using new wide LUT intrinsics

* Fix for VSX intrinsics

5 years agoReplace default confidence threshold for dnn detections from -FLT_MAX to 0
Dmitry Kurtaev [Wed, 20 Feb 2019 10:09:09 +0000 (13:09 +0300)]
Replace default confidence threshold for dnn detections from -FLT_MAX to 0

5 years agoImplementing AVX512 Support for 2 and 4 channel mats for CV_64F format
Brad Kelly [Thu, 17 Jan 2019 18:56:41 +0000 (10:56 -0800)]
Implementing AVX512 Support for 2 and 4 channel mats for CV_64F format

5 years agoMerge pull request #13841 from dkurt:dnn_ie_future_3
Alexander Alekhin [Tue, 19 Feb 2019 14:19:36 +0000 (14:19 +0000)]
Merge pull request #13841 from dkurt:dnn_ie_future_3

5 years agoMerge pull request #13865 from lsr0:flann_cudacc
Alexander Alekhin [Tue, 19 Feb 2019 14:03:54 +0000 (14:03 +0000)]
Merge pull request #13865 from lsr0:flann_cudacc

5 years agocore: dispatch mean.cpp
Alexander Alekhin [Tue, 19 Feb 2019 13:58:32 +0000 (16:58 +0300)]
core: dispatch mean.cpp

5 years agocore: keep history of mean.cpp
Alexander Alekhin [Tue, 19 Feb 2019 13:46:46 +0000 (16:46 +0300)]
core: keep history of mean.cpp

5 years agocore: clone mean.dispatch.cpp
Alexander Alekhin [Tue, 19 Feb 2019 13:46:28 +0000 (16:46 +0300)]
core: clone mean.dispatch.cpp

5 years agocore: clone mean.simd.hpp
Alexander Alekhin [Tue, 19 Feb 2019 13:45:42 +0000 (16:45 +0300)]
core: clone mean.simd.hpp

5 years agoFix Flann compilation under nvcc + NEON
Lindsay Roberts [Tue, 19 Feb 2019 12:42:15 +0000 (14:42 +0200)]
Fix Flann compilation under nvcc + NEON

All <arm_neon.h> includes in core/cv_cpu_dispatch.h are protected by an
ifndef __CUDACC__ to prevent attempting to use neon intrinsics when
compiling cuda kernels (.cu) -- this prevents hard errors such as
  error: identifier "__builtin_neon_qi" is undefined

Add this same protection to flann/dist.h to fix compilation involving
flann.hpp.

5 years agoMerge pull request #13857 from LaurentBerger:bug13853
Alexander Alekhin [Tue, 19 Feb 2019 10:34:30 +0000 (10:34 +0000)]
Merge pull request #13857 from LaurentBerger:bug13853

5 years agoFix IE backend considering future changes.
Dmitry Kurtaev [Thu, 14 Feb 2019 10:30:30 +0000 (13:30 +0300)]
Fix IE backend considering future changes.

5 years agoSolves bug 13853
LaurentBerger [Mon, 18 Feb 2019 16:15:05 +0000 (17:15 +0100)]
Solves bug 13853

5 years agoMerge pull request #13850 from nglee:dev_FixCudaStereoBMHangRace
Alexander Alekhin [Mon, 18 Feb 2019 14:50:03 +0000 (14:50 +0000)]
Merge pull request #13850 from nglee:dev_FixCudaStereoBMHangRace

5 years agoMerge pull request #13835 from catree:real_time_pose_tutorial_keypoints_matching
Alexander Alekhin [Mon, 18 Feb 2019 14:39:10 +0000 (14:39 +0000)]
Merge pull request #13835 from catree:real_time_pose_tutorial_keypoints_matching

5 years agoMerge pull request #13833 from alalek:core_dispatch_matmul
Alexander Alekhin [Mon, 18 Feb 2019 13:38:44 +0000 (13:38 +0000)]
Merge pull request #13833 from alalek:core_dispatch_matmul

5 years agoFix arguments parsing. Add possibility to choose between different features type...
catree [Thu, 14 Feb 2019 17:50:01 +0000 (18:50 +0100)]
Fix arguments parsing. Add possibility to choose between different features type. Add keypoints matching visualization. Auto format code.

5 years agocore: dispatch matmul
Alexander Alekhin [Thu, 14 Feb 2019 13:00:17 +0000 (16:00 +0300)]
core: dispatch matmul

- gemm: keep baseline only (lapack is 10x+ faster, lets reduce binary size)
- transform / distTransform
- scaleAdd (32f/64f only)
- Mahalanobis: keep baseline only (no perf tests)
- mulTransposed: keep baseline only (no perf tests)
- dot

5 years agocuda::StereoBM - fix hanging and racing issue
Namgoo Lee [Mon, 18 Feb 2019 03:10:05 +0000 (03:10 +0000)]
cuda::StereoBM - fix hanging and racing issue

- Fix hanging issue on 2080 Ti
- Fix racing issue

5 years agoMerge pull request #13774 from l-bat:fix-IE-tests
Alexander Alekhin [Fri, 15 Feb 2019 13:54:24 +0000 (13:54 +0000)]
Merge pull request #13774 from l-bat:fix-IE-tests

5 years agocore: keep history of matmul.cpp
Alexander Alekhin [Thu, 14 Feb 2019 16:07:41 +0000 (19:07 +0300)]
core: keep history of matmul.cpp

5 years agocore: clone matmul.dispatch.cpp
Alexander Alekhin [Thu, 14 Feb 2019 12:10:11 +0000 (15:10 +0300)]
core: clone matmul.dispatch.cpp

5 years agocore: clone matmul.simd.hpp
Alexander Alekhin [Thu, 14 Feb 2019 12:09:28 +0000 (15:09 +0300)]
core: clone matmul.simd.hpp

5 years agoMerge pull request #13823 from alalek:core_dispatch_countNonZero
Alexander Alekhin [Thu, 14 Feb 2019 15:52:20 +0000 (15:52 +0000)]
Merge pull request #13823 from alalek:core_dispatch_countNonZero

5 years agoMerge pull request #13726 from nicolaerosia:android-ffmpeg
Alexander Alekhin [Thu, 14 Feb 2019 11:40:27 +0000 (11:40 +0000)]
Merge pull request #13726 from nicolaerosia:android-ffmpeg

5 years agocmake: allow FFmpeg linking on Android
Nicolae Rosia [Wed, 30 Jan 2019 15:43:23 +0000 (17:43 +0200)]
cmake: allow FFmpeg linking on Android

details: https://github.com/opencv/opencv/pull/13726

In order to help CMake and PkgConfig find FFmpeg you need to:
1) export `PKG_CONFIG_LIBDIR=${SYSROOT}`
where `SYSROOT=${ANDROID_NDK}/sysroot`
2) Add `-DCMAKE_PREFIX_PATH=${FFMPEG_INSTALL_PREFIX}`
3) Append `-DCMAKE_FIND_ROOT_PATH=${FFMPEG_INSTALL_PREFIX}`

5 years agocore: dispatch count_non_zero
Alexander Alekhin [Wed, 13 Feb 2019 15:27:55 +0000 (18:27 +0300)]
core: dispatch count_non_zero

5 years agocore: keep history of count_non_zero.cpp
Alexander Alekhin [Thu, 14 Feb 2019 10:15:43 +0000 (13:15 +0300)]
core: keep history of count_non_zero.cpp

5 years agocore: clone count_non_zero.dispatch.cpp
Alexander Alekhin [Wed, 13 Feb 2019 12:55:42 +0000 (15:55 +0300)]
core: clone count_non_zero.dispatch.cpp

5 years agocore: clone count_non_zero.simd.hpp
Alexander Alekhin [Wed, 13 Feb 2019 12:55:02 +0000 (15:55 +0300)]
core: clone count_non_zero.simd.hpp

5 years agoChanged condition for resize and lrn layers
Liubov Batanina [Wed, 13 Feb 2019 12:59:51 +0000 (15:59 +0300)]
Changed condition for resize and lrn layers

5 years agoMerge pull request #13808 from tailsu:sd/libtiff-4.0.10
Alexander Alekhin [Thu, 14 Feb 2019 09:36:10 +0000 (09:36 +0000)]
Merge pull request #13808 from tailsu:sd/libtiff-4.0.10

5 years agoupdate to libtiff-4.0.10
Stefan Dragnev [Tue, 12 Feb 2019 13:43:58 +0000 (14:43 +0100)]
update to libtiff-4.0.10

5 years agoMerge pull request #13796 from alalek:core_dispatch_sum
Alexander Alekhin [Thu, 14 Feb 2019 08:16:42 +0000 (08:16 +0000)]
Merge pull request #13796 from alalek:core_dispatch_sum

5 years agoMerge pull request #13807 from tailsu:sd/libpng-1.6.36
Alexander Alekhin [Wed, 13 Feb 2019 16:19:16 +0000 (16:19 +0000)]
Merge pull request #13807 from tailsu:sd/libpng-1.6.36

5 years agocore: dispatch sum
Alexander Alekhin [Mon, 11 Feb 2019 13:21:49 +0000 (16:21 +0300)]
core: dispatch sum

5 years agoupdate libpng to 1.6.36
Stefan Dragnev [Tue, 12 Feb 2019 12:22:13 +0000 (13:22 +0100)]
update libpng to 1.6.36

* re-enabled NEON routines for arm64

5 years agocore: keep history of sum.cpp
Alexander Alekhin [Wed, 13 Feb 2019 10:49:36 +0000 (13:49 +0300)]
core: keep history of sum.cpp

5 years agocore: clone sum.dispatch.cpp
Alexander Alekhin [Mon, 11 Feb 2019 13:14:43 +0000 (16:14 +0300)]
core: clone sum.dispatch.cpp

5 years agocore: clone sum.simd.hpp
Alexander Alekhin [Mon, 11 Feb 2019 13:13:55 +0000 (16:13 +0300)]
core: clone sum.simd.hpp

5 years agoMerge pull request #13810 from nglee:dev_CudaSafeBlockScan
Alexander Alekhin [Tue, 12 Feb 2019 21:50:29 +0000 (21:50 +0000)]
Merge pull request #13810 from nglee:dev_CudaSafeBlockScan

5 years agocudalegacy: Use safe block scan function
Namgoo Lee [Tue, 12 Feb 2019 08:24:57 +0000 (08:24 +0000)]
cudalegacy: Use safe block scan function