Disable PLC for iSAC

A codec's packet-loss concealer is called once from NetEq before
decoding the first packet after a packet loss. The purpose is not to
use the PLC output, but to prepare the state of the decoder such that
it may recover faster after the loss. However, this effect is not
achieved by calling iSAC's PLC. Also, there are some problems with the
fixed-point implementation of the PLC (see the associated bug).

BUG=4423
R=kwiberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/42849004

Cr-Commit-Position: refs/heads/master@{#8827}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8827 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
henrik.lundin@webrtc.org
2015-03-23 12:23:51 +00:00
parent ee0c5af314
commit 09b6ff9460
4 changed files with 12 additions and 15 deletions

View File

@ -242,7 +242,7 @@ int AudioEncoderDecoderIsacT<T>::DecodeInternal(const uint8_t* encoded,
template <typename T>
bool AudioEncoderDecoderIsacT<T>::HasDecodePlc() const {
return true;
return false;
}
template <typename T>

View File

@ -563,7 +563,7 @@ class AcmReceiverBitExactness : public ::testing::Test {
TEST_F(AcmReceiverBitExactness, MAYBE_8kHzOutput) {
Run(8000,
PlatformChecksum("dcee98c623b147ebe1b40dd30efa896e",
"6ac89c7145072c26bfeba602cd661afb",
"adc92e173f908f93b96ba5844209815a",
"908002dc01fc4eb1d2be24eb1d3f354b"));
}
@ -576,7 +576,7 @@ TEST_F(AcmReceiverBitExactness, MAYBE_8kHzOutput) {
TEST_F(AcmReceiverBitExactness, MAYBE_16kHzOutput) {
Run(16000,
PlatformChecksum("f790e7a8cce4e2c8b7bb5e0e4c5dac0d",
"3e888eb04f57db2c6ef952fe64f17fe6",
"8cffa6abcb3e18e33b9d857666dff66a",
"a909560b5ca49fa472b17b7b277195e9"));
}
@ -589,7 +589,7 @@ TEST_F(AcmReceiverBitExactness, MAYBE_16kHzOutput) {
TEST_F(AcmReceiverBitExactness, MAYBE_32kHzOutput) {
Run(32000,
PlatformChecksum("306e0d990ee6e92de3fbecc0123ece37",
"aeca37e963310f5b6552b7edea23c2f1",
"3e126fe894720c3f85edadcc91964ba5",
"441aab4b347fb3db4e9244337aca8d8e"));
}
@ -602,7 +602,7 @@ TEST_F(AcmReceiverBitExactness, MAYBE_32kHzOutput) {
TEST_F(AcmReceiverBitExactness, MAYBE_48kHzOutput) {
Run(48000,
PlatformChecksum("aa7c232f63a67b2a72703593bdd172e0",
"76b9e99e0a3998aa28355e7a2bd836f7",
"0155665e93067c4e89256b944dd11999",
"4ee2730fa1daae755e8a8fd3abd779ec"));
}

View File

@ -751,7 +751,7 @@ class AcmReceiverBitExactnessOldApi : public ::testing::Test {
TEST_F(AcmReceiverBitExactnessOldApi, MAYBE_8kHzOutput) {
Run(8000,
PlatformChecksum("dcee98c623b147ebe1b40dd30efa896e",
"6ac89c7145072c26bfeba602cd661afb",
"adc92e173f908f93b96ba5844209815a",
"908002dc01fc4eb1d2be24eb1d3f354b"));
}
@ -764,7 +764,7 @@ TEST_F(AcmReceiverBitExactnessOldApi, MAYBE_8kHzOutput) {
TEST_F(AcmReceiverBitExactnessOldApi, MAYBE_16kHzOutput) {
Run(16000,
PlatformChecksum("f790e7a8cce4e2c8b7bb5e0e4c5dac0d",
"3e888eb04f57db2c6ef952fe64f17fe6",
"8cffa6abcb3e18e33b9d857666dff66a",
"a909560b5ca49fa472b17b7b277195e9"));
}
@ -777,7 +777,7 @@ TEST_F(AcmReceiverBitExactnessOldApi, MAYBE_16kHzOutput) {
TEST_F(AcmReceiverBitExactnessOldApi, MAYBE_32kHzOutput) {
Run(32000,
PlatformChecksum("306e0d990ee6e92de3fbecc0123ece37",
"aeca37e963310f5b6552b7edea23c2f1",
"3e126fe894720c3f85edadcc91964ba5",
"441aab4b347fb3db4e9244337aca8d8e"));
}
@ -790,7 +790,7 @@ TEST_F(AcmReceiverBitExactnessOldApi, MAYBE_32kHzOutput) {
TEST_F(AcmReceiverBitExactnessOldApi, MAYBE_48kHzOutput) {
Run(48000,
PlatformChecksum("aa7c232f63a67b2a72703593bdd172e0",
"76b9e99e0a3998aa28355e7a2bd836f7",
"0155665e93067c4e89256b944dd11999",
"4ee2730fa1daae755e8a8fd3abd779ec"));
}

View File

@ -521,8 +521,7 @@ TEST_F(AudioDecoderIsacFloatTest, EncodeDecode) {
EXPECT_TRUE(CodecSupported(kDecoderISAC));
EncodeDecodeTest(0, tolerance, mse, delay);
ReInitTest();
EXPECT_TRUE(decoder_->HasDecodePlc());
DecodePlcTest();
EXPECT_FALSE(decoder_->HasDecodePlc());
}
TEST_F(AudioDecoderIsacSwbTest, EncodeDecode) {
@ -532,8 +531,7 @@ TEST_F(AudioDecoderIsacSwbTest, EncodeDecode) {
EXPECT_TRUE(CodecSupported(kDecoderISACswb));
EncodeDecodeTest(0, tolerance, mse, delay);
ReInitTest();
EXPECT_TRUE(decoder_->HasDecodePlc());
DecodePlcTest();
EXPECT_FALSE(decoder_->HasDecodePlc());
}
// Fails Android ARM64. https://code.google.com/p/webrtc/issues/detail?id=4198
@ -554,8 +552,7 @@ TEST_F(AudioDecoderIsacFixTest, MAYBE_EncodeDecode) {
#endif
EncodeDecodeTest(kEncodedBytes, tolerance, mse, delay);
ReInitTest();
EXPECT_TRUE(decoder_->HasDecodePlc());
DecodePlcTest();
EXPECT_FALSE(decoder_->HasDecodePlc());
}
TEST_F(AudioDecoderG722Test, EncodeDecode) {