Commit ead3a2a3 authored by Michael Niedermayer's avatar Michael Niedermayer

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

Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 6908ded2
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
#include "noise_shaping_data.c" #include "noise_shaping_data.c"
void swri_get_dither(SwrContext *s, void *dst, int len, unsigned seed, enum AVSampleFormat noise_fmt) { 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 #define TMP_EXTRA 2
double *tmp = av_malloc((len + TMP_EXTRA) * sizeof(double)); double *tmp = av_malloc((len + TMP_EXTRA) * sizeof(double));
int i; int i;
...@@ -95,6 +95,7 @@ int swri_dither_init(SwrContext *s, enum AVSampleFormat out_fmt, enum AVSampleFo ...@@ -95,6 +95,7 @@ int swri_dither_init(SwrContext *s, enum AVSampleFormat out_fmt, enum AVSampleFo
scale *= s->dither.scale; scale *= s->dither.scale;
s->dither.ns_pos = 0; s->dither.ns_pos = 0;
s->dither.noise_scale= scale;
s->dither.ns_scale = scale; s->dither.ns_scale = scale;
s->dither.ns_scale_1 = 1/scale; s->dither.ns_scale_1 = 1/scale;
memset(s->dither.ns_errors, 0, sizeof(s->dither.ns_errors)); memset(s->dither.ns_errors, 0, sizeof(s->dither.ns_errors));
......
...@@ -54,6 +54,7 @@ struct DitherContext { ...@@ -54,6 +54,7 @@ struct DitherContext {
enum SwrDitherType method; enum SwrDitherType method;
int dither_pos; int dither_pos;
float scale; float scale;
float noise_scale; ///< Noise scale
int ns_taps; ///< Noise shaping dither taps int ns_taps; ///< Noise shaping dither taps
float ns_scale; ///< Noise shaping dither scale float ns_scale; ///< Noise shaping dither scale
float ns_scale_1; ///< Noise shaping dither scale^-1 float ns_scale_1; ///< Noise shaping dither scale^-1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment