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:
@ -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>
|
||||
|
@ -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"));
|
||||
}
|
||||
|
||||
|
@ -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"));
|
||||
}
|
||||
|
||||
|
@ -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) {
|
||||
|
Reference in New Issue
Block a user