mirror of
https://github.com/xiph/opus.git
synced 2025-05-16 08:28:29 +00:00
refactoring
This commit is contained in:
parent
293f76ee33
commit
d75a4aec72
3 changed files with 26 additions and 29 deletions
28
dnn/common.h
28
dnn/common.h
|
@ -3,14 +3,38 @@
|
|||
#ifndef COMMON_H
|
||||
#define COMMON_H
|
||||
|
||||
#include "stdlib.h"
|
||||
#include "string.h"
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
|
||||
#define RNN_INLINE inline
|
||||
#define OPUS_INLINE inline
|
||||
|
||||
float lpc_from_cepstrum(float *lpc, const float *cepstrum);
|
||||
|
||||
static RNN_INLINE float ulaw2lin(float u)
|
||||
{
|
||||
float s;
|
||||
float scale_1 = 32768.f/255.f;
|
||||
u = u - 128;
|
||||
s = u >= 0 ? 1 : -1;
|
||||
u = fabs(u);
|
||||
return s*scale_1*(exp(u/128.*log(256))-1);
|
||||
}
|
||||
|
||||
static RNN_INLINE int lin2ulaw(float x)
|
||||
{
|
||||
float u;
|
||||
float scale = 255.f/32768.f;
|
||||
int s = x >= 0 ? 1 : -1;
|
||||
x = fabs(x);
|
||||
u = (s*(128*log(1+scale*x)/log(256)));
|
||||
u = 128 + u;
|
||||
if (u < 0) u = 0;
|
||||
if (u > 255) u = 255;
|
||||
return (int)floor(.5 + u);
|
||||
}
|
||||
|
||||
|
||||
/** RNNoise wrapper for malloc(). To do your own dynamic allocation, all you need t
|
||||
o do is replace this function and rnnoise_free */
|
||||
|
|
|
@ -55,13 +55,9 @@
|
|||
typedef struct {
|
||||
float analysis_mem[OVERLAP_SIZE];
|
||||
float cepstral_mem[CEPS_MEM][NB_BANDS];
|
||||
int memid;
|
||||
float pitch_buf[PITCH_BUF_SIZE];
|
||||
float pitch_enh_buf[PITCH_BUF_SIZE];
|
||||
float last_gain;
|
||||
int last_period;
|
||||
float mem_hp_x[2];
|
||||
float lastg[NB_BANDS];
|
||||
} DenoiseState;
|
||||
|
||||
static int rnnoise_get_size() {
|
||||
|
|
23
dnn/lpcnet.c
23
dnn/lpcnet.c
|
@ -56,29 +56,6 @@ struct LPCNetState {
|
|||
};
|
||||
|
||||
|
||||
static float ulaw2lin(float u)
|
||||
{
|
||||
float s;
|
||||
float scale_1 = 32768.f/255.f;
|
||||
u = u - 128;
|
||||
s = u >= 0 ? 1 : -1;
|
||||
u = fabs(u);
|
||||
return s*scale_1*(exp(u/128.*log(256))-1);
|
||||
}
|
||||
|
||||
static int lin2ulaw(float x)
|
||||
{
|
||||
float u;
|
||||
float scale = 255.f/32768.f;
|
||||
int s = x >= 0 ? 1 : -1;
|
||||
x = fabs(x);
|
||||
u = (s*(128*log(1+scale*x)/log(256)));
|
||||
u = 128 + u;
|
||||
if (u < 0) u = 0;
|
||||
if (u > 255) u = 255;
|
||||
return (int)floor(.5 + u);
|
||||
}
|
||||
|
||||
#if 0
|
||||
static void print_vector(float *x, int N)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue