Commit Graph

1783 Commits

Author SHA1 Message Date
966a708b93 Use RtpFileSource in NetEqDecodingTest
This CL removes the dependency on the old NETEQTEST_RTPpacket class
from the NetEqDecodingTest code, and also removes the dependency
from the modules_unittests target to neteq_test_tools.

BUG=2692
R=tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/24269004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7709 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-17 09:08:38 +00:00
be05c74ec8 Wrap the splitting filter in its own class
This doesn't change the behavior at all.
The logic behind this is having one class which manages all the splitting filters, because in the future we plan to add a 3 band one for 48kHz support.
It also breaks the dependency of the AudioBuffer with the filter states of these filters (which are going to be different for the 3 band one). The AudioBuffer is complicated enough and is going to need changes to support 3 bands in the future, so any simplification is a good idea.
On top of that it eliminates repeated code in the APM (now only iterating over channels, but then also deciding in how many bands to split). This should be managed by the AudioBuffer directly.

BUG=webrtc:3146
R=bjornv@webrtc.org, kwiberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/32469004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7705 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-14 22:18:10 +00:00
ece3890d3a Report total bitrate for all streams in GetStats.
This regression wasn't caught because I accidentally disabled multiple
streams for EndToEndTest.GetStats in a refactoring.

R=stefan@webrtc.org, xians@webrtc.org
BUG=1667

Review URL: https://webrtc-codereview.appspot.com/27179004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7701 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-14 11:52:04 +00:00
49ff40e32e Make SetREMBData accept vector of SSRCs.
BUG=
R=pbos@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/32049004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7697 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-13 14:42:37 +00:00
ee30082af8 Set correct sample rate in far_frame in audioproc tool.
One debug recording with non matching sample rates between render and capture revealed a bug in modules/audio_processing/test/process_test.cc
The far_frame (render audio frame) used was loaded with the capture rate instead of the render rate with a data length mismatch error as result.

BUG=N/A
TESTED=manually on linux
R=kwiberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/27169004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7695 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-13 11:00:10 +00:00
52bb521b47 Update isolate files for Android APK tests.
This should speed up test execution on Android since only
the files needed by the test will be processed (instead
of the whole data + resources directories).

A few files for modules_unittests had to be explicitly added
for Android, since they were previously a part of the
add-whole-directories entries for the resources and data
directories.

BUG=webrtc:3741
TEST=Passing android+android_rel trybots.
R=phoglund@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/22559004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7694 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-13 08:35:05 +00:00
90b9b08332 Fix a platform check to use WEBRTC_WIN instead of OS_WIN.
BUG=4006
R=wez@chromium.org

Review URL: https://webrtc-codereview.appspot.com/25169004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7691 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-12 20:53:00 +00:00
ea73ff7267 webrtc::Scaler: Preserve aspect ratio
BUG=3936
R=glaznev@webrtc.org, stefan@webrtc.org

Committed: https://code.google.com/p/webrtc/source/detail?r=7679

Review URL: https://webrtc-codereview.appspot.com/28969004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7689 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-12 09:52:03 +00:00
0e37b898f0 replace inline assembly WebRtcAecm_CalcLinearEnergiesNeon by intrinsics.
The modification only uses the unique part of the CalcLinearEnergies
 function. Pass byte to byte conformance test both on ARMv7 and ARM64,
 and the single function performance is similar with original assembly
 version on different platforms. If not specified, the code is compiled
 by GCC 4.6. The result is the "X version / C version" ratio, and the
 less is better.

| run 100k times             | cortex-a7 | cortex-a9 | cortex-a15 |
| use C as the base on each  |  (1.2Ghz) |  (1.0Ghz) |   (1.7Ghz) |
| CPU target                 |           |           |            |
|----------------------------+-----------+-----------+------------|
| Neon asm                   |    19.48% |    19.26% |     13.68% |
| Neon inline                |    27.90% |    28.87% |     17.79% |
| Neon intrinsics (GCC 4.8)  |    18.69% |    20.18% |     14.69% |
| Neon intrinsics (LLVM 3.4) |    18.52% |    21.15% |     13.56% |

BUG=3580
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/23349004

Patch from Zhongwei Yao <zhongwei.yao@arm.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7686 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-11 19:34:14 +00:00
e497be3de1 replace inline assembly WebRtcAecm_StoreAdaptiveChannelNeon by intrinsics.
The modification only uses the unique part of the StoreAdaptiveChannel
 function. Pass byte to byte conformance test both on ARM32 and ARM64,
 and the single function performance is similar with original assembly
 version on different platforms. If not specified, the code is compiled
 by GCC 4.6.  The result is the "X version / C version" ratio, and the
 less is better.

| run 100k times             | cortex-a7 | cortex-a9 | cortex-a15 |
| use C as the base on each  |  (1.2Ghz) |  (1.0Ghz) |   (1.7Ghz) |
| CPU target                 |           |           |            |
|----------------------------+-----------+-----------+------------|
| Neon asm                   |    20.97% |    37.70% |     25.41% |
| Neon inline                |    36.93% |    51.80% |     38.14% |
| Neon intrinsics (GCC 4.6)  |    27.78% |    43.71% |     26.50% |
| Neon intrinsics (GCC 4.8)  |    27.16% |    38.22% |     26.87% |
| Neon intrinsics (LLVM 3.4) |    27.82% |    39.90% |     26.69% |

Change-Id: Ia55d8a268a70164b50676c604ae40b68fc183106

BUG=3580
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/30029004

Patch from Zhongwei Yao <zhongwei.yao@arm.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7685 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-11 19:32:33 +00:00
0e71070207 Use ScreenCapturer to capture the whole and clip to the window rect when the shared window is on the top.
BUG=crbug/403703, crbug/316603
R=wez@chromium.org

Review URL: https://webrtc-codereview.appspot.com/22759004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7684 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-11 18:15:55 +00:00
f7c5d4fac7 Revert 7679 "webrtc::Scaler: Preserve aspect ratio"
> webrtc::Scaler: Preserve aspect ratio
> 
> BUG=3936
> R=glaznev@webrtc.org, stefan@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/28969004

TBR=magjed@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/30989004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7682 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-11 13:12:09 +00:00
809986b95f webrtc::Scaler: Preserve aspect ratio
BUG=3936
R=glaznev@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/28969004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7679 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-11 09:51:30 +00:00
1431e4dd1c Revert 7675 "Make an AudioEncoder subclass for iSAC"
Above CL did not compile on Android. Followings are links to Android builds

http://chromegw.corp.google.com/i/internal.client.webrtc/builders/Android%20Builder%20%28dbg%29/builds/2648

http://chromegw.corp.google.com/i/internal.client.webrtc/builders/Android%20Clang%20%28dbg%29/builds/2369

http://chromegw.corp.google.com/i/internal.client.webrtc/builders/Android%20ARM64%20%28dbg%29/builds/1320

> Make an AudioEncoder subclass for iSAC
> 
> BUG=3926
> R=henrik.lundin@webrtc.org, kjellander@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/25019004

TBR=kwiberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/32439004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7676 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-11 01:44:13 +00:00
05feff013e Make an AudioEncoder subclass for iSAC
BUG=3926
R=henrik.lundin@webrtc.org, kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/25019004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7675 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-10 23:53:08 +00:00
4ffc7341ca replace inline assembly WebRtcAecm_ResetAdaptiveChannelNeon by intrinsics.
The modification only uses the unique part of the ResetAdaptiveChannel
 function. Pass byte to byte conformance test both on ARM32 and ARM64,
 and the single function performance is similar with original assembly
 version on different platforms. If not specified, the code is compiled
 by GCC 4.6. The result is the "X version / C version" ratio, and the
 less is better.

| run 100k times             | cortex-a7 | cortex-a9 | cortex-a15 |
| use C as the base on each  |  (1.2Ghz) |  (1.0Ghz) |   (1.7Ghz) |
| CPU target                 |           |           |            |
|----------------------------+-----------+-----------+------------|
| Neon asm                   |       15% |       30% |        12% |
| Neon inline                |       21% |       30% |        12% |
| Neon intrinsics (GCC 4.6)  |       19% |       32% |        12% |
| Neon intrinsics (GCC 4.8)  |       20% |       32% |        12% |
| Neon intrinsics (LLVM 3.4) |       19% |       30% |        12% |

BUG=3580
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/29019004

Patch from Zhongwei Yao <zhongwei.yao@arm.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7672 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-10 17:27:53 +00:00
d024f759a8 clear asm code and unused functions in audio processing module
BUG=
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/25119004

Patch from Zhongwei Yao <zhongwei.yao@arm.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7671 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-10 17:19:57 +00:00
83d4804a50 Put send-side bwe probing under finch experiment.
BUG=crbug/425925
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/26079004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7668 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-10 13:55:16 +00:00
d42a3adf42 Remove partially defined WebRtcRTPHeader from Parse().
It' bit ugly that RtpDepacketizer::ParsedPayload partially defines WebRtcRTPHeader, and then sent to Parse() function for internal change.
To make it clearer, the CL gets rid of using partially-defined WebRtcRTPHeader.

BUG=
R=pbos@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/28919004

Patch from Changbin Shao <changbin.shao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7660 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-07 11:02:12 +00:00
dd43bbed8f Volume buttons in AppRTCDemo should affect output audio volume (part II).
See https://webrtc-codereview.appspot.com/32399004/ for part I.

BUG=3279
TEST=AppRTC demo
R=perkj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/27059004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7654 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-06 15:48:05 +00:00
8b2058e733 Remove the state_ member from AudioDecoder
The subclasses that need a state pointer should declare them---with
the right type, not void*, to get rid of all those casts.

Two small but not quite trivial cleanups are included because they
blocked the state_ removal:

  - AudioDecoderG722Stereo now inherits directly from AudioDecoder
    instead of being a subclass of AudioDecoderG722.

  - AudioDecoder now has a CngDecoderInstance member function, which
    is implemented only by AudioDecoderCng. This replaces the previous
    practice of calling AudioDecoder::state() and casting the result
    to a CNG_dec_inst*. It still isn't pretty, but now the blemish is
    plainly visible in the AudioDecoder class declaration.

R=henrik.lundin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/24169005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7644 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-06 07:54:31 +00:00
e1745cbb7c Adjust parameter in vp9 rate control test.
TBR=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/25099004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7638 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-06 02:55:53 +00:00
5f1e2e42a8 Increase speed setting for VP9 (from 5 to 6) and re-enable end_to_end test.
TBR=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/28949004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7637 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-06 02:02:28 +00:00
0bae1fab4a Wire up bandwidth stats to the new API and webrtcvideoengine2.
Adds stats to verify bandwidth and pacer stats.

BUG=1788
R=mflodman@webrtc.org, pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/24969004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7634 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-05 14:05:29 +00:00
dc8662435b Fix android_clang build.
BUG=
R=kjellander@webrtc.org, tkchin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/30879004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7630 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-05 01:15:10 +00:00
368215dacb Revert 7623 "Remove the state_ member from AudioDecoder"
Breaks Chrome compile:
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(131) : error C3867: 'webrtc::NetEqImpl::InsertPacketInternal': function call missing argument list; use '&webrtc::NetEqImpl::InsertPacketInternal' to create a pointer to member
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(131) : error C3861: 'LOG_FERR1': identifier not found
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(152) : error C3867: 'webrtc::NetEqImpl::InsertPacketInternal': function call missing argument list; use '&webrtc::NetEqImpl::InsertPacketInternal' to create a pointer to member
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(152) : error C3861: 'LOG_FERR1': identifier not found
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(169) : error C3867: 'webrtc::NetEqImpl::GetAudioInternal': function call missing argument list; use '&webrtc::NetEqImpl::GetAudioInternal' to create a pointer to member
...

> Remove the state_ member from AudioDecoder
> 
> The subclasses that need a state pointer should declare them---with
> the right type, not void*, to get rid of all those casts.
> 
> Two small but not quite trivial cleanups are included because they
> blocked the state_ removal:
> 
>   - AudioDecoderG722Stereo now inherits directly from AudioDecoder
>     instead of being a subclass of AudioDecoderG722.
> 
>   - AudioDecoder now has a CngDecoderInstance member function, which
>     is implemented only by AudioDecoderCng. This replaces the previous
>     practice of calling AudioDecoder::state() and casting the result
>     to a CNG_dec_inst*. It still isn't pretty, but now the blemish is
>     plainly visible in the AudioDecoder class declaration.
> 
> R=henrik.lundin@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/24169005

TBR=kwiberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/30879005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7629 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-05 00:45:58 +00:00
8a232f65dd Revert 7625 "Don't use DCHECK when you need the side effects..."
Reverting since 7623 might depend on this one

> Don't use DCHECK when you need the side effects...
> 
> R=pbos@webrtc.org
> TBR=henrik.lundin@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/32369004

TBR=kwiberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/25089004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7628 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-05 00:43:59 +00:00
b8425bc4f3 Don't use DCHECK when you need the side effects...
R=pbos@webrtc.org
TBR=henrik.lundin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/32369004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7625 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-04 22:10:18 +00:00
9e525585fd Remove the state_ member from AudioDecoder
The subclasses that need a state pointer should declare them---with
the right type, not void*, to get rid of all those casts.

Two small but not quite trivial cleanups are included because they
blocked the state_ removal:

  - AudioDecoderG722Stereo now inherits directly from AudioDecoder
    instead of being a subclass of AudioDecoderG722.

  - AudioDecoder now has a CngDecoderInstance member function, which
    is implemented only by AudioDecoderCng. This replaces the previous
    practice of calling AudioDecoder::state() and casting the result
    to a CNG_dec_inst*. It still isn't pretty, but now the blemish is
    plainly visible in the AudioDecoder class declaration.

R=henrik.lundin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/24169005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7623 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-04 21:18:47 +00:00
d839e0ab52 Reduce to 2 probes when probing for initial bandwidth.
BUG=
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/23359005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7621 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-04 19:33:55 +00:00
db26247a9b Add UMA for measuring the diff between the BWE at 2 seconds compared to the BWE at 20 seconds when the BWE should have converged.
BUG=crbug/425925
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/30819005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7620 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-04 19:32:10 +00:00
dcebf2daa7 Reworked paced sender queue
Packet queue in the paced sender is now based on a priority queue rather than having a separate fifo-queue per priority level. This allows more flexible sorting and cleaner usage.

Packets with earlier capture times are now prioritized higher. In situations with high packet loss, the queue might contain packets from several subsequent frames. Retransmit packets from the earlier frames first, since the later ones will probably be dependent on these.

Also, don't force sending of packets after a certain time of inactivity or when packets grow too old, since this was causing consistent overuse on poor connections. Instead, drop frames in vie encoder if pacer queue is too long.

BUG=
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/27869004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7617 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-04 16:27:16 +00:00
52b42cb069 Fix problem with late packets in NetEq
Since r7255, it could happen that an old packet would block the decoding
process until enough packet was received for the buffer to flush. This
CL fixes that by:
- Partially reverting r7255;
- Remove recent old packets before taking a decision for GetAudio;
- Remove all old packets after a packet has been extracted for decoding;
- Adding tests for reordered packets.

BUG=chrome:423985
R=tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/25079004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7612 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-04 14:03:58 +00:00
6de75ca3ed Remove the useless dummy state parameter to WebRtcPcm16b_DecodeW16
R=henrik.lundin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/26039004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7610 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-04 13:29:24 +00:00
c78cf97ecb Remove the useless dummy state parameter to WebRtcG711_*
R=henrik.lundin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/27029004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7609 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-04 13:23:36 +00:00
721ef633d0 Remove the codec_type_ member from AudioDecoder
It isn't actually required, as evidenced by the comparative ease with
which it can be removed.

R=henrik.lundin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/31939004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7606 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-04 11:51:46 +00:00
b0f4b3da05 Improving error message from neteq_rtpplay
If a packet with unknown RTP payload type is inserted, this CL
will make sure that the error message is a little more detailed
and gives a better understadning of what to do.

BUG=2692
R=tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/27909004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7603 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-04 08:53:10 +00:00
e451b756a8 Update rate control parameter in vp9 test.
TBR=hellner@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/27899004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7599 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-03 21:26:08 +00:00
4765ca55f9 Roll chromium_revision: 28d1981..d3db2ff
Pick up the libvpx roll: https://codereview.chromium.org/674753002

Summary of changes (28d1981..d3db2ff/DEPS):
* third_party/android_tools 36bf7ac..ea50ccc
* third_party/boringssl 7ea8481..751e889
* third_party/icu 8ac906f..d8b2a9d
* third_party/libvpx efe9712..2e5ced5
* third_party/usrsctp/usrsctplib
* tools/gyp 1990:1991
* tools/swarming_client a57d7db..bcb3bc3

Clang is not updated in this roll.

Made the change getchar() --> getc(stdin) as seems like getchar() isn't supported on android anymore.
(getchar() was causing the error: undefined reference to '__srget')

Update rate control parameter in vp9 test.

R=andrew@webrtc.org
TBR=ajm@google.com

Review URL: https://webrtc-codereview.appspot.com/23229004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7598 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-03 20:10:26 +00:00
b81e304ac0 replace inline assembly WebRtcNsx_AnalysisUpdate by intrinsics.
The modification only uses the unique part of the analysis_update
 function. Pass byte to byte conformance test on both ARMv7 and AArch64,
 and the single function performance is similar with original assembly
 version on different platforms. If not specified, the code is compiled
 by GCC 4.6. The result is the "X version / C version" ratio, and the
 less is better.

| run 100k times             | cortex-a7 | cortex-a9 | cortex-a15 |
| use C as the base on each  |  (1.2Ghz) |  (1.0Ghz) |   (1.7Ghz) |
| CPU target                 |           |           |            |
|----------------------------+-----------+-----------+------------|
| Neon asm                   |    15.61% |    20.15% |     14.89% |
| Neon inline asm (LLVM 3.4) |    25.98% |    33.96% |     18.18% |
| Neon intrinsics (GCC 4.6)  |    22.06% |    27.01% |     19.24% |
| Neon intrinsics (GCC 4.8)  |    17.28% |    18.23% |     18.55% |
| Neon intrinsics (LLVM 3.4) |    21.02% |    19.98% |     16.76% |

BUG=
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/28849004

Patch from Zhongwei Yao <zhongwei.yao@arm.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7596 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-03 17:17:51 +00:00
f9471807a2 Add Opus support to neteq_rtpplay
BUG=2416
R=tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/30859004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7595 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-03 15:19:58 +00:00
548b228c91 Add UMA metrics for the initial (after two seconds) packet loss, round-trip time and bandwidth estimate of a WebRTC call.
BUG=crbug/425925
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/31899004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7593 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-03 14:42:43 +00:00
96dc685143 Add stats for video:
- number of sent/received RTCP NACK/FIR/PLI per minute
- percentage of unique sent/received NACK requests
- percentage of discarded/duplicated packets by the jitter buffer
- permille of sent/received key frames

BUG=crbug/419657
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/24959004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7592 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-03 14:40:38 +00:00
bf09976e86 Add more sanity checks to workaround the unidentified problem that CaptureThread is still running while related resouces are destroyed already.
BUG=
TEST=auto test
R=henrika@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/28859004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7590 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-03 09:58:40 +00:00
ed45896759 Adjust/increase rate control thresold for a vp9 test.
TBR=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/25049004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7589 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-01 07:08:52 +00:00
5b88317820 Add VP9 codec to VCM and vie_auto_test.
Include VP9 tests in videoprocessor_integrationtests.
Include end-to-end send/receiveVP9 test.

This is the same patch as https://code.google.com/p/webrtc/source/detail?r=7422, which was reverted when rolled into chrome (due to bss size increase). Relanding this again as we now have the clear to get this in:
see https://code.google.com/p/webrtc/issues/detail?id=3932

R=kjellander@webrtc.org, mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/31829004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7588 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-01 06:10:48 +00:00
818c9f9e14 replace inline assembly WebRtcNsx_SynthesisUpdateNeon by intrinsics.
The modification only uses the unique part of the synthesis_update
function. Pass byte to byte conformance test both on ARMv7 and ARMv8,
and the single function performance is similar with original assembly
version on different platforms (if not specified, the code is compiled
by GCC 4.6):

| run 100k times             | cortex-a7 | cortex-a9 | cortex-a15 |
| use C as the base          |  (1.2Ghz) |  (1.0Ghz) |   (1.7Ghz) |
| (the smaller the better)   |           |           |            |
|----------------------------+-----------+-----------+------------|
| C                          |      100% |      100% |       100% |
| Neon asm                   |    15.93% |    17.01% |     12.50% |
| Neon inline asm            |    27.74% |    31.41% |     14.64% |
| Neon intrinsics (GCC 4.8)  |    17.84% |    14.10% |     13.84% |
| Neon intrinsics (LLVM 3.4) |    16.63% |    14.01% |     12.98% |

BUG=3580
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/23159004

Patch from Zhongwei Yao <zhongwei.yao@arm.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7586 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-31 22:07:35 +00:00
a3ed713dad Add a WavReader counterpart to WavWriter.
Don't bother with a C interface as we currently have no need to call
this from C code. The first use will be in the audioproc tool.

R=kwiberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/30829004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7585 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-31 21:51:03 +00:00
78c222bfae Update all .isolate files for the new format.
R=kjellander@webrtc.org
BUG=

Review URL: https://webrtc-codereview.appspot.com/27809004

Patch from Marc-Antoine Ruel <maruel@chromium.org>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7583 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-31 18:08:09 +00:00
053c6abf8d Fix N7 camera aspect ratio.
N7 video preview generates stretched output:
https://code.google.com/p/android/issues/detail?id=70830.
To workaround the problem set camera picture size in
addition to video preview size with the same resolution.

BUG=3971
R=braveyao@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/25009004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7581 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-31 16:58:58 +00:00