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:
authorFelicia Lim <flim@google.com>2016-07-20 14:37:13 +0300
committerTimothy B. Terriberry <tterribe@xiph.org>2016-07-20 15:02:39 +0300
commite1bce7b3f6eff218cd23fe26b115d315e78f3ad6 (patch)
tree55061f446ffff4b827bbb76837bb65a1ea4be9e3
parent6f260111299209dafd58ffbf5aafe7bdeedcc4fa (diff)
Fix use_dtx for DISABLE_FLOAT_API
Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
-rw-r--r--src/opus_encoder.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/opus_encoder.c b/src/opus_encoder.c
index 2bb29f67..0c4e297a 100644
--- a/src/opus_encoder.c
+++ b/src/opus_encoder.c
@@ -86,9 +86,9 @@ struct OpusEncoder {
int encoder_buffer;
int lfe;
int arch;
+ int use_dtx; /* general DTX for both SILK and CELT */
#ifndef DISABLE_FLOAT_API
TonalityAnalysisState analysis;
- int use_dtx; /* general DTX for both SILK and CELT */
#endif
#define OPUS_ENCODER_RESET_START stream_channels
@@ -1422,9 +1422,13 @@ opus_int32 opus_encode_native(OpusEncoder *st, const opus_val16 *pcm, int frame_
if (st->silk_mode.useInBandFEC && st->silk_mode.packetLossPercentage > (128-voice_est)>>4)
st->mode = MODE_SILK_ONLY;
/* When encoding voice and DTX is enabled but the generalized DTX cannot be used,
- because of complexity and sampling frequency settings,
- set the encoder to SILK mode so that the SILK DTX can be used */
+ because of complexity and sampling frequency settings, switch to SILK DTX and
+ set the encoder to SILK mode */
+#ifndef DISABLE_FLOAT_API
st->silk_mode.useDTX = st->use_dtx && !(analysis_info.valid || is_silence);
+#else
+ st->silk_mode.useDTX = st->use_dtx;
+#endif
if (st->silk_mode.useDTX && voice_est > 100)
st->mode = MODE_SILK_ONLY;
#endif