Skip to content

Commit 45bdcd6

Browse files
committed
updated version and readme.md (changelog.md too)
1 parent 2e23c8b commit 45bdcd6

File tree

3 files changed

+90
-3
lines changed

3 files changed

+90
-3
lines changed

AI_MultiBarcodes_Capture/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ android {
1414
applicationId = "com.zebra.ai_multibarcodes_capture.dev"
1515
minSdk = 34
1616
targetSdk = 35
17-
versionCode = 35
18-
versionName = "1.35"
17+
versionCode = 36
18+
versionName = "1.36"
1919

2020
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
2121

CHANGELOG.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,59 @@
22

33
All notable changes to the AI MultiBarcode Capture Application are documented in this file.
44

5+
### Version 1.36 - ⚡ **Performance & Android 15+ Compatibility**
6+
7+
**High-performance native image processing with NDK/JNI and Android 15+ 16KB page size support.**
8+
9+
#### **Native NDK Performance Optimization:**
10+
11+
**JNI-Based Image Cropping**: Native C++ implementation for capture zone image processing
12+
- **High-Performance YUV to RGB Conversion**: Optimized native code using integer math with fixed-point arithmetic (BT.601 coefficients scaled by 1024)
13+
- **Direct Bitmap Writing**: Native code writes directly to Android Bitmap using `AndroidBitmap_lockPixels()` for zero-copy operation
14+
- **Automatic Fallback**: Graceful Java implementation fallback when native library is unavailable
15+
- **BT.601 Color Space**: Proper YUV to RGB conversion using standard broadcast coefficients
16+
17+
**Performance Benefits**:
18+
- Significantly faster capture zone cropping compared to pure Java implementation
19+
- Reduced CPU usage during barcode scanning with capture zone enabled
20+
- Lower memory allocation overhead through direct buffer processing
21+
- Optimized for real-time barcode detection workflows
22+
23+
#### 📱 **Android 15+ 16KB Page Size Support:**
24+
25+
**Future-Proof Compatibility**: Native library built with 16KB page size alignment for Android 15+ devices
26+
- **`-Wl,-z,max-page-size=16384`**: Linker flag ensures compatibility with devices using 16KB memory pages
27+
- **Seamless Operation**: Works transparently on both traditional 4KB and new 16KB page size devices
28+
- **No Runtime Configuration Required**: Compatibility is built into the native library at compile time
29+
30+
#### 🔧 **Technical Implementation:**
31+
32+
**Native Library (`libyuvprocessor.so`)**:
33+
- `cropYuvToBitmapNative()`: Direct YUV420 to Bitmap conversion with cropping
34+
- `cropYuvToRgbNative()`: YUV420 to RGB pixel array conversion with cropping
35+
- ARM NEON SIMD optimization on 32-bit devices (`-mfpu=neon` for armeabi-v7a)
36+
- Aggressive compiler optimizations: `-O3 -ffast-math` for maximum performance
37+
38+
**Build Configuration**:
39+
- CMake-based native build fully integrated with Gradle build system
40+
- Multi-ABI support: arm64-v8a, armeabi-v7a, x86, x86_64
41+
- Automatic native library bundling in APK
42+
43+
**Java Integration**:
44+
- `NativeYuvProcessor.java`: JNI wrapper class with static library loading
45+
- `isAvailable()`: Runtime check for native library availability
46+
- Transparent fallback to Java implementation in `BarcodeAnalyzer.java`
47+
48+
#### 💡 **Benefits:**
49+
50+
**Faster Capture Zone Processing**: Native code provides significant speedup for capture zone image cropping
51+
**Android 15+ Ready**: Application prepared for upcoming Android devices with 16KB page sizes
52+
**Battery Efficiency**: Reduced CPU usage extends battery life during extended scanning sessions
53+
**Consistent Performance**: Reliable operation across diverse device hardware configurations
54+
**Enterprise Scalability**: Improved performance supports high-volume barcode capture workflows
55+
56+
---
57+
558
### Version 1.35 - 🎨 **Theme System & Custom Typography**
659

760
**Comprehensive visual customization with dual theme support and Zebra brand fonts for both Android app and web interface.**

README.md

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# AI MultiBarcode Capture Application
22

3-
[![License](https://img.shields.io/badge/License-Zebra%20Development%20Tool-blue)](https://github.com/ZebraDevs/AISuite_Android_Samples/blob/main/Zebra%20Development%20Tool%20License.pdf) [![Platform](https://img.shields.io/badge/Platform-Android-green)](https://developer.android.com/) [![Language](https://img.shields.io/badge/Language-Java-orange)](https://www.java.com/) [![Version](https://img.shields.io/badge/Version-1.35-brightgreen)](CHANGELOG.md) [![API](https://img.shields.io/badge/API-35%2B-yellow)](https://developer.android.com/about/versions/15) [![SDK](https://img.shields.io/badge/Zebra%20AI%20Vision%20SDK-3.1.4-blue)](https://developer.zebra.com/)
3+
[![License](https://img.shields.io/badge/License-Zebra%20Development%20Tool-blue)](https://github.com/ZebraDevs/AISuite_Android_Samples/blob/main/Zebra%20Development%20Tool%20License.pdf) [![Platform](https://img.shields.io/badge/Platform-Android-green)](https://developer.android.com/) [![Language](https://img.shields.io/badge/Language-Java-orange)](https://www.java.com/) [![Version](https://img.shields.io/badge/Version-1.36-brightgreen)](CHANGELOG.md) [![API](https://img.shields.io/badge/API-35%2B-yellow)](https://developer.android.com/about/versions/15) [![SDK](https://img.shields.io/badge/Zebra%20AI%20Vision%20SDK-3.1.4-blue)](https://developer.zebra.com/)
44

55
[![Apache](https://img.shields.io/badge/Apache-2.4-red)](https://httpd.apache.org/) [![MySQL](https://img.shields.io/badge/MySQL-8.0-blue)](https://www.mysql.com/) [![Docker](https://img.shields.io/badge/Docker-2496ED?logo=docker&logoColor=white)](https://www.docker.com/) [![XAMPP](https://img.shields.io/badge/XAMPP-8.2-orange?logo=xampp&logoColor=white)](https://www.apachefriends.org/) [![HTML5](https://img.shields.io/badge/HTML5-E34F26?logo=html5&logoColor=white)](https://developer.mozilla.org/en-US/docs/Web/HTML) [![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?logo=javascript&logoColor=black)](https://developer.mozilla.org/en-US/docs/Web/JavaScript) [![CSS3](https://img.shields.io/badge/CSS3-1572B6?logo=css3&logoColor=white)](https://developer.mozilla.org/en-US/docs/Web/CSS)
66

@@ -15,6 +15,40 @@ https://github.com/ltrudu/AI_MutliBarcodes_Capture
1515

1616
## 📅 What's New
1717

18+
### Version 1.36 - ⚡ **Performance & Android 15+ Compatibility**
19+
20+
**High-performance native image processing with NDK/JNI and Android 15+ 16KB page size support.**
21+
22+
#### **Native NDK Performance Optimization:**
23+
24+
**JNI-Based Image Cropping**: Native C++ implementation for capture zone image processing
25+
- **High-Performance YUV to RGB Conversion**: Optimized native code using integer math with fixed-point arithmetic
26+
- **Direct Bitmap Writing**: Native code writes directly to Android Bitmap using `AndroidBitmap_lockPixels()` for zero-copy operation
27+
- **Automatic Fallback**: Java implementation fallback when native library is unavailable
28+
- **BT.601 Color Space**: Proper YUV to RGB conversion using standard broadcast coefficients
29+
30+
**Performance Benefits**:
31+
- Significantly faster capture zone cropping compared to Java implementation
32+
- Reduced CPU usage during barcode scanning with capture zone enabled
33+
- Lower memory allocation overhead through direct buffer processing
34+
- Optimized for real-time barcode detection workflows
35+
36+
#### 📱 **Android 15+ 16KB Page Size Support:**
37+
38+
**Future-Proof Compatibility**: Native library built with 16KB page size alignment
39+
- **`-Wl,-z,max-page-size=16384`**: Linker flag ensures compatibility with Android 15+ devices using 16KB memory pages
40+
- **Seamless Operation**: Works on both traditional 4KB and new 16KB page size devices
41+
- **No Runtime Configuration Required**: Compatibility is built into the native library
42+
43+
#### 💡 **Benefits:**
44+
45+
**Faster Capture Zone Processing**: Native code provides significant speedup for capture zone image cropping
46+
**Android 15+ Ready**: Application is prepared for upcoming Android devices with 16KB page sizes
47+
**Battery Efficiency**: Reduced CPU usage extends battery life during extended scanning sessions
48+
49+
50+
---
51+
1852
### Version 1.35 - 🎨 **Theme System & Custom Typography**
1953

2054
**Comprehensive visual customization with dual theme support and Zebra brand fonts for both Android app and web interface.**

0 commit comments

Comments
 (0)