30 lines
499 B
C++
30 lines
499 B
C++
//from SSRC
|
|
#ifndef NULLSOFT_VORBIS_SHAPER_H
|
|
#define NULLSOFT_VORBIS_SHAPER_H
|
|
#include "main.h"
|
|
|
|
typedef float REAL;
|
|
enum
|
|
{
|
|
DITHER_RECTANGLE=0,
|
|
DITHER_TRIANGLE=1,
|
|
DITHER_GAUSSIAN=2,
|
|
};
|
|
class Shaper
|
|
{
|
|
double **shapebuf;
|
|
int shaper_type,shaper_len,shaper_clipmin,shaper_clipmax;
|
|
REAL *randbuf;
|
|
int randptr;
|
|
int dtype;
|
|
int nch;
|
|
|
|
public:
|
|
Shaper(int freq,int _nch,int min,int max,int _dtype,int pdf,double noiseamp);
|
|
|
|
int do_shaping(double s,/*double *peak,*/int ch);
|
|
|
|
~Shaper();
|
|
};
|
|
|
|
#endif |