Update Opus tests for Opus 1.3

This updates various bitexactness tests and other tests that no longer
pass.

Bug: webrtc:11325
Change-Id: Ifa3e4b42e303f5573e028dfdf8a108a76f6318ae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168952
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30688}
diff --git a/modules/audio_coding/acm2/audio_coding_module_unittest.cc b/modules/audio_coding/acm2/audio_coding_module_unittest.cc
index febb121..6c9b242 100644
--- a/modules/audio_coding/acm2/audio_coding_module_unittest.cc
+++ b/modules/audio_coding/acm2/audio_coding_module_unittest.cc
@@ -1433,37 +1433,35 @@
 namespace {
 // Checksum depends on libopus being compiled with or without SSE.
 const std::string audio_maybe_sse =
-    "3e285b74510e62062fbd8142dacd16e9|"
-    "fd5d57d6d766908e6a7211e2a5c7f78a";
+    "e0ddf36854059151cdb7a0c4af3d282a"
+    "|32574e78db4eab0c467d3c0785e3b484";
 const std::string payload_maybe_sse =
-    "78cf8f03157358acdc69f6835caa0d9b|"
-    "b693bd95c2ee2354f92340dd09e9da68";
+    "b43bdf7638b2bc2a5a6f30bdc640b9ed"
+    "|c30d463e7ed10bdd1da9045f80561f27";
 // Common checksums.
 const std::string audio_checksum =
     AcmReceiverBitExactnessOldApi::PlatformChecksum(
         audio_maybe_sse,
         audio_maybe_sse,
-        "439e97ad1932c49923b5da029c17dd5e",
-        "038ec90f5f3fc2320f3090f8ecef6bb7",
-        "038ec90f5f3fc2320f3090f8ecef6bb7");
+        "6fcceb83acf427730570bc13eeac920c",
+        "fd96f15d547c4e155daeeef4253b174e",
+        "fd96f15d547c4e155daeeef4253b174e");
 const std::string payload_checksum =
     AcmReceiverBitExactnessOldApi::PlatformChecksum(
         payload_maybe_sse,
         payload_maybe_sse,
-        "ab88b1a049c36bdfeb7e8b057ef6982a",
-        "27fef7b799393347ec3b5694369a1c36",
-        "27fef7b799393347ec3b5694369a1c36");
+        "4bd846d0aa5656ecd5dfd85701a1b78c",
+        "7efbfc9f8e3b4b2933ae2d01ab919028",
+        "7efbfc9f8e3b4b2933ae2d01ab919028");
 }  // namespace
 
-// TODO(webrtc:11325) Reenable after Opus has been upgraded to 1.3.
-TEST_F(AcmSenderBitExactnessOldApi, DISABLED_Opus_stereo_20ms) {
+TEST_F(AcmSenderBitExactnessOldApi, Opus_stereo_20ms) {
   ASSERT_NO_FATAL_FAILURE(SetUpTest("opus", 48000, 2, 120, 960, 960));
   Run(audio_checksum, payload_checksum, 50,
       test::AcmReceiveTestOldApi::kStereoOutput);
 }
 
-// TODO(webrtc:11325) Reenable after Opus has been upgraded to 1.3.
-TEST_F(AcmSenderBitExactnessNewApi, DISABLED_OpusFromFormat_stereo_20ms) {
+TEST_F(AcmSenderBitExactnessNewApi, MAYBE_OpusFromFormat_stereo_20ms) {
   const auto config = AudioEncoderOpus::SdpToConfig(
       SdpAudioFormat("opus", 48000, 2, {{"stereo", "1"}}));
   ASSERT_TRUE(SetUpSender(kTestFileFakeStereo32kHz, 32000));
@@ -1520,8 +1518,7 @@
       50, test::AcmReceiveTestOldApi::kQuadOutput, decoder_factory);
 }
 
-// TODO(webrtc:11325) Reenable after Opus has been upgraded to 1.3.
-TEST_F(AcmSenderBitExactnessNewApi, DISABLED_OpusFromFormat_stereo_20ms_voip) {
+TEST_F(AcmSenderBitExactnessNewApi, OpusFromFormat_stereo_20ms_voip) {
   auto config = AudioEncoderOpus::SdpToConfig(
       SdpAudioFormat("opus", 48000, 2, {{"stereo", "1"}}));
   // If not set, default will be kAudio in case of stereo.
@@ -1529,22 +1526,21 @@
   ASSERT_TRUE(SetUpSender(kTestFileFakeStereo32kHz, 32000));
   ASSERT_NO_FATAL_FAILURE(SetUpTestExternalEncoder(
       AudioEncoderOpus::MakeAudioEncoder(*config, 120), 120));
-  // Checksum depends on libopus being compiled with or without SSE.
   const std::string audio_maybe_sse =
-      "b0325df4e8104f04e03af23c0b75800e|"
-      "3cd4e1bc2acd9440bb9e97af34080ffc";
+      "2d7e5797444f75e5bfeaffbd8c25176b"
+      "|408d4bdc05a8c23e46c6ac06c5b917ee";
   const std::string payload_maybe_sse =
-      "4eab2259b6fe24c22dd242a113e0b3d9|"
-      "4fc0af0aa06c26454af09832d3ec1b4e";
+      "b38b5584cfa7b6999b2e8e996c950c88"
+      "|eb0752ce1b6f2436fefc2e19bd084fb5";
   Run(AcmReceiverBitExactnessOldApi::PlatformChecksum(
-          audio_maybe_sse, audio_maybe_sse, "1c81121f5d9286a5a865d01dbab22ce8",
-          "11d547f89142e9ef03f37d7ca7f32379",
-          "11d547f89142e9ef03f37d7ca7f32379"),
+          audio_maybe_sse, audio_maybe_sse, "f1cefe107ffdced7694d7f735342adf3",
+          "3b1bfe5dd8ed16ee5b04b93a5b5e7e48",
+          "3b1bfe5dd8ed16ee5b04b93a5b5e7e48"),
       AcmReceiverBitExactnessOldApi::PlatformChecksum(
           payload_maybe_sse, payload_maybe_sse,
-          "839ea60399447268ee0f0262a50b75fd",
-          "1815fd5589cad0c6f6cf946c76b81aeb",
-          "1815fd5589cad0c6f6cf946c76b81aeb"),
+          "5e79a2f51c633fe145b6c10ae198d1aa",
+          "e730050cb304d54d853fd285ab0424fa",
+          "e730050cb304d54d853fd285ab0424fa"),
       50, test::AcmReceiveTestOldApi::kStereoOutput);
 }
 
@@ -1621,18 +1617,16 @@
   }
 };
 
-// TODO(webrtc:11325) Reenable after Opus has been upgraded to 1.3.
-TEST_F(AcmSetBitRateNewApi, DISABLED_OpusFromFormat_48khz_20ms_10kbps) {
+TEST_F(AcmSetBitRateNewApi, OpusFromFormat_48khz_20ms_10kbps) {
   const auto config = AudioEncoderOpus::SdpToConfig(
       SdpAudioFormat("opus", 48000, 2, {{"maxaveragebitrate", "10000"}}));
   ASSERT_TRUE(SetUpSender());
   RegisterExternalSendCodec(AudioEncoderOpus::MakeAudioEncoder(*config, 107),
                             107);
-  RunInner(8000, 12000);
+  RunInner(7000, 12000);
 }
 
-// TODO(webrtc:11325) Reenable after Opus has been upgraded to 1.3.
-TEST_F(AcmSetBitRateNewApi, DISABLED_OpusFromFormat_48khz_20ms_50kbps) {
+TEST_F(AcmSetBitRateNewApi, OpusFromFormat_48khz_20ms_50kbps) {
   const auto config = AudioEncoderOpus::SdpToConfig(
       SdpAudioFormat("opus", 48000, 2, {{"maxaveragebitrate", "50000"}}));
   ASSERT_TRUE(SetUpSender());
@@ -1740,8 +1734,7 @@
 #define MAYBE_OpusFromFormat_48khz_20ms_100kbps \
   OpusFromFormat_48khz_20ms_100kbps
 #endif
-// TODO(webrtc:11325) Reenable after Opus has been upgraded to 1.3.
-TEST_F(AcmSetBitRateNewApi, DISABLED_OpusFromFormat_48khz_20ms_100kbps) {
+TEST_F(AcmSetBitRateNewApi, MAYBE_OpusFromFormat_48khz_20ms_100kbps) {
   const auto config = AudioEncoderOpus::SdpToConfig(
       SdpAudioFormat("opus", 48000, 2, {{"maxaveragebitrate", "100000"}}));
   ASSERT_TRUE(SetUpSender());
diff --git a/modules/audio_coding/codecs/opus/audio_encoder_opus_unittest.cc b/modules/audio_coding/codecs/opus/audio_encoder_opus_unittest.cc
index fd8e7e2..d6d560c 100644
--- a/modules/audio_coding/codecs/opus/audio_encoder_opus_unittest.cc
+++ b/modules/audio_coding/codecs/opus/audio_encoder_opus_unittest.cc
@@ -912,8 +912,7 @@
   EXPECT_EQ(64000, config.bitrate_bps);
 }
 
-// TODO(webrtc:11325) Reenable after Opus has been upgraded to 1.3.
-TEST_P(AudioEncoderOpusTest, DISABLED_OpusFlagDtxAsNonSpeech) {
+TEST_P(AudioEncoderOpusTest, OpusFlagDtxAsNonSpeech) {
   // Create encoder with DTX enabled.
   AudioEncoderOpusConfig config;
   config.dtx_enabled = true;
@@ -970,8 +969,8 @@
     }
   }
 
-  // Maximum number of consecutive non-speech packets should exceed 20.
-  EXPECT_GT(max_nonspeech_frames, 20);
+  // Maximum number of consecutive non-speech packets should exceed 15.
+  EXPECT_GT(max_nonspeech_frames, 15);
 }
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/codecs/opus/opus_bandwidth_unittest.cc b/modules/audio_coding/codecs/opus/opus_bandwidth_unittest.cc
index be209e4..38b60c6 100644
--- a/modules/audio_coding/codecs/opus/opus_bandwidth_unittest.cc
+++ b/modules/audio_coding/codecs/opus/opus_bandwidth_unittest.cc
@@ -101,13 +101,13 @@
 
 }  // namespace
 
-// TODO(webrtc:11325) Reenable after Opus has been upgraded to 1.3.
-TEST(BandwidthAdaptationTest, DISABLED_BandwidthAdaptationTest) {
+// TODO(ivoc): Remove this test, WebRTC-AdjustOpusBandwidth is obsolete.
+TEST(BandwidthAdaptationTest, BandwidthAdaptationTest) {
   test::ScopedFieldTrials override_field_trials(
       "WebRTC-AdjustOpusBandwidth/Enabled/");
 
   constexpr float kMaxNarrowbandRatio = 0.0035f;
-  constexpr float kMinWidebandRatio = 0.03f;
+  constexpr float kMinWidebandRatio = 0.01f;
 
   // Create encoder.
   AudioEncoderOpusConfig enc_config;
diff --git a/modules/audio_coding/neteq/audio_decoder_unittest.cc b/modules/audio_coding/neteq/audio_decoder_unittest.cc
index 773e73b..836c49c 100644
--- a/modules/audio_coding/neteq/audio_decoder_unittest.cc
+++ b/modules/audio_coding/neteq/audio_decoder_unittest.cc
@@ -599,10 +599,9 @@
   TestSetAndGetTargetBitratesWithFixedCodec(audio_encoder_.get(), 128000);
 }
 
-// TODO(webrtc:11325) Reenable after Opus has been upgraded to 1.3.
-TEST_P(AudioDecoderOpusTest, DISABLED_EncodeDecode) {
+TEST_P(AudioDecoderOpusTest, EncodeDecode) {
   constexpr int tolerance = 6176;
-  const int channel_diff_tolerance = opus_sample_rate_hz_ == 16000 ? 6 : 0;
+  constexpr int channel_diff_tolerance = 6;
   constexpr double mse = 238630.0;
   constexpr int delay = 22;  // Delay from input to output.
   EncodeDecodeTest(0, tolerance, mse, delay, channel_diff_tolerance);
diff --git a/modules/audio_coding/neteq/neteq_unittest.cc b/modules/audio_coding/neteq/neteq_unittest.cc
index 9a53fdd..701a3c5 100644
--- a/modules/audio_coding/neteq/neteq_unittest.cc
+++ b/modules/audio_coding/neteq/neteq_unittest.cc
@@ -105,25 +105,23 @@
 #else
 #define MAYBE_TestOpusBitExactness DISABLED_TestOpusBitExactness
 #endif
-// TODO(webrtc:11325) Reenable after Opus has been upgraded to 1.3.
-TEST_F(NetEqDecodingTest, DISABLED_TestOpusBitExactness) {
+TEST_F(NetEqDecodingTest, MAYBE_TestOpusBitExactness) {
   const std::string input_rtp_file =
       webrtc::test::ResourcePath("audio_coding/neteq_opus", "rtp");
 
-  // Checksum depends on libopus being compiled with or without SSE.
   const std::string maybe_sse =
-      "6b602683ca7285a98118b4824d72f4257952c18f|"
-      "eb0b68bddcac00fc85403df64f83126f8ea9bc93";
+      "554ad4133934e3920f97575579a46f674683d77c"
+      "|de316e2bfb15192edb820fe5fb579d11ff5a524b";
   const std::string output_checksum = PlatformChecksum(
-      maybe_sse, "f95f2a220c9ca5d60b81c4653d46e0de2bee159f",
-      "6f288a03d34958f62496f18fa85655593eef4dbe", maybe_sse, maybe_sse);
+      maybe_sse, "459c356a0ef245ddff381f7d82d205d426ef2002",
+      "625055e5eb0e6de2c9d170b4494eadc5afab08c8", maybe_sse, maybe_sse);
 
   const std::string network_stats_checksum =
-      PlatformChecksum("87d2d3e5ca7f1b3fb7a501ffaa51ae29aea74544",
-                       "6b8c29e39c82f5479f59726744d0cf3e88e725d3",
+      PlatformChecksum("439a3d0c9b5115e6d4f8387f64ed2d57cae29b0a",
+                       "048f33d85d0a32a328b7da42448f560456a5fef0",
                        "c876f2a04c4f0a91da7f084f80e87871b7c5a4a1",
-                       "87d2d3e5ca7f1b3fb7a501ffaa51ae29aea74544",
-                       "87d2d3e5ca7f1b3fb7a501ffaa51ae29aea74544");
+                       "439a3d0c9b5115e6d4f8387f64ed2d57cae29b0a",
+                       "439a3d0c9b5115e6d4f8387f64ed2d57cae29b0a");
 
   DecodeAndCompare(input_rtp_file, output_checksum, network_stats_checksum,
                    absl::GetFlag(FLAGS_gen_ref));
@@ -135,17 +133,16 @@
 #else
 #define MAYBE_TestOpusDtxBitExactness DISABLED_TestOpusDtxBitExactness
 #endif
-// TODO(webrtc:11325) Reenable after Opus has been upgraded to 1.3.
-TEST_F(NetEqDecodingTest, DISABLED_TestOpusDtxBitExactness) {
+TEST_F(NetEqDecodingTest, MAYBE_TestOpusDtxBitExactness) {
   const std::string input_rtp_file =
       webrtc::test::ResourcePath("audio_coding/neteq_opus_dtx", "rtp");
 
   const std::string maybe_sse =
-      "0bdeb4ccf95a2577e38274360903ad099fc46787|"
-      "f7bbf5d92a0595a2a3445ffbaddfb20e98b6e94e";
+      "df5d1d3019bf3764829b84f4fb315721f4adde29"
+      "|5935d2fad14a69a8b61dbc8e6f2d37c8c0814925";
   const std::string output_checksum = PlatformChecksum(
-      maybe_sse, "6d200cc51a001b6137abf67db2bb8eeb0375cdee",
-      "36d43761de86b12520cf2e63f97372a2b7c6f939", maybe_sse, maybe_sse);
+      maybe_sse, "551df04e8f45cd99eff28503edf0cf92974898ac",
+      "709a3f0f380393d3a67bace10e2265b90a6ebbeb", maybe_sse, maybe_sse);
 
   const std::string network_stats_checksum =
       "8caf49765f35b6862066d3f17531ce44d8e25f60";