Implementation of TCH/F decoder supporting GSM-FR and GSM-EFR. Issue #50
diff --git a/lib/decoding/VocoderFrame.h b/lib/decoding/VocoderFrame.h
new file mode 100644
index 0000000..0c80973
--- /dev/null
+++ b/lib/decoding/VocoderFrame.h
@@ -0,0 +1,43 @@
+#ifndef _VOCODERFRAME_H
+#define _VOCODERFRAME_H
+
+#include "BitVector.h"
+//#include "GSMCommon.h"
+
+class VocoderFrame : public BitVector {
+
+ public:
+
+ VocoderFrame()
+ :BitVector(264)
+ { fillField(0,0x0d,4); }
+
+ /** Construct by unpacking a char[33]. */
+ VocoderFrame(const unsigned char *src)
+ :BitVector(264)
+ { unpack(src); }
+
+ BitVector payload() { return tail(4); }
+ const BitVector payload() const { return tail(4); }
+
+};
+
+class VocoderAMRFrame : public BitVector {
+
+ public:
+
+ VocoderAMRFrame()
+ :BitVector(244+8)
+ { fillField(0,0x3c,8); /* AMR-NB 12.2 */ }
+
+ /** Construct by unpacking a char[32]. */
+ VocoderAMRFrame(const unsigned char *src)
+ :BitVector(244+8)
+ { unpack(src); }
+
+ BitVector payload() { return tail(8); }
+ const BitVector payload() const { return tail(8); }
+
+};
+
+#endif