70 Commits

Author SHA1 Message Date
favoritas37
eb6bdb41e9 revert propert decoder of QZXingFilter that was mistakenly renamed. Allocate an instance of QZXing at the creation of QZXingFilter 2017-01-17 16:13:42 +02:00
favoritas37
54a7fc9d72 added missing includes for QDebug and QFuture. 2017-01-17 13:40:33 +02:00
favoritas37
1bae498386 properly fix compile issue by forward declaring QZXing in QZXingFilter. Had to make decoder variable as pointer in order to avoid the compiler requirement to known the exact size of the class...that had to be forward declared. Properly addresses issue #16 2017-01-17 13:37:20 +02:00
favoritas37
213c4d684b fixes #16. compilation error due to a forgotten include in QZXing.h 2017-01-17 13:16:36 +02:00
favoritas37
75eb47e8c5 fine tune the use of QZXing::registerQMLTypes to include the QZXingFilter. Update QZXingLive with the latest changes 2017-01-16 19:57:25 +02:00
favoritas37
a3e71ec1e7 created qzxing_qml and qzxing_multimedia qmake CONFIG tags for QZXing.pri to allow the control of dependencies based on the needs. qzxing_qml enables QML specific parts of the library. qzxing_multimedia enables QZXingFilter which requires Qt's multimedia. 2017-01-15 20:36:41 +02:00
Milian Wolff
594b178501 Make QZXingFilter "official" by moving it out of the example folder
The filter is much more performant than using the QZXing API in an
imparative way for the use-case of live-analyzing video frames in QML.
2017-01-10 13:24:55 +01:00
Milian Wolff
61508f461a Optimize: Return the matrix reference directly instead of copying it.
This removes another copy of frame data, thereby improving the FPS
of the QZXingFilter example noticeably.
2017-01-10 13:17:54 +01:00
Milian Wolff
9d378fa2e4 use __builtin_ctz instead of reinventing it in a slower way 2017-01-10 13:17:54 +01:00
Milian Wolff
bc2badb5b5 Optimize: reduce memory allocations, convert directly to grayscale
This dramatically improves the performance of the QZXingFilter.
2017-01-10 13:17:54 +01:00
Milian Wolff
eba661a424 Make QZXing's tryHarder, charSet and foundedFormat accessible from QML 2017-01-10 13:17:54 +01:00
Milian Wolff
4c22c65b5e Constify data and put it into the .rodata section 2017-01-10 13:17:54 +01:00
Milian Wolff
bb903ca27e Enable all decoders by default
Otherwise this leads to access of uninitialized, when one forgets
to set a custom list of decoders.
2017-01-10 13:17:54 +01:00
favoritas37
9941055ae6 minor refactoring to simplify the code on the construction of ArrayRef instances 2016-10-04 21:08:22 +03:00
favoritas37
505f60c264 fixed the range of the array where the coefficients will be stored at ReedSolomonEncoder 2016-10-04 21:07:39 +03:00
Nikolaos Ftylitakis
bd96c910e9 Merge pull request #6 from sergey-platonov/isnan-fix
zxing::isnan for non-msvc compilers was implemented with c99 function,
which is still not fully supported by some compilers (e.g., GCC).
Added an implementation for compilers without c++11 or c99 support. And wrapped
all related code in #if.
2016-10-02 13:55:15 +03:00
favoritas37
725e67f66c Merge branch 'better-qt5-support' of https://github.com/dkormalev/qzxing into dkormalev-better-qt5-support 2016-10-02 13:13:59 +03:00
Sergey Platonov
d49b7e12ad zxing::isnan implemented for different cases
zxing::isnan for non msvc compilers was implemented with c99 function,
which is still not fully supported by some compilers (e.g., gcc).

I've added imlementation for compilers without c++11 or c99 support. And wraped
all releated code in #if.
2016-09-27 16:01:32 +03:00
Denis Kormalev
60c4608001 C++03 support 2016-09-27 15:38:33 +03:00
favoritas37
fa8d3ca99f further align WhiteRectangleDetector 2016-09-27 03:01:32 +03:00
favoritas37
f30e66917f fixed compilation issue for Windows regarding the use of isnan function 2016-09-27 02:59:44 +03:00
favoritas37
52262cb0d2 better aligned implementation of WhiteRectangleDetector with the Java implementation 2016-09-27 02:08:03 +03:00
favoritas37
d5e5c895d8 For backward compatibility, after merging pull request #3, the original tagFoundAdvanced signal has been reimplemented. Also added try catch clause around the new singal since in a lot of cases it fails to detect the decoded barcode's rectangle. To be improved. 2016-09-27 02:06:54 +03:00
Aleksey Lysenko
30f6f70e3e Add getting barcode region and sending it in advanced signal 2016-09-19 11:44:53 +03:00
Denis Kormalev
f7b9e83078 Better Qt5 support 2016-09-15 13:22:08 +03:00
favoritas37
af86c7857c trying to deal with linker errors on msvc 2013 2016-08-03 17:47:36 +03:00
favoritas37
5b5b851c96 refactoring on the namespaces
Added call to ReedSolomonEncoderTests
2016-08-01 19:39:09 +03:00
favoritas37
2db02dffee Further enhance tests for QRcode encoder 2016-08-01 18:36:01 +03:00
favoritas37
365ab5b269 Fixed the way exceptions are thrown, changed 'throw new' to 'throw' 2016-07-28 21:22:35 +03:00
favoritas37
48ee696c42 Started implementation of zxing/qrcode/encoder/EncoderTests
minor refactoring on BitArrayTests.
2016-07-22 03:03:12 +03:00
favoritas37
450afbe54b Enable new tests. 2016-07-22 02:09:55 +03:00
favoritas37
ad35bd294a changed visibility of functions included in qrcode encoder MatrixUtil 2016-07-20 23:03:19 +03:00
favoritas37
ecfaba0b54 revisit the translation of >>> symbol from Java to C++. 2016-07-20 23:02:06 +03:00
favoritas37
665e596c83 Implemented BitArray::toString 2016-07-20 22:47:01 +03:00
favoritas37
81b63588ae Use the Image Provider in the encoder.
Support static function to register the image provider to the QQuickView.
2016-06-16 01:15:44 +03:00
favoritas37
3184ce6b8e Implemented singleton class of Image Provider. Will be used from the encoders to provide the latest produced image to QML Items. 2016-06-16 01:12:56 +03:00
favoritas37
7f86f35883 Introduced new option for QZXing. if QZXing::setTryHarder is set to true, if the image decoding fails, the image will be rotated and will be tested against angles 90o, 180o, 270o. This increased the success rate for the Qr codes.
Plus, minor changes at the handling of failed decoding in QZXing.
2016-06-15 23:31:44 +03:00
favoritas37
0ecf27cc37 Experimental implementation => in case of failure retry having rotated the image (1st @ 90 degrees, 2nd @ 180 degrees, 3rd @ 270 degrees). Increased success rate at QrCode tests. 2016-06-15 04:13:37 +03:00
favoritas37
c7bbe4779a minor changes in the QRFinderPatternFinder.cpp 2016-06-15 04:10:52 +03:00
favoritas37
052615aae7 changed the algorithm that calculates the grayscale of a pixel 2016-06-15 04:09:46 +03:00
favoritas37
f6bf265df7 completed the transition from char to byte. 2016-06-14 23:27:05 +03:00
favoritas37
53c80b3313 Ported functions
@ qrcode/decoder/QRBitMatrixParser.cpp
 - remask
 - setMirror
 - mirror
2016-06-14 02:43:53 +03:00
favoritas37
aabc0e2fbb reverting wrongly commited file 2016-06-14 02:40:43 +03:00
favoritas37
b381f9cc5e Aligning implementation with the Java original version.
Added:
 @ BitArray => ported flip function
 @ BitMatrix => ported flip, rotate180, getEnclosingRectangle
2016-06-14 00:12:12 +03:00
favoritas37
148deb5108 Created file zxing/common/Types.h to hold common types. Created global typedef of unsigned char to byte and applied everywhere possible. 2016-06-12 14:44:39 +03:00
favoritas37
86ad0f27cc minor optimization at the handling of file paths through URLs that are given to QZXing::decodeImageFromFile 2016-06-12 14:21:14 +03:00
favoritas37
983390d465 continued the transition of changing all byte references from char to unsinged char => Qr Encoder 2016-06-12 14:19:58 +03:00
favoritas37
9708a0ed23 all types that store bytes have changed from "char" to "unsigned char" 2016-06-09 15:06:11 +03:00
Nikolaos Ftylitakis
2b57ef7103 Merge /u/kl222/qzxing/ branch master into master
https://sourceforge.net/p/qzxing/code/merge-requests/5/
2016-05-26 18:28:07 +00:00
KangLin
f519e7b391 Fix compatibility BUG:
qt less than 5.5 does not support QImage::Format_Grayscale8
2016-05-12 11:23:08 +08:00