Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(970)

Side by Side Diff: webrtc/modules/audio_coding/codecs/opus/opus_inst.h

Issue 1415173005: Prevent Opus DTX from generating intermittent noise during silence (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: a fix after rebase Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_OPUS_OPUS_INST_H_ 11 #ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_OPUS_OPUS_INST_H_
12 #define WEBRTC_MODULES_AUDIO_CODING_CODECS_OPUS_OPUS_INST_H_ 12 #define WEBRTC_MODULES_AUDIO_CODING_CODECS_OPUS_OPUS_INST_H_
13 13
14 #include "opus.h" 14 #include "opus.h"
15 15
16 struct WebRtcOpusEncInst { 16 struct WebRtcOpusEncInst {
17 OpusEncoder* encoder; 17 OpusEncoder* encoder;
18 int channels;
18 int in_dtx_mode; 19 int in_dtx_mode;
20 // When Opus is in DTX mode, we use |zero_counts| to count consecutive zeros
the sun 2015/11/09 12:41:00 Should you add a TODO to remove this workaround on
minyue-webrtc 2015/11/09 15:13:00 Done.
21 // to break long zero segment so as to prevent DTX from going wrong. We use
22 // one counter for each channel. After each encoding, |zero_counts| contain
23 // the remaining zeros from the last frame.
24 size_t* zero_counts;
19 }; 25 };
20 26
21 struct WebRtcOpusDecInst { 27 struct WebRtcOpusDecInst {
22 OpusDecoder* decoder; 28 OpusDecoder* decoder;
23 int prev_decoded_samples; 29 int prev_decoded_samples;
24 int channels; 30 int channels;
25 int in_dtx_mode; 31 int in_dtx_mode;
26 }; 32 };
27 33
28 34
29 #endif // WEBRTC_MODULES_AUDIO_CODING_CODECS_OPUS_OPUS_INST_H_ 35 #endif // WEBRTC_MODULES_AUDIO_CODING_CODECS_OPUS_OPUS_INST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698