ZBAR BAR CODE READER ==================== ZBar Bar Code Reader is an open source software suite for reading bar codes from various sources, such as video streams, image files and raw intensity sensors. It supports EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 39, Codabar, Interleaved 2 of 5 and QR Code. Included with the library are basic applications for decoding captured bar code images and using a video device (eg, webcam) as a bar code scanner. For application developers, language bindings are included for C, C++, Python and Perl as well as GUI widgets for Qt, GTK and PyGTK. Check the ZBar home page for the latest release, mailing lists, etc. http://zbar.sourceforge.net/ License information can be found in 'COPYING'. BUILDING ======== See 'INSTALL' for generic configuration and build instructions. The scanner/decoder library itself only requires a few standard library functions which should be avilable almost anywhere. The zbarcam program uses the video4linux API (v4l1 or v4l2) to access the video device. This interface is part of the linux kernel, a 2.6 kernel is recommended for full support. More information is available at http://www.linuxtv.org/wiki/ pkg-config is used to locate installed libraries. You should have installed pkg-config if you need any of the remaining components. pkg-config may be obtained from http://pkg-config.freedesktop.org/ The zbarimg program uses ImageMagick to read image files in many different formats. You will need at least ImageMagick version 6.2.6 if you want to scan image files. ImageMagick may be obtained from http://www.imagemagick.org/ The Qt widget requires Qt4. You will need Qt4 if you would like to use or develop a Qt GUI application with an integrated bar code scanning widget. Qt4 may be obtained from http://qt.nokia.com/products The GTK+ widget requires GTK+-2.x. You will need GTK+ if you would like to use or develop a GTK+ GUI application with an integrated bar code scanning widget. GTK+ may be obtained from http://www.gtk.org/ The PyGTK wrapper for the GTK+ widget requires Python and PyGTK. You will need both if you would like to use or develop a PyGTK GUI application with an integrated bar code scanning widget. PyGTK may be obtained from http://www.pygtk.org/ The Python bindings require Python (version?). You will need Python if you would like to scan images or video directly using Python. Python is available from http://python.org/ The Perl bindings require Perl (version?). You will need Perl if you would like to scan images or video directly using Perl. Perl is available from http://www.perl.org/ If required libraries are not available you may disable building for the corresponding component using configure (see configure --help). The Perl bindings must be built separately after installing the library. see perl/README RUNNING ======= 'make install' will install the library and application programs. Run 'zbarcam' to start the video scanner. use 'zbarimg barcode.jpg' to decode a saved image file. Check the manual to find specific options for each program. REPORTING BUGS ============== Bugs can be reported on the sourceforge project page http://www.sourceforge.net/projects/zbar/ Please include the ZBar version number and a detailed description of the problem. You'll probably have better luck if you're also familiar with the concepts from: http://www.catb.org/~esr/faqs/smart-questions.html
Clone of the mercurial repository http://zbar.hg.sourceforge.net:8000/hgroot/zbar/zbar
Overview
Comments
-
Fix memory leak of view.
This memory leak caused the AV capture system to create potentially hundreds of megabytes of notification objects after only a handful of scans. Easy fix.
-
Wrap logical not operations into parentheses
Otherwise it fails like this:
zbar/decoder/ean.c: In function 'ean_part_end4': zbar/decoder/ean.c:297:13: error: logical not is only applied to the left hand side of comparison [-Werror=logical-not-parentheses] if(!par == fwd) {
Signed-off-by: Vicente Olivert Riera [email protected]
-
Add cmake conan support
This PR adds support for building the QR code part of ZBar with cmake. Additionally, a conan recipe and a test package were included.
The build and the recipe were tested in Ubuntu 18.04, with C compiler GNU 7.4.0.
-
how can i get the CMakeLists.txt,thank you
i want to compile it by myself with cmake-gui,but i found that the CMakeLists.txt is deficiency,thus i can not generate the .sln flie, so...how do you make it ,could you tell me the detail,thank you
-
Create SECURITY.md
I'd like to report a security issue but cannot find contact instructions on your repository.
If not a hassle, might you kindly add a SECURITY.md file with an email, or another contact method? GitHub recommends this best practice to ensure security issues are responsibly disclosed, and it would serve as a simple instruction for security researchers in the future.
Thank you for your consideration!
-
Replace UIWebView with WKWebView
As UIWebView is deprecated, Apple will stop accepting apps using UIWebView. So need to migrate to WKWebView. Ref: https://developer.apple.com/news/?id=12232019b
-
segfault at zbar_image_convert if cross compile without libjpeg
I cross compile libzbar, include
config.h
.SIGSEGV
caught, and It took some time to figure it out.However it's not always easy to figure it out in some embedded system, toolchain included gdb in embedded system sometimes not works well as Linux/Unix/Darwin. For example, I can't list source of current file or function in my arm-linux device, even
make
with the option-g -O0 -rdynamic
, and sometimesaddr2line
works not as well. And noexecinfo.h
, I can't backtrace with uclibc, I caughtSIGSEGV
but didn't know segment fault at where, which function, which line.Another significant influence is that program will abort if segment fault occur. It sounds unreasonable in multithread environment.
I finally found sefault at
zbar_image_convert_resize
.I cross compile without libjpeg, no
-ljpeg
.I scan jpeg image,
conversions[ZBAR_FMT_JPEG][ZBAR_FMT_GRAY].func
will beNULL
, not_zbar_convert_jpeg_to_y
callback.I print the value with gdb
(gdb) p conversions $33 = {{{cost = 0, func = 0xb6cf3384 <convert_copy>}, {cost = 8, func = 0xb6cf3500 <convert_uvp_append>}, {cost = 24, func = 0xb6cf2114 <convert_yuv_pack>}, {cost = 32, func = 0xb6cf2418 <convert_yuvp_to_rgb>}, {cost = 8, func = 0xb6cf3500 <convert_uvp_append>}, {cost = -1, func = 0x0}}, {{cost = 1, func = 0xb6cf3384 <convert_copy>}, {cost = 48, func = 0xb6cf28e4 <convert_uvp_resample>}, {cost = 64, func = 0xb6cf2114 <convert_yuv_pack>}, {cost = 128, func = 0xb6cf2418 <convert_yuvp_to_rgb>}, {cost = 40, func = 0xb6cf3500 <convert_uvp_append>}, {cost = -1, func = 0x0}}, {{cost = 24, func = 0xb6cf2ae0 <convert_yuv_unpack>}, {cost = 52, func = 0xb6cf2ae0 <convert_yuv_unpack>}, {cost = 20, func = 0xb6cf2c70 <convert_uv_resample>}, {cost = 144, func = 0xb6cf2630 <convert_yuv_to_rgb>}, {cost = 18, func = 0xb6cf2ae0 <convert_yuv_unpack>}, {cost = -1, func = 0x0}}, {{cost = 112, func = 0xb6cf2e3c <convert_rgb_to_yuvp>}, {cost = 160, func = 0xb6cf2e3c <convert_rgb_to_yuvp>}, {cost = 144, func = 0xb6cf30dc <convert_rgb_to_yuv>}, {cost = 120, func = 0xb6cf1e70 <convert_rgb_resample>}, {cost = 152, func = 0xb6cf2e3c <convert_rgb_to_yuvp>}, {cost = -1, func = 0x0}}, {{cost = 1, func = 0xb6cf3384 <convert_copy>}, {cost = 8, func = 0xb6cf3500 <convert_uvp_append>}, {cost = 24, func = 0xb6cf2114 <convert_yuv_pack>}, {cost = 32, func = 0xb6cf2418 <convert_yuvp_to_rgb>}, {cost = 8, func = 0xb6cf3500 <convert_uvp_append>}, {cost = -1, func = 0x0}}, {{cost = -1, func = 0x0}, {cost = -1, func = 0x0}, {cost = -1, func = 0x0}, {cost = -1, func = 0x0}, {cost = -1, func = 0x0}, { cost = -1, func = 0x0}}} (gdb) p conversions[5][0] $32 = {cost = -1, func = 0x0}
suggest
if (NULL == func){ return (NULL); } else{ func(dst, dstfmt, src, srcfmt); }
so people will handle the error if
zbar_image_convert
failed, without bothering another thread.NULL
returned ifNULL == func
, we can quickly know the problem and do the error handle.And I will add
#define HAVE_LIBJPEG 1
,#define HAVE_JPEGLIB_H 1
, and-ljpeg
latter.
A .NET Watch Run Configuration (dotnet-watch) that can be used in RiderA .
A .NET Watch Run Configuration (dotnet-watch) that can be used in RiderA .NET Watch Run Configuration (dotnet-watch) that can be used in Rider
🎄 Simple Jokes App using Jetpack Compose powered by sv443.net API
Jokepack This App list jokes from sv443.net API Note: I'm using this project just to learn Jetpack Compose Still in development, but the App is availa
Xamarin.Android provides open-source bindings of the Android SDK for use with .NET managed languages such as C#
Xamarin.Android Xamarin.Android provides open-source bindings of the Android SDK for use with .NET managed languages such as C#. Build Status Platform
Microservice-grpc-multi-language-example - gRPC communication on multiple language demonstration (spring kotlin, go, .NET core 6)
What is this Microservice gRPC demonstration w/incrementing state in multiple la
LiteHttp is a simple, intelligent and flexible HTTP framework for Android. With LiteHttp you can make HTTP request with only one line of code! It could convert a java model to the parameter and rander the response JSON as a java model intelligently.
Android network framework: LiteHttp Tags : litehttp2.x-tutorials Website : http://litesuits.com QQgroup : 42960650 , 47357508 Android网络通信为啥子选 lite-htt
Android Easy Http - Simplest android http request library.
Android Easy Http Library 繁體中文文檔 About Android Easy Http Library Made on OkHttp. Easy to do http request, just make request and listen for the respons
WhatsApp-Clone - WhatsApp Clone With Kotlin
WhatsApp Clone this App is a follow up of a youtube Video by Btech follow the li
SnapChat-Clone - The android studio project for a snapchat clone for android devices
SnapChat-Clone This is the android studio project for a snapchat clone for andro
Wordle-clone-android - A Wordle Clone For Android
wordle-clone-android A Wordle Clone For Android Setup Add answer-bank.txt to the
Mpesa-UI-clone-JetpackCompose - A Mpesa Ui Clone using Jetpack Compose
Mpesa-UI-clone-JetpackCompose Let's Challenge ourselves and build this Mpesa App
TradeMap-Clone - Trade Map Clone with kotlin
TradeMap-Clone APP que simula atualização da bolsa de valores em tempo real para
Youtube Android Clone 🚀an Android Youtube Clone made out of XML and Kotlin
Youtube Android Clone ?? This app consumes The Youtube Api to fetch and display a list of popular videos, The app uses MVVM design pattern to allow se
Repository with source code from http://rosettacode.org/wiki/Category:Kotlin
Rosetta Code Kotlin This is a repository with the Kotlin source code from RosettaCode wiki. The main motivation for extracting all the code into a rep
A tool to install components of the Android SDK into a Maven repository or repository manager to use with the Android Maven Plugin, Gradle and other tools.
Maven Android SDK Deployer Original author including numerous fixes and changes: Manfred Moser [email protected] at simpligility technologies i
A tool to install components of the Android SDK into a Maven repository or repository manager to use with the Android Maven Plugin, Gradle and other tools.
Maven Android SDK Deployer Original author including numerous fixes and changes: Manfred Moser [email protected] at simpligility technologies i
Asynchronous Http and WebSocket Client library for Java
Async Http Client Follow @AsyncHttpClient on Twitter. The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and a
Square’s meticulous HTTP client for the JVM, Android, and GraalVM.
OkHttp See the project website for documentation and APIs. HTTP is the way modern applications network. It’s how we exchange data & media. Doing HTTP
A type-safe HTTP client for Android and the JVM
Retrofit A type-safe HTTP client for Android and Java. For more information please see the website. Download Download the latest JAR or grab from Mave
Permanently moved to http://github.com/Bilibili/ijkplayer
ijkplayer Platform Build Status Android iOS Video player based on ffplay Download Android: Gradle # required allprojects { repositories {
HTTP Server for Android Instrumentation tests
RESTMock REST API mocking made easy. RESTMock is a library working on top of Square's okhttp/MockWebServer. It allows you to specify Hamcrest matchers