Add new fast mode for NetEq's Accelerate operation
This change instroduces a mode where the Accelerate operation will be more aggressive. When enabled, it will allow acceleration at lower correlation levels, and possibly remove multiple pitch periods at once. The feature is enabled through NetEq::Config, and is off by default. This means that bit-exactness tests are currently not affected. A unit test was added for the Accelerate class, with and without fast mode enabled. BUG=4691 R=minyue@webrtc.org Review URL: https://webrtc-codereview.appspot.com/50039004 Cr-Commit-Position: refs/heads/master@{#9295}
This commit is contained in:
@ -278,7 +278,8 @@ class NetEqImpl : public webrtc::NetEq {
|
||||
int DoAccelerate(int16_t* decoded_buffer,
|
||||
size_t decoded_length,
|
||||
AudioDecoder::SpeechType speech_type,
|
||||
bool play_dtmf) EXCLUSIVE_LOCKS_REQUIRED(crit_sect_);
|
||||
bool play_dtmf,
|
||||
bool fast_accelerate) EXCLUSIVE_LOCKS_REQUIRED(crit_sect_);
|
||||
|
||||
// Sub-method which calls the PreemptiveExpand class to perform the
|
||||
// preemtive expand operation.
|
||||
@ -392,6 +393,7 @@ class NetEqImpl : public webrtc::NetEq {
|
||||
int decoder_error_code_ GUARDED_BY(crit_sect_);
|
||||
const BackgroundNoiseMode background_noise_mode_ GUARDED_BY(crit_sect_);
|
||||
NetEqPlayoutMode playout_mode_ GUARDED_BY(crit_sect_);
|
||||
bool enable_fast_accelerate_ GUARDED_BY(crit_sect_);
|
||||
|
||||
// These values are used by NACK module to estimate time-to-play of
|
||||
// a missing packet. Occasionally, NetEq might decide to decode more
|
||||
|
||||
Reference in New Issue
Block a user