xdab
9232d66fcb
Frame Sync: Replace per-symbol full sort with single-pass top-5 selection
...
The frame sync hunt loop sorted the entire symbol amplitude window
(lbuf2, t_max entries) with qsort on every iteration only to read
three ranked values off each end. Replace the copy + qsort with a
single O(n) pass maintaining the five smallest and five largest
values in two fixed 5-slot arrays, reading the exact same ranks.
Rank equivalence: lmn[] ascending = sorted[0..], lmx[] descending =
sorted[..t_max-1], so both the short (t_max < 13) and long rank
formulas map 1:1. The now-unused lbuf2 scratch buffer is removed.
Decode output verified byte-identical (timestamps stripped) against
DMR, dPMR, D-Star and YSF sample captures, including runs with a
10 second no-carrier lead-in.
2026-09-21 20:48:33 +02:00
..
2025-03-17 17:22:22 -04:00
2026-09-06 17:57:42 -04:00
2026-09-04 15:47:56 -04:00
2025-03-17 16:38:04 -04:00
2026-09-20 04:31:06 -04:00
2025-10-31 08:06:39 -04:00
2026-09-07 15:19:30 -04:00
2025-08-15 11:14:46 -04:00
2025-10-15 17:57:15 -04:00
2025-09-19 22:44:50 -04:00
2026-09-06 17:57:42 -04:00
2026-09-04 15:47:56 -04:00
2026-02-10 23:36:18 -05:00
2026-09-04 15:47:56 -04:00
2026-09-04 15:47:56 -04:00
2025-05-29 15:55:27 -04:00
2025-03-17 16:38:04 -04:00
2026-09-06 17:57:42 -04:00
2026-09-20 04:31:06 -04:00
2026-09-20 04:31:06 -04:00
2026-09-04 15:47:56 -04:00
2026-09-04 15:47:56 -04:00
2026-09-20 04:31:06 -04:00
2026-09-04 15:47:56 -04:00
2022-03-06 18:30:29 -05:00
2025-04-27 21:42:09 -04:00
2026-02-27 14:44:40 -05:00
2026-09-20 04:31:06 -04:00
2025-12-31 15:03:37 +01:00
2025-03-17 16:38:04 -04:00
2026-06-13 16:08:29 -04:00
2026-07-20 23:02:17 -04:00
2026-01-30 17:52:07 -05:00
2026-09-21 20:48:33 +02:00
2026-01-04 20:31:30 -05:00
2026-03-28 11:54:16 -04:00
2026-05-20 05:25:38 -04:00
2025-03-17 16:38:04 -04:00
2026-09-20 04:31:06 -04:00
2025-08-23 20:31:32 -04:00
2026-09-20 04:31:06 -04:00
2026-01-31 15:40:35 -05:00
2026-06-13 16:08:29 -04:00
2026-06-13 16:08:29 -04:00
2026-09-20 04:31:06 -04:00
2025-03-17 16:38:04 -04:00
2025-10-31 05:58:45 -04:00
2023-07-03 15:37:43 +03:00
2025-05-01 22:12:19 -04:00
2025-06-22 15:16:19 -04:00
2025-03-17 16:38:04 -04:00
2023-07-31 20:01:11 -04:00
2025-04-27 20:30:50 -04:00
2025-03-17 16:38:04 -04:00
2026-06-13 16:08:29 -04:00
2025-09-02 15:07:51 -04:00
2026-06-11 17:52:12 -04:00
2015-08-06 12:25:30 -04:00
2015-08-06 12:25:30 -04:00
2025-11-16 14:30:52 -05:00
2026-03-13 14:43:14 -04:00
2026-05-20 05:25:38 -04:00
2026-06-11 17:52:12 -04:00
2026-01-30 17:52:07 -05:00
2026-06-11 17:52:12 -04:00
2025-03-17 16:38:04 -04:00
2025-12-12 21:51:37 -05:00
2026-06-11 18:23:56 -04:00
2025-03-17 16:38:04 -04:00
2022-09-17 11:44:45 -04:00
2026-01-04 20:31:30 -05:00
2025-05-12 21:41:20 -04:00
2023-07-01 13:48:38 +03:00
2025-05-12 21:41:20 -04:00
2025-05-12 21:41:20 -04:00
2025-03-17 16:38:04 -04:00
2026-02-10 23:36:18 -05:00
2026-03-20 11:10:15 -04:00
2025-05-29 14:44:37 -04:00
2025-05-12 21:41:20 -04:00
2025-05-12 21:41:20 -04:00
2026-03-28 11:54:16 -04:00
2025-05-15 16:42:21 -04:00
2026-03-28 11:54:16 -04:00
2025-09-11 23:19:16 -04:00
2022-02-10 16:56:37 -05:00
2025-03-17 16:38:04 -04:00
2025-03-17 16:38:04 -04:00
2026-09-01 13:29:55 -04:00
2026-09-01 13:29:55 -04:00
2026-09-01 14:38:11 -04:00
2026-01-30 17:52:07 -05:00
2026-02-01 20:19:33 -05:00
2023-07-01 13:48:38 +03:00
2023-08-01 16:03:38 -04:00
2026-01-30 17:52:07 -05:00