summaryrefslogtreecommitdiffstats
path: root/libhb/audio_resample.c
diff options
context:
space:
mode:
authorRodeo <[email protected]>2014-02-18 02:26:52 +0000
committerRodeo <[email protected]>2014-02-18 02:26:52 +0000
commit52036382899171921343e10053fa3adaedcb19d2 (patch)
tree9c0204eeee2959d85b55b74984936e8cf46ce82a /libhb/audio_resample.c
parent6bd1bab325550ccc8a9c9d3ee372a0aaa2e75c2e (diff)
Bump libav to v10_beta1
Remove some patches that have been applied upstream. Add support for AVDownmixInfo side data (i.e. mix levels). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6039 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/audio_resample.c')
-rw-r--r--libhb/audio_resample.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/libhb/audio_resample.c b/libhb/audio_resample.c
index 913186cc0..577c66dad 100644
--- a/libhb/audio_resample.c
+++ b/libhb/audio_resample.c
@@ -62,6 +62,7 @@ hb_audio_resample_t* hb_audio_resample_init(enum AVSampleFormat sample_fmt,
// set default input characteristics
resample->in.sample_fmt = resample->out.sample_fmt;
resample->in.channel_layout = resample->out.channel_layout;
+ resample->in.lfe_mix_level = HB_MIXLEV_ZERO;
resample->in.center_mix_level = HB_MIXLEV_DEFAULT;
resample->in.surround_mix_level = HB_MIXLEV_DEFAULT;
@@ -90,10 +91,12 @@ void hb_audio_resample_set_channel_layout(hb_audio_resample_t *resample,
void hb_audio_resample_set_mix_levels(hb_audio_resample_t *resample,
double surround_mix_level,
- double center_mix_level)
+ double center_mix_level,
+ double lfe_mix_level)
{
if (resample != NULL)
{
+ resample->in.lfe_mix_level = lfe_mix_level;
resample->in.center_mix_level = center_mix_level;
resample->in.surround_mix_level = surround_mix_level;
}
@@ -126,6 +129,7 @@ int hb_audio_resample_update(hb_audio_resample_t *resample)
(resample->resample_needed &&
(resample->resample.sample_fmt != resample->in.sample_fmt ||
resample->resample.channel_layout != resample->in.channel_layout ||
+ resample->resample.lfe_mix_level != resample->in.lfe_mix_level ||
resample->resample.center_mix_level != resample->in.center_mix_level ||
resample->resample.surround_mix_level != resample->in.surround_mix_level));
@@ -159,6 +163,8 @@ int hb_audio_resample_update(hb_audio_resample_t *resample)
resample->in.sample_fmt, 0);
av_opt_set_int(resample->avresample, "in_channel_layout",
resample->in.channel_layout, 0);
+ av_opt_set_double(resample->avresample, "lfe_mix_level",
+ resample->in.lfe_mix_level, 0);
av_opt_set_double(resample->avresample, "center_mix_level",
resample->in.center_mix_level, 0);
av_opt_set_double(resample->avresample, "surround_mix_level",
@@ -179,6 +185,7 @@ int hb_audio_resample_update(hb_audio_resample_t *resample)
resample->resample.channel_layout = resample->in.channel_layout;
resample->resample.channels =
av_get_channel_layout_nb_channels(resample->in.channel_layout);
+ resample->resample.lfe_mix_level = resample->in.lfe_mix_level;
resample->resample.center_mix_level = resample->in.center_mix_level;
resample->resample.surround_mix_level = resample->in.surround_mix_level;
}