Turning on Opus 120ms frame length switch.

Chromium has adopted Opus 1.2.1 which allows 120ms frame encoding. It
is time to turn on the switch for building WebRTC with this feature.


Bug: webrtc:8042
TBR: kjellander@webrtc.org
Change-Id: I644b47cfb56f835695ef1263741cda6e3ee3d862
Reviewed-on: https://chromium-review.googlesource.com/586725
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Felicia Lim <flim@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19173}
This commit is contained in:
minyue-webrtc
2017-07-27 17:45:49 +02:00
committed by Commit Bot
parent 28e2919cfd
commit 516711cde9
3 changed files with 13 additions and 61 deletions

View File

@ -1475,14 +1475,7 @@ TEST_F(AcmSenderBitExactnessOldApi, MAYBE_G722_stereo_20ms) {
} }
#endif #endif
#if WEBRTC_OPUS_SUPPORT_120MS_PTIME TEST_F(AcmSenderBitExactnessOldApi, Opus_stereo_20ms) {
#define MAYBE_Opus_stereo_20ms DISABLED_Opus_stereo_20ms
#define MAYBE_OpusFromFormat_stereo_20ms DISABLED_OpusFromFormat_stereo_20ms
#else
#define MAYBE_Opus_stereo_20ms Opus_stereo_20ms
#define MAYBE_OpusFromFormat_stereo_20ms OpusFromFormat_stereo_20ms
#endif
TEST_F(AcmSenderBitExactnessOldApi, MAYBE_Opus_stereo_20ms) {
ASSERT_NO_FATAL_FAILURE(SetUpTest("opus", 48000, 2, 120, 960, 960)); ASSERT_NO_FATAL_FAILURE(SetUpTest("opus", 48000, 2, 120, 960, 960));
Run(AcmReceiverBitExactnessOldApi::PlatformChecksum( Run(AcmReceiverBitExactnessOldApi::PlatformChecksum(
"3e285b74510e62062fbd8142dacd16e9", "3e285b74510e62062fbd8142dacd16e9",
@ -1518,15 +1511,7 @@ TEST_F(AcmSenderBitExactnessNewApi, MAYBE_OpusFromFormat_stereo_20ms) {
50, test::AcmReceiveTestOldApi::kStereoOutput); 50, test::AcmReceiveTestOldApi::kStereoOutput);
} }
#if WEBRTC_OPUS_SUPPORT_120MS_PTIME TEST_F(AcmSenderBitExactnessOldApi, Opus_stereo_20ms_voip) {
#define MAYBE_Opus_stereo_20ms_voip DISABLED_Opus_stereo_20ms_voip
#define MAYBE_OpusFromFormat_stereo_20ms_voip \
DISABLED_OpusFromFormat_stereo_20ms_voip
#else
#define MAYBE_Opus_stereo_20ms_voip Opus_stereo_20ms_voip
#define MAYBE_OpusFromFormat_stereo_20ms_voip OpusFromFormat_stereo_20ms_voip
#endif
TEST_F(AcmSenderBitExactnessOldApi, MAYBE_Opus_stereo_20ms_voip) {
ASSERT_NO_FATAL_FAILURE(SetUpTest("opus", 48000, 2, 120, 960, 960)); ASSERT_NO_FATAL_FAILURE(SetUpTest("opus", 48000, 2, 120, 960, 960));
// If not set, default will be kAudio in case of stereo. // If not set, default will be kAudio in case of stereo.
EXPECT_EQ(0, send_test_->acm()->SetOpusApplication(kVoip)); EXPECT_EQ(0, send_test_->acm()->SetOpusApplication(kVoip));
@ -1545,7 +1530,7 @@ TEST_F(AcmSenderBitExactnessOldApi, MAYBE_Opus_stereo_20ms_voip) {
50, test::AcmReceiveTestOldApi::kStereoOutput); 50, test::AcmReceiveTestOldApi::kStereoOutput);
} }
TEST_F(AcmSenderBitExactnessNewApi, MAYBE_OpusFromFormat_stereo_20ms_voip) { TEST_F(AcmSenderBitExactnessNewApi, OpusFromFormat_stereo_20ms_voip) {
const SdpAudioFormat kOpusFormat("opus", 48000, 2, {{"stereo", "1"}}); const SdpAudioFormat kOpusFormat("opus", 48000, 2, {{"stereo", "1"}});
AudioEncoderOpus encoder(120, kOpusFormat); AudioEncoderOpus encoder(120, kOpusFormat);
ASSERT_NO_FATAL_FAILURE(SetUpTestExternalEncoder(&encoder, 120)); ASSERT_NO_FATAL_FAILURE(SetUpTestExternalEncoder(&encoder, 120));
@ -1646,15 +1631,7 @@ class AcmSetBitRateNewApi : public AcmSetBitRateTest {
void Run(int expected_total_bits) { RunInner(expected_total_bits); } void Run(int expected_total_bits) { RunInner(expected_total_bits); }
}; };
#if WEBRTC_OPUS_SUPPORT_120MS_PTIME TEST_F(AcmSetBitRateOldApi, Opus_48khz_20ms_10kbps) {
#define MAYBE_Opus_48khz_20ms_10kbps DISABLED_Opus_48khz_20ms_10kbps
#define MAYBE_OpusFromFormat_48khz_20ms_10kbps \
DISABLED_OpusFromFormat_48khz_20ms_10kbps
#else
#define MAYBE_Opus_48khz_20ms_10kbps Opus_48khz_20ms_10kbps
#define MAYBE_OpusFromFormat_48khz_20ms_10kbps OpusFromFormat_48khz_20ms_10kbps
#endif
TEST_F(AcmSetBitRateOldApi, MAYBE_Opus_48khz_20ms_10kbps) {
ASSERT_NO_FATAL_FAILURE(SetUpTest("opus", 48000, 1, 107, 960, 960)); ASSERT_NO_FATAL_FAILURE(SetUpTest("opus", 48000, 1, 107, 960, 960));
#if defined(WEBRTC_ANDROID) #if defined(WEBRTC_ANDROID)
Run(10000, 8640); Run(10000, 8640);
@ -1663,7 +1640,7 @@ TEST_F(AcmSetBitRateOldApi, MAYBE_Opus_48khz_20ms_10kbps) {
#endif // WEBRTC_ANDROID #endif // WEBRTC_ANDROID
} }
TEST_F(AcmSetBitRateNewApi, MAYBE_OpusFromFormat_48khz_20ms_10kbps) { TEST_F(AcmSetBitRateNewApi, OpusFromFormat_48khz_20ms_10kbps) {
AudioEncoderOpus encoder( AudioEncoderOpus encoder(
107, SdpAudioFormat("opus", 48000, 2, {{"maxaveragebitrate", "10000"}})); 107, SdpAudioFormat("opus", 48000, 2, {{"maxaveragebitrate", "10000"}}));
ASSERT_TRUE(SetUpSender()); ASSERT_TRUE(SetUpSender());
@ -1675,15 +1652,7 @@ TEST_F(AcmSetBitRateNewApi, MAYBE_OpusFromFormat_48khz_20ms_10kbps) {
#endif // WEBRTC_ANDROID #endif // WEBRTC_ANDROID
} }
#if WEBRTC_OPUS_SUPPORT_120MS_PTIME TEST_F(AcmSetBitRateOldApi, Opus_48khz_20ms_50kbps) {
#define MAYBE_Opus_48khz_20ms_50kbps DISABLED_Opus_48khz_20ms_50kbps
#define MAYBE_OpusFromFormat_48khz_20ms_50kbps \
DISABLED_OpusFromFormat_48khz_20ms_50kbps
#else
#define MAYBE_Opus_48khz_20ms_50kbps Opus_48khz_20ms_50kbps
#define MAYBE_OpusFromFormat_48khz_20ms_50kbps OpusFromFormat_48khz_20ms_50kbps
#endif
TEST_F(AcmSetBitRateOldApi, MAYBE_Opus_48khz_20ms_50kbps) {
ASSERT_NO_FATAL_FAILURE(SetUpTest("opus", 48000, 1, 107, 960, 960)); ASSERT_NO_FATAL_FAILURE(SetUpTest("opus", 48000, 1, 107, 960, 960));
#if defined(WEBRTC_ANDROID) #if defined(WEBRTC_ANDROID)
Run(50000, 45792); Run(50000, 45792);
@ -1692,7 +1661,7 @@ TEST_F(AcmSetBitRateOldApi, MAYBE_Opus_48khz_20ms_50kbps) {
#endif // WEBRTC_ANDROID #endif // WEBRTC_ANDROID
} }
TEST_F(AcmSetBitRateNewApi, MAYBE_OpusFromFormat_48khz_20ms_50kbps) { TEST_F(AcmSetBitRateNewApi, OpusFromFormat_48khz_20ms_50kbps) {
AudioEncoderOpus encoder( AudioEncoderOpus encoder(
107, SdpAudioFormat("opus", 48000, 2, {{"maxaveragebitrate", "50000"}})); 107, SdpAudioFormat("opus", 48000, 2, {{"maxaveragebitrate", "50000"}}));
ASSERT_TRUE(SetUpSender()); ASSERT_TRUE(SetUpSender());
@ -1706,7 +1675,7 @@ TEST_F(AcmSetBitRateNewApi, MAYBE_OpusFromFormat_48khz_20ms_50kbps) {
// The result on the Android platforms is inconsistent for this test case. // The result on the Android platforms is inconsistent for this test case.
// On android_rel the result is different from android and android arm64 rel. // On android_rel the result is different from android and android arm64 rel.
#if defined(WEBRTC_ANDROID) || WEBRTC_OPUS_SUPPORT_120MS_PTIME #if defined(WEBRTC_ANDROID)
#define MAYBE_Opus_48khz_20ms_100kbps DISABLED_Opus_48khz_20ms_100kbps #define MAYBE_Opus_48khz_20ms_100kbps DISABLED_Opus_48khz_20ms_100kbps
#define MAYBE_OpusFromFormat_48khz_20ms_100kbps \ #define MAYBE_OpusFromFormat_48khz_20ms_100kbps \
DISABLED_OpusFromFormat_48khz_20ms_100kbps DISABLED_OpusFromFormat_48khz_20ms_100kbps
@ -1789,12 +1758,7 @@ class AcmChangeBitRateOldApi : public AcmSetBitRateOldApi {
uint32_t frame_size_samples_; uint32_t frame_size_samples_;
}; };
#if WEBRTC_OPUS_SUPPORT_120MS_PTIME TEST_F(AcmChangeBitRateOldApi, Opus_48khz_20ms_10kbps_2) {
#define MAYBE_Opus_48khz_20ms_10kbps_2 DISABLED_Opus_48khz_20ms_10kbps
#else
#define MAYBE_Opus_48khz_20ms_10kbps_2 Opus_48khz_20ms_10kbps
#endif
TEST_F(AcmChangeBitRateOldApi, MAYBE_Opus_48khz_20ms_10kbps_2) {
ASSERT_NO_FATAL_FAILURE(SetUpTest("opus", 48000, 1, 107, 960, 960)); ASSERT_NO_FATAL_FAILURE(SetUpTest("opus", 48000, 1, 107, 960, 960));
#if defined(WEBRTC_ANDROID) #if defined(WEBRTC_ANDROID)
Run(10000, 29512, 4800); Run(10000, 29512, 4800);
@ -1803,12 +1767,7 @@ TEST_F(AcmChangeBitRateOldApi, MAYBE_Opus_48khz_20ms_10kbps_2) {
#endif // WEBRTC_ANDROID #endif // WEBRTC_ANDROID
} }
#if WEBRTC_OPUS_SUPPORT_120MS_PTIME TEST_F(AcmChangeBitRateOldApi, Opus_48khz_20ms_50kbps_2) {
#define MAYBE_Opus_48khz_20ms_50kbps_2 DISABLED_Opus_48khz_20ms_50kbps
#else
#define MAYBE_Opus_48khz_20ms_50kbps_2 Opus_48khz_20ms_50kbps
#endif
TEST_F(AcmChangeBitRateOldApi, MAYBE_Opus_48khz_20ms_50kbps_2) {
ASSERT_NO_FATAL_FAILURE(SetUpTest("opus", 48000, 1, 107, 960, 960)); ASSERT_NO_FATAL_FAILURE(SetUpTest("opus", 48000, 1, 107, 960, 960));
#if defined(WEBRTC_ANDROID) #if defined(WEBRTC_ANDROID)
Run(50000, 29512, 23304); Run(50000, 29512, 23304);
@ -1817,13 +1776,7 @@ TEST_F(AcmChangeBitRateOldApi, MAYBE_Opus_48khz_20ms_50kbps_2) {
#endif // WEBRTC_ANDROID #endif // WEBRTC_ANDROID
} }
TEST_F(AcmChangeBitRateOldApi, Opus_48khz_20ms_100kbps_2) {
#if WEBRTC_OPUS_SUPPORT_120MS_PTIME
#define MAYBE_Opus_48khz_20ms_100kbps_2 DISABLED_Opus_48khz_20ms_100kbps
#else
#define MAYBE_Opus_48khz_20ms_100kbps_2 Opus_48khz_20ms_100kbps
#endif
TEST_F(AcmChangeBitRateOldApi, MAYBE_Opus_48khz_20ms_100kbps_2) {
ASSERT_NO_FATAL_FAILURE(SetUpTest("opus", 48000, 1, 107, 960, 960)); ASSERT_NO_FATAL_FAILURE(SetUpTest("opus", 48000, 1, 107, 960, 960));
#if defined(WEBRTC_ANDROID) #if defined(WEBRTC_ANDROID)
#if defined(WEBRTC_ARCH_ARM64) #if defined(WEBRTC_ARCH_ARM64)

View File

@ -465,8 +465,7 @@ TEST_F(NetEqDecodingTest, MAYBE_TestBitExactness) {
#if !defined(WEBRTC_IOS) && !defined(WEBRTC_ANDROID) && \ #if !defined(WEBRTC_IOS) && !defined(WEBRTC_ANDROID) && \
defined(WEBRTC_NETEQ_UNITTEST_BITEXACT) && \ defined(WEBRTC_NETEQ_UNITTEST_BITEXACT) && \
defined(WEBRTC_CODEC_OPUS) && \ defined(WEBRTC_CODEC_OPUS)
!WEBRTC_OPUS_SUPPORT_120MS_PTIME
#define MAYBE_TestOpusBitExactness TestOpusBitExactness #define MAYBE_TestOpusBitExactness TestOpusBitExactness
#else #else
#define MAYBE_TestOpusBitExactness DISABLED_TestOpusBitExactness #define MAYBE_TestOpusBitExactness DISABLED_TestOpusBitExactness

View File

@ -38,7 +38,7 @@ declare_args() {
# Enable this if the Opus version upon which WebRTC is built supports direct # Enable this if the Opus version upon which WebRTC is built supports direct
# encoding of 120 ms packets. # encoding of 120 ms packets.
rtc_opus_support_120ms_ptime = false rtc_opus_support_120ms_ptime = true
# Enable this to let the Opus audio codec change complexity on the fly. # Enable this to let the Opus audio codec change complexity on the fly.
rtc_opus_variable_complexity = false rtc_opus_variable_complexity = false