summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Marc Valin <jmvalin@jmvalin.ca>2019-09-25 01:16:16 -0400
committerJean-Marc Valin <jmvalin@jmvalin.ca>2019-09-25 01:16:16 -0400
commit8ed7818a7789cdaf6f13a6d26a75c5b11673ffe5 (patch)
tree6e466e3cf351180ffe97a75a48bc703ff5fe252f
parentcece1fd67fe665617dac2f23cb0a4f82c94b2270 (diff)
downloadopus-exp_waveform_matching.tar.gz
Use new waveform matching option on ambisonicsexp_waveform_matching
Should reduce phase-related problems at low bitrate
-rw-r--r--src/opus_multistream_encoder.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/opus_multistream_encoder.c b/src/opus_multistream_encoder.c
index 93204a14..302ffe86 100644
--- a/src/opus_multistream_encoder.c
+++ b/src/opus_multistream_encoder.c
@@ -475,6 +475,8 @@ static int opus_multistream_encoder_init_impl(
if(ret!=OPUS_OK)return ret;
if (i==st->lfe_stream)
opus_encoder_ctl((OpusEncoder*)ptr, OPUS_SET_LFE(1));
+ if (mapping_type == MAPPING_TYPE_AMBISONICS)
+ opus_encoder_ctl((OpusEncoder*)ptr, OPUS_SET_WAVEFORM_MATCHING(1));
ptr += align(coupled_size);
}
for (;i<st->layout.nb_streams;i++)
@@ -482,6 +484,8 @@ static int opus_multistream_encoder_init_impl(
ret = opus_encoder_init((OpusEncoder*)ptr, Fs, 1, application);
if (i==st->lfe_stream)
opus_encoder_ctl((OpusEncoder*)ptr, OPUS_SET_LFE(1));
+ if (mapping_type == MAPPING_TYPE_AMBISONICS)
+ opus_encoder_ctl((OpusEncoder*)ptr, OPUS_SET_WAVEFORM_MATCHING(1));
if(ret!=OPUS_OK)return ret;
ptr += align(mono_size);
}