diff options
| author | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2016-04-20 13:27:06 -0400 |
|---|---|---|
| committer | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2016-09-01 01:08:59 -0400 |
| commit | 9fc5fa7c7c33bb8c6570835b333c5e9cc3bce2b1 (patch) | |
| tree | e4b7b807a5d9e8ecccdbc6d78b6bdadf9135a94d /src | |
| parent | 03e0a0a2a3c8fdcdd7017c22ce6b462fefb79359 (diff) | |
| download | opus-exp_bitstream6.tar.gz | |
Make it possible to ignore inverted phase stereo for downmix purposesexp_bitstream6
Diffstat (limited to 'src')
| -rw-r--r-- | src/opus_decoder.c | 20 | ||||
| -rw-r--r-- | src/opus_encoder.c | 20 |
2 files changed, 40 insertions, 0 deletions
diff --git a/src/opus_decoder.c b/src/opus_decoder.c index 080bec50..af46d82f 100644 --- a/src/opus_decoder.c +++ b/src/opus_decoder.c @@ -899,6 +899,26 @@ int opus_decoder_ctl(OpusDecoder *st, int request, ...) *value = st->last_packet_duration; } break; + case OPUS_SET_PHASE_INVERSION_DISABLED_REQUEST: + { + opus_int32 value = va_arg(ap, opus_int32); + if(value<0 || value>1) + { + goto bad_arg; + } + celt_decoder_ctl(celt_dec, OPUS_SET_PHASE_INVERSION_DISABLED(value)); + } + break; + case OPUS_GET_PHASE_INVERSION_DISABLED_REQUEST: + { + opus_int32 *value = va_arg(ap, opus_int32*); + if (!value) + { + goto bad_arg; + } + celt_decoder_ctl(celt_dec, OPUS_GET_PHASE_INVERSION_DISABLED(value)); + } + break; default: /*fprintf(stderr, "unknown opus_decoder_ctl() request: %d", request);*/ ret = OPUS_UNIMPLEMENTED; diff --git a/src/opus_encoder.c b/src/opus_encoder.c index f484b0a4..ef464fc5 100644 --- a/src/opus_encoder.c +++ b/src/opus_encoder.c @@ -2781,6 +2781,26 @@ int opus_encoder_ctl(OpusEncoder *st, int request, ...) *value = st->silk_mode.reducedDependency; } break; + case OPUS_SET_PHASE_INVERSION_DISABLED_REQUEST: + { + opus_int32 value = va_arg(ap, opus_int32); + if(value<0 || value>1) + { + goto bad_arg; + } + celt_encoder_ctl(celt_enc, OPUS_SET_PHASE_INVERSION_DISABLED(value)); + } + break; + case OPUS_GET_PHASE_INVERSION_DISABLED_REQUEST: + { + opus_int32 *value = va_arg(ap, opus_int32*); + if (!value) + { + goto bad_arg; + } + celt_encoder_ctl(celt_enc, OPUS_GET_PHASE_INVERSION_DISABLED(value)); + } + break; case OPUS_RESET_STATE: { void *silk_enc; |
