[FFmpeg-cvslog] libavresample: add mix level normalization option

John Stebbins git at videolan.org
Wed Aug 15 16:02:54 CEST 2012


ffmpeg | branch: master | John Stebbins <jstebbins.hb at gmail.com> | Thu Aug  2 11:23:06 2012 -0700| [4cf4028331f9605cdd3ed5ff7a8ca2fbdaedf7fd] | committer: Diego Biurrun

libavresample: add mix level normalization option

Provides an option to disable mix level normalization

Signed-off-by: Diego Biurrun <diego at biurrun.de>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4cf4028331f9605cdd3ed5ff7a8ca2fbdaedf7fd
---

 libavresample/audio_mix.c |    4 +++-
 libavresample/internal.h  |    1 +
 libavresample/options.c   |    1 +
 3 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/libavresample/audio_mix.c b/libavresample/audio_mix.c
index e8ab2e3..f948c82 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 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 },



More information about the ffmpeg-cvslog mailing list