swr: add noise_scale field to seperate it from the noise shaping scales

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2013-01-10 00:25:09 +01:00
parent 6908ded20e
commit ead3a2a37e
2 changed files with 3 additions and 1 deletions

View File

@ -24,7 +24,7 @@
#include "noise_shaping_data.c"
void swri_get_dither(SwrContext *s, void *dst, int len, unsigned seed, enum AVSampleFormat noise_fmt) {
double scale = s->dither.ns_scale;
double scale = s->dither.noise_scale;
#define TMP_EXTRA 2
double *tmp = av_malloc((len + TMP_EXTRA) * sizeof(double));
int i;
@ -95,6 +95,7 @@ int swri_dither_init(SwrContext *s, enum AVSampleFormat out_fmt, enum AVSampleFo
scale *= s->dither.scale;
s->dither.ns_pos = 0;
s->dither.noise_scale= scale;
s->dither.ns_scale = scale;
s->dither.ns_scale_1 = 1/scale;
memset(s->dither.ns_errors, 0, sizeof(s->dither.ns_errors));

View File

@ -54,6 +54,7 @@ struct DitherContext {
enum SwrDitherType method;
int dither_pos;
float scale;
float noise_scale; ///< Noise scale
int ns_taps; ///< Noise shaping dither taps
float ns_scale; ///< Noise shaping dither scale
float ns_scale_1; ///< Noise shaping dither scale^-1