Allow disabling phase inversion for multistream
authorMark Harris <mark.hsj@gmail.com>
Sat, 3 Sep 2016 17:42:19 +0000 (10:42 -0700)
committerMark Harris <mark.hsj@gmail.com>
Sat, 3 Sep 2016 17:42:19 +0000 (10:42 -0700)
Also clarify in doc that conformance issue relates to decoder only.

include/opus_defines.h
src/opus_multistream_decoder.c
src/opus_multistream_encoder.c

index 0d9aab0..140c562 100644 (file)
@@ -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>
index b95eaa6..30cc54b 100644 (file)
@@ -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 */
index f4e00fe..b9d60c8 100644 (file)
@@ -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 */