Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4389 #48

Merged
merged 2,565 commits into from
Apr 16, 2021
Merged

4389 #48

merged 2,565 commits into from
Apr 16, 2021

Conversation

peter-signal
Copy link
Contributor

No description provided.

Andrey Logvin and others added 30 commits December 2, 2020 18:49
Bug: webrtc:12247
Change-Id: I608cffad7ee5397c306fb03a36d89f31882c112c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196092
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32748}
Using the field trial WebRTC-VP9-PerformanceFlags, this CL allows you to
configure the libvpx VP9 encoder with a list of flags to affect the
quality vs speed tradeoff. This CL adds support for:

* Speed (effort), for the temporal base layer frames
* Speed for higher (non-base) layer frames
* De-blocking (as part of the loopfilter) enabled for:
  0 = all frames
  1 = all but frames from the highest temporal layer
  2 = no frames

Each entry in the list has a threshold in min number of pixels needed
for settings in the entry to apply.

Example: Two spatial layers (180p, 360p) with three temporal
layers are configured. Field trial "WebRTC-VP9-PerformanceFlags" set to:
"min_pixel_count:0|129600,base_layer_speed:5|8,high_layer_speed:7|8,deblock_mode:1|2"
This translates to:
S0:
  - TL0: Speed 5, deblocked
  - TL1: Speed 8, deblocked
  - TL2: Speed 8, not deblocked
S1:
  - TL0: Speed 7, not deblocked
  - TL1: Speed 8, not deblocked
  - TL2: Speed 8, not deblocked

Bug: webrtc:11551
Change-Id: Ieef6816d3e0831ff53348ecc4a90260e2ef10422
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/188461
Reviewed-by: Michael Horowitz <mhoro@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32749}
Change log: https://chromium.googlesource.com/chromium/src/+log/6b50907e9a..a3682304f6
Full diff: https://chromium.googlesource.com/chromium/src/+/6b50907e9a..a3682304f6

Changed dependencies
* src/base: https://chromium.googlesource.com/chromium/src/base/+log/abd6cc53ce..b7623540e3
* src/build: https://chromium.googlesource.com/chromium/src/build/+log/796c41e4d2..fde84ae94a
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/090c111df0..47172103a1
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/2a615b18c0..860f06a3cc
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/ca45917c19..7454785fc9
* src/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/80cea4f5fc..d1655710f7
* src/third_party/perfetto: https://android.googlesource.com/platform/external/perfetto.git/+log/1366dd0117..ae504d46b4
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/e2e72191e2..14d109e644
DEPS diff: https://chromium.googlesource.com/chromium/src/+/6b50907e9a..a3682304f6/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: Ia3df061a3619fbabf72d446a9bcc9cf1984afe3b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196262
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#32750}
Change log: https://chromium.googlesource.com/chromium/src/+log/a3682304f6..20fa2e0bca
Full diff: https://chromium.googlesource.com/chromium/src/+/a3682304f6..20fa2e0bca

Changed dependencies
* src/base: https://chromium.googlesource.com/chromium/src/base/+log/b7623540e3..280be4afd4
* src/build: https://chromium.googlesource.com/chromium/src/build/+log/fde84ae94a..cb1a5378d7
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/860f06a3cc..d5559084a6
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/7454785fc9..6dac8c69fb
* src/third_party/breakpad/breakpad: https://chromium.googlesource.com/breakpad/breakpad.git/+log/9c4671f2e3..e3d485f73f
* src/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/d1655710f7..4640dfbfd7
* src/third_party/perfetto: https://android.googlesource.com/platform/external/perfetto.git/+log/ae504d46b4..a45552c0f2
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/14d109e644..9a93b50695
DEPS diff: https://chromium.googlesource.com/chromium/src/+/a3682304f6..20fa2e0bca/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I09bd5c9fe8e504899b322a977d81c21bbec0f960
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196263
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#32751}
BUG=None

No-try: True
Change-Id: I6d1b9b99dce65d6382cbb61756e71989f5f3808a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195326
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32752}
…read as argument.

Bug: None
Change-Id: I8b140c8cb40787473411ae55da3738166340127f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/39512
Reviewed-by: Taylor <deadbeef@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32753}
Bug: None
Change-Id: If2c42af6038c2ce1dc4289b949a0a3a279bae1b9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195337
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32754}
This CL brings a large improvement to the RNN VAD CPU performance
by finally using `VectorMath::DotProduct()` for pitch search.

The realtime factor improved from about 390x to 570x for SSE2
(+180x, 45% faster) and to 610x for AVX2 (+235x, 60% faster).

RNN VAD benchmark results:
```
+-----+-------+------+------+
| run | none* | SSE2 | AVX2 |
+-----+-------+------+------+
|   1 | 393x  | 572x | 618x |
|   2 | 388x  | 568x | 607x |
|   3 | 393x  | 564x | 599x |
+-----+-------+------+------+
```
*: baseline, no SIMD used for pitch search, but SSE2 used for the RNN

Results obtained as follows:
1. Force SSE2 in `DISABLED_RnnVadPerformance` for the RNN part in
   order to measure the baseline correctly:
```
RnnBasedVad rnn_vad({/*sse2=*/true, /*avx2=*/true, /*neon=*/false});
```
2. Run the test:
```
$ ./out/release/modules_unittests \
  --gtest_filter=*RnnVadTest*DISABLED_RnnVadPerformance* \
  --gtest_also_run_disabled_tests --logs
```

Bug: webrtc:10480
Change-Id: I89a2bd420265540026944b9c0f1fdd4bfda7f475
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195001
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32755}
The HMM based transparent mode classifier is disabled until an issue
with diverging filters is resolved.

Bug: chromium:1155071
Change-Id: Iee249869f6ece1e48e834b3a4b9249c69a51286c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196341
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32756}
BUG=None

Change-Id: Iabb091a10f780ff79a0ed95cf5f01ce1a0571e4f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196340
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32757}
Bug: webrtc:10480
Change-Id: I4ac8ae044261f94db7a1e9559aa61f532602b408
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195446
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32758}
I was not able to reproduce chromium:1146676 locally, so the change in merge.cc is a speculative fix.

Bug: chromium:1146835, chromium:1146676, chromium:1137226
Change-Id: I14472ba5b41e58b2d5f27d9833249c14505af18f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/194264
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32759}
Bug: webrtc:12221
Change-Id: I72bb25503d2894aae596426cb40764246c087767
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196342
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32760}
This reverts commit 6e71674.

Reason for revert: Unexpected perf change

Original change's description:
> Adds experimental libvpx VP9 speed settings.
>
> Using the field trial WebRTC-VP9-PerformanceFlags, this CL allows you to
> configure the libvpx VP9 encoder with a list of flags to affect the
> quality vs speed tradeoff. This CL adds support for:
>
> * Speed (effort), for the temporal base layer frames
> * Speed for higher (non-base) layer frames
> * De-blocking (as part of the loopfilter) enabled for:
>   0 = all frames
>   1 = all but frames from the highest temporal layer
>   2 = no frames
>
> Each entry in the list has a threshold in min number of pixels needed
> for settings in the entry to apply.
>
> Example: Two spatial layers (180p, 360p) with three temporal
> layers are configured. Field trial "WebRTC-VP9-PerformanceFlags" set to:
> "min_pixel_count:0|129600,base_layer_speed:5|8,high_layer_speed:7|8,deblock_mode:1|2"
> This translates to:
> S0:
>   - TL0: Speed 5, deblocked
>   - TL1: Speed 8, deblocked
>   - TL2: Speed 8, not deblocked
> S1:
>   - TL0: Speed 7, not deblocked
>   - TL1: Speed 8, not deblocked
>   - TL2: Speed 8, not deblocked
>
> Bug: webrtc:11551
> Change-Id: Ieef6816d3e0831ff53348ecc4a90260e2ef10422
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/188461
> Reviewed-by: Michael Horowitz <mhoro@webrtc.org>
> Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32749}

TBR=sprang@webrtc.org,ssilkin@webrtc.org,mhoro@webrtc.org

Change-Id: If910963441ac1a0e002aac7066791c7cc7764a1a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11551
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196344
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32762}
Changes:
1) Scoped class
This is a special class for GLib based objects which we need to manually
delete with different functions. Wrapping these objects into Scoped class
will destroy them automatically when they go out of scope.

2) Window sharing support
Unlike screen sharing, with window sharing we are required to obtain more
information from the PipeWire stream, like video crop metadata, which we
use to properly set size of our buffer.

3) Support for DmaBuf and MemFd buffer types
As of now, we expected the PipeWire stream will provide only plain data
which we just need to copy to our buffer. We now add support for new
buffer types, which are often preferred for better effeciency.

4) Minor bugfixes:
a) Additionally accept PipeWire streams using alpha channels (BGRA, RGBA)
b) Add lock over PipeWire loop to prevent potential issues until we fully
   intialize everything we need
c) When obtaining buffers, make sure we work with the latest one

Bug: chromium:682122
Change-Id: I64638d5dcbe18e7280550dca0b01b17c511ac98a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/194100
Commit-Queue: Jamie Walch <jamiewalch@chromium.org>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#32763}
Plus a few minor code readability improvements.

Bug: webrtc:10480
Change-Id: I590d8e203b1d05959a8c15373841e37abe83237e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195334
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32764}
This reverts commit 0496a41.

Reason for revert: Causes unexpected changes in perf tests.

Original change's description:
> Add class InterArrivalDelta to goog_cc
>
> This cl copies modules/remote_bitrate_estimator/inter_arrival.x to inter_arrival.h and interrival_delta.cc in goog_cc in the first patchset.
> In the following- this class is modified to use webrtc::Timestamp and webrtc::Timedelta in order to avoid having to use 24 bit time repressentation.
>
> Bug: none
> Change-Id: I9befe6e3e283cf7e21efa974ae33e8a83e26cbe6
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/194004
> Commit-Queue: Per Kjellander <perkj@webrtc.org>
> Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32733}

TBR=perkj@webrtc.org,crodbro@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: none
Change-Id: I725b246f6ec0c293cb3ada39b1a65a14ef9a001e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196343
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32765}
Refactoring done to more easily and cleanly add SIMD optimizations and
to remove `FullyConnectedLayer` from the RNN VAD api.

Minor improvements (readability, API):
- `FullyConnectedLayer` gets the ActivationFunction enum and not
  a function view anymore
- SSE2 optimization moved into `FullyConnectedLayer::ComputeOutputSse2`
- layer name added for improved logs

Bug: webrtc:10480
Change-Id: Ida4903a67655e19ef0464f378c433c1f6e96dca7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195444
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32766}
Change log: https://chromium.googlesource.com/chromium/src/+log/8115efcf14..0d8179a1dc
Full diff: https://chromium.googlesource.com/chromium/src/+/8115efcf14..0d8179a1dc

Changed dependencies
* src/base: https://chromium.googlesource.com/chromium/src/base/+log/80ff24a145..19f1957572
* src/build: https://chromium.googlesource.com/chromium/src/build/+log/2d90f5d537..0741699cec
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/3ef66a777a..bbda1cbd02
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/0143c42c1b..f7e915587b
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/101c4e6407..6df6bdaebb
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/5656fec512..3094902fcd
* src/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/4640dfbfd7..1ec57124a6
* src/third_party/perfetto: https://android.googlesource.com/platform/external/perfetto.git/+log/9d937e6cbe..8ddf5ae4b8
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/4c474af392..2ffec9146d
DEPS diff: https://chromium.googlesource.com/chromium/src/+/8115efcf14..0d8179a1dc/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I131a72933bff099d8985ad6ae39401e7f42ae458
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196481
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#32767}
Adds a new "rtc_pipewire_version" build option to specify version of
PipeWire we want to build against. We use version "0.2" by default
which is version of PipeWire we currently have in sysroot and which
is supported even on older systems like RHEL7 and Debian.

Bug: chromium:1146942
Change-Id: Ib74b52fa87623a3f960e419916b01586aaeba47f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195441
Commit-Queue: Jamie Walch <jamiewalch@chromium.org>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32768}
Change log: https://chromium.googlesource.com/chromium/src/+log/0d8179a1dc..663e2bfeb3
Full diff: https://chromium.googlesource.com/chromium/src/+/0d8179a1dc..663e2bfeb3

Changed dependencies
* src/base: https://chromium.googlesource.com/chromium/src/base/+log/19f1957572..5eca0806a0
* src/build: https://chromium.googlesource.com/chromium/src/build/+log/0741699cec..b85da6c931
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/bbda1cbd02..0e62f4538f
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/f7e915587b..cd2895768d
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/6df6bdaebb..3fa3afaa6c
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/5537c03942..d1cf5db415
* src/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/1ec57124a6..968b1fe7d7
* src/third_party/perfetto: https://android.googlesource.com/platform/external/perfetto.git/+log/8ddf5ae4b8..0fdb2247e8
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/2ffec9146d..abb5818782
DEPS diff: https://chromium.googlesource.com/chromium/src/+/0d8179a1dc..663e2bfeb3/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I8d222ca12244fa14045fa3d32786ec674dc66a44
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196482
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#32769}
Refactoring done to more easily and cleanly add SIMD optimizations and
to remove `GatedRecurrentLayer` from the RNN VAD api.

Bug: webrtc:10480
Change-Id: Ie1dffdd9b19c57c03a0b634f6818c0780456a66c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195445
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32770}
This CL implements a Resource that aggressively reports overuse or
underuse until the encoded stream has the max pixels specified. The
pixel limit is controlled with a field trial, e.g:

--force-fieldtrials="WebRTC-PixelLimitResource/Enabled-307200/"

This caps the resolution to 307200 (=640x480). This can be used by the
TestBed to simulate being CPU limited. Note that the resource doesn't
care about degradation preference at the moment, so if the degradation
preference would be set to "maintain-resolution" the PixelLimitResource
would never stop reporting overuse and we would quickly get a low-FPS
stream.

PixelLimitResource runs a repeating task and reports overuse, underuse
or neither every 5 seconds. This ensures we quickly reach the desired
resolution.

Unit tests are added. I did not add any integration tests (I think
that's overkill for a testing-only resource) but I have manually
verified that this works as intended.

This CL also moves the FakeVideoStreamInputStateProvider into a test/
folder and exposes video_stream_adapter.cc's GetLowerResolutionThan().

Bug: webrtc:12261
Change-Id: Ifbf7c4c05e9dd2843543589bebef3f49b18c38c0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195600
Reviewed-by: Evan Shrubsole <eshr@google.com>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32771}
Bug: None
Change-Id: Iba1d66d9985f449c5d3710d7d615d4b25acf763b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196360
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32772}
Bug: chromium:1155459
Change-Id: I51cb8162a989ba934e3292c86c3ecf749f26f601
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196500
Commit-Queue: Jonas Oreland <jonaso@google.com>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32773}
Bug: none
Change-Id: I7f399449026de58dee28abcede2630269c6b95b5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196505
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32774}
guarded by a new field trial flag WebRTC-Debugging-RtpDump.
Packets have a RTP_DUMP postfix for easy grep-ing.

BUG=webrtc:10675

Change-Id: I73c0e0db47dca1079cd303c41a8b80fd7ae4a902
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196087
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Reviewed-by: Taylor <deadbeef@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32775}
Bug: None
Change-Id: I535e18a5f1eabea2c24c17bc42602689f356c647
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196362
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32776}
Also deletes unused constructor in Results struct.

Bug: webrtc:10932
Change-Id: Id33f57db30df49aa23fb0b5959812cc3834f1eaf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196508
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32777}
Harald Alvestrand and others added 24 commits January 14, 2021 10:29
Bug: webrtc:12361
Change-Id: Ieddc3dafbb638b3bd73dd79bcafa499290fa4340
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/201723
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32973}
Bug: None
Change-Id: Ia47f8229cdfbbcfec3aa7539c587d4e1fdc4ae3a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/200926
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32974}
Bug: None
Change-Id: I4294cdda93ebca44fa43de63e37d5d1fdeb2fa62
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/198120
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32975}
This adds a new way to poll decoder metadata.
A default implementation still delegates to the old methods.
Root call site is updates to not use the olds methods.

Follow-ups will dismantle usage of the olds methods in wrappers.

Bug: webrtc:12271
Change-Id: Id0fa6863c96ff9e3b849da452d6540e7c5da4512
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196520
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32976}
SetNegotiatedHeaderExtensions_w queued a task to update the list
of negotiated header extensions on the signal thread from the
worker thread, in belief that a later call to
GetNegotiatedHeaderExtensions() would happen on the WebRTC proxies,
leading to the update happening before the readout. In downstream
project, this is not always the case.

Fix this by synchronously updating the list of negotiated header
extensions.

Bug: chromium:1051821
Change-Id: I3266292e7508bb7a22a3f7d871e82c12f60cfc83
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/201728
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32977}
Bug: webrtc:12336
Change-Id: If76f00d0883b5c8a90d3ef5554f5e22384b3fb58
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197620
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32978}
…++ code"

This reverts commit 8c2250e.

Reason for revert: breaks downstream project

Original change's description:
> Replace RTC_WARN_UNUSED_RESULT with ABSL_MUST_USE_RESULT in c++ code
>
> Bug: webrtc:12336
> Change-Id: If76f00d0883b5c8a90d3ef5554f5e22384b3fb58
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197620
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32978}

TBR=danilchap@webrtc.org,mbonadei@webrtc.org,crodbro@webrtc.org

Change-Id: I5c9d419785254878a825865808b56841cd30b9b5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:12336
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/201731
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32979}
Bug: None
Change-Id: Ib8b7c57fc4dea11bd2cb2e1620916c20f6ff9985
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/201623
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32980}
Bug: webrtc:11339
Change-Id: I719ff37c11d2383b83dcf06c4b882543d07678d3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/201725
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32981}
Change log: https://chromium.googlesource.com/chromium/src/+log/189823ba75..42ab9dc8c8
Full diff: https://chromium.googlesource.com/chromium/src/+/189823ba75..42ab9dc8c8

Changed dependencies
* src/base: https://chromium.googlesource.com/chromium/src/base/+log/95b11715cf..a361323fd5
* src/build: https://chromium.googlesource.com/chromium/src/build/+log/d68ac97401..d64e5999e3
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/ee5a91c153..e13cd29163
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/5b9fef9564..049cd24b1f
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/4cb57cb45d..e35e2377db
* src/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/fdd89469d6..c603339365
* src/third_party/perfetto: https://android.googlesource.com/platform/external/perfetto.git/+log/8fccd82e4e..94ca9a9578
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/c79030c622..03a8864bc6
* src/tools/luci-go: git_revision:16e6d735358b0166f06fd2e4daa0da4cff9918e9..git_revision:77944aa535e42e29faadf6cfa81aee252807d468
* src/tools/luci-go: git_revision:16e6d735358b0166f06fd2e4daa0da4cff9918e9..git_revision:77944aa535e42e29faadf6cfa81aee252807d468
* src/tools/luci-go: git_revision:16e6d735358b0166f06fd2e4daa0da4cff9918e9..git_revision:77944aa535e42e29faadf6cfa81aee252807d468
DEPS diff: https://chromium.googlesource.com/chromium/src/+/189823ba75..42ab9dc8c8/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: Ic0ff1053c1634f815e542b4bd5de7a20aa0e6067
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/201782
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#32982}
For the case where an unknown header extension URI is attempted
to be modified by SetOfferedRtpHeaderExtensions, WebRTC emitted
INVALID_PARAMETER. Fix this by emitting UNSUPPORTED_PARAMETER.

Bug: chromium:1051821
Change-Id: I98b68e1e3a3f90f9cfa0d45833f46a307c246ad0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/201733
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32983}
Creating a Direct3D11Device from a DXGIDevice is necessary for the new
WGC based window capturer. However, the
CreateDirect3DDeviceFromDXGIDevice API is not available on all
versions of Windows, which means we have to load this function from
d3d11.dll at runtime.

You can see how this function will be used in this CL:
196624: Finish implementing WGC Window Capturer and add unit tests. |
https://webrtc-review.googlesource.com/c/src/+/196624

I also ensure we don't leak HSTRINGs in GetActivationFactory and fix
up some includes in ScopedComInitializer.

Bug: webrtc:9273
Change-Id: Ida240b2c0f637d70ec405de7d8f59f0c12aee1f1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196622
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Austin Orion <auorion@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#32984}
Bug: None
Change-Id: Ia475afed123abaf32df6f1f1a546f5704e2d464f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/201421
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32985}
This reverts commit 69241a9.

Reason for revert: Breaks WebRTC roll into Chromium.

Original change's description:
> Refactor rtc_base build targets.
>
> The "//rtc_base:rtc_base" build target has historically been one of the
> biggest targets in the WebRTC build. Big targets are the main source of
> circular dependencies and non-API types leakage.
>
> This CL is a step forward into splitting "//rtc_base:rtc_base" into
> smaller targets (as originally started in 2018).
>
> The only non-automated changes are (like re-wiring the build system):
> * The creation of //rtc_base/async_resolver.{h,cc} which allows to
>   break a circular dependency (is has been extracted from
>   //rtc_base/net_helpers.{h,cc}).
> * The creation of //rtc_base/internal/default_socket_server.{h,cc} to
>   break another circular dependency.
>
> Bug: webrtc:9987
> Change-Id: I0c8f5e7efe2c8fd8e6bffa0d6dd2dd494cf3df02
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196903
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32941}

TBR=mbonadei@webrtc.org,hta@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

No-Try: True
Bug: webrtc:9987
Change-Id: I1e36ad64cc60092f38d6886153a94f1a58339256
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/201840
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32986}
by updating flag that T1 frame can be referenced when it is encoded
rather than when it is sent for encoding.
Otherwise when encoder drops T1 frame, configuration for following T2 frame would
still try to reference that absent T1 frame leading to invalid references.

(cherry picked from commit ba91dbc)

Bug: chromium:1168068
Change-Id: I6398275971596b0618bcf9c926f0282f74120976
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202030
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Original-Commit-Position: refs/heads/master@{#33002}
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202763
Cr-Commit-Position: refs/branch-heads/4389@{#1}
Cr-Branched-From: 7acc2d9-refs/heads/master@{#32986}
DependencyDescriptor and vp9 wrapper understand key frame differently
when it comes to the first layer frame with spatial_id>0
This CL adds and use DD's interpretation of the key frame when deciding
if DD should be supported going forward.

(cherry picked from commit 0be1846)

Bug: webrtc:11999, chromium:1169060
Change-Id: I11a809a315e18bd856bb391576c6ea1f427e33be
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202760
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Original-Commit-Position: refs/heads/master@{#33046}
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/203263
Cr-Commit-Position: refs/branch-heads/4389@{#2}
Cr-Branched-From: 7acc2d9-refs/heads/master@{#32986}
Using WebRTC-VP9-PerformanceFlags and settings a multi-layer config,
and then configuring the codec in non-svc mode would cause us to not
set the cpu speed in libvpx. For some reason, that could trigger a
crash in the encoder.

This CL fixes that, and adds new test coverage for the code affected
byt the trial.

(cherry picked from commit 03eed7c)

Bug: chromium:1167353, webrtc:11551
Change-Id: Iddb92fe03fc12bac37717908a8b5df4f3d411bf2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202761
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Original-Commit-Position: refs/heads/master@{#33051}
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/203521
Cr-Commit-Position: refs/branch-heads/4389@{#3}
Cr-Branched-From: 7acc2d9-refs/heads/master@{#32986}
TEST: tested on chromium.

(cherry picked from commit 49dbad0)

No-Try: True
Bug: webrtc:12397, chromium:1171206
Change-Id: I1e15605f90e253a6ef61ab7ead8c576a80e8f01b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/203886
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Original-Commit-Position: refs/heads/master@{#33080}
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/204302
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/branch-heads/4389@{#4}
Cr-Branched-From: 7acc2d9-refs/heads/master@{#32986}
(cherry picked from commit 5c3ff6b)

Bug: chromium:1155071,webrtc:12265,chromium:1155477
Change-Id: I9d3119e9cbfdd5d7b41de2ed0f9dec92f7bf753d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202258
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Original-Commit-Position: refs/heads/master@{#33037}
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/205280
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/branch-heads/4389@{#5}
Cr-Branched-From: 7acc2d9-refs/heads/master@{#32986}
The low-latency renderer is activated by the RTP header extension
playout-delay if the min value is set to 0 and the max value is
set to something greater than 0.

According to the specification of the playout-delay header
extension it doesn't have to be set for every frame but only if
it is changed. The bug that this CL fixes occured if a playout
delay had been set previously but some frames without any specified
playout-delay were received. In this case max composition delay
would not be set and the low-latency renderer algorithm would be
disabled for the rest of the session.

(cherry picked from commit 0093a38)

Bug: chromium:1138888
Change-Id: I12d10715fd5ec29f6ee78296ddfe975d7edab8a9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208581
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Original-Commit-Position: refs/heads/master@{#33330}
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/211000
Cr-Commit-Position: refs/branch-heads/4389@{#6}
Cr-Branched-From: 7acc2d9-refs/heads/master@{#32986}
TBR=tommi@webrtc.org
(cherry picked from commit c500977)

Bug: webrtc:12495, chromium:1182634
Change-Id: Ie149391a5a9f61095cf3f31db141c9bbc8be8bee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208642
Reviewed-by: Taylor <deadbeef@webrtc.org>
Reviewed-by: Philipp Hancke <philipp.hancke@googlemail.com>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Original-Commit-Position: refs/heads/master@{#33338}
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/211350
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/branch-heads/4389@{#7}
Cr-Branched-From: 7acc2d9-refs/heads/master@{#32986}
@jim-signal jim-signal self-requested a review April 15, 2021 18:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.