SDRAngel  4.11.5
Developer docs for <a href="https://github.com/f4exb/sdrangel">SDRangel<\a>, an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
audiocompressor.h
Go to the documentation of this file.
1 // Copyright (C) 2018 F4EXB //
3 // written by Edouard Griffiths //
4 // //
5 // This program is free software; you can redistribute it and/or modify //
6 // it under the terms of the GNU General Public License as published by //
7 // the Free Software Foundation as version 3 of the License, or //
8 // (at your option) any later version. //
9 // //
10 // This program is distributed in the hope that it will be useful, //
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of //
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
13 // GNU General Public License V3 for more details. //
14 // //
15 // You should have received a copy of the GNU General Public License //
16 // along with this program. If not, see <http://www.gnu.org/licenses/>. //
18 
19 #ifndef SDRBASE_AUDIO_AUDIOCOMPRESSOR_H_
20 #define SDRBASE_AUDIO_AUDIOCOMPRESSOR_H_
21 
22 #include <stdint.h>
23 #include "export.h"
24 
26 {
27 public:
29  ~AudioCompressor();
30  void fillLUT();
31  void fillLUT2();
32  void fillALaw();
33  void fillULaw();
34  int16_t compress(int16_t sample);
35  int8_t compress8(int16_t sample);
36 
37 private:
38  int8_t ALaw_Encode(int16_t number);
39  int8_t MuLaw_Encode(int16_t number);
40 
41  int16_t m_lut[32768];
42  static const uint16_t ALAW_MAX;
43  static const uint16_t MULAW_MAX;
44  static const uint16_t MULAW_BIAS;
45 
46 };
47 
48 
49 
50 #endif /* SDRBASE_AUDIO_AUDIOCOMPRESSOR_H_ */
short int16_t
Definition: rtptypes_win.h:43
static const uint16_t MULAW_MAX
static const uint16_t MULAW_BIAS
unsigned short uint16_t
Definition: rtptypes_win.h:44
char int8_t
Definition: rtptypes_win.h:41
#define SDRBASE_API
Definition: export.h:40
static const uint16_t ALAW_MAX