- 03 Jun, 2019 1 commit
-
-
Vitaly Tuzov authored
AVX512 wide universal intrinsics (#14210) * Added implementation of 512-bit wide universal intrinsics(WIP) * Added implementation of 512-bit wide universal intrinsics: implemented WUI vector types(WIP) * Added implementation of 512-bit wide universal intrinsics(WIP): implemented load/store * Added implementation of 512-bit wide universal intrinsics(WIP): implemented fp16 load/store * Added implementation of 512-bit wide universal intrinsics(WIP): implemented recombine and zip, implemented non-saturating and saturating arithmetics * Added implementation of 512-bit wide universal intrinsics(WIP): implemented bit operations * Added implementation of 512-bit wide universal intrinsics(WIP): implemented comparisons * Added implementation of 512-bit wide universal intrinsics(WIP): implemented lane shifts and reduction * Added implementation of 512-bit wide universal intrinsics(WIP): implemented absolute values * Added implementation of 512-bit wide universal intrinsics(WIP): implemented rounding and cast to float * Added implementation of 512-bit wide universal intrinsics(WIP): implemented LUT * Added implementation of 512-bit wide universal intrinsics(WIP): implemented type extension/narrowing and matrix operations * Added implementation of 512-bit wide universal intrinsics(WIP): implemented load_deinterleave for 2 and 3 channels images * Added implementation of 512-bit wide universal intrinsics(WIP): reimplemented load_deinterleave for 2- and implemented for 4-channel images * Added implementation of 512-bit wide universal intrinsics(WIP): implemented store_interleave * Added implementation of 512-bit wide universal intrinsics(WIP): implemented signmask and checks * Added implementation of 512-bit wide universal intrinsics(WIP): build fixes * Added implementation of 512-bit wide universal intrinsics(WIP): reimplemented popcount in case AVX512_BITALG is unavailable * Added implementation of 512-bit wide universal intrinsics(WIP): reimplemented zip * Added implementation of 512-bit wide universal intrinsics(WIP): reimplemented rotate for s8 and s16 * Added implementation of 512-bit wide universal intrinsics(WIP): reimplemented interleave/deinterleave for s8 and s16 * Added implementation of 512-bit wide universal intrinsics(WIP): updated v512_set macros * Added implementation of 512-bit wide universal intrinsics(WIP): fix for GCC wrong _mm512_abs_pd definition * Added implementation of 512-bit wide universal intrinsics(WIP): reworked v_zip to avoid AVX512_VBMI intrinsics * Added implementation of 512-bit wide universal intrinsics(WIP): reworked v_invsqrt to avoid AVX512_ER intrinsics * Added implementation of 512-bit wide universal intrinsics(WIP): reworked v_rotate, v_popcount and interleave/deinterleave for U8 to avoid AVX512_VBMI intrinsics * Added implementation of 512-bit wide universal intrinsics(WIP): fixed integral image SIMD part * Added implementation of 512-bit wide universal intrinsics(WIP): fixed warnings * Added implementation of 512-bit wide universal intrinsics(WIP): fixed load_deinterleave for u8 and u16 * Added implementation of 512-bit wide universal intrinsics(WIP): fixed v_invsqrt accuracy for f64 * Added implementation of 512-bit wide universal intrinsics(WIP): fixed interleave/deinterleave for u32 and u64 * Added implementation of 512-bit wide universal intrinsics(WIP): fixed interleave_pairs, interleave_quads and pack_triplets * Added implementation of 512-bit wide universal intrinsics(WIP): fixed rotate_left * Added implementation of 512-bit wide universal intrinsics(WIP): fixed rotate_left/right, part 2 * Added implementation of 512-bit wide universal intrinsics(WIP): fixed 512-wide universal intrinsics based resize * Added implementation of 512-bit wide universal intrinsics(WIP): fixed findContours by avoiding use of uint64 dependent 512-wide v_signmask() * Added implementation of 512-bit wide universal intrinsics(WIP): fixed trailing whitespaces * Added implementation of 512-bit wide universal intrinsics(WIP): reworked specific intrinsic sets dependent parts to check availability of intrinsics based on CPU feature group defines * Added implementation of 512-bit wide universal intrinsics(WIP):Updated AVX512 implementation of v_popcount to avoid AVX512VPOPCNTDQ intrinsics if unavailable. * Added implementation of 512-bit wide universal intrinsics(WIP): Fixed universal intrinsics data initialisation, v_mul_wrap, v_floor, v_ceil and v_signmask. * Added implementation of 512-bit wide universal intrinsics(WIP): Removed hasSIMD512() * Added implementation of 512-bit wide universal intrinsics(WIP): Fixes for gcc build * Added implementation of 512-bit wide universal intrinsics(WIP): Reworked v_signmask, v_check_any() and v_check_all() implementation.
-
- 31 May, 2019 1 commit
-
-
Vitaly Tuzov authored
-
- 24 May, 2019 1 commit
-
-
Vitaly Tuzov authored
-
- 18 May, 2019 1 commit
-
-
Alexander Alekhin authored
-
- 14 May, 2019 1 commit
-
-
Vitaly Tuzov authored
-
- 24 Apr, 2019 1 commit
-
-
Vitaly Tuzov authored
-
- 22 Apr, 2019 1 commit
-
-
Alexander Alekhin authored
some compilers has lack of proper support for that
-
- 21 Apr, 2019 1 commit
-
-
Ryan Wong authored
OE-11 Logging revamp (#13909) * Initial commit for log tag support. Part of #11003, incomplete. Should pass build. Moved LogLevel enum to logger.defines.hpp LogTag struct used to convey both name and log level threshold as one argument to the new logging macro. See logtag.hpp file, and CV_LOG_WITH_TAG macro. Global log level is now associated with a global log tag, when a logging statement doesn't specify any log tag. See getLogLevel and getGlobalLogTag functions. A macro CV_LOGTAG_FALLBACK is allowed to be re-defined by other modules or compilation units, internally, so that logging statements inside that unit that specify NULL as tag will fall back to the re-defined tag. Line-of-code information (file name, line number, function name), together with tag name, are passed into the new log message sink. See writeLogMessageEx function. Fixed old incorrect CV_LOG_VERBOSE usage in ocl4dnn_conv_spatial.cpp. * Implemented tag-based log filtering Added LogTagManager. This is an initial version, using standard C++ approach as much as possible, to allow easier code review. Will optimize later. A workaround for all static dynamic initialization issues is implemented. Refer to code comments. * Added LogTagConfigParser. Note: new code does not fully handle old log config parsing behavior. * Fix log tag config vs registering ordering issue. * Started testing LogTagConfigParser, incomplete. The intention of this commit is to illustrate the capabilities of the current design of LogTagConfigParser. The test contained in this commit is not complete. Also, design changes may require throwing away this commit and rewriting test code from scratch. Does not test whitespace segmentation (multiple tags on the config); will do in next commit. * Added CV_LOGTAG_EXPAND_NAME macro This macro allows to be re-defined locally in other compilation units to apply a prefix to whatever argument is passed as the "tag" argument into CV_LOG_WITH_TAG. The default definition in logger.hpp does not modify the argument. It is recommended to include the address-of operator (ampersand) when re-defined locally. * Added a few tests for LogTagManager, some fail. See test_logtagmanager.cpp Failed tests are: non-global ("something"), setting level by name-part (first part or any part) has no effect at all. * LogTagManagerTests substring non-confusion tests * Fix major bugs in LogTagManager The code change is intended to approximate the spec documented in https://gist.github.com/kinchungwong/ec25bc1eba99142e0be4509b0f67d0c6 Refer to test suite in test_logtagmanager.cpp Filter test result in "opencv_test_core" ... with gtest_filter "LogTagManager*" To see the test code that finds the bugs, refer to original commits (before rebase; might be gone) .. f3451208 (2019-03-03T19:45:17Z) .... LogTagManagerTests substring non-confusion tests .. 1b848f5f (2019-03-03T01:55:18Z) .... Added a few tests for LogTagManager, some fail. * Added LogTagManagerNamePartNonConfusionTest. See test_logtagmanager.cpp in modules/core/test. * Added LogTagAuto for auto registration in ctor * Rewritten LogTagManager to resolve issues. * Resolves code review issues around 2019-04-10 LogTagConfigParser::parseLogLevel - as part of resolving code review issues, this function is rewritten to simplify control flow and to improve conformance with legacy usage (for string values "OFF", "DISABLED", and "WARNINGS").
-
- 27 Mar, 2019 1 commit
-
-
Alexander Alekhin authored
core: eliminate coverity scan issues (#14162) * core(hal): avoid using of r,g,b,a parameters in interleave/deinterleave - static analysis tools blame on possible parameters reordering - align AVX parameters with corresponding SSE/NEO/VSX/cpp code * core: avoid "i,j" parameters in Matx methods - static analysis tools blame on possible parameters reordering * core: resolve coverity scan issues
-
- 19 Mar, 2019 1 commit
-
-
Alexander Alekhin authored
-
- 18 Mar, 2019 1 commit
-
-
Alexander Alekhin authored
-
- 05 Mar, 2019 1 commit
-
-
Alexander Alekhin authored
-
- 28 Feb, 2019 1 commit
-
-
berak authored
-
- 30 Jan, 2019 1 commit
-
-
Maksim Shabunin authored
-
- 18 Jan, 2019 1 commit
-
-
Alexander Alekhin authored
This reverts commit 3721c8bb except changes in modules/dnn/test/test_tf_importer.cpp
-
- 17 Jan, 2019 1 commit
-
-
Lee Jaehwan authored
* Add Operator override for multi-channel Mat with literal constant. * simple test * Operator overloading channel constraint for primitive types * fix some test for #13586
-
- 04 Jan, 2019 1 commit
-
-
Lee Jaehwan authored
Fix a bug in cv :: merge when array of 3-channel mat is input (#13544) * Mat merge function bug fix - Bug fix of merge function of 3-channel vector <Mat> of 3 or 4 matrices * Add Core_merge test for opencv#13544 * fixups
-
- 25 Dec, 2018 1 commit
-
-
Vitaly Tuzov authored
-
- 16 Dec, 2018 1 commit
-
-
Alexander Alekhin authored
-
- 19 Nov, 2018 1 commit
-
-
1over authored
-
- 16 Nov, 2018 1 commit
-
-
Alexander Alekhin authored
-
- 12 Nov, 2018 2 commits
-
-
Dmitry Kurtaev authored
-
Dmitry Kurtaev authored
-
- 10 Nov, 2018 1 commit
-
-
Alexander Alekhin authored
to verify SIMD code path
-
- 09 Nov, 2018 1 commit
-
-
Matt Bennett authored
* Support for Matx read/write by FileStorage * Only empty filestorage read now produces default Matx. Split Matx IO test into smaller units. Test checks for exception thrown if reading a Mat into a Matx of different size.
-
- 08 Nov, 2018 1 commit
-
-
Alexander Alekhin authored
-
- 01 Nov, 2018 1 commit
-
-
Vadim Pisarevsky authored
* integrated the new C++ persistence; removed old persistence; most of OpenCV compiles fine! the tests have not been run yet * fixed multiple bugs in the new C++ persistence * fixed raw size of the parsed empty sequences * [temporarily] excluded obsolete applications traincascade and createsamples from build * fixed several compiler warnings and multiple test failures * undo changes in cocoa window rendering (that was fixed in another PR) * fixed more compile warnings and the remaining test failures (hopefully) * trying to fix the last little warning
-
- 30 Oct, 2018 1 commit
-
-
Sayed Adel authored
- initialize arithmetic dispatcher - add new universal intrinsic v_absdiffs - add new universal intrinsic v_pack_b - add accumulate version of universal intrinsic v_round - fix sse/avx2:uint8 multiplication overflow - reimplement arithmetic, logic and comparison operations into wide universal intrinsics with full support for all types - reimplement IPP arithmetic, logic and comparison operations in a sperate file arithm_ipp.hpp - avoid scalar multiplication if scaling factor eq 1 and use integer multiplication - move C arithmetic operations to precomp.hpp and delete [arithm_simd|arithm_core].hpp - add compatibility with new opencv4 divide policy
-
- 24 Oct, 2018 1 commit
-
-
maver1 authored
* Updated ICV packages and IPP integration * core(test): minMaxIdx IPP regression test * core(ipp): workaround minMaxIdx problem * core(ipp): workaround meanStdDev() CV_32FC3 buffer overrun * Returned semicolon after CV_INSTRUMENT_REGION_IPP()
-
- 16 Oct, 2018 1 commit
-
-
Michał Janiszewski authored
Exceptions caught by value incur needless cost in C++, most of them can be caught by const-reference, especially as nearly none are actually used. This could allow compiler generate a slightly more efficient code.
-
- 15 Oct, 2018 1 commit
-
-
Alexander Alekhin authored
-
- 14 Oct, 2018 2 commits
-
-
Alexander Alekhin authored
-
Alexander Alekhin authored
-
- 11 Oct, 2018 2 commits
-
-
Sayed Adel authored
- redefine 16-bit multiply operator to perform saturating multiply instead of non-saturating multiply - implement 8-bit multiply operator to perform saturating multiply - implement v_mul_wrap() for 8-bit, 16-bit non-saturating multiply - improve performance of v_mul_hi() for VSX - update intrin tests with new changes - replace unv 16-bit multiplication operator with v_mul_wrap due behavior changes - Several improvements depend on vpisarev review * initial forward declarations for universal intrinsics * move emulating SSE intrinsics into separate file * implement v_mul_expand for 8-bit * reimplement saturating multiply using v_mul_expand + v_pack * map v_expand, v_load_expand, v_load_expand_q to sse4.1 * fix overflow avx2::v_pack(uint32) * implement two universal intrinsics v_expand_low and v_expand_high
-
Vitaly Tuzov authored
-
- 27 Sep, 2018 1 commit
-
-
Alexander Alekhin authored
-
- 26 Sep, 2018 1 commit
-
-
Dmitry Kurtaev authored
* Remove isIntel check from deep learning layers * Remove fp16->fp32 fallbacks where it's not necessary * Fix Kernel::run to prevent localsize > globalsize
-
- 24 Sep, 2018 2 commits
-
-
Maksim Shabunin authored
-
Pavel Rojtberg authored
-
- 21 Sep, 2018 1 commit
-
-
Hamdi Sahloul authored
* Cleanup macros and enable expansion of `__VA_ARGS__` for Visual Studio * Macros for enum-arguments backwards compatibility * Convert struct Param to enum struct * Enabled ParamType.type for enum types * Enabled `cv.read` and `cv.write` for enum types * Rename unnamed enum to AAKAZE.DescriptorType * Rename unnamed enum to AccessFlag * Rename unnamed enum to AgastFeatureDetector.DetectorType * Convert struct DrawMatchesFlags to enum struct * Rename unnamed enum to FastFeatureDetector.DetectorType * Rename unnamed enum to Formatter.FormatType * Rename unnamed enum to HOGDescriptor.HistogramNormType * Rename unnamed enum to DescriptorMatcher.MatcherType * Rename unnamed enum to KAZE.DiffusivityType * Rename unnamed enum to ORB.ScoreType * Rename unnamed enum to UMatData.MemoryFlag * Rename unnamed enum to _InputArray.KindFlag * Rename unnamed enum to _OutputArray.DepthMask * Convert normType enums to static const NormTypes * Avoid conflicts with ElemType * Rename unnamed enum to DescriptorStorageFormat
-