Commit Graph

69 Commits

Author SHA1 Message Date
fcc985efb9 Fix AWS S3 upload failure: remove ClearAllHeaders that was wiping SigV4 state
Removing the Fix 1 ClearAllHeaders/ClearAllQueryParams block from all 8
upload entry points. CkRest.AddHeader already overwrites by header name,
so the clears were unnecessary; they also wipe the internal state
Chilkat's SigV4 signer relies on between requests, which caused AWS to
reject every PUT with HTTP 400 MaxMessageLengthExceeded (max 35240 B).
Per-step ClearAllQueryParams inside multipart kept (followed immediately
by AddQueryParam).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 08:13:32 +10:00
a63feab0ff Ensure the threadsafe for video upload 2026-04-17 07:03:03 +10:00
2abfd6e87c Update the video conversion: Ensure the correct file order 2026-04-16 22:32:03 +10:00
308843bc6b Merge claude/beautiful-kare: remove [Engine] and [EnginePoolManager] debug logs 2026-04-16 18:09:17 +10:00
8d2db78cee Remove [Engine] and [EnginePoolManager] debug log messages
Cleaned up verbose engine telemetry emitted to stdout/stderr and the
Windows Event Viewer. Removes logEngineEvent/logEvent calls (and their
diagnostic-only locals) across the TensorRT engine load, build, run,
multi-GPU, and pool-manager paths, plus the now-unused logEvent helper
in EnginePoolManager.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 18:09:08 +10:00
7cb0b3930e Disabled BMP for now 2026-04-16 16:34:27 +10:00
8bb4f49b09 Improve jpeg conversion 2026-04-16 10:59:28 +10:00
6c72751a14 Add NvJpegPool (4 encoders) and JPEG passthrough in BmpToJpeg
- NvJpegPool: singleton pool of 4 NvJpegCompressor instances with
  lock-free slot acquisition (~160MB VRAM). Threads that can't grab
  a slot fall back to TurboJPEG with zero wait.
- JPEG passthrough: BmpToJpeg now checks if input is already JPEG
  (FF D8 FF magic) and copies directly without re-encoding.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 08:33:17 +10:00
53a82da74a Add nvJPEG GPU-accelerated JPEG encoding with NVIDIA auto-detection
BmpToJpeg was slow (~25-45ms for 4K) due to two bottlenecks:
1. cv::imdecode for BMP parsing (unnecessary for uncompressed BMP)
2. TurboJPEG CPU encoding (~11ms for 4K)

Fix 1: Zero-copy BMP parsing — parse header directly and wrap pixel
data in cv::Mat without allocation or copy. Eliminates ~47MB of heap
allocations per 4K frame.

Fix 2: NvJpegCompressor class using nvJPEG hardware encoder on NVIDIA
GPUs (~1-2ms for 4K). Integrated into CompressJpegToString so all 5
JPEG encoding callsites benefit automatically. Reusable GPU buffer
avoids per-frame cudaMalloc/cudaFree. Silent fallback to TurboJPEG
on Intel/AMD or if nvJPEG fails.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 07:50:13 +10:00
750ccff58b Plan ffmpeg migration v1 2026-04-15 23:51:30 +10:00
7ea9fd0923 Plan ffmpeg migration 2026-04-15 23:38:57 +10:00
808df4656d Fix ALPR Batch and memory leak 2026-04-15 23:00:19 +10:00
b05c49ad93 Fix ALPR Batch and memory leak 2026-04-15 09:23:05 +10:00
7778f8c214 Two-part fix
Fix 1 — Chunk oversized bucket groups (the correctness fix)
ONNXOCRRecognizer::RecognizeBatch now slices each bucket group into chunks of ≤ kRecMaxBatch before submitting to TRT. A frame with 30 crops in bucket 320 produces two back-to-back batched calls (24 + 6), both within the profile, both on the fast path.

Fix 2 — Raise the profile max from 16 to 24 (the performance fix)
The old profile max was 16; your real scenes routinely hit 24. Raising the profile max to 24 means the common 12-plate scene (24 crops) fits in a single batched call with no chunking needed. Scenes with > 24 crops now use chunking, but that's rare.
2026-04-15 07:27:55 +10:00
5706615ed5 Support tracker to improve ALPR_OCR 2026-04-14 21:18:10 +10:00
f9a0af8949 Improve ALPR_OCR peformance 2026-04-14 20:30:21 +10:00
3349b45ade Update video conversion 2026-04-13 21:55:57 +10:00
8e60126c4c Fix mutex lock issues (OCR and FR) 2026-04-13 20:38:40 +10:00
844d7396b2 Fix mutex lock issues 2026-04-13 19:48:32 +10:00
56a8f09adf Support BMP and JPG conversion 2026-04-13 14:12:47 +10:00
3a4320f253 Add support to IMAQ conversion 2026-04-13 10:39:26 +10:00
749c7db3c6 Add support to IMAQ conversion 2026-04-12 21:55:09 +10:00
0a8aaed215 Add CPU/GPU gate and support new ANSALPR using OCR 2026-04-12 17:16:16 +10:00
27083a6530 Remove unused files 2026-04-12 05:39:36 +10:00
257145c429 Fix Intel ONNX runtime 2026-04-10 17:13:47 +10:00
eb863bf510 Support getEngine 2026-04-09 11:00:34 +10:00
eeb205779a Fix model optimisation 2026-04-09 08:09:02 +10:00
34854d87f4 Fix Uncode server API 2026-04-08 15:22:48 +10:00
69787b0ff0 Fix AMD and OpenVINO 2026-04-08 13:45:52 +10:00
a4a8caaa86 Fix mixed UTF16 issue (LabVIEW) and fix ANSFR for Intel 2026-04-08 08:47:10 +10:00
866e0282e2 Add more unicode functions 2026-04-07 08:53:53 +10:00
cb3e856a6e Add more unicode APIs 2026-04-07 07:59:46 +10:00
6d792ee4c0 Support unicode to get users/user APIs 2026-04-06 17:02:42 +10:00
b98aed21bf Support unicode APIs for LabVIEW 2026-04-06 14:20:43 +10:00
091a61d2be Fix Window search path for ANSLIB 2026-04-06 08:31:26 +10:00
f7cef5015a Fix ALPR pipeline. Ready for production 2026-04-05 11:55:37 +10:00
db089c3697 Use CPU resize before upload to GPU to remove PCIe bottleneck 2026-04-05 06:55:15 +10:00
98681f4da6 Use CPU resize before upload to GPU to remove PCIe bottleneck 2026-04-04 22:29:08 +11:00
e134ebdf15 Use software decoder by default 2026-04-04 20:19:54 +11:00
3a21026790 Disable NV12 path for ANSCV by default. Currenly use cv::Mat** directly 2026-04-04 10:09:47 +11:00
445abefebe first stable version 2026-04-03 15:52:21 +11:00
bd2d3292ca Add log info to see if NV12 fast path is active 2026-04-03 15:23:20 +11:00
c2f30b18ab Add log info 2026-04-03 15:16:26 +11:00
6fb09830c5 Fix NV12 crash issue when recreate camera object
(new structure) does not work
2026-04-03 14:51:52 +11:00
958cab6ae3 Fix NV12 crash issue when recreate camera object 2026-04-02 22:07:27 +11:00
4bedf3a3a2 Fix ALPR pipeline 2026-04-01 17:01:05 +11:00
6c6d1c0e0b Fix issue that generate two or more objects with the same LP numbers/user name in the same image frame 2026-04-01 08:01:22 +11:00
ccfc5964d4 Support UTF8 to UTF16 LE.
Support Unicode helper
Fix ANSFR to show 2 same faces in 1 image
2026-03-31 21:52:47 +11:00
70be68d0fc Support UTF8 to UTF16 LE 2026-03-31 14:10:21 +11:00
0c24096c80 Support return Unicode escapes 2026-03-30 22:50:07 +11:00