summaryrefslogtreecommitdiff
path: root/libavresample
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-08-15 15:41:01 +0200
committerMichael Niedermayer <michaelni@gmx.at>2012-08-15 15:55:24 +0200
commit9e89bc37edfcd1b4b0a22c096c6546df4a9d1c0b (patch)
treede31fc8aa5b32d28a0143aff2477b4c3ada40318 /libavresample
parentaee7b88cc0675fb668e39e8f4a50f2b1bd9305d4 (diff)
parent635ac8e1be91e941908f85642e4bbb609e48193f (diff)
Merge remote-tracking branch 'qatar/master'
* qatar/master: rtmp: Add support for SWFVerification api-example: use new video encoding API. x86: avcodec: Appropriately name files containing only init functions mpegvideo_mmx_template: drop some commented-out cruft libavresample: add mix level normalization option w32pthreads: Add missing #includes to make header compile standalone rtmp: Gracefully ignore _checkbw errors by tracking them rtmp: Do not send _checkbw calls as notifications prores: interlaced ProRes encoding Conflicts: doc/examples/decoding_encoding.c libavcodec/proresenc_kostya.c libavcodec/w32pthreads.h libavcodec/x86/Makefile libavformat/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavresample')
-rw-r--r--libavresample/audio_mix.c4
-rw-r--r--libavresample/internal.h1
-rw-r--r--libavresample/options.c1
3 files changed, 5 insertions, 1 deletions
diff --git a/libavresample/audio_mix.c b/libavresample/audio_mix.c
index e8ab2e3ee7..f948c82788 100644
--- a/libavresample/audio_mix.c
+++ b/libavresample/audio_mix.c
@@ -335,7 +335,9 @@ int ff_audio_mix_init(AVAudioResampleContext *avr)
avr->out_channel_layout,
avr->center_mix_level,
avr->surround_mix_level,
- avr->lfe_mix_level, 1, matrix_dbl,
+ avr->lfe_mix_level,
+ avr->normalize_mix_level,
+ matrix_dbl,
avr->in_channels,
avr->matrix_encoding);
if (ret < 0) {
diff --git a/libavresample/internal.h b/libavresample/internal.h
index 7b7648f0be..006b6fd14a 100644
--- a/libavresample/internal.h
+++ b/libavresample/internal.h
@@ -45,6 +45,7 @@ struct AVAudioResampleContext {
double center_mix_level; /**< center mix level */
double surround_mix_level; /**< surround mix level */
double lfe_mix_level; /**< lfe mix level */
+ int normalize_mix_level; /**< enable mix level normalization */
int force_resampling; /**< force resampling */
int filter_size; /**< length of each FIR filter in the resampling filterbank relative to the cutoff frequency */
int phase_shift; /**< log2 of the number of entries in the resampling polyphase filterbank */
diff --git a/libavresample/options.c b/libavresample/options.c
index 02e1f86308..e7e0c27c4d 100644
--- a/libavresample/options.c
+++ b/libavresample/options.c
@@ -47,6 +47,7 @@ static const AVOption options[] = {
{ "center_mix_level", "Center Mix Level", OFFSET(center_mix_level), AV_OPT_TYPE_DOUBLE, { M_SQRT1_2 }, -32.0, 32.0, PARAM },
{ "surround_mix_level", "Surround Mix Level", OFFSET(surround_mix_level), AV_OPT_TYPE_DOUBLE, { M_SQRT1_2 }, -32.0, 32.0, PARAM },
{ "lfe_mix_level", "LFE Mix Level", OFFSET(lfe_mix_level), AV_OPT_TYPE_DOUBLE, { 0.0 }, -32.0, 32.0, PARAM },
+ { "normalize_mix_level", "Normalize Mix Level", OFFSET(normalize_mix_level), AV_OPT_TYPE_INT, { 1 }, 0, 1, PARAM },
{ "force_resampling", "Force Resampling", OFFSET(force_resampling), AV_OPT_TYPE_INT, { 0 }, 0, 1, PARAM },
{ "filter_size", "Resampling Filter Size", OFFSET(filter_size), AV_OPT_TYPE_INT, { 16 }, 0, 32, /* ??? */ PARAM },
{ "phase_shift", "Resampling Phase Shift", OFFSET(phase_shift), AV_OPT_TYPE_INT, { 10 }, 0, 30, /* ??? */ PARAM },