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