Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.xiph.org/xiph/opus.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Harris <mark.hsj@gmail.com>2016-09-03 20:42:19 +0300
committerMark Harris <mark.hsj@gmail.com>2016-09-03 20:42:19 +0300
commit691d49355f83a220d35f129f12471c8ab5a62084 (patch)
tree7454a5f30d3c2b011beba20088a9206c2860739e
parentf25b46a303bda213107c4493ed52c8a023b6205d (diff)
Allow disabling phase inversion for multistream
Also clarify in doc that conformance issue relates to decoder only.
-rw-r--r--include/opus_defines.h11
-rw-r--r--src/opus_multistream_decoder.c2
-rw-r--r--src/opus_multistream_encoder.c2
3 files changed, 10 insertions, 5 deletions
diff --git a/include/opus_defines.h b/include/opus_defines.h
index 0d9aab08..140c5629 100644
--- a/include/opus_defines.h
+++ b/include/opus_defines.h
@@ -682,11 +682,12 @@ extern "C" {
*/
#define OPUS_GET_SAMPLE_RATE(x) OPUS_GET_SAMPLE_RATE_REQUEST, __opus_check_int_ptr(x)
-/** If set to 1, disables the use of phase inversion for intensity stereo, improving the
- * quality of mono downmixes, but slightly reducing normal stereo quality. Disabling phase
- * inversion does not comply with RFC6716, even though it does not cause any
- * interoperability issue. It will become part of the Opus standard once RFC6716 gets
- * updated with draft-ietf-codec-opus-update.
+/** If set to 1, disables the use of phase inversion for intensity stereo,
+ * improving the quality of mono downmixes, but slightly reducing normal
+ * stereo quality. Disabling phase inversion in the decoder does not comply
+ * with RFC 6716, although it does not cause any interoperability issue and
+ * is expected to become part of the Opus standard once RFC 6716 is updated
+ * by draft-ietf-codec-opus-update.
* @see OPUS_GET_PHASE_INVERSION_DISABLED
* @param[in] x <tt>opus_int32</tt>: Allowed values:
* <dl>
diff --git a/src/opus_multistream_decoder.c b/src/opus_multistream_decoder.c
index b95eaa6e..30cc54b2 100644
--- a/src/opus_multistream_decoder.c
+++ b/src/opus_multistream_decoder.c
@@ -425,6 +425,7 @@ int opus_multistream_decoder_ctl(OpusMSDecoder *st, int request, ...)
case OPUS_GET_SAMPLE_RATE_REQUEST:
case OPUS_GET_GAIN_REQUEST:
case OPUS_GET_LAST_PACKET_DURATION_REQUEST:
+ case OPUS_GET_PHASE_INVERSION_DISABLED_REQUEST:
{
OpusDecoder *dec;
/* For int32* GET params, just query the first stream */
@@ -499,6 +500,7 @@ int opus_multistream_decoder_ctl(OpusMSDecoder *st, int request, ...)
}
break;
case OPUS_SET_GAIN_REQUEST:
+ case OPUS_SET_PHASE_INVERSION_DISABLED_REQUEST:
{
int s;
/* This works for int32 params */
diff --git a/src/opus_multistream_encoder.c b/src/opus_multistream_encoder.c
index f4e00fe5..b9d60c88 100644
--- a/src/opus_multistream_encoder.c
+++ b/src/opus_multistream_encoder.c
@@ -1204,6 +1204,7 @@ int opus_multistream_encoder_ctl(OpusMSEncoder *st, int request, ...)
case OPUS_GET_INBAND_FEC_REQUEST:
case OPUS_GET_FORCE_CHANNELS_REQUEST:
case OPUS_GET_PREDICTION_DISABLED_REQUEST:
+ case OPUS_GET_PHASE_INVERSION_DISABLED_REQUEST:
{
OpusEncoder *enc;
/* For int32* GET params, just query the first stream */
@@ -1250,6 +1251,7 @@ int opus_multistream_encoder_ctl(OpusMSEncoder *st, int request, ...)
case OPUS_SET_FORCE_MODE_REQUEST:
case OPUS_SET_FORCE_CHANNELS_REQUEST:
case OPUS_SET_PREDICTION_DISABLED_REQUEST:
+ case OPUS_SET_PHASE_INVERSION_DISABLED_REQUEST:
{
int s;
/* This works for int32 params */