5175 Commits

Author SHA1 Message Date
asapersson
55eb6d6214 vp8_impl.cc: Enable postproc for arm under field trial.
For resolutions:
<= 320x240: enable full postproc (VP8_MFQE, VP8_DEBLOCK, VP8_DEMACROBLOCK).
> 320x240: enable VP8_MFQE.

TBR=marpan@webrtc.org
BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2696403002
Cr-Commit-Position: refs/heads/master@{#16962}
2017-03-02 07:52:16 +00:00
kwiberg
d3edd770ad Introduce dchecked_cast, and start using it
It's the faster, less strict cousin of checked_cast.

BUG=none

Review-Url: https://codereview.webrtc.org/2714063002
Cr-Commit-Position: refs/heads/master@{#16958}
2017-03-02 02:52:48 +00:00
zijiehe
634fcb32e3 DxgiOutputDuplicator AcquireNextFrame timeout can be 0
Timeout of AcquireNextFrame() can be 0. Though MSDN does not state it clear, I
tried it on my laptop, it works well, with almost zero capture time.
The screenshot is at https://drive.google.com/open?id=0B0OFNI4uoZGRNVZxekxCbm0ycmc.

BUG=682112

Review-Url: https://codereview.webrtc.org/2712353002
Cr-Commit-Position: refs/heads/master@{#16953}
2017-03-01 19:45:37 +00:00
elad.alon
f7c26d40ab Small TransportFeedbackAdapterTest efficiency boost and TODO resolved
BUG=None

Review-Url: https://codereview.webrtc.org/2726853002
Cr-Commit-Position: refs/heads/master@{#16950}
2017-03-01 17:05:20 +00:00
johan
0981cd16f2 Resolve inconsistent definition of video's webrtc::CodecSpecificInfo.
Following files define the same classes
- modules/video_coding/codecs/interface/video_codec_interface.h
- modules/video_coding/include/video_codec_interface.h

The first one is deprecated. As long as it is not removed, both files
should provide consistent class declarations. Otherwise any donwstream
project that includes its own codecs could experience memory
corruption issues.

Before this CL member declarations and ctor definition for
webrtc::CodecSpecificInfo diverged between both header files.

BUG=webrtc:7280

Review-Url: https://codereview.webrtc.org/2727633002
Cr-Commit-Position: refs/heads/master@{#16944}
2017-03-01 14:32:01 +00:00
sprang
e5d3a3ea78 Fix quick perf test setting that was accidentally inverted.
Bug was introduced in
https://codereview.webrtc.org/2717973005/
Only affects test output, so omitting bug.

BUG=None

Review-Url: https://codereview.webrtc.org/2723093002
Cr-Commit-Position: refs/heads/master@{#16943}
2017-03-01 14:20:56 +00:00
sakal
879f4f6c31 Add QP for FFmpeg H264 decoder.
BUG=webrtc:6541

Review-Url: https://codereview.webrtc.org/2649133007
Cr-Commit-Position: refs/heads/master@{#16942}
2017-03-01 14:19:09 +00:00
jens.nielsen
228c268065 Support 4 channel mic in Windows Core Audio
BUG=webrtc:7220

Review-Url: https://codereview.webrtc.org/2712743004
Cr-Commit-Position: refs/heads/master@{#16940}
2017-03-01 13:11:22 +00:00
henrik.lundin
a67e5f5de9 Fixing an overflow issue in NetEq::BackgroundNoise
BUG=chromium:676941

Review-Url: https://codereview.webrtc.org/2722533002
Cr-Commit-Position: refs/heads/master@{#16938}
2017-03-01 11:06:50 +00:00
alessiob
b324640855 Owners file added
BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2727613002
Cr-Commit-Position: refs/heads/master@{#16935}
2017-03-01 10:05:11 +00:00
sprang
5271ea6571 Switch temporal layer impl used for screenshare upper simulcast stream.
Use default temporal layers instead of the RealtimeTemporalLayers one.
When using low fps, having a single stream with much higher bitrate than
the lower simulcast stream causes poor rampup behavior.

Tested manually.

BUG=webrtc:4172

Review-Url: https://codereview.webrtc.org/2723983002
Cr-Commit-Position: refs/heads/master@{#16934}
2017-03-01 09:58:17 +00:00
danilchap
dc05017fc3 Disable AudioCoding tests on ios
BUG=webrtc:7057
TBR=minyue@webrtc.org
NOTRY=true

Review-Url: https://codereview.webrtc.org/2721323002
Cr-Commit-Position: refs/heads/master@{#16932}
2017-03-01 09:16:51 +00:00
henrik.lundin
deaf6fb071 Opus: Let the decoder interpret 2-byte payloads as DTX/CNG packets
This CL matches the work done in
https://codereview.webrtc.org/2693453003.

BUG=webrtc:7272
TBR=minyue@webrtc.org

Review-Url: https://codereview.webrtc.org/2723893004
Cr-Commit-Position: refs/heads/master@{#16930}
2017-03-01 08:49:18 +00:00
peah
e985b3fe49 Adding metrics to AEC3.
This CL adds metrics reporting to AEC3.

BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2722453002
Cr-Commit-Position: refs/heads/master@{#16929}
2017-03-01 06:08:53 +00:00
peah
999cf2bd7c Added further tuning of AEC3
TBR=henrik.lundin@webrtc.org
BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2720973005
Cr-Commit-Position: refs/heads/master@{#16928}
2017-03-01 06:07:05 +00:00
perkj
16ccfdf457 Reland Move fake_audio_device to its own target.
Patchset 1 is patchset #5 id:80001 of https://codereview.webrtc.org/2717983003/
Patchset 2 fix call_perf_test dep on fake_audio_device.

This reverts commit 985371bda999c6db51286586c5850d2ff58f3511.

Original cl description:

Move fake_audio_device to its own target.
The purpose is to make it usefull for test targets that does not need or can use test_common.

For some reason this also triggered override issues in rtp module tests that are fixed in the same cl.

BUG=none
TBR=kjellander@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2718363002
Cr-Commit-Position: refs/heads/master@{#16922}
2017-02-28 22:41:05 +00:00
sprang
c1b57a15bf Test field trial group with startswith rather than equals.
BUG=webrtc:7266

Review-Url: https://codereview.webrtc.org/2717973005
Cr-Commit-Position: refs/heads/master@{#16915}
2017-02-28 16:50:47 +00:00
kjellander
e3e902eef9 Restructure protobuf targets to fit with downstream requirements.
The paths of the protobuf output files needs to match the actual tree path
in order for Bazel builds to work.

BUG=webrtc:6412
NOTRY=True

Review-Url: https://codereview.webrtc.org/2716413004
Cr-Commit-Position: refs/heads/master@{#16912}
2017-02-28 16:01:46 +00:00
sakal
a2508c1e0f Fix reporting QP in FFmpeg H264 encoder.
The QP was previously written after calling OnEncodedImage. This was a
bug.

BUG=webrtc:6541

Review-Url: https://codereview.webrtc.org/2718353003
Cr-Commit-Position: refs/heads/master@{#16911}
2017-02-28 15:57:00 +00:00
brandtr
aebc61e3dc Minor cleanups in VideoProcessor.
This CL is broken out from a future "real" CL, that introduces
support for pipelining HW codecs to VideoProcessor. I order to
simplify the reviewing of that CL a bit, some of the cleanups are
split out here.

No functional changes are intended.

BUG=webrtc::6634

Review-Url: https://codereview.webrtc.org/2709123004
Cr-Commit-Position: refs/heads/master@{#16909}
2017-02-28 15:13:47 +00:00
philipel
b61927c687 Avoid busy looping in case of send failure while probing.
BUG=webrtc:7255

Review-Url: https://codereview.webrtc.org/2719183004
Cr-Commit-Position: refs/heads/master@{#16908}
2017-02-28 15:05:23 +00:00
Henrik Lundin
b1629cf5d6 Avoid overflow in NetEq's TimeStretch::SpeechDetection
BUG=chromium:675193
R=kwiberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2718943004 .
Cr-Commit-Position: refs/heads/master@{#16902}
2017-02-28 13:58:30 +00:00
perkj
985371bda9 Revert of Move fake_audio_device to its own target. (patchset #5 id:80001 of https://codereview.webrtc.org/2717983003/ )
Reason for revert:
Breaks build DEPS.

Original issue's description:
> Move fake_audio_device to its own target.
> The purpose is to make it usefull for test targets that does not need or can use test_common.
>
> For some reason this also triggered override issues in rtp module tests that are fixed in the same cl.
>
> BUG=none
>
> Review-Url: https://codereview.webrtc.org/2717983003
> Cr-Commit-Position: refs/heads/master@{#16889}
> Committed: 03d850ddf9

TBR=ehmaldonado@webrtc.org,danilchap@webrtc.org,kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=none

Review-Url: https://codereview.webrtc.org/2718083003
Cr-Commit-Position: refs/heads/master@{#16890}
2017-02-28 08:56:28 +00:00
perkj
03d850ddf9 Move fake_audio_device to its own target.
The purpose is to make it usefull for test targets that does not need or can use test_common.

For some reason this also triggered override issues in rtp module tests that are fixed in the same cl.

BUG=none

Review-Url: https://codereview.webrtc.org/2717983003
Cr-Commit-Position: refs/heads/master@{#16889}
2017-02-28 08:49:48 +00:00
magjed
21d110fe4e Enable include check for webrtc_h264 target
BUG=webrtc:7242,webrtc:6828

Review-Url: https://codereview.webrtc.org/2718143002
Cr-Commit-Position: refs/heads/master@{#16888}
2017-02-28 08:28:04 +00:00
tommi
f9495c3199 Avoid calling TimeUntilNextProcess() from Process() in BitrateControllerImpl
BUG=none

Review-Url: https://codereview.webrtc.org/2725433002
Cr-Commit-Position: refs/heads/master@{#16887}
2017-02-28 08:05:27 +00:00
peah
ebe7778ce9 Further tuning for AEC3 for initial echo suppression
and handling of echo path changes.

This CL add tuning for the AEC3 that
1) Improves the handling of the initial echo suppression
before the linear filter is reliable.
2) Improves the handling of echo path changes.

There are also minor bugfixes included.

BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2717353002
Cr-Commit-Position: refs/heads/master@{#16873}
2017-02-27 15:29:21 +00:00
perkj
a8ba195db5 Replace test::FrameGenerator::ChromaGenerator with new FrameGenerator::SquareGenerator The problem with the ChromaGenerator is that the VP8 encoder produce a too low bitrate for each frame. The squaregenerator make the VP8 encoder produce about 600kbit/s at VGA.
SquareGenerator is a FrameGenerator that draws 10 randomly sized and colored
squares. Between each new generated frame, the squares are moved slightly
towards the lower right corner.

BUG=webrtc:7192

Review-Url: https://codereview.webrtc.org/2705973002
Cr-Commit-Position: refs/heads/master@{#16870}
2017-02-27 14:52:10 +00:00
tommi
ea5f06f7e6 Remove extra call to TimeUntilNextProcess from within Process.
I noticed while profiling calls to TimeUntilNextProcess.
It's benign, but the implementation seems to be done to accomodate the
test rather than the other way around, so I'm making the test behave
more like a ProcessThread would.

BUG=None

Review-Url: https://codereview.webrtc.org/2715133002
Cr-Commit-Position: refs/heads/master@{#16867}
2017-02-27 13:41:24 +00:00
henrika
b3ebc1aa59 Simplifies FineAudioBuffer by using rtc::Buffer
BUG=NONE

Review-Url: https://codereview.webrtc.org/2715963002
Cr-Commit-Position: refs/heads/master@{#16864}
2017-02-27 13:14:17 +00:00
philipel
32d0010d86 Add probe logging to RtcEventLog.
In this CL:
 - Add message BweProbeCluster and BweProbeResult to rtc_event_log.proto.
 - Add corresponding log functions to RtcEventLog.
 - Add optional field |probe_cluster_id| to RtpPacket message and added
   an overload function to log with this information.
 - Propagate the probe_cluster_id to where RTP packets are logged.

BUG=webrtc:6984

Review-Url: https://codereview.webrtc.org/2666533002
Cr-Commit-Position: refs/heads/master@{#16857}
2017-02-27 10:18:46 +00:00
tommi
f284b7ff5f Remove |running_| state from NackModule to avoid running a tight loop.
Also reducing locking in NackModule (and by extension RtpStreamReceiver)

BUG=webrtc:7246

Review-Url: https://codereview.webrtc.org/2720603002
Cr-Commit-Position: refs/heads/master@{#16856}
2017-02-27 09:59:36 +00:00
peah
a2376e7db6 Added post-adjustment of the suppression gains
This CL adds correction of the echo suppressor gain
It contains 2 changes:
-Bounds the upper value for the echo suppression gain
for bin 1 to avoid that the high-pass filter causes the
gain to be high for bin 1, which in turn may impact the
realization of any lower gains for the neighboring bins.
-Bounds the upper values for the echo suppression gains
for the higher bins to avoid any impact of the
external anti-aliasing filters.

BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2718993002
Cr-Commit-Position: refs/heads/master@{#16854}
2017-02-27 09:15:24 +00:00
kjellander
b7d24f6d8d Disable flaky tests on iOS
Tests disabled:
CurrentSpeakerMonitorTest.SpeakerChange
TargetDelayTest.OutOfRangeInput
TargetDelayTest.NoTargetDelayBufferSizeChanges
TargetDelayTest.WithTargetDelayBufferNotChanging
TargetDelayTest.RequiredDelayAtCorrectRange
TargetDelayTest.TargetDelayBufferMinMax

BUG=webrtc:7057
TBR=aleloi@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2717993002
Cr-Commit-Position: refs/heads/master@{#16850}
2017-02-27 06:10:14 +00:00
kjellander
7c85658556 Roll chromium_revision 33a7a547b9..0e44c5e141 (452838:453130)
Some code changes were needed due to webrtc:7236.
Disabling flaky test for iOS and ORTC (on memcheck).

Change log: 33a7a547b9..0e44c5e141
Full diff: 33a7a547b9..0e44c5e141

Changed dependencies:
* src/base: facaa65f73..07e8029830
* src/build: eefc9cc748..c7c2db69cd
* src/ios: f893f94115..75bb86f02a
* src/testing: b40837ba97..e31bd01824
* src/third_party: 55242080a2..285c08d0e2
* src/third_party/catapult: 794fff6c81..47b98570f6
* src/third_party/libyuv: b18fd21d3c..45b176d153
* src/tools: e4e78e0678..6b40c03f7b
DEPS diff: 33a7a547b9..0e44c5e141/DEPS

Clang version changed 289944:295793
Details: 33a7a547b9..0e44c5e141/tools/clang/scripts/update.py

TBR=henrik.lundin@webrtc.org
BUG=webrtc:7236, webrtc:7247, webrtc:7248
NOTRY=True

Review-Url: https://codereview.webrtc.org/2718953002
Cr-Commit-Position: refs/heads/master@{#16849}
2017-02-27 03:53:40 +00:00
tommi
3dda246b69 Revert of Removing unused audio device tests (patchset #1 id:1 of https://codereview.webrtc.org/2716843002/ )
Reason for revert:
I unfortunately have to revert this since trybots are still trying to run these tests and now they fail because the tests aren't there :-/  Before relanding, can you work with engprod to make sure we don't run them?

Original issue's description:
> Removes a test suite that is no longer used or maintained.
>
> BUG=NONE
>
> Review-Url: https://codereview.webrtc.org/2716843002
> Cr-Commit-Position: refs/heads/master@{#16825}
> Committed: bb5136f940

TBR=solenberg@webrtc.org,nisse@webrtc.org,henrika@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=NONE

Review-Url: https://codereview.webrtc.org/2721433002
Cr-Commit-Position: refs/heads/master@{#16845}
2017-02-26 15:12:50 +00:00
tommi
4af9f962c3 Fix busy loop in FakeAudioDeviceModule.
The implementation now has a mechanism that effectively turns off callbacks if used.

BUG=webrtc:7237, 695438
TBR=solenberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2710023010
Cr-Commit-Position: refs/heads/master@{#16837}
2017-02-25 17:05:22 +00:00
terelius
f18847fa6a Remove unused variables from MetricRecorder.
BUG=webrtc:7209

Review-Url: https://codereview.webrtc.org/2704343004
Cr-Commit-Position: refs/heads/master@{#16831}
2017-02-24 16:45:36 +00:00
alessiob
306d1bfec0 Parallel iterator bash script. The Python files are empty ones, just a placeholder for the code they will host.
Sample audio files for the APM quality assessment toolbox

BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2711923002
Cr-Commit-Position: refs/heads/master@{#16827}
2017-02-24 13:32:21 +00:00
henrika
bb5136f940 Removes a test suite that is no longer used or maintained.
BUG=NONE

Review-Url: https://codereview.webrtc.org/2716843002
Cr-Commit-Position: refs/heads/master@{#16825}
2017-02-24 11:36:20 +00:00
zijiehe
8697f9afba Skips the first frame in DxgiDuplicatorController
A bug has been reported to complaint the ScreenCapturerWinDirectx cannot capture
the first frame, which is used in "Report an issue" page.
A simple solution here is to skip the first frame.

This change also removes the friend relationship between
DxgiDuplicatorController / DxgiAdapterDuplicator / DxgiOutputDuplicator, which
is not really necessary.

BUG=682112

Review-Url: https://codereview.webrtc.org/2703123002
Cr-Commit-Position: refs/heads/master@{#16815}
2017-02-24 05:43:40 +00:00
aleloi
88b82b59f1 Fix compilation issue detected by internal tool.
Explicit initialization of const member of new EchoCanceller 3
submodule.

Same thing as f3e84717 from https://codereview.webrtc.org/2715573003,
but more of it.

This should be the last one.

TBR=henrik.lundin@webrtc.org

NOTRY=True
BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2708373005
Cr-Commit-Position: refs/heads/master@{#16804}
2017-02-23 14:27:03 +00:00
aleloi
f3e847170d Fix compilation issue detected by internal tool.
Explicit initialization of const member of new EchoCanceller 3
submodule.

NOTRY=True

BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2715573003
Cr-Commit-Position: refs/heads/master@{#16802}
2017-02-23 13:56:15 +00:00
peah
522d71bf36 Finalization of the first version of EchoCanceller 3
This CL adds the remaining code for the first version of EchoCanceller3.

TBR=aleloi@webrtc.org
BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2678423005
Cr-Commit-Position: refs/heads/master@{#16801}
2017-02-23 13:16:26 +00:00
philipel
8aadd50b96 Propagate packet pacing information to SendTimeHistory.
In order to not make this CL too large I have broken it down into at least two
steps. Previous CL: https://codereview.chromium.org/2628563003/

webrtc::PacedSender::Process                        <--- previous CL start here
webrtc::PacedSender::SendPacket
webrtc::PacketRouter::TimeToSendPacket
webrtc::ModuleRtpRtcpImpl::TimeToSendPacket         <--- previous CL end here, this Cl start here
webrtc::RTPSender::TimeToSendPacket
webrtc::RTPSender::PrepareAndSendPacket
webrtc::RTPSender::AddPacketToTransportFeedback
webrtc::TransportFeedbackAdapter::AddPacket
webrtc::SendTimeHistory::AddAndRemoveOld            <--- this CL end here

BUG=webrtc:6822

Review-Url: https://codereview.webrtc.org/2708873003
Cr-Commit-Position: refs/heads/master@{#16796}
2017-02-23 10:56:13 +00:00
sakal
7adadb1fdf Add QP for libvpx VP9 decoder.
Also adds a basic unit test for VP9 implementation.

BUG=webrtc:6541

Review-Url: https://codereview.webrtc.org/2654813002
Cr-Commit-Position: refs/heads/master@{#16795}
2017-02-23 10:54:57 +00:00
brandtr
1e46434e7e Rename config structs in VideoProcessor tests.
This CL harmonizes and improves the naming of the config structs
in the VideoProcessor tests. It should have no functional implications.

CodecConfigPars -> CodecParams:
  This struct mainly contains codec settings.

QualityMetrics -> QualityThresholds:
  This struct contains thresholds against which the calculated
  PSNR and SSIM metrics are compared to.

RateControlMetrics -> RateControlThresholds:
  This struct contains thresholds against which the calculated
  rate control metrics are compared to.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2703333004
Cr-Commit-Position: refs/heads/master@{#16794}
2017-02-23 10:49:16 +00:00
henrika
f166e1bcab Now using rtc::Buffer in FineAudioBuffer
BUG=b/35589717

Review-Url: https://codereview.webrtc.org/2706923006
Cr-Commit-Position: refs/heads/master@{#16793}
2017-02-23 10:44:55 +00:00
sakal
02f994b4e9 Remove codec thread from MediaCodecVideoEncoder.
After this change, all calls to MediaCodecVideoEncoder must be made on
the same task queue. Removes OnCodecThread suffix from methods since it
is no longer meaningful.

BUG=webrtc:6290

Review-Url: https://codereview.webrtc.org/2669093004
Cr-Commit-Position: refs/heads/master@{#16792}
2017-02-23 10:25:20 +00:00
asapersson
abc0080df8 Add QP statistics to VideoProcessorIntegrationTest.
The average QP of encoded frames is printed in Stats::PrintSummary.

plot_webrtc_test_logs.py: Add QP to plots.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2709613005
Cr-Commit-Position: refs/heads/master@{#16790}
2017-02-23 09:33:04 +00:00