Speaking of reliable_sync, a section of code in the state machine can be
modified to reduce wasted cpu, although it is probably an obscure
occurrence.

That is, in fdmdv2_main.cpp where it checks the reliable_sync bit and gets
a second half instead of a first half.  I think it is missing an "else" but
I've only done simple testing on this.

See attached
diff -ruN freetel-code/fdmdv2-dev/src/fdmdv2_main.cpp 
freetel-code-new/fdmdv2-dev/src/fdmdv2_main.cpp
--- freetel-code/fdmdv2-dev/src/fdmdv2_main.cpp 2014-06-26 19:29:14.945589905 
-0500
+++ freetel-code-new/fdmdv2-dev/src/fdmdv2_main.cpp     2014-06-26 
19:33:56.593581583 -0500
@@ -3196,12 +3196,12 @@
                 }
                 if (reliable_sync_bit)
                 {
+                    // got second half, want first half
                     next_state = 1;
-                }
-
-                // first half of frame of codec bits
-                memcpy(codec_bits, rx_bits, bits_per_fdmdv_frame * 
sizeof(int));
-
+                } else {
+                    // first half of frame of codec bits
+                    memcpy(codec_bits, rx_bits, bits_per_fdmdv_frame * 
sizeof(int));
+                }
                 break;
 
             case 2:
------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

Reply via email to