diff options
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/ffmpeg/A06-mix-normalization.patch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/contrib/ffmpeg/A06-mix-normalization.patch b/contrib/ffmpeg/A06-mix-normalization.patch new file mode 100644 index 000000000..06fb2754c --- /dev/null +++ b/contrib/ffmpeg/A06-mix-normalization.patch @@ -0,0 +1,39 @@ +diff --git a/libavresample/audio_mix.c b/libavresample/audio_mix.c +index 2c2a356..25f9f98 100644 +--- a/libavresample/audio_mix.c ++++ b/libavresample/audio_mix.c +@@ -327,7 +327,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 7b7648f..006b6fd 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 02e1f86..e7e0c27 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 }, |