mirror of
https://github.com/xiph/opus.git
synced 2025-05-19 18:08:29 +00:00
More work on making freq.[ch] more generic
This commit is contained in:
parent
fb3112ade6
commit
12f16df6b7
3 changed files with 15 additions and 12 deletions
16
dnn/freq.c
16
dnn/freq.c
|
@ -64,12 +64,12 @@ void compute_band_energy(float *bandE, const kiss_fft_cpx *X) {
|
|||
{
|
||||
int j;
|
||||
int band_size;
|
||||
band_size = (eband5ms[i+1]-eband5ms[i])<<FRAME_SIZE_SHIFT;
|
||||
band_size = (eband5ms[i+1]-eband5ms[i])*WINDOW_SIZE_5MS;
|
||||
for (j=0;j<band_size;j++) {
|
||||
float tmp;
|
||||
float frac = (float)j/band_size;
|
||||
tmp = SQUARE(X[(eband5ms[i]<<FRAME_SIZE_SHIFT) + j].r);
|
||||
tmp += SQUARE(X[(eband5ms[i]<<FRAME_SIZE_SHIFT) + j].i);
|
||||
tmp = SQUARE(X[(eband5ms[i]*WINDOW_SIZE_5MS) + j].r);
|
||||
tmp += SQUARE(X[(eband5ms[i]*WINDOW_SIZE_5MS) + j].i);
|
||||
sum[i] += (1-frac)*tmp;
|
||||
sum[i+1] += frac*tmp;
|
||||
}
|
||||
|
@ -89,12 +89,12 @@ void compute_band_corr(float *bandE, const kiss_fft_cpx *X, const kiss_fft_cpx *
|
|||
{
|
||||
int j;
|
||||
int band_size;
|
||||
band_size = (eband5ms[i+1]-eband5ms[i])<<FRAME_SIZE_SHIFT;
|
||||
band_size = (eband5ms[i+1]-eband5ms[i])*WINDOW_SIZE_5MS;
|
||||
for (j=0;j<band_size;j++) {
|
||||
float tmp;
|
||||
float frac = (float)j/band_size;
|
||||
tmp = X[(eband5ms[i]<<FRAME_SIZE_SHIFT) + j].r * P[(eband5ms[i]<<FRAME_SIZE_SHIFT) + j].r;
|
||||
tmp += X[(eband5ms[i]<<FRAME_SIZE_SHIFT) + j].i * P[(eband5ms[i]<<FRAME_SIZE_SHIFT) + j].i;
|
||||
tmp = X[(eband5ms[i]*WINDOW_SIZE_5MS) + j].r * P[(eband5ms[i]*WINDOW_SIZE_5MS) + j].r;
|
||||
tmp += X[(eband5ms[i]*WINDOW_SIZE_5MS) + j].i * P[(eband5ms[i]*WINDOW_SIZE_5MS) + j].i;
|
||||
sum[i] += (1-frac)*tmp;
|
||||
sum[i+1] += frac*tmp;
|
||||
}
|
||||
|
@ -114,10 +114,10 @@ void interp_band_gain(float *g, const float *bandE) {
|
|||
{
|
||||
int j;
|
||||
int band_size;
|
||||
band_size = (eband5ms[i+1]-eband5ms[i])<<FRAME_SIZE_SHIFT;
|
||||
band_size = (eband5ms[i+1]-eband5ms[i])*WINDOW_SIZE_5MS;
|
||||
for (j=0;j<band_size;j++) {
|
||||
float frac = (float)j/band_size;
|
||||
g[(eband5ms[i]<<FRAME_SIZE_SHIFT) + j] = (1-frac)*bandE[i] + frac*bandE[i+1];
|
||||
g[(eband5ms[i]*WINDOW_SIZE_5MS) + j] = (1-frac)*bandE[i] + frac*bandE[i+1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,9 +28,12 @@
|
|||
|
||||
#define PREEMPHASIS (0.85f)
|
||||
|
||||
#define FRAME_SIZE_SHIFT 2
|
||||
#define FRAME_SIZE (40<<FRAME_SIZE_SHIFT)
|
||||
#define OVERLAP_SIZE (FRAME_SIZE)
|
||||
#define FRAME_SIZE_5MS (2)
|
||||
#define OVERLAP_SIZE_5MS (2)
|
||||
#define WINDOW_SIZE_5MS (FRAME_SIZE_5MS + OVERLAP_SIZE_5MS)
|
||||
|
||||
#define FRAME_SIZE (80*FRAME_SIZE_5MS)
|
||||
#define OVERLAP_SIZE (80*OVERLAP_SIZE_5MS)
|
||||
#define WINDOW_SIZE (FRAME_SIZE + OVERLAP_SIZE)
|
||||
#define FREQ_SIZE (WINDOW_SIZE/2 + 1)
|
||||
|
||||
|
|
|
@ -28,9 +28,9 @@
|
|||
#include <stdio.h>
|
||||
#include "arch.h"
|
||||
#include "lpcnet.h"
|
||||
#include "freq.h"
|
||||
|
||||
|
||||
#define FRAME_SIZE 160
|
||||
int main(int argc, char **argv) {
|
||||
FILE *fin, *fout;
|
||||
LPCNetState *net;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue