Commit Graph

3596 Commits

Author SHA1 Message Date
809dcb4b3e Modify ScreenCaptureFrameQueue into a template
BUG=

Committed: https://crrev.com/34cad48cfbd362ae0c9027365550bfe28e2e10ef
Cr-Commit-Position: refs/heads/master@{#12458}

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

Cr-Commit-Position: refs/heads/master@{#12478}
2016-04-22 23:08:44 +00:00
8053f79bd9 Add a new TickTimer class to NetEq
The new class is intended to be used as a central time-keeping object
inside NetEq. The actual use of the class will come in subsequent
changes.

BUG=webrtc:5608

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

Cr-Commit-Position: refs/heads/master@{#12477}
2016-04-22 20:21:49 +00:00
0b25072c4e Use vcm::VideoReceiver on the receive side.
BUG=
R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12473}
2016-04-22 16:23:26 +00:00
fb8fc5391e Improve the behavior when the BWE times out and when we have too little data to determine the incoming bitrate.
This is done by changing the RateStatistics so that it resets its window when the accumulator is empty. It also keeps a dynamic window, so that the rates computed before a full window worth of data has been received will be computed over a smaller window. This means that the rate will be closer to the true rate, but with a higher variance.

BUG=webrtc:5773
R=perkj@webrtc.org, sprang@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12470}
2016-04-22 13:48:36 +00:00
4fb3d2bcca Add defaulted move constructors for some types that just got copy constructors
They can all benefit from moving, since they contain std::string and
std::vector. We intended to add these in
https://codereview.webrtc.org/1896953004/, but got compiler errors we
couldn't make sense of, so we skipped them. It turns out that what the
compiler was complaining about was that when we said we'd have a
user-defined move constructor, it stopped generating a copy assignment
operator for us. This CL solves the problem by outfitting the types
with defaulted copy and move assignment operators too.

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

Cr-Commit-Position: refs/heads/master@{#12469}
2016-04-22 11:59:34 +00:00
bfde543f73 Audio Coding Module: Use separate instances for 16 kHz and 32 kHz iSAC decoder
This will allow us to fix the sample rate of each AudioDecoder at
instantiation time.

This change results in different checksums for the following tests:

AcmReceiverBitExactnessOldApi.8kHzOutput
AcmReceiverBitExactnessOldApi.16kHzOutput
AcmReceiverBitExactnessOldApi.32kHzOutput
AcmReceiverBitExactnessOldApi.48kHzOutputExternalDecoder
AcmReceiverBitExactnessOldApi.48kHzOutput

Because they make an ACM and then ask it to decode both 16 kHz and 32
kHz iSAC. (The arm32 and arm64 checksums didn't change, because the
tests skip 32 kHz iSAC on arm.)

BUG=webrtc:5801

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

Cr-Commit-Position: refs/heads/master@{#12463}
2016-04-22 07:32:06 +00:00
bcc6dbb6b2 DecoderDatabase::DecoderInfo: Remove unused member variable rtp_sample_rate_hz
The fs_hz member variable is going away too, being replaced by a
method in the AudioDecoder interface. If we ever end up needing the
RTP sample rate here, a method ought to be the right solution for that
too.

BUG=webrtc:5801

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

Cr-Commit-Position: refs/heads/master@{#12462}
2016-04-22 07:12:49 +00:00
4d7bc240b9 Fix valgrind complaint on uninitialized value
BUG=

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

Cr-Commit-Position: refs/heads/master@{#12460}
2016-04-21 23:37:26 +00:00
1bcb8f05ad Revert of Modify ScreenCaptureFrameQueue into a template (patchset #10 id:170001 of https://codereview.webrtc.org/1902323002/ )
Reason for revert:
Breaks FYI bits, e.g. this one: https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win%20Builder/builds/4430

Original issue's description:
> Modify ScreenCaptureFrameQueue into a template
>
> BUG=
>
> Committed: https://crrev.com/34cad48cfbd362ae0c9027365550bfe28e2e10ef
> Cr-Commit-Position: refs/heads/master@{#12458}

TBR=sergeyu@chromium.org,zijiehe@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#12459}
2016-04-21 21:18:24 +00:00
34cad48cfb Modify ScreenCaptureFrameQueue into a template
BUG=

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

Cr-Commit-Position: refs/heads/master@{#12458}
2016-04-21 20:25:05 +00:00
6acd9f49d9 Cleanup webrtc/modules/desktop_capture
Removed deprecated files, types and methods in modules/webrtc that were
kept there to avoid breaking chromium, and which are no longer needed.

BUG=172183

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

Cr-Commit-Position: refs/heads/master@{#12457}
2016-04-21 16:46:27 +00:00
cd5c25cb80 Use vcm::VideoSender in ViEEncoder.
ViEEncoder doesn't need a full VideoCodingModule since it only uses the
sender side either way.

BUG=webrtc:3608,webrtc:5687
R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12456}
2016-04-21 14:48:18 +00:00
2b6707826e Cleaning up AEC metrics.
Current implementation of AEC metrics does not read nicely. It messes up between a noise-removed calculation and a raw calculation.

I tried to clean it up, in which, I stick to the raw calculation since the noise-removed version can show some problem when the noise is overestimated.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12455}
2016-04-21 09:07:17 +00:00
8556c48a09 Add flag for external VNR rectangle diagnostics on NEON.
TBR=marpan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12452}
2016-04-20 23:04:37 +00:00
eb3603bd5e Don't always downsample to 16kHz in the reverse stream in APM
The first approach landed here: https://codereview.webrtc.org/1773173002
But it was partially reverted, because it affected the AEC performance, here: https://codereview.webrtc.org/1867483003/
The main difference of this approach is that it doesn't use the 3-band splitting filter in the reverse stream, which seems to be the culprit of the AEC regression.
Also, the 2-band splitting filter has been used for the 32kHz case for a long time without any problem, and this is expanded in the CL to cover the 48kHz case as well.

BUG=webrtc:5725
TBR=tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12451}
2016-04-20 22:28:01 +00:00
0a2c054f42 Fix the issue of undefined-shift in VP8GetBit.
BUG=chromium:603497

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

Cr-Commit-Position: refs/heads/master@{#12450}
2016-04-20 20:24:19 +00:00
3bc9566f5a Prevents a segfault in the noise suppression code on ARMv7 with NEON instructions and Mips platforms.
Integer wraparound when casting from int32 to int16 can cause invalid array indices to be accessed.
Fix for wraparound issue.

BUG=webrtc:5781

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

Cr-Commit-Position: refs/heads/master@{#12449}
2016-04-20 15:25:28 +00:00
9b2119be47 Reland of Use initial bitrates for software VP8. (patchset #1 id:1 of https://codereview.webrtc.org/1898183002/ )
Reason for revert:
Chromium test updated to handle this change.

Original issue's description:
> Revert of Use initial bitrates for software VP8. (patchset #3 id:40001 of https://codereview.webrtc.org/1893313002/ )
>
> Reason for revert:
> Likely broke Chromium:
> https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Tester/builds/26838
> https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win10%20Tester/builds/2224
>
> Original issue's description:
> > Use initial bitrates for software VP8.
> >
> > Makes the software encoder start at VGA as well, since ~300k isn't good
> > enough to produce a good HD stream.
> >
> > BUG=webrtc:5678
> > R=glaznev@webrtc.org, stefan@webrtc.org
> >
> > Committed: https://crrev.com/e1da27e543bdb1983638118172a4efd599ca51b5
> > Cr-Commit-Position: refs/heads/master@{#12428}
>
> TBR=stefan@webrtc.org,glaznev@webrtc.org,pbos@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5678
>
> Committed: https://crrev.com/5aa2d344d7e0b8940794d3c4422f81ac81249022
> Cr-Commit-Position: refs/heads/master@{#12430}

TBR=stefan@webrtc.org,glaznev@webrtc.org,kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5678

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

Cr-Commit-Position: refs/heads/master@{#12447}
2016-04-20 13:37:44 +00:00
1edb7ab7bd RtpPacket class introduced.
BUG=webrtc:1994, webrtc:5261

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

Cr-Commit-Position: refs/heads/master@{#12444}
2016-04-20 12:25:19 +00:00
2ddf09397f Fix missing-break-fallthrough warning.
Adds a break; after RTC_NOTREACHED(). Also removes default case to catch
if any other codec type is added.

BUG=
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12443}
2016-04-20 12:06:55 +00:00
02b3d275a0 Reland of Deprecate VCMPacketizationCallback::SendData and use EncodedImageCallback instead. (patchset #1 id:1 of https://codereview.webrtc.org/1903193002/ )
Reason for revert:
A fix is being prepared downstream so this can now go in.

Original issue's description:
> Revert of Deprecate VCMPacketizationCallback::SendData and use EncodedImageCallback instead. (patchset #5 id:80001 of https://codereview.webrtc.org/1897233002/ )
>
> Reason for revert:
> API changes broke downstream.
>
> Original issue's description:
> > Deprecate VCMPacketizationCallback::SendData and use EncodedImageCallback instead.
> > EncodedImageCallback is used by all encoder implementations and seems to be what we should try to use in the transport.
> > EncodedImageCallback can of course be cleaned up in the future.
> >
> > This moves creation of RTPVideoHeader from the GenericEncoder to the PayLoadRouter.
> >
> > BUG=webrtc::5687
> >
> > Committed: https://crrev.com/f5d55aaecdc39e9cc66eb6e87614f04afe28f6eb
> > Cr-Commit-Position: refs/heads/master@{#12436}
>
> TBR=stefan@webrtc.org,pbos@webrtc.org,perkj@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5687
>
> Committed: https://crrev.com/a261e6136655af33f283eda8e60a6dd93dd746a4
> Cr-Commit-Position: refs/heads/master@{#12441}

TBR=stefan@webrtc.org,pbos@webrtc.org,perkj@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5687

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

Cr-Commit-Position: refs/heads/master@{#12442}
2016-04-20 12:06:01 +00:00
a261e61366 Revert of Deprecate VCMPacketizationCallback::SendData and use EncodedImageCallback instead. (patchset #5 id:80001 of https://codereview.webrtc.org/1897233002/ )
Reason for revert:
API changes broke downstream.

Original issue's description:
> Deprecate VCMPacketizationCallback::SendData and use EncodedImageCallback instead.
> EncodedImageCallback is used by all encoder implementations and seems to be what we should try to use in the transport.
> EncodedImageCallback can of course be cleaned up in the future.
>
> This moves creation of RTPVideoHeader from the GenericEncoder to the PayLoadRouter.
>
> BUG=webrtc::5687
>
> Committed: https://crrev.com/f5d55aaecdc39e9cc66eb6e87614f04afe28f6eb
> Cr-Commit-Position: refs/heads/master@{#12436}

TBR=stefan@webrtc.org,pbos@webrtc.org,perkj@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc::5687

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

Cr-Commit-Position: refs/heads/master@{#12441}
2016-04-20 11:13:30 +00:00
f41393376a Convert Vp8 Rtp headers to frame references.
R=stefan@webrtc.org, pbos@webrtc.org

BUG=webrtc:5514

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

Cr-Commit-Position: refs/heads/master@{#12437}
2016-04-20 08:26:45 +00:00
f5d55aaecd Deprecate VCMPacketizationCallback::SendData and use EncodedImageCallback instead.
EncodedImageCallback is used by all encoder implementations and seems to be what we should try to use in the transport.
EncodedImageCallback can of course be cleaned up in the future.

This moves creation of RTPVideoHeader from the GenericEncoder to the PayLoadRouter.

BUG=webrtc::5687

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

Cr-Commit-Position: refs/heads/master@{#12436}
2016-04-20 08:17:11 +00:00
5aa2d344d7 Revert of Use initial bitrates for software VP8. (patchset #3 id:40001 of https://codereview.webrtc.org/1893313002/ )
Reason for revert:
Likely broke Chromium:
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Tester/builds/26838
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win10%20Tester/builds/2224

Original issue's description:
> Use initial bitrates for software VP8.
>
> Makes the software encoder start at VGA as well, since ~300k isn't good
> enough to produce a good HD stream.
>
> BUG=webrtc:5678
> R=glaznev@webrtc.org, stefan@webrtc.org
>
> Committed: https://crrev.com/e1da27e543bdb1983638118172a4efd599ca51b5
> Cr-Commit-Position: refs/heads/master@{#12428}

TBR=stefan@webrtc.org,glaznev@webrtc.org,pbos@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5678

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

Cr-Commit-Position: refs/heads/master@{#12430}
2016-04-19 15:18:50 +00:00
e1da27e543 Use initial bitrates for software VP8.
Makes the software encoder start at VGA as well, since ~300k isn't good
enough to produce a good HD stream.

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

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

Cr-Commit-Position: refs/heads/master@{#12428}
2016-04-19 13:53:22 +00:00
cc23b7c1ea Delete unused methods SetStartImage and SetTimeoutImage.
Declared in webrtc::VideoRender, implemented in IncomingVideoStream.
This cl also eliminates some of the few uses of
webrtc::VideoFrame::CopyFrame.

BUG=webrtc:5682

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

Cr-Commit-Position: refs/heads/master@{#12427}
2016-04-19 13:19:47 +00:00
Per
ba7dc723b0 Add rotation to EncodedImage and make sure it is passed through encoders.
This fix a potential race where the rotation information of a sent frame does not match the encoded frame.

BUG=webrtc:5783
TEST= Run ApprtcDemo on IOs and Android with and without capture to texture and both VP8 and H264.
R=magjed@webrtc.org, pbos@webrtc.org, tkchin@webrtc.org
TBR=tkchin_webrtc // For IOS changes.

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

Cr-Commit-Position: refs/heads/master@{#12426}
2016-04-19 13:01:32 +00:00
0fa0a97cf3 NetEq: Simplify DecoderDatabase::DecoderInfo
By eliminating one of the two constructors, handling decoder ownership
with a unique_ptr instead of a raw pointer, and making all member
variables const (except one, which is made private instead).

BUG=webrtc:5801

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

Cr-Commit-Position: refs/heads/master@{#12425}
2016-04-19 12:03:51 +00:00
f3669661bd Removed the issue with the leading semicolon in the audio
processing module experiment description that was present
when AEC3 was not activated and when RefinedAdaptiveFilter
was activated.

BUG=webrtc:5778, webrtc:5777

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

Cr-Commit-Position: refs/heads/master@{#12424}
2016-04-19 10:40:15 +00:00
ee6e4272a4 Fixed undefined shift in parsing Tmmbr, Tmmbn and Remb
BUG=chromium:603483
R=asapersson@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12423}
2016-04-19 10:15:21 +00:00
470dd37b41 Roll chromium_revision 212f976fef..61ed337cfe (387882:388120)
https://codereview.chromium.org/1826693002 enables some
more Clang warnings which were fixed.

Change log: 212f976fef..61ed337cfe
Full diff: 212f976fef..61ed337cfe

No dependencies changed.
No update to Clang.

TBR=
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#12422}
2016-04-19 10:03:31 +00:00
a96b60b3a6 Move frame_callback.h to common_video/include.
BUG=webrtc:4243
R=kjellander@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12419}
2016-04-19 04:12:57 +00:00
b9e77097ed Add QVGA to thresholds for initial quality.
Makes QualityScaler start at QVGA for <250k initial bitrates. Useful in
combination with overriding max bitrates to a max lower than that for
connections where we know that the max bitrate is capped below where VGA
is useful.

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

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

Cr-Commit-Position: refs/heads/master@{#12416}
2016-04-18 20:46:06 +00:00
d6b851a1bd Fixed memleak when two voip blocks present in single rtcp packet.
BUG=chromium:603894

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

Cr-Commit-Position: refs/heads/master@{#12413}
2016-04-18 17:54:13 +00:00
264087f45a A few small cleanups of stuff caught by lint
Review URL: https://codereview.webrtc.org/1871003002

Cr-Commit-Position: refs/heads/master@{#12412}
2016-04-18 15:07:33 +00:00
2903ba5ff3 Reland Remove the deprecated EncodeInternal interface from AudioEncoder
Remove the deprecated EncodeInternal interface from AudioEncoder

Also hid MaxEncodedBytes by making it private. It will get removed as soon as subclasses have had time to remove their overrides.

BUG=webrtc:5591

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

Cr-Commit-Position: refs/heads/master@{#12409}
2016-04-18 13:14:42 +00:00
54728bab25 Remove process thread checker from BWE.
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12408}
2016-04-18 13:06:16 +00:00
2c8a2964fd Tune QP-based quality thresholds.
Increases measure time for downscale back to 5 seconds, this is required
to not over-react on hand-waving or quick device rotations.

Also increase max thresholds for QP a bit to not overreact when quality
still looks somewhat OK. Min thresholds for H264 seemed very low and are
increased to be sure that we can go back up again. The window is still
quite big with the increased max QP.

Also changes libvpx thresholds to use the same thresholds as the
encoder, they were excessively low before and wouldn't adapt on bad QPs
at all before (but rely on >60% framedropping based on bitrates to go
down).

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

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

Cr-Commit-Position: refs/heads/master@{#12403}
2016-04-18 10:58:17 +00:00
5265fedffe Add histogram stats for average QP per frame for VP9 (for sent video streams):
- "WebRTC.Video.Encoded.Qp.Vp9"
- "WebRTC.Video.Encoded.Qp.Vp9.S0"
- "WebRTC.Video.Encoded.Qp.Vp9.S1"
- "WebRTC.Video.Encoded.Qp.Vp9.S2"

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12402}
2016-04-18 09:58:52 +00:00
8056acc6f5 Use bitstream-level QP for libvpx VP8 quality.
BUG=webrtc:5678
TBR=marpan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12401}
2016-04-18 09:17:43 +00:00
a186288fd0 Revert of Update histogram "WebRTC.Video.OnewayDelayInMs" to use the estimated one-way delay. (patchset #4 id:60001 of https://codereview.webrtc.org/1688143003/ )
Reason for revert:
The delay stats are high.

Original issue's description:
> Update histogram "WebRTC.Video.OnewayDelayInMs" to use the estimated one-way delay.
> Previous logged delay was: network delay (rtt/2) + jitter delay + decode time + render delay.
>
> Make capture time in local timebase available for decoded VP9 video frames (propagate ntp_time_ms from EncodedImage to decoded VideoFrame).
>
> BUG=
>
> Committed: https://crrev.com/5249599a9b69ad9c2d513210d694719f1011f977
> Cr-Commit-Position: refs/heads/master@{#11901}

TBR=stefan@webrtc.org,pbos@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=chromium:603838

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

Cr-Commit-Position: refs/heads/master@{#12400}
2016-04-18 07:41:09 +00:00
e532aec252 Add isolate files for Android tests
BUG=chromium:583318
TESTED=Passing runs with:
GYP_DEFINES='test_isolation_mode=prepare OS=android' webrtc/build/gyp_webrtc
ninja -C out/Release
NOTRY=True
NOPRESUBMIT=True

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

Cr-Commit-Position: refs/heads/master@{#12397}
2016-04-18 03:08:28 +00:00
e42c0ae040 Display moving object detection result on Nexus for debugging.
Review URL: https://codereview.webrtc.org/1890183003

Cr-Commit-Position: refs/heads/master@{#12390}
2016-04-16 17:44:23 +00:00
594a877f2d Cleaned up the EchoSuppression method in the AEC so that it
does not have to use the aec state as an input.

Furthermore, the debug dump output of e_fft was removed as
it is not really used in any analysis scripts.

BUG=webrtc:5298

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

Cr-Commit-Position: refs/heads/master@{#12387}
2016-04-16 11:04:04 +00:00
0332c2db39 Added support in the AEC for refined filter adaptation.
The following algorithmic functionality was added:
-Add support for an exact regressor power to be computed
 which avoids the issue with the updating of the filter
 sometimes being unstable.
-Lowered the fixed step size of the adaptive filter to 0.05
 which significantly reduces the sensitivity of the
 adaptive filter to near-end noise, nonlinearities,
 doubletalk and the unmodelled echo path tail. It also
 reduces the tracking speed of the adaptive filter but the
 chosen value proved to give a sufficient tradeoff for the
 requirements on the adaptive filter.

To allow the new functionality to be selectively applied the following was done:
-A new Config was added for selectively activating the functionality.
-Functionality was added in the audioprocessing  and echocancellationimpl classes
 for passing the activation of the functionality down to the AEC algorithms.

To make the code for the introduction of the functionality clean,
the following refactoring was done:
-The selection of the step size was moved to a single place.
-The constant for the step size of the adaptive filter in extended filter mode was
 made local.
-The state variable storing the step-size was renamed to a more describing name.

When the new functionality is not activated, the changes
have been tested for bitexactness on Linux.

TBR=minyue@webrtc.org
BUG=webrtc:5778, webrtc:5777

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

Cr-Commit-Position: refs/heads/master@{#12384}
2016-04-15 18:23:36 +00:00
Per
83d0910694 Move Ownership of RtpModules to VideoSendStream from VieChannel and remove use of vie_channel and vie_receiver from video_send_stream.
The purpose of this refactoring is a first step of separating the encoder parts from the RTP transport.

BUG=webrtc:5687
R=mflodman@webrtc.org, pbos@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12377}
2016-04-15 12:59:21 +00:00
6ca0a31708 We no longer use compilers that can't =default move construction and assignment
Review URL: https://codereview.webrtc.org/1891483006

Cr-Commit-Position: refs/heads/master@{#12376}
2016-04-15 12:25:03 +00:00
26acec4772 Delete method webrtc::VideoFrame::native_handle.
Instead, use the corresponding method on VideoFrameBuffer. In the process,
reduce code duplication in frame comparison functions used in
the test code.

Make FramesEqual use FrameBufsEqual. Make the latter support texture frames.

The cl also refactors VideoFrame::CopyFrame to use I420Buffer::Copy. This
has possibly undesired side effects of never reusing the frame buffer of
the destination frame, and producing a frame buffer which may use different
stride than the source frame.

BUG=webrtc:5682

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

Cr-Commit-Position: refs/heads/master@{#12373}
2016-04-15 10:43:45 +00:00
3911c26bc0 Add support for writing raw encoder output to .ivf files.
Also refactor GenericEncoder to use these file writers, and remove use
of preprocessor to enable file writing.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12372}
2016-04-15 08:24:21 +00:00