aboutsummaryrefslogtreecommitdiff
path: root/libswresample
diff options
context:
space:
mode:
authorMichael Niedermayer2013-01-10 00:25:09 +0100
committerMichael Niedermayer2013-01-10 00:25:09 +0100
commitead3a2a37e67de617cad33b7e9bdb8ade6ed220f (patch)
tree2dd95712df07b85c581461eb5d6ac4fef2f269a5 /libswresample
parent6908ded20e8040a48f6e281e665aabd6b1066a9e (diff)
swr: add noise_scale field to seperate it from the noise shaping scales
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libswresample')
-rw-r--r--libswresample/dither.c3
-rw-r--r--libswresample/swresample_internal.h1
2 files changed, 3 insertions, 1 deletions
diff --git a/libswresample/dither.c b/libswresample/dither.c
index d7cb8a134a..c3bb5609ed 100644
--- a/libswresample/dither.c
+++ b/libswresample/dither.c
@@ -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));
diff --git a/libswresample/swresample_internal.h b/libswresample/swresample_internal.h
index 5236098a40..8423c3a767 100644
--- a/libswresample/swresample_internal.h
+++ b/libswresample/swresample_internal.h
@@ -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