232 Commits

Author SHA1 Message Date
Artem Titov
5584d4504e [PCLF] Prepare to add extra scaling step before passing frame to analyzer and video sinks
Bug: b/240540204
Change-Id: Ic9774ea07316e59e842d1f4e8362c06ec9c3bf87
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/278623
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38348}
2022-10-11 11:15:32 +00:00
Artem Titov
6b75058774 [PCLF] Extract video dumping from video_quality_analyzer_injection_helper for testability
Bug: b/240540204
Change-Id: I7f5970fae2b1472b37ea5fd5cbb16b2ce25dd968
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/278622
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38347}
2022-10-11 11:10:02 +00:00
Artem Titov
b15faaa264 [PCLF] Annotate video metrics with peer, stream and receiver
Bug: b/240540204
Change-Id: I05eddea33a2eb680b59c8247f2acba1e7c7d6a84
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/278260
Reviewed-by: Andrey Logvin <landrey@google.com>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38316}
2022-10-07 09:58:48 +00:00
Artem Titov
7fe7091f8a [DVQA] Annotate per frame stats with relevant frame id
Bug: b/240540204
Change-Id: Ic12a5778ecdbf7a0b8bd9a54f3d927289c49c34a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277802
Reviewed-by: Andrey Logvin <landrey@google.com>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38307}
2022-10-06 10:37:37 +00:00
Artem Titov
ab9849adbc [PCLF] Sync frame ids export with fixed framerate exporter
Bug: b/240540204
Change-Id: I38722c8d5d2db685fc0aeb0c7a31b610bd9f64e4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/278120
Reviewed-by: Andrey Logvin <landrey@google.com>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38302}
2022-10-05 13:43:07 +00:00
Florent Castelli
4c7d3f82f9 PCLF: Ignore discarded frames in the DefaultVideoQualityAnalyzer
Bug: webrtc:14453, webrtc:11607
Change-Id: Iad0da2d85d9db74026205591e8b2ced399988998
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276420
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38204}
2022-09-26 13:42:01 +00:00
Artem Titov
c45f4e4a3d [PCLF] Fully switch to new metrics export API
Bug: b/246095034
Change-Id: I9d588d53320e4eb19cb569db2b97dddc013c22bd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276621
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38188}
2022-09-24 18:49:29 +00:00
Florent Castelli
bfdb9577ff PCLF: Separate SFU functionality configuration into a new struct
Creates the EmulatedSFUConfig that will receive the parameters for
controlling the virtual SFU used in the call.
Its current only field is the previous target_spatial_index from
VideoSimulcastConfig.
This allow to filter out the bottom layers for SVC S mode tests
and enable them.

Bug: webrtc:11607
Change-Id: Id4f3a96b3a03b9be7155796c3bafefce01f32b7d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/274162
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38182}
2022-09-23 15:08:37 +00:00
Artem Titov
219ec71702 [PCLF] Replace MetricsLoggerAndExporter with MetricsLogger
Bug: b/246095034
Change-Id: I06b3b4eb43a3555b359e3c1aee332d5d05d1e567
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276601
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38181}
2022-09-23 14:36:28 +00:00
Artem Titov
6a49fb2d5f [DVQA] Fix: cpu_usage was exported as cpu_usage_% before
Bug: b/246095034
Change-Id: I082865fadf69f11ec05dec32e5ec22deaef98db7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276400
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38169}
2022-09-22 11:50:20 +00:00
Artem Titov
f68a06c34b [PCLF] Cleanup old video dumping API
Bug: b/240540206
Change-Id: I1184f3f73a6de430e7103783b8959d8ff222e31e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/270485
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38163}
2022-09-21 16:58:22 +00:00
Florent Castelli
65ab3460f5 PCLF: Pass all frames to OnFrameEncoded, even if discarded by SFU
If we don't pass the frames to OnFrameEncoded, we can't see the frames
being sent in the SVC tests. We want to check the frames even if the
SFU would discard them later.

Bug: webrtc:11607
Change-Id: I5b9c6a86c0966047efa7be088f90e83e01f7900b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273350
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38159}
2022-09-21 15:06:39 +00:00
Artem Titov
d95345484d [PCLF] Fix exported test case for audio analyzer through new metrics API
Bug: b/246095034
Change-Id: I94592e65f1bd33e82af83bf4f839351efcc42e62
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276265
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38157}
2022-09-21 14:05:50 +00:00
Artem Titov
8da280282b [DVQA] Fix: allow export cpu_usage through new perf metrics API
Bug: b/246095034
Change-Id: I646ec0b1adf6d1285eb7c39ff65c4a68395bd6aa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276264
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38156}
2022-09-21 13:31:22 +00:00
Artem Titov
e11d5e378c [DVQA] Add ability to export metrics with MetricsLoggerAndExporter
Bug: b/246095034
Change-Id: Ibbadd11ff27f65cc128efd891eace89df3c59316
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276101
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38145}
2022-09-21 08:15:30 +00:00
Artem Titov
2d1907bfd2 [PCLF] Add possibility to use new perf metrics api in DefaultAudioQualityAnalyzer
Bug: b/246095034
Change-Id: I045fd739ac31c0f13ee46adc831063d9773c39c7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276180
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38144}
2022-09-21 08:13:40 +00:00
Artem Titov
164bb2fcca [PCLF] Add possibility to use new perf metrics api in VideoQualityMetricsReporter
Bug: b/246095034
Change-Id: Ia7a50404750538a65042562bd80f0cb88f78ab90
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276102
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38142}
2022-09-21 07:25:10 +00:00
Alessio Bazzica
a1d035655e RtpPacketInfo: new ctor + deprecated ctors clean-up
New ctor added without optional and media specific fields.

Bug: webrtc:10739, b/246753278
Change-Id: I7e15849aced6ed0a7ada725ea171a15ea1e9bc5a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275941
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38124}
2022-09-20 08:58:38 +00:00
Florent Castelli
926c707b12 PCLF: Read the interlayer prediction mode from scalability mode
The value of VP9().interLayerPred isn't used in the VP9 encoder
when scalability_mode is present.

Bug: webrtc:11607
Change-Id: I2ce606e5a91dfe087f652763cbcc258db0156f5f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273400
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37937}
2022-08-29 22:57:22 +00:00
Artem Titov
209d71d27f [DVQA] Remove old OnDecoderError method
Bug: b/243855428
Change-Id: Id028f245df3bb729d558c2f6d0b0c167a7edc187
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273341
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Andrey Logvin <landrey@google.com>
Cr-Commit-Position: refs/heads/main@{#37933}
2022-08-29 14:53:02 +00:00
Artem Titov
7d18a5a4c0 [DVQA] Add support for processing decoder errors correctly
Bug: b/243855428
Change-Id: I3f1a6fab0aecf0586b97076054a7e46f624397a1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/272966
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37930}
2022-08-29 12:30:22 +00:00
Artem Titov
f02212b8b0 [DVQA] Make entities loggable
Make StreamCodecInfo and FrameDropPhase generally loggable

Bug: b/243855428
Change-Id: Id8424596f82d1489fe6f7deaf0670e6960375df0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273103
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37916}
2022-08-26 10:31:40 +00:00
Artem Titov
ba62aff028 [DVQA] Fix reporting of time_between_freezes_ms
Fix reporting of time_between_freezes_ms when all peers were
unregistered before end of the call.

Bug: b/243501613
Change-Id: Ie2b77d8399e4f4bf672e80f62ed27609336af171
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/272650
Reviewed-by: Andrey Logvin <landrey@google.com>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37885}
2022-08-24 08:53:19 +00:00
Artem Titov
325c1b2195 [DVQA] Use all known peers count when determine metic's name
Bug: b/243115145
Change-Id: Ib375bc7373e3c70a05e8fe6ddd156bb524cc6f99
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/272548
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Auto-Submit: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37860}
2022-08-22 10:31:27 +00:00
Markus Handell
2cfc1af78a Update rtc::Event::Wait call sites to use TimeDelta.
Bug: webrtc:14366
Change-Id: I949c1d26f030696b18153afef977633c9a5bd4cf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/272003
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37835}
2022-08-19 10:07:28 +00:00
Evan Shrubsole
53cc9adfe2 Keep microseconds when computing e2e test time results
Using ms() was converting the value to an int before putting it into a
double, causing the microseconds to be dropped. This has the most impact
on decode time metrics which are ofter less than 1ms.

Bug: webrtc:14339
Change-Id: Ie8401ba5a46eb3b35e8a699acfdad2dcd32a8240
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/271163
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37734}
2022-08-10 14:38:59 +00:00
Artem Titov
d2209256ab [PCLF] Introduce export_frame_ids option for video dump
Bug: b/240540206
Change-Id: I2d09be585804aa38b0bbc9e7b34dcd8f91f58846
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/270425
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37675}
2022-08-03 11:39:05 +00:00
Artem Titov
72bc2e24cc [PCLF] Introduce VideoDumpOptions API to better control video dumping
This CL propose a new API for video dumps in PCLF also removing
differences between p2p and multipeer usage of API.

Bug: b/240540206
Change-Id: Id4d32cc98250500949b3f9e2cf2e86c4bdce7efb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/270400
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37665}
2022-08-02 15:13:04 +00:00
Artem Titov
208129fb53 [PCLF] Add ability to use fixed frame reate for video dump
Bug: b/237997865
Change-Id: I4e93db1f8a0ac84d8d1c014073cbcd0f58482203
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268763
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37547}
2022-07-18 13:28:41 +00:00
Artem Titov
bfe9f5c5b1 [PCLF] Remove old VideoQualityAnalyzerInjectionHelper ctor without clock
Bug: b/237997865
Change-Id: I7ac5e086d29801cfc0617731c51076e38d365274
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268764
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37546}
2022-07-18 13:00:31 +00:00
Artem Titov
8faaa584f8 [PCLF] Add ctor for VideoQualityAnalyzerInjectionHelper with Clock
Add ctor for VideoQualityAnalyzerInjectionHelper with Clock to enable
future usage of FixedFpsVideoFrameWriterAdaptor from
https://webrtc-review.googlesource.com/c/src/+/268545

Bug: b/237997865
Change-Id: Id77d7377869c318af106d6c657ce6dd6599016e6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268546
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37535}
2022-07-15 22:10:29 +00:00
Björn Terelius
f9f9d544a5 Use TimeDelta for harmonic framerate calculation in DVQA.
Bug: None
Change-Id: I678c12c7994fe0c772f2ec479ad37cef5c05417e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267825
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37464}
2022-07-06 13:09:24 +00:00
Ivo Creusen
11fdb08282 Implement RTCInboundRTPStreamStats.JitterBufferTargetDelay
This CL also removes the existing non-standard implementation of the metric.

Bug: webrtc:14147, webrtc:11789
Change-Id: I70fd1c451dfd59380fe5ce959086f37b31697c16
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265360
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37441}
2022-07-05 11:34:53 +00:00
Artem Titov
ae271ff05a [DVQA] Add support for removing peer from analyzer instrumentation
Add support for removing peer from EncodedImageDataExtractor and
from VideoQualityAnalyzerInjectionHelper.

Bug: b/231397778
Change-Id: Ic33da18b7a68149ef68e5e4ba0ee7eabfb634973
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/266364
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37285}
2022-06-21 08:27:38 +00:00
Artem Titov
86ebbdba50 [DVQA] Add ability to remove peer in the middle of the call.
Bug: b/231397778
Change-Id: I8c68cb6db9bcf28ab600e507b26203a0bb78b588
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265873
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37281}
2022-06-20 22:54:51 +00:00
Artem Titov
9c55fa5a0e [DVQA] Add support for removing peer from the StreamState
Bug: b/231397778
Change-Id: I8ce1486f91f6c84e246e043f2a4e2dd94fc29d06
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265809
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37220}
2022-06-15 10:39:28 +00:00
Artem Titov
69a32cc2d3 [DVQA] Rewrite MultiHeadQueue and add ability to remove head
Rewrite MultiHeadQueue reducing space complexity from
O(readers count * queue size) to O(queue size + readers count).

Bug: b/231397778
Change-Id: Ifbd9c686915368773916ed86467f4de3f8e06af1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265621
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37197}
2022-06-13 14:00:46 +00:00
Artem Titov
42d09cb1ba [DVQA] Extract FrameInFlight into separate file
Also add ability to remove expected receivers for the frame.

Bug: b/231397778
Change-Id: Id1fb2df05a69e0dca4f05eaa995521b6be2ac52a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265396
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37191}
2022-06-13 10:02:36 +00:00
Artem Titov
71f406e52b [DVQA] Extract StreamState into separate file
Bug: b/231397778
Change-Id: Ic7207cd17e8179151824a2257b3173481e9f4f6e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265399
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37187}
2022-06-13 08:04:37 +00:00
Artem Titov
0f0978d36e [DVQA] Extract NamesCollection into separate file
Extract NamesCollection into separate file and add ability to
remove peer after it was added. In such case we need to preserve
old indexes, because DVQA still may request removed name from
collection due to async processing.

Bug: b/231397778
Change-Id: I87bdfb4653e7eca50d311482553d2353b1d9974e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265394
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37181}
2022-06-10 16:20:54 +00:00
Artem Titov
cff66f537c [DVQA] Add support for frames without frame id
Bug: b/234176678
Change-Id: Ibbd82e3341d7b4034173e6e5ada882e079449f8e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264552
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37077}
2022-06-01 13:31:46 +00:00
Rasmus Brandt
6566bd5484 Add some more frame stats to PCLF
Metrics for calculating sent/recv key frame rate:
num_encoded_frames -- number of encoded frames
num_decoded_frames -- number of decoded frames
num_send_key_frames -- number of sent keyframes
num_recv_key_frames -- number of received keyframes

Metrics for frame size (in bytes) distribution:
recv_key_frame_size_bytes -- key frame size
recv_delta_frame_size_bytes -- delta frame size

The stats are only reported if the user so requests. This is
because the stats may not be useful for regression tracking,
but mainly for adhoc analysis.

Tested:
```
~/s/w/src (frame_stats↑1|✚1) $ autoninja -C out/Debug && out/Debug/test_support_unittests --gtest_filter="PeerConnectionE2EQualityTestSmokeTest.Smoke" 2>/dev/null
Note: Google Test filter = PeerConnectionE2EQualityTestSmokeTest.Smoke
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from PeerConnectionE2EQualityTestSmokeTest
[ RUN      ] PeerConnectionE2EQualityTestSmokeTest.Smoke
...
RESULT num_encoded_frames: Smoke/alice-video= 31 count_biggerIsBetter
RESULT num_decoded_frames: Smoke/alice-video= 31 count_biggerIsBetter
RESULT num_send_key_frames: Smoke/alice-video= 2 count_biggerIsBetter
RESULT num_recv_key_frames: Smoke/alice-video= 2 count_biggerIsBetter
RESULT recv_key_frame_size_bytes: Smoke/alice-video= {1847,126} count_biggerIsBetter
RESULT recv_delta_frame_size_bytes: Smoke/alice-video= {1150.1034,393.66329} count_biggerIsBetter
...
RESULT num_encoded_frames: Smoke/charlie-video= 31 count_biggerIsBetter
RESULT num_decoded_frames: Smoke/charlie-video= 31 count_biggerIsBetter
RESULT num_send_key_frames: Smoke/charlie-video= 2 count_biggerIsBetter
RESULT num_recv_key_frames: Smoke/charlie-video= 2 count_biggerIsBetter
RESULT recv_key_frame_size_bytes: Smoke/charlie-video= {1847,126} count_biggerIsBetter
RESULT recv_delta_frame_size_bytes: Smoke/charlie-video= {1150.1034,393.66329} count_biggerIsBetter
...
[----------] 1 test from PeerConnectionE2EQualityTestSmokeTest (2196 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (2196 ms total)
[  PASSED  ] 1 test.
```

Bug: webrtc:14019
Change-Id: I3d5ea0cf659a6299c6d94f5004cbf0c763b267e5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260924
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36759}
2022-05-04 12:23:27 +00:00
Artem Titov
c66d45a809 [DVQA] Return a copy of the frames counters.
Return a copy of the frames counters to be able to get DVQA stats while
it is running.

Bug: b/213863770
Change-Id: I04755117cf363e1f160caa11dbe52fb30324fdf5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259867
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36638}
2022-04-24 22:40:31 +00:00
Philipp Hancke
a3b5c4e027 test: replace media_type with kind
media_kind is the old name (that is kept around since we can't deprecate)

BUG=None

Change-Id: I445441a54bb4ff408502d1aba6834cdac874324b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259766
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Cr-Commit-Position: refs/heads/main@{#36625}
2022-04-22 14:53:08 +00:00
Rasmus Brandt
6a15e3ba5c Remove deprecated heavy_metrics_computation_enabled
Bug: None
Change-Id: Ieaccca83559d0f17b394c2c9bbc8d52acbaebcdb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256601
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36314}
2022-03-24 09:39:13 +00:00
Rasmus Brandt
b6b34fc213 Add weighted PSNR-YUV from Ohm2012 to PC test framework.
This metric weights the PSNRs of luma and chroma planes in
a slightly smarter way than our current PSNR metric.

> J. Ohm, G. J. Sullivan, H. Schwarz, T. K. Tan and T. Wiegand,
> "Comparison of the Coding Efficiency of Video Coding Standards—Including
> High Efficiency Video Coding (HEVC)," in IEEE Transactions on Circuits and
> Systems for Video Technology, vol. 22, no. 12, pp. 1669-1684, Dec. 2012
> doi: 10.1109/TCSVT.2012.2221192.

Bug: None
Change-Id: Iec105e0b491628fc0ad4be9155b991203846ad1b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256463
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36311}
2022-03-24 07:12:33 +00:00
Niels Möller
be74b8058b Fix spelling of receiver and transceiver.
Bug: None
Change-Id: I439e217d67283b182833e48da15af9ae367ac14e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256015
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36257}
2022-03-18 14:54:10 +00:00
Harald Alvestrand
ef5b21e637 Deprecate and remove usage for WARNING log level
Bug: webrtc:13362
Change-Id: Ida112158e4ac5f667e533a0ebfedb400c84df4d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/239124
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35425}
2021-11-27 22:21:54 +00:00
Artem Titov
646a90784e [DVQA] Remove old constructor from StatsKey
Bug: b/205824594
Change-Id: I081ca48978ce498c56f47022e28fa0a66846765f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/238667
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35405}
2021-11-23 12:30:02 +00:00
Artem Titov
8ef7da78b3 [DVQA] Remove sender from DVQA StatsKey
Sender isn't actually require to identify the stream, so specifying it
every time is useless. This CL removes sender from StatsKey object and
introduces StreamsInfo object which contains all required metadata about
streams that are seen by DVQA.

Bug: b/205824594
Change-Id: I5b6be3865a30fd5980ff6e7e50906abe70a632ee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/238562
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35399}
2021-11-22 14:42:13 +00:00