qr_code_dart_decoder 0.2.0
qr_code_dart_decoder: ^0.2.0 copied to clipboard
A Dart package for decoding QR codes and other barcode formats using the ZXing library
0.2.0 #
Performance Improvements #
- Memory optimization: Implemented TransferableTypedData for zero-copy data transfer between isolates (~4MB saved per frame).
- YUV processing optimization: Use only Y plane for luminance extraction, eliminating unnecessary U/V plane allocation (~1.5MB saved per frame).
- Memory leak fix: Added bounded buffer (limit of 10) to results list to prevent unbounded growth.
- Rotation optimization: Implemented block-wise image rotation (32x32 blocks) for better cache locality (30-40% faster).
- Blur detection: Added motion and out-of-focus frame detection to skip unprocessable frames (20-30% CPU savings).
- Decode optimization: Changed default to
tryHarder: trueon first attempt for better success rate. - Crop background disabled: Disabled expensive crop background fallback by default for better performance.
Features #
- Added
BlurDetectorclass withisSharp()andisSharpFast()methods for blur detection. - Added
TransferableYuv420Planesclass for efficient isolate communication. - Added
CameraDecode.enableBlurDetectionflag to toggle blur detection (default: false).
Breaking Changes #
- Crop background processing is now disabled by default in
CameraDecode(can be re-enabled by uncommenting).
0.1.2 #
- Move crop background to FileDecode.
- Move crop background to CameraDecode.
0.1.1 #
- Adds rotation to decode event.
- Remove invert from decode event.
- Adds CroppingStrategy to decode event.
- Adds CropBackgroundYuvProcessor.
0.0.5 #
- Adds cropRect.
0.0.4 #
- Adds tryHarder=true in decode.
- FileDecode improvements
0.0.3 #
- Adds rotate
0.0.2 #
- Update MultiFormatReader.
0.0.1 #
- Initial version