mirror of
https://github.com/radio95-rnt/fm95.git
synced 2026-02-26 19:23:51 +01:00
get rid of the lookahead
This commit is contained in:
@@ -29,11 +29,7 @@ void init_bs412(BS412Compressor* mpx, float mpx_deviation, float target_power, f
|
|||||||
}
|
}
|
||||||
|
|
||||||
float bs412_compress(BS412Compressor* mpx, float sample) {
|
float bs412_compress(BS412Compressor* mpx, float sample) {
|
||||||
if(mpx->lookahead_counter >= BS412_LOOKAHEAD) mpx->lookahead_counter = 0;
|
mpx->average += sample * sample * mpx->mpx_deviation * mpx->mpx_deviation;
|
||||||
float process_sample = mpx->lookahead_samples[mpx->lookahead_counter];
|
|
||||||
mpx->lookahead_samples[mpx->lookahead_counter++] = sample;
|
|
||||||
|
|
||||||
mpx->average += process_sample * process_sample * mpx->mpx_deviation * mpx->mpx_deviation;
|
|
||||||
mpx->average_counter++;
|
mpx->average_counter++;
|
||||||
|
|
||||||
float avg_power = mpx->average / mpx->average_counter;
|
float avg_power = mpx->average / mpx->average_counter;
|
||||||
|
|||||||
@@ -10,8 +10,6 @@
|
|||||||
#include "../lib/debug.h"
|
#include "../lib/debug.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define BS412_LOOKAHEAD 2048 // samples
|
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
int mpx_deviation;
|
int mpx_deviation;
|
||||||
@@ -23,9 +21,6 @@ typedef struct
|
|||||||
float max;
|
float max;
|
||||||
float gain;
|
float gain;
|
||||||
double average;
|
double average;
|
||||||
|
|
||||||
float lookahead_samples[BS412_LOOKAHEAD + 1];
|
|
||||||
int lookahead_counter;
|
|
||||||
} BS412Compressor;
|
} BS412Compressor;
|
||||||
|
|
||||||
float dbr_to_deviation(float dbr);
|
float dbr_to_deviation(float dbr);
|
||||||
|
|||||||
Reference in New Issue
Block a user