Commit Graph

3638 Commits

Author SHA1 Message Date
85829fd90c Make QualityScaler more responsive to downgrades.
Permits going from HD to QVGA in 6 seconds instead of 10. Also adds
windows for going up quickly in the beginning of a call (before any
downscaling happens due to bad quality).

BUG=webrtc:5678
R=glaznev@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1830593003 .

Cr-Commit-Position: refs/heads/master@{#12219}
2016-04-04 16:11:18 +00:00
1c392cc5cf Avoid rescheduling the next RTCP packet if the RTCP sender status doesn't change.
The change made in https://codereview.webrtc.org/1757683002 introduced an extra call to RTCPSender::SetRTCPStatus after the video receive stream is created. The SetRTCPStatus call results in no state change, as the RTCP sender is already enabled, however, it reschedules the next RTCP packet to be RTCP_INTERVAL_VIDEO_MS/2 (500) ms in the future.
Before the change, the next packet time was only set by the previous call to RTCPSender::SetSSRC, which placed it 100 ms in the future. The change, therefore, changed the timing of multiple performance tests - as it now takes a different length of time to ramp up to the same bandwidth.

BUG=chromium:597332

Review URL: https://codereview.webrtc.org/1826093004

Cr-Commit-Position: refs/heads/master@{#12203}
2016-04-01 21:46:54 +00:00
2d66cf9d8d Tweak kDecayRate in the IntelligibilityEnhancer
This makes the addaptation of the IntelligibilityEnhancer slower, which makes it take more time to kick in or when the background noise changes drastically. But on the other hand, it reduces the risk of clipping and makes the changing in coloring less noticeable.

R=henrik.lundin@webrtc.org, peah@webrtc.org, turaj@webrtc.org

Review URL: https://codereview.webrtc.org/1848123002 .

Cr-Commit-Position: refs/heads/master@{#12202}
2016-04-01 20:59:44 +00:00
3b14996046 Fix normalization of noise estimate in NoiseSuppressor
R=henrik.lundin@webrtc.org, peah@webrtc.org, turaj@webrtc.org

Review URL: https://codereview.webrtc.org/1821443003 .

Cr-Commit-Position: refs/heads/master@{#12201}
2016-04-01 20:54:47 +00:00
d81dc49c5b Fix C4434 warning about 32-bit shift assigned to 64-bits
VS 2015 has a new or louder warning about 32-bit shifts that are then
assigned to a 64-bit target. This type of code triggers it:

int64_t size = 1 << shift_amount;

Because the '1' being shifted is a 32-bit int the result of the shift
will be a 32-bit result, so assigning it to a 64-bit variable is just
misleading.

In this case the code that triggers it is this:

  size_t window_size = static_cast<size_t>(1 << shift_amount);

The destination is a size_t so the warning only shows up on 64-bit
builds and doesn't indicate a real bug. It's curious that the code
had a cast already - presumably to suppress some other warning - but
the cast is not in the ideal place and doesn't avoid this new warning.
Moving the cast allows shift_amount to be log2(size_t) and allows
enabling C4334 in Chromium.

BUG=593448

Review URL: https://codereview.webrtc.org/1849753004

Cr-Commit-Position: refs/heads/master@{#12199}
2016-04-01 17:16:21 +00:00
fa0befe13b External denoiser based on noise estimation and moving object detection.
Improved the existing external denoiser in WebRTC: the filter strength
is adaptive based on the noise level of the whole frame and the moving
object detection result. The adaptive filter effectively removes the
artifacts in previous version, such as trailing and blockiness on moving
objects.
The external denoiser is off by default for now.

BUG=

Review URL: https://codereview.webrtc.org/1822333003

Cr-Commit-Position: refs/heads/master@{#12198}
2016-04-01 14:47:06 +00:00
cfebcca51b Disable VideoCaptureExternalTest.FrameRate on Mac
The test is flaky.

BUG=webrtc:3270
TBR=mflodman@webrtc.org
NOTRY=true

Review URL: https://codereview.webrtc.org/1851023002

Cr-Commit-Position: refs/heads/master@{#12196}
2016-04-01 10:23:19 +00:00
c707ab7cb0 Packet buffer for the new jitter buffer.
BUG=webrtc:5514
R=stefan@webrtc.org, mflodman@webrtc.org

Review URL: https://codereview.webrtc.org/1772383002

Cr-Commit-Position: refs/heads/master@{#12194}
2016-04-01 09:02:00 +00:00
86101e9c08 Remove deprecated RtpReceiver::CreateAudioReceiver() function.
BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1848813003

Cr-Commit-Position: refs/heads/master@{#12192}
2016-04-01 08:01:33 +00:00
63a2c13d6d Only split into bands when the reverse stream is analyzed in the APM
BUG=596079
R=henrik.lundin@webrtc.org, peah@webrtc.org

Review URL: https://codereview.webrtc.org/1844583003 .

Cr-Commit-Position: refs/heads/master@{#12187}
2016-04-01 01:04:47 +00:00
fecb7c3c50 Use mobile platform settings for VP8 and VP9 decoders on all Android builds.
BUG=b/27877683
R=jackychen@webrtc.org, marpan@google.com, marpan@webrtc.org

Review URL: https://codereview.webrtc.org/1841993005 .

Cr-Commit-Position: refs/heads/master@{#12185}
2016-03-31 21:23:33 +00:00
4a206a96c1 Remove webrtc::ScopedVector
We can (and should) use std::vector<std::unique_ptr<T>> instead.
Because it's standard, and because it's safer since callers have to
manually wrap elements in std::unique_ptr before inserting them and
manually unwrap them after inserting them.

Review URL: https://codereview.webrtc.org/1839603002

Cr-Commit-Position: refs/heads/master@{#12182}
2016-03-31 17:24:31 +00:00
118ef00594 Add histogram stats for average QP per frame for VP8 (for sent video streams):
- "WebRTC.Video.Encoded.Qp.Vp8"
- "WebRTC.Video.Encoded.Qp.Vp8.S0"
- "WebRTC.Video.Encoded.Qp.Vp8.S1"
- "WebRTC.Video.Encoded.Qp.Vp8.S2"

BUG=

Review URL: https://codereview.webrtc.org/1523293002

Cr-Commit-Position: refs/heads/master@{#12174}
2016-03-31 07:00:25 +00:00
9846651cc4 Changed the names of some of the bitexactness unittests to
be similar to the other file names of the tests.

(Also removed a redundant blank line in the highpass filter unittest
file).

BUG=

Review URL: https://codereview.webrtc.org/1841363002

Cr-Commit-Position: refs/heads/master@{#12171}
2016-03-30 22:34:01 +00:00
51fbdd6ada Changed tests to be DISABLED on non-supported platforms rather than not to build at all.
BUG=

Review URL: https://codereview.webrtc.org/1840173005

Cr-Commit-Position: refs/heads/master@{#12170}
2016-03-30 21:58:42 +00:00
4b9cad86ce [rtcp] Sdes::Parse updated not to use RTCPUtility
BUG=webrtc:5260
R=åsapersson

Review URL: https://codereview.webrtc.org/1846433003

Cr-Commit-Position: refs/heads/master@{#12169}
2016-03-30 20:34:38 +00:00
41befcee7d Make rtcp sender use max transfer unit.
Remove packet overhead from rtp sender as unused.

R=philipel, åsapersson

Review URL: https://codereview.webrtc.org/1827953002

Cr-Commit-Position: refs/heads/master@{#12165}
2016-03-30 18:11:55 +00:00
367bbbf76d [rtcp] ReceiverReport::Parse updated not to use RTCPUtility
BUG=webrtc:5260
R=åsapersson

Review URL: https://codereview.webrtc.org/1837213002

Cr-Commit-Position: refs/heads/master@{#12164}
2016-03-30 16:43:09 +00:00
fc737e5442 Fix division by zero in NonlinearBeamformer
BUG=webrtc:5703

Review URL: https://codereview.webrtc.org/1841323002

Cr-Commit-Position: refs/heads/master@{#12163}
2016-03-30 16:37:47 +00:00
7ea928e8e2 Renamed the test::BitExactFrame method to test::VectorDifferenceBounded.
BUG=

Review URL: https://codereview.webrtc.org/1841213002

Cr-Commit-Position: refs/heads/master@{#12162}
2016-03-30 15:14:02 +00:00
d53c389550 Shorten single-stream VP8 HW implementation names.
Removes "SimulcastEncoderAdapter" from single-stream HW VP8 even though
they are wrapped in a SimulcastEncoderAdapter.

BUG=
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1827553002 .

Cr-Commit-Position: refs/heads/master@{#12161}
2016-03-30 15:04:04 +00:00
f1f87203d7 Split ByteBuffer into writer/reader objects.
This allows the reader to reference data, thus avoiding unnecessary
allocations and memory copies.

BUG=webrtc:5155,webrtc:5670

Review URL: https://codereview.webrtc.org/1821083002

Cr-Commit-Position: refs/heads/master@{#12160}
2016-03-30 13:43:44 +00:00
0d05da7ee6 Rent-A-Codec: Reference count the shared iSAC bandwidth estimation state
Now that the Rent-A-Codec no longer owns the encoders and decoders it
produces, they may outlive it. It's thus no longer correct for the
Rent-A-Codec to own the bandwidth estimation state; all of the
involved objects need to share ownership.

BUG=webrtc:5028

Review URL: https://codereview.webrtc.org/1821513003

Cr-Commit-Position: refs/heads/master@{#12159}
2016-03-30 11:10:18 +00:00
4cdbd57fe3 AudioCodingModule: Add methods for injecting external encoder stacks
BUG=webrtc:5028

Review URL: https://codereview.webrtc.org/1673213002

Cr-Commit-Position: refs/heads/master@{#12158}
2016-03-30 10:10:15 +00:00
1d0313916b Reland https://codereview.webrtc.org/1802993002/
Clean away use of RtpAudioFeedback interface from RTP/RTCP receiver code.

BUG=webrtc:4690

Committed: https://crrev.com/69a81999ace08e40e2b2ec526b0e111aa11b9538
Cr-Commit-Position: refs/heads/master@{#12015}

Review URL: https://codereview.webrtc.org/1840893004

Cr-Commit-Position: refs/heads/master@{#12157}
2016-03-30 09:42:37 +00:00
0d343fa39d Remove unused stuff from AudioFrame:
- The interleaved_ field. Never set to anything but 'true'. AudioFrame data appears to always be treated as interleaved.
- The Append() method.
- operator-=().

BUG=

Review URL: https://codereview.webrtc.org/1830713003

Cr-Commit-Position: refs/heads/master@{#12152}
2016-03-29 23:42:12 +00:00
059dadf0c4 Added missing TODOs in the beamformer unit test code.
BUG=

Review URL: https://codereview.webrtc.org/1835833004

Cr-Commit-Position: refs/heads/master@{#12151}
2016-03-29 22:15:14 +00:00
af2f3dd206 Reland: Add IntelligibilityEnhancer support to audioproc_float
Landed originally here: https://codereview.webrtc.org/1800413002/

TBR=peah@webrtc.org

Review URL: https://codereview.webrtc.org/1843823002 .

Cr-Commit-Position: refs/heads/master@{#12150}
2016-03-29 21:54:44 +00:00
dd56fa8642 Revert "Add IntelligibilityEnhancer support to audioproc_float"
Revert reason: I unintentionally added a patch when rebasing that is breaking the bots.

This reverts commit 98c69a0ee785adeb9d95fffeb55cdb6cedbe82c6.

BUG=

Review URL: https://codereview.webrtc.org/1837313002 .

Cr-Commit-Position: refs/heads/master@{#12148}
2016-03-29 20:05:46 +00:00
98c69a0ee7 Add IntelligibilityEnhancer support to audioproc_float
R=peah@webrtc.org

Review URL: https://codereview.webrtc.org/1800413002 .

Cr-Commit-Position: refs/heads/master@{#12147}
2016-03-29 19:43:42 +00:00
57d5a2e4df Reland of Added a bitexactness test for the gain controller in the audio processing module.
This is a reland of the CL https://codereview.webrtc.org/1812433002/ which
was reverted due to incorrect bitexactness on Android bots.

The changes done in the relanding CL is to Deactivate the test for Android and reduce the number of interations.

TBR=henrik.lundin@webrtc.org
BUG=webrtc:5339

Review URL: https://codereview.webrtc.org/1835073004

Cr-Commit-Position: refs/heads/master@{#12143}
2016-03-29 16:48:44 +00:00
b252856d10 Remove all uses of the HAVE_CONFIG_H define.
BUG=
R=henrik.lundin@webrtc.org, pthatcher@google.com, stefan@webrtc.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1820023004 .

Cr-Commit-Position: refs/heads/master@{#12141}
2016-03-29 15:47:28 +00:00
2f36c2399e [rtcp] SenderReport::Parse updated not to use RTCPUtility
BUG=webrtc:5260
R=åsapersson

Review URL: https://codereview.webrtc.org/1825353002

Cr-Commit-Position: refs/heads/master@{#12140}
2016-03-29 15:02:33 +00:00
ceef04613b Added a bitexactness test for the beamformer in the audio processing module
BUG=webrtc:5341

Review URL: https://codereview.webrtc.org/1806853004

Cr-Commit-Position: refs/heads/master@{#12137}
2016-03-29 12:35:56 +00:00
58d992e025 Add macros for ability to log samples that are added to histograms (RTC_LOGGED_*).
Adds logging of:
- video stats that are recorded when a stream is removed
- bitrate stats that are recorded at the end of a call
- initial bwe rampup stats

BUG=

Review URL: https://codereview.webrtc.org/1788783002

Cr-Commit-Position: refs/heads/master@{#12133}
2016-03-29 09:15:11 +00:00
d4f6ea70b5 Re-reland of Added a bitexactness test for the echo canceller in the audio processing module.
This is a reland of the CL https://codereview.webrtc.org/1827833006/ that was reverted due to problems of the bitexactness of the Chromium Android64 and Android32 bots.

The reverting CL was https://codereview.webrtc.org/1827863003/

This new action taken in this CL is to disable the test for all Android, ARM and ARM64 platforms

TBR=henrik.lundin@webrtc.org
BUG=webrtc:5337

Review URL: https://codereview.webrtc.org/1829193002

Cr-Commit-Position: refs/heads/master@{#12131}
2016-03-29 07:37:51 +00:00
4b0c74172e Added a bitexactness test for the intelligibility enhancer in the audio processing module
BUG=webrtc:5242

Review URL: https://codereview.webrtc.org/1814723003

Cr-Commit-Position: refs/heads/master@{#12129}
2016-03-29 06:43:57 +00:00
918d015737 Revert of Added a bitexactness test for the gain controller in the audio processing module. (patchset #3 id:60001 of https://codereview.webrtc.org/1812433002/ )
Reason for revert:
This CL are breaking some of the Android buildbots in Chromium.

The CL will need be be revised to exclude the Android platform.

Original issue's description:
> Added a bitexactness test for the gain controller in the audio processing module.
>
> BUG=webrtc:5339
>
> Committed: https://crrev.com/a49dc36976da44f3d6d75aed2dcab93fe14fc3a0
> Cr-Commit-Position: refs/heads/master@{#12124}

TBR=henrik.lundin@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5339

Review URL: https://codereview.webrtc.org/1829323002

Cr-Commit-Position: refs/heads/master@{#12127}
2016-03-25 07:50:47 +00:00
a49dc36976 Added a bitexactness test for the gain controller in the audio processing module.
BUG=webrtc:5339

Review URL: https://codereview.webrtc.org/1812433002

Cr-Commit-Position: refs/heads/master@{#12124}
2016-03-25 00:59:29 +00:00
84db6fa7f5 Adding BlockMeanCalculator for AEC.
This will improve the readability of AEC code.

BUG=

Review URL: https://codereview.webrtc.org/1805633006

Cr-Commit-Position: refs/heads/master@{#12123}
2016-03-24 21:36:33 +00:00
7c931ad698 Fixed a potential deadlock problem in the AGC
where the render and capture locks were
acquired in the wrong order.

BUG=webrtc:5339

Review URL: https://codereview.webrtc.org/1827013002

Cr-Commit-Position: refs/heads/master@{#12122}
2016-03-24 19:52:11 +00:00
1c2af8e319 Avoid clicks when muting/unmuting a voe::Channel.
Muting/unmuting is triggered in the PeerConnection API by calling setEnable() on an audio track.

BUG=webrtc:5671

Review URL: https://codereview.webrtc.org/1810413002

Cr-Commit-Position: refs/heads/master@{#12121}
2016-03-24 17:36:06 +00:00
027fd8f907 Revert of Added a bitexactness test for the echo canceller in the audio processing module. (patchset #2 id:40001 of https://codereview.webrtc.org/1827833006/ )
Reason for revert:
This CL is breaking some WebRTC Android bots.
Example: https://build.chromium.org/p/client.webrtc/builders/Android32%20Tests%20%28L%20Nexus5%29/builds/6038

Original issue's description:
> Reland of Added a bitexactness test for the echo canceller in the audio processing module.
>
> This is a reland of the CL https://codereview.webrtc.org/1809613002/ that was reverted due to problems of the bitexactness of the Chromium Android64 bots.
>
> The reverting CL was https://codereview.webrtc.org/1824583003/
>
> TBR=henrik.lundin@webrtc.org
> BUG=webrtc:5337
>
> Committed: https://crrev.com/e29f0e2515934d5286950da7fc58b548132469ff
> Cr-Commit-Position: refs/heads/master@{#12114}

TBR=peah@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5337

Review URL: https://codereview.webrtc.org/1827863003

Cr-Commit-Position: refs/heads/master@{#12119}
2016-03-24 13:44:06 +00:00
e29f0e2515 Reland of Added a bitexactness test for the echo canceller in the audio processing module.
This is a reland of the CL https://codereview.webrtc.org/1809613002/ that was reverted due to problems of the bitexactness of the Chromium Android64 bots.

The reverting CL was https://codereview.webrtc.org/1824583003/

TBR=henrik.lundin@webrtc.org
BUG=webrtc:5337

Review URL: https://codereview.webrtc.org/1827833006

Cr-Commit-Position: refs/heads/master@{#12114}
2016-03-24 09:45:58 +00:00
85fa7d5311 Move swap_queue.h to base/
This will let us use the SwapQueue as a message queue for the event log's output thread. See https://codereview.webrtc.org/1687703002/

Review URL: https://codereview.webrtc.org/1812823007

Cr-Commit-Position: refs/heads/master@{#12113}
2016-03-24 08:51:59 +00:00
f752f85f3d [rtcp] Pli::Parse updated not to use RTCPUtility
BUG=webrtc:5260
R=åsapersson

Review URL: https://codereview.webrtc.org/1811933002

Cr-Commit-Position: refs/heads/master@{#12104}
2016-03-23 15:25:30 +00:00
2df29cb673 Remove redefined macros from BitrateAdjuster
This CL removes the include that redefines Chrome macros, so Chrome
can include this header in https://codereview.chromium.org/1818903004/.

Review URL: https://codereview.webrtc.org/1824833002

Cr-Commit-Position: refs/heads/master@{#12095}
2016-03-22 23:05:35 +00:00
01bcbd0df6 Make Android min-resolution rotation-agnostic.
Min resolution shouldn't have anything to do with CVO being enabled or
not, nor device rotation.

BUG=webrtc:5678
R=glaznev@webrtc.org
TBR=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1824083002 .

Cr-Commit-Position: refs/heads/master@{#12092}
2016-03-22 20:44:43 +00:00
56036ffc45 cleanup RTCPSender
rtc::scoped_ptr -> std::unique_ptr.
CrticalSectionWrapper -> CriticalSection.
assert -> DCHECK.
removed unused headers.
removed unused using.
removed unused member field.

BUG=webrtc:5520, webrtc:5565
R=åsapersson

Review URL: https://codereview.webrtc.org/1806603002

Cr-Commit-Position: refs/heads/master@{#12091}
2016-03-22 18:14:16 +00:00
8d2ade65b1 Reland of Added a bitexactness test for the echo control mobile in the audio processing module
The reverted CL https://codereview.webrtc.org/1805373002/ was reverted due to an error in another CL.

BUG=webrtc:5663
TBR=henrik.lundin@webrtc.org

Review URL: https://codereview.webrtc.org/1822653005

Cr-Commit-Position: refs/heads/master@{#12090}
2016-03-22 18:05:17 +00:00