Commit Graph

3653 Commits

Author SHA1 Message Date
Stefan Weil
564482db30 Fix selection of IntSimdMatrix method
Commit d36231e3e4 did not distinguish
between AVX and AVX2, so AVX2 code was enabled for IntSimdMatrix
even when only AVX was supported.

This resulted in an illegal instruction.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-20 22:13:04 +01:00
Egor Pugin
277457ff3d
Update appveyor.yml 2019-01-20 15:59:55 +03:00
zdenop
d345bf1012
Merge pull request #2170 from stweil/fix
OpenCL: Fix two issues reported by AddressSanitizer
2019-01-19 18:22:48 +01:00
Stefan Weil
9d6978b258
Merge pull request #2169 from Shreeshrii/master
Fix for unicharcompress_test
2019-01-19 09:05:39 +01:00
Stefan Weil
0ae8fdc859 Fix build for unicharcompress_test
* Add abseil library
* Add minimalistic implementation for WriteStringToFile
* Add missing namespace for std::string

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-19 08:34:00 +01:00
Stefan Weil
66e31bfd8c OpenCL: Fix alloc-dealloc mismatch
Bug message from AddressSanitizer:

    ==7153==ERROR: AddressSanitizer: alloc-dealloc-mismatch (operator new [] vs free) on 0x602000072cb0
        #0 0x7ffff70c6a10 in free (/usr/lib/x86_64-linux-gnu/libasan.so.3+0xc1a10)
        #1 0x555557188638 in writeProfileToFile ../../../../../src/opencl/openclwrapper.cpp:541

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-19 08:06:26 +01:00
Stefan Weil
ad19183b92 OpenCL: Fix heap buffer overflow
Bug message from AddressSanitizer:

    ==6158==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x7fffe774b7fc at pc 0x555557086b54 bp 0x7fffffffcee0 sp 0x7fffffffced8
    READ of size 1 at 0x7fffe774b7fc thread T0
        #0 0x555557086b53 in tesseract::HistogramRect(Pix*, int, int, int, int, int, int*) ../../../../../src/ccstruct/otsuthr.cpp:163

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-19 07:58:16 +01:00
Shree Devi Kumar
e67ad46fca fix typo 2019-01-19 05:24:17 +00:00
Shree Devi Kumar
9e599e1e54 Partial fix for unicharcompress_test 2019-01-19 05:13:03 +00:00
zdenop
58447c0d52
Merge pull request #2168 from stweil/fix
Fix build for unichar_test
2019-01-18 21:26:41 +01:00
Stefan Weil
9b2bf10391 Fix build for unichar_test
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-18 21:15:33 +01:00
zdenop
8955daa219
Merge pull request #2167 from Shreeshrii/master
Fixes unicharset_test
2019-01-18 20:52:37 +01:00
Shree Devi Kumar
20ed60b31f Fix unicharset_test 2019-01-18 16:41:29 +00:00
Egor Pugin
db3ed5d656 Run travis builds without cppan. 2019-01-16 13:16:51 +03:00
Egor Pugin
a1ec977f1e Revert "Fix broken builds"
This reverts commit 0c5f81947e.
2019-01-16 13:15:56 +03:00
Stefan Weil
0c5f81947e Fix broken builds
Don't use CPPAN by default because it fails with an error message:

    /usr/bin/ld: cannot find -lpvt.cppan.demo.danbloomberg.leptonica

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-16 09:25:28 +01:00
Egor Pugin
226694aa0d
Update appveyor.yml 2019-01-15 21:46:35 +03:00
Egor Pugin
3c52bcccaf
Update appveyor.yml 2019-01-15 21:43:35 +03:00
Egor Pugin
26e130a949
Update appveyor.yml 2019-01-15 21:41:59 +03:00
Egor Pugin
771d5ebbc6
Update appveyor.yml 2019-01-15 21:39:39 +03:00
Egor Pugin
23b8036737
Update .travis.yml 2019-01-15 19:36:05 +03:00
Egor Pugin
3749d16e07
Update appveyor.yml 2019-01-15 19:16:55 +03:00
Egor Pugin
27d6e9d309 Fix sw build. 2019-01-15 19:13:49 +03:00
zdenop
9fd8f471f3
Merge pull request #2160 from stweil/opt-intsimdmatrix
Refactor IntSimMatrix and WeightMatrix
2019-01-15 15:28:30 +01:00
Stefan Weil
502bb624c2 More optimisations for IntSimdMatrix
* Move IntDotProductSSE. That allows inlining of the code.
* Improve IntDotProductSSE by moving some instructions.
* Remove unused num_input_groups_ from IntSimdMatrix.
* Re-order elements in IntSimdMatrix to avoid padding.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-14 21:34:37 +01:00
Stefan Weil
95606398f5 Clean code for IntSimdMatrix
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-14 21:34:37 +01:00
Stefan Weil
7fc7d28dd0 Compile files for AVX, AVX2 or SSE only when needed
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-14 21:34:37 +01:00
Stefan Weil
a9a1035e55 Move IntSimdMatrixNative from IntSimdMatrix to unittest
It is only used for the unit test.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-14 21:34:37 +01:00
Stefan Weil
d36231e3e4 Set best or user selected IntSimdMatrix
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-14 21:34:37 +01:00
Stefan Weil
605b4d66c7 Replace dynamically allocated IntSimdMatrix instances by constants
Two header files are no longer needed and could be removed.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-14 21:34:37 +01:00
Stefan Weil
26be7c5d2e Use constructor with parameters for IntSimdMatrix
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-14 21:34:37 +01:00
Stefan Weil
e237a38405 Add const attributes to IntSimMatrix multiplier
IntSimMatrix no longer contains variable members.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-14 21:34:37 +01:00
Stefan Weil
7c70147701 Move shaped weights from IntSimMatrix to WeightMatrix
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-14 21:34:37 +01:00
Stefan Weil
ea4d0d354b Format comment
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-14 21:34:37 +01:00
Stefan Weil
c79d613b65 Replace ASSERT_HOST by assert
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-14 21:34:37 +01:00
zdenop
f75b2c1948
Merge pull request #310 from nickjwhite/hocrcharboxes
Character boxes in hOCR output
2019-01-14 19:19:04 +01:00
zdenop
752ce43d80
Merge pull request #2158 from stweil/misc
Several small fixes for unittests
2019-01-14 19:17:01 +01:00
Stefan Weil
c4de29d16f unittest: Allow more time for apiexample_test when using a debug build
OCR of an image needs much more time than 55 s when running with
a debug build without optimisations on a slow host.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-14 17:56:35 +01:00
Stefan Weil
e67751633a unittest: Fix comment
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-14 17:56:35 +01:00
Stefan Weil
a5283f293d Add test for the C++ implementation of MatrixDotVector
Check also whether the sum of all results matches the expected value.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-14 17:56:35 +01:00
Stefan Weil
9adf6e442b Revert 59fb3370bb (-ffast-math)
It breaks intsimdmatrix_test.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-14 17:56:35 +01:00
Stefan Weil
5d3d251267 Fix build for unittest
Debug builds failed because libpthread (needed for googletest) was missing.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-14 17:56:35 +01:00
Nick White
ebbf907c56 Fix typo in hocr character box output 2019-01-13 16:28:31 +00:00
Nick White
4ce797b6f6 Fix hocr character box info to use new hocr renderer correctly 2019-01-13 13:01:14 +00:00
Nick White
c43e4501e3 Merge remote-tracking branch 'origin/master' into hocrcharboxes 2019-01-13 12:41:42 +00:00
zdenop
238cb219d5
Merge pull request #2152 from stweil/clean
Remove opencl_device_selection.h
2019-01-09 15:02:59 +01:00
zdenop
21e7e4ba3e
Merge pull request #2153 from stweil/documentation
Fix documentation for page segmentation mode 2
2019-01-09 15:02:14 +01:00
Stefan Weil
a0e6586e63 Fix documentation for page segmentation mode 2
It never worked, so add a comment that the implementation is missing.
Add also a to-do comment.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-09 13:51:44 +01:00
Stefan Weil
0fae848b58 OpenCL: Add comments to users of openclwrapper.h
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-09 12:11:00 +01:00
Stefan Weil
e0fc4f2945 Remove opencl_device_selection.h
Always use OpenCL device selection if OpenCL is enabled.

This fixes a regression which was introduced by commit
5c6a57b727 which removed
the definition for USE_DEVICE_SELECTION.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-01-09 12:09:56 +01:00