blob: 1651a29ee240e68c3c7bc9857dc198fc7ddff075 [file] [log] [blame]
Roman Khassraf059bab92015-05-20 12:49:46 +02001#ifndef _VOCODERFRAME_H
2#define _VOCODERFRAME_H
3
Roman Khassrafd71e6582015-06-02 08:49:12 +02004#include "BitVector.h"
Roman Khassraf059bab92015-05-20 12:49:46 +02005//#include "GSMCommon.h"
6
7class VocoderFrame : public BitVector {
8
9 public:
10
11 VocoderFrame()
12 :BitVector(264)
13 { fillField(0,0x0d,4); }
14
15 /** Construct by unpacking a char[33]. */
16 VocoderFrame(const unsigned char *src)
17 :BitVector(264)
18 { unpack(src); }
19
20 BitVector payload() { return tail(4); }
Roman Khassrafd71e6582015-06-02 08:49:12 +020021// const BitVector payload() const { return tail(4); }
Roman Khassraf059bab92015-05-20 12:49:46 +020022
23};
24
25class VocoderAMRFrame : public BitVector {
26
27 public:
28
29 VocoderAMRFrame()
30 :BitVector(244+8)
31 { fillField(0,0x3c,8); /* AMR-NB 12.2 */ }
32
33 /** Construct by unpacking a char[32]. */
34 VocoderAMRFrame(const unsigned char *src)
35 :BitVector(244+8)
36 { unpack(src); }
37
38 BitVector payload() { return tail(8); }
Roman Khassrafd71e6582015-06-02 08:49:12 +020039// const BitVector payload() const { return tail(8); }
Roman Khassraf059bab92015-05-20 12:49:46 +020040
41};
42
Roman Khassrafd38206c2015-06-07 16:26:29 +020043class VocoderAMR_5_9_Frame : public BitVector {
44
45 public:
46
47 VocoderAMR_5_9_Frame()
48 :BitVector(118+8)
49 { fillField(0,0x14,8); /* AMR-NB 12.2 */ }
50
51 /** Construct by unpacking a char[32]. */
52 VocoderAMR_5_9_Frame(const unsigned char *src)
53 :BitVector(118+8)
54 { unpack(src); }
55
56 BitVector payload() { return tail(8); }
57// const BitVector payload() const { return tail(8); }
58
59};
60
61
Roman Khassraf059bab92015-05-20 12:49:46 +020062#endif