Commit Graph

165 Commits

Author SHA1 Message Date
3100fc1f05 Use color aligning in video quality analysis tool
Bug: webrtc:9642
Change-Id: I217e054c20f26cf788dd97f42e7e4ade1a879fe7
Reviewed-on: https://webrtc-review.googlesource.com/c/98980
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25209}
2018-10-16 13:49:04 +00:00
1927dfafab Add tool for aligning color space of video files
This class adds logic for aligning color space of a test video compared
to a reference video. If there is a color space mismatch, it typically
does not have much impact on human perception, but it has a big impact
on PSNR and SSIM calculations. For example, aligning a test run with VP8
improves PSNR and SSIM from:
Average PSNR: 29.142818, average SSIM: 0.946026
to:
Average PSNR: 38.146229, average SSIM: 0.965388.

The optiomal color transformation between the two videos were:
0.86 0.01 0.00 14.37
0.00 0.88 0.00 15.32
0.00 0.00 0.88 15.74
which is converting YUV full range to YUV limited range. There is
already a CL out for fixing this discrepancy here:
https://webrtc-review.googlesource.com/c/src/+/94543

After that, hopefully there is no color space mismatch when saving the
raw YUV values. It's good that the video quality tool is color space
agnostic anyway, and can compensate for differences when the test
video is obtained by e.g. filming a physical device screen.

Also, the linear least square logic will be used for compensating
geometric distorisions in a follow-up CL.

Bug: webrtc:9642
Change-Id: I499713960a0544d8e45c5d09886e68ec829b28a7
Reviewed-on: https://webrtc-review.googlesource.com/c/95950
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25193}
2018-10-16 07:55:37 +00:00
a39a00737f Reland "Deprecates legacy transport feedback adapter."
This is a reland of a5778e0d560ffb3e07637547ba8468f4762a2b3e

Original change's description:
> Deprecates legacy transport feedback adapter.
>
> Bug: webrtc:9586
> Change-Id: Ib8c9cec1eb7f3cfa90b18b4b64171fa1b06713cf
> Reviewed-on: https://webrtc-review.googlesource.com/c/105984
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25184}

TBR=terelius@webrtc.org

Bug: webrtc:9586
Change-Id: I4e2b42f71cc13d3ff92c3c11de63bde16c58439b
Reviewed-on: https://webrtc-review.googlesource.com/c/106143
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25190}
2018-10-15 20:43:39 +00:00
5c94f55a8f Removes analyzer dependency on legacy congestion controller.
Bug: webrtc:9586
Change-Id: Ic1f2445d6432202aeba9164acd49b75261e91aa0
Reviewed-on: https://webrtc-review.googlesource.com/c/105107
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25183}
2018-10-15 17:36:06 +00:00
40a7a35eaa Extract functionality of test_main into separate library.
Extract functionality of test_main into separate library to be able to
reuse it if another main will be required.

Bug: webrtc:5996
Change-Id: I2925b4240bd0e4fb884b43bb16667ca2d6216bbd
Reviewed-on: https://webrtc-review.googlesource.com/c/105921
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25172}
2018-10-15 14:13:06 +00:00
cae8802dc1 Delete force_mic_volume_max.
This tool is no longer needed since we're deleting the AQ tests.

Bug: chromium:880074
Change-Id: I035d7b33c7c4feb5962cf9dafc8e7086a8dee440
Reviewed-on: https://webrtc-review.googlesource.com/c/105140
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25162}
2018-10-15 09:08:07 +00:00
ede87964ba Print per-frame VMAF score instead of average.
compare_videos.py will now print the VMAF score for each frame.
The CL also removes some stale comments.

Bug: webrtc:9642
Change-Id: I5623588580dea06dd487d7763dc3a2511bd2cd3c
Reviewed-on: https://webrtc-review.googlesource.com/c/105103
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25092}
2018-10-10 14:31:00 +00:00
7730193a49 Remove SetExecutablePath, simplify ResourcePath
SetExecutablePath isn't used anymore.

Nobody was using the fancy select-per-platform functionality, and the
documentation was wrong anyway. In the cases somebody needed an
override per platform, they were using defines in their own test
instead. I think that is more verbose but more predictable and easy
to understand (see how it's done in audio_processing_unittest.cc
when loading output_data_mac, for instance).

Bug: webrtc:9792
Change-Id: I7289bf5883fe43852638922d7c7583eae0c08601
Reviewed-on: https://webrtc-review.googlesource.com/c/104482
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25062}
2018-10-09 14:01:16 +00:00
a6471eb589 Reland "Tidy up and increase exception handling in compare_videos"
This is a reland of 1c60ff521eda26c80fa53097d9c614f10200f651

Original change's description:
> Tidy up and increase exception handling in compare_videos
> 
> Bug: webrtc:9642
> Change-Id: I5c8b252de3b285f81a5437af99d789b5a28ce646
> Reviewed-on: https://webrtc-review.googlesource.com/102880
> Commit-Queue: Paulina Hensman <phensman@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24909}

Bug: webrtc:9642
Change-Id: I11078a358297ae5046991ac3b0680df468bb413b
Reviewed-on: https://webrtc-review.googlesource.com/c/102941
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25024}
2018-10-05 15:10:17 +00:00
c0f26d458d Drop unneeded inclusion of module_common_types.h
And also drop dependency on module_api, where possible. With this
change, common_video/ no longer depends on
libjingle_peerconnection_api.

Bug: None
Change-Id: Icc0648559bef5b7f549e81d58f2a5f97c0af3abf
Reviewed-on: https://webrtc-review.googlesource.com/c/103782
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24991}
2018-10-04 13:22:45 +00:00
311c13b3c2 Remove noop system_wrappers_default build target.
After the removal of field_trial_default, metrics_default and
runtime_enabled_features_default, this build target doesn't build
anything and can be safely removed.

Bug: webrtc:9631
Change-Id: Iee1111e065ffefe0b4b9a695ee67a594e6d82caa
Reviewed-on: https://webrtc-review.googlesource.com/c/103702
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24976}
2018-10-04 10:25:37 +00:00
3d3e08b2b1 Revert "Tidy up and increase exception handling in compare_videos"
This reverts commit 1c60ff521eda26c80fa53097d9c614f10200f651.

Reason for revert: Breaks downstream tests:
non-test target compare_videos depends on testonly target frame_analyzer

Original change's description:
> Tidy up and increase exception handling in compare_videos
> 
> Bug: webrtc:9642
> Change-Id: I5c8b252de3b285f81a5437af99d789b5a28ce646
> Reviewed-on: https://webrtc-review.googlesource.com/102880
> Commit-Queue: Paulina Hensman <phensman@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24909}

TBR=phoglund@webrtc.org,sakal@webrtc.org,phensman@webrtc.org

Change-Id: I69c94248faf7d448b871b91548336ff681e4d139
No-Try: true
Bug: webrtc:9642
Reviewed-on: https://webrtc-review.googlesource.com/102921
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24911}
2018-10-01 13:21:31 +00:00
1c60ff521e Tidy up and increase exception handling in compare_videos
Bug: webrtc:9642
Change-Id: I5c8b252de3b285f81a5437af99d789b5a28ce646
Reviewed-on: https://webrtc-review.googlesource.com/102880
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24909}
2018-10-01 12:34:49 +00:00
12c62b922b Reland "Add option to call VMAF in compare_videos.py."
This is a reland of e307d56bd7e192c354871a739bc0133d88cb5379

options.yuv_directory would be unset if vmaf was not used.
It now gets set to None.

Also adds a try-finally around the temp directory for YUV files.

Original change's description:
> Add option to call VMAF in compare_videos.py.
>
> VMAF compares videos on several metrics and produces a unified score.
>
> Calling it from compare_videos required passing in a path to a VMAF
> executable and a model.
>
> VMAF needs to compare aligned videos in YUV format, so two videos
> (ref and test) will be saved by frame_analyzer after it has aligned
> them.
>
> Bug: webrtc:9642
> Change-Id: Idddfcf6b1b235e7f925696ffc38938fb84c4ff9e
> Reviewed-on: https://webrtc-review.googlesource.com/102140
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Commit-Queue: Paulina Hensman <phensman@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24876}

Bug: webrtc:9642
Change-Id: I1d04a56090e68df47dc3e6b7e710384244470d0c
TBR: phoglund
Reviewed-on: https://webrtc-review.googlesource.com/102544
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24896}
2018-09-28 14:08:10 +00:00
371781435a Revert "Add option to call VMAF in compare_videos.py."
This reverts commit e307d56bd7e192c354871a739bc0133d88cb5379.

Reason for revert:
Breaks client.webrtc.perf bots. Example failure:
https://ci.chromium.org/buildbot/client.webrtc.perf/Android32%20Tests%20(L%20Nexus7.2)/8635

AttributeError: Values instance has no attribute 'yuv_directory'

Original change's description:
> Add option to call VMAF in compare_videos.py.
> 
> VMAF compares videos on several metrics and produces a unified score.
> 
> Calling it from compare_videos required passing in a path to a VMAF
> directory, where there should be a C++ wrapper executable and a model.
> For now, the relative paths to those are constant.
> 
> VMAF needs to compare aligned videos in YUV format, so two videos
> (ref and test) will be saved by frame_analyzer after it has aligned
> them.
> 
> Bug: webrtc:9642
> Change-Id: Idddfcf6b1b235e7f925696ffc38938fb84c4ff9e
> Reviewed-on: https://webrtc-review.googlesource.com/102140
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Commit-Queue: Paulina Hensman <phensman@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24876}

TBR=phoglund@webrtc.org,sakal@webrtc.org,phensman@webrtc.org

Change-Id: I3e1dc98d7dfc0309ee2934cb3a978eecf274c477
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9642
Reviewed-on: https://webrtc-review.googlesource.com/102561
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24883}
2018-09-28 09:19:48 +00:00
89f64d305e Move network trace calculation from analyzer to rtc_event_log_parser.
Bug: b/116768521
Change-Id: Ibc5643c9c03caa00cc84a5efc628115d414b35f7
Reviewed-on: https://webrtc-review.googlesource.com/102301
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24879}
2018-09-28 08:16:57 +00:00
17f4878419 Remove deprecated field_trial_default and metrics_default.
This CL removes some deprecated build targets (and their headers)
from system_wrappers:
- field_trial_api
- field_trial_default
- metrics_api
- metrics_default

It also refreshes all the dependencies on field_trial.h and metrics.h.

A nice side effect is that it is finally possible to remove 'nogncheck'
from the following files (when it was used with field_trial_default
and metrics_default):
- sdk/objc/api/peerconnection/RTCMetricsSampleInfo+Private.h
- sdk/android/src/jni/pc/peerconnectionfactory.cc
- sdk/objc/api/peerconnection/RTCFieldTrials.mm

Bug: webrtc:9631
Change-Id: Ib621f41ef8ad0aba4fe1c1d7e749c044afc956c3
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/100524
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24878}
2018-09-28 07:21:07 +00:00
e307d56bd7 Add option to call VMAF in compare_videos.py.
VMAF compares videos on several metrics and produces a unified score.

Calling it from compare_videos required passing in a path to a VMAF
directory, where there should be a C++ wrapper executable and a model.
For now, the relative paths to those are constant.

VMAF needs to compare aligned videos in YUV format, so two videos
(ref and test) will be saved by frame_analyzer after it has aligned
them.

Bug: webrtc:9642
Change-Id: Idddfcf6b1b235e7f925696ffc38938fb84c4ff9e
Reviewed-on: https://webrtc-review.googlesource.com/102140
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24876}
2018-09-28 07:02:23 +00:00
9931ddbbc8 ResultsContainer: Initialize fields.
Make msan happier. Prevent flakiness.

Bug: chromium:755660
Bug: webrtc:9767
Change-Id: I911ff9ccc65af3f0a6faf9358a0111f4bf927baa
Reviewed-on: https://webrtc-review.googlesource.com/101361
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24805}
2018-09-24 16:14:09 +00:00
dd8de18784 Include stringutils to allow build on chromium
Bug: webrtc:9642
Change-Id: Idad8d7a61f8b289c185590b64c79974f81a414e3
Reviewed-on: https://webrtc-review.googlesource.com/101541
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24797}
2018-09-24 11:18:41 +00:00
84df1c724e Make fewer copies when using StringBuilder.
Replace calls to .str() which copies with .Release which moves in cases where that's safe.

This CL was generated by this command:
git grep -l 'StringBuilder' |
xargs perl -i -0 -pe "s/(rtc::StringBuilder (\S+);.*?return )\\g2.str\(\)/\$1\$2.Release\(\)/sg"

Bug: webrtc:8982
Change-Id: If4dadbeb039df010aaaa9e58da81c1971a84fe8f
Reviewed-on: https://webrtc-review.googlesource.com/100307
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24790}
2018-09-24 09:39:19 +00:00
b671d46f91 Add WriteVideoToFile to video_file_reader.
The function checks the file extension to determine YUV or Y4M format.

Also adds a flag aligned_output_file to compare_videos.py, which allows
saving the aligned reference video to a file.

Bug: webrtc:9642
Change-Id: Ia59f5c123a1e41104756eb6b235b6581c4ffbd77
Reviewed-on: https://webrtc-review.googlesource.com/99503
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24787}
2018-09-24 08:03:10 +00:00
080afedc49 Do not compile frame_analyzer_host during Chromium builds.
Bug: webrtc:9665
Change-Id: I42ff7a02664c3552ea31972a84f1d7d18cab13ac
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/100805
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24765}
2018-09-18 11:59:17 +00:00
b56706fcd9 Reland "Compile frame analyzer for the host machine on perf tests."
This is a reland of d8ff3f29ce92e27529e100ecf71afbae6334419f.

See https://webrtc-review.googlesource.com/c/src/+/100681/1..4 for
the fix. Error "Failed to open video file for emulated camera" should
be addressed by that change.

Original change's description:
> Compile frame analyzer for the host machine on perf tests.
>
> Bug: webrtc:9665
> Change-Id: I05c01ee4bef0995556b1a679498b3d9132de7c26
> Reviewed-on: https://webrtc-review.googlesource.com/100360
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24756}

TBR=phoglund@webrtc.org, oprypin@webrtc.org

Bug: webrtc:9665
Change-Id: If6a4f2259dabf50718abf47c9cf303d143a1895a
Reviewed-on: https://webrtc-review.googlesource.com/100681
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24762}
2018-09-18 09:51:19 +00:00
6d800030ab Revert "Compile frame analyzer for the host machine on perf tests."
This reverts commit d8ff3f29ce92e27529e100ecf71afbae6334419f.

Reason for revert: It breaks perf tests.

Original change's description:
> Compile frame analyzer for the host machine on perf tests.
> 
> Bug: webrtc:9665
> Change-Id: I05c01ee4bef0995556b1a679498b3d9132de7c26
> Reviewed-on: https://webrtc-review.googlesource.com/100360
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24756}

TBR=phoglund@webrtc.org,mbonadei@webrtc.org,oprypin@webrtc.org

Change-Id: I9d75dee68ef9257c707fe547ec32a22572ff582c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9665
Reviewed-on: https://webrtc-review.googlesource.com/100680
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24758}
2018-09-17 12:45:24 +00:00
d8ff3f29ce Compile frame analyzer for the host machine on perf tests.
Bug: webrtc:9665
Change-Id: I05c01ee4bef0995556b1a679498b3d9132de7c26
Reviewed-on: https://webrtc-review.googlesource.com/100360
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24756}
2018-09-17 11:23:40 +00:00
ef73f59de6 Allow printing graphs as protobuf in event_log_visualizer.
event_log_visualizer --protobuf_output <file>
will print a binary protobuf description of the graphs.

Also piggy-backing a couple of trivial spelling fixes in the same CL.

Bug: None
Change-Id: Ib000aa2706de51659ee72f13b773c4394edafe3e
Reviewed-on: https://webrtc-review.googlesource.com/99320
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24675}
2018-09-11 09:53:12 +00:00
366a50c4ef Remove simple stringstream usages.
This CL replaces std::o?stringstream with rtc::StringBuilder where that's possible to do without changing any of the surrounding code. It also updates includes and build files as appropriate.

The CL was generated by running 'git grep -l -P std::o?stringstream | xargs perl -pi -e "s/std::o?stringstream/rtc::StringBuilder/g"'. Then I've manually updated the #includes and BUILD files, run 'git cl format' and unstaged any file that would need more complex fixes.

Bug: webrtc:8982
Change-Id: Ibc32153f4a3fd177e260b6ad05ce393972549357
Reviewed-on: https://webrtc-review.googlesource.com/98460
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24605}
2018-09-06 12:53:19 +00:00
b468aced4b Reland "Reland "Update video_quality_analysis to align videos instead of using barcodes""
This is a reland of 9bb55fc09b6bfa00cba7779c37ad6c39b4206f7a

Original change's description:
> Reland "Update video_quality_analysis to align videos instead of using barcodes"
>
> This is a reland of d65e143801a7aaa9affdb939ea836aec1955cdcc
>
> The binary for frame_analyzer.cpp is precompiled and stored in the cloud, so it
> won't automatically pick up change to the source file. Therefore, restore all
> old code to be backwards compatible.
>
> Original change's description:
> > Update video_quality_analysis to align videos instead of using barcodes
> >
> > This CL is a follow-up to the previous CL
> > https://webrtc-review.googlesource.com/c/src/+/94773 that added generic
> > logic for aligning videos. This will allow us to easily extend
> > video_quality_analysis with new sophisticated video quality metrics.
> > Also, we can use any kind of video that does not necessarily need to
> > contain bar codes. Removing the need to decode barcodes also leads to a
> > big speedup for the tests.
> >
> > Bug: webrtc:9642
> > Change-Id: I74b0d630b3e1ed44781ad024115ded3143e28f50
> > Reviewed-on: https://webrtc-review.googlesource.com/94845
> > Reviewed-by: Paulina Hensman <phensman@webrtc.org>
> > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#24423}
>
> TBR=phensman@webrtc.org,phoglund@webrtc.org
>
> Bug: webrtc:9642
> Change-Id: Id8d129ce103284504c67690f8363c03eaae3eee7
> Reviewed-on: https://webrtc-review.googlesource.com/96000
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24429}

TBR=phensman,phoglund

Bug: webrtc:9642
Change-Id: Ic248b7831ae148251a1a4ebeec5d154286f91a0a
Reviewed-on: https://webrtc-review.googlesource.com/98080
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24583}
2018-09-05 14:41:15 +00:00
62228c41ea Reland "Add tool for aliging video files"
This is a reland of b2c0e8f60fad10e2786e5e131136a0da1299d883

Original change's description:
> Add tool for aliging video files
>
> This class adds logic for aligning a test video to a reference video
> by an algorithm that maximizes SSIM between them. Aligned videos will be
> easier to run video quality metrics on. This is a generic way of
> aligning videos and can be replace the intrusive barcode stamping that
> we currently use. This will be done in a follow-up CL.
>
> Change-Id: I71cf1e2179c0f1e03eff9e4d8fc492fd5cfbbb1c
> Bug: webrtc:9642
> Reviewed-on: https://webrtc-review.googlesource.com/94773
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Paulina Hensman <phensman@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24407}

TBR=phensman,phoglund

Bug: webrtc:9642
Change-Id: I35d6b0e598335b8d80fbfa37ba06d5c651bda4f6
Reviewed-on: https://webrtc-review.googlesource.com/98040
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24580}
2018-09-05 13:30:16 +00:00
10e829a208 Reland "Add Y4mFileReader"
This is a reland of 404be7f302358e6be16aadeba8bc8f8aba348c0f
It adds support for reading .yuv files as well to not break anything.

Original change's description:
> Add Y4mFileReader
>
> Encapsulate logic for reading .y4m video files in a single class. We
> currently have spread out logic for opening .y4m files with partial
> parsing. This CL consolidates this logic into a single class with a well
> defined interface.
>
> Change-Id: Id61673b3c95a0053b30e95b4cf382e1c6b05fc30
> Bug: webrtc:9642
> Reviewed-on: https://webrtc-review.googlesource.com/94772
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Paulina Hensman <phensman@webrtc.org>
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24398}

TBR=phensman,phoglund

Bug: webrtc:9642
Change-Id: Idecc5ec5da767221a5f5b439989f4fe07e3b3615
Reviewed-on: https://webrtc-review.googlesource.com/97983
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24571}
2018-09-05 09:30:08 +00:00
5292654d7b Reland "Fix a bug in barcode_decoder.py"
This is a reland of 5c2de6b3ce079cff52c411a2c02ce6553a38dc79

Original change's description:
> Fix a bug in barcode_decoder.py
>
> When converting from a .y4m file, it's illegal to pass a video_size
> option since the resolution is already contained in the .y4m file.
>
> Bug: webrtc:9642
> Change-Id: Iee7d2ba1332c45a1669af0fba43b0c3e7ce5846b
> Reviewed-on: https://webrtc-review.googlesource.com/95949
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24431}

Bug: webrtc:9642
Change-Id: Iea6aad249839f9b1dad830bdf194cef2cc7dcfa6
Reviewed-on: https://webrtc-review.googlesource.com/97441
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24542}
2018-09-04 07:39:13 +00:00
cc22f51988 Removing the intelligibility enhancer.
The intelligibility enhancer is always disabled and it is the only non-test
target using the lapped transform in common_audio (which we planned to remove).

Bug: webrtc:9689, webrtc:5298
Change-Id: Ida65d3aa11ac366471e7e5cbc053108b376c67d8
Reviewed-on: https://webrtc-review.googlesource.com/96460
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24504}
2018-08-30 21:29:57 +00:00
9427f48f59 rtc_executable should depend on //build/win:default_exe_manifest.
Bug: None
Change-Id: I34bcbaa50a0dd669316ff6e7ae8c1e4c35ba742b
Reviewed-on: https://webrtc-review.googlesource.com/96500
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24471}
2018-08-29 07:17:25 +00:00
0673bc9204 Revert CLs affecting video quality toolchain.
Speculatively fixes Chromium test for cut: crbug.com/877968

Reverts CLs:
https://webrtc-review.googlesource.com/c/src/+/94772
https://webrtc-review.googlesource.com/c/src/+/95648
https://webrtc-review.googlesource.com/c/src/+/94773
https://webrtc-review.googlesource.com/c/src/+/96000
https://webrtc-review.googlesource.com/c/src/+/95949

Revert "Add Y4mFileReader"

This reverts commit 404be7f302358e6be16aadeba8bc8f8aba348c0f.

Revert "Remove SequencedTaskChecker from Y4mFileReader"

This reverts commit 1b5e5db842971340eb9128985ddbaf0225a9d0b1.

Revert "Add tool for aliging video files"

This reverts commit b2c0e8f60fad10e2786e5e131136a0da1299d883.

Revert "Reland "Update video_quality_analysis to align videos instead of using barcodes""

This reverts commit 9bb55fc09b6bfa00cba7779c37ad6c39b4206f7a.

Revert "Fix a bug in barcode_decoder.py"

This reverts commit 5c2de6b3ce079cff52c411a2c02ce6553a38dc79.

TBR=magjed@webrtc.org, phoglund@webrtc.org, phensman@webrtc.org

Bug: chromium:877968, webrtc:9642
Change-Id: I784d0598fd0370eec38d758b9fa0b38e4b3423be
Reviewed-on: https://webrtc-review.googlesource.com/96320
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24458}
2018-08-27 16:50:54 +00:00
5c2de6b3ce Fix a bug in barcode_decoder.py
When converting from a .y4m file, it's illegal to pass a video_size
option since the resolution is already contained in the .y4m file.

TBR=phoglund@webrtc.org
NOTRY=TRUE

Bug: webrtc:9642
Change-Id: Iee7d2ba1332c45a1669af0fba43b0c3e7ce5846b
Reviewed-on: https://webrtc-review.googlesource.com/95949
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24431}
2018-08-24 15:36:46 +00:00
9bb55fc09b Reland "Update video_quality_analysis to align videos instead of using barcodes"
This is a reland of d65e143801a7aaa9affdb939ea836aec1955cdcc

The binary for frame_analyzer.cpp is precompiled and stored in the cloud, so it
won't automatically pick up change to the source file. Therefore, restore all
old code to be backwards compatible.

Original change's description:
> Update video_quality_analysis to align videos instead of using barcodes
>
> This CL is a follow-up to the previous CL
> https://webrtc-review.googlesource.com/c/src/+/94773 that added generic
> logic for aligning videos. This will allow us to easily extend
> video_quality_analysis with new sophisticated video quality metrics.
> Also, we can use any kind of video that does not necessarily need to
> contain bar codes. Removing the need to decode barcodes also leads to a
> big speedup for the tests.
>
> Bug: webrtc:9642
> Change-Id: I74b0d630b3e1ed44781ad024115ded3143e28f50
> Reviewed-on: https://webrtc-review.googlesource.com/94845
> Reviewed-by: Paulina Hensman <phensman@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24423}

TBR=phensman@webrtc.org,phoglund@webrtc.org

Bug: webrtc:9642
Change-Id: Id8d129ce103284504c67690f8363c03eaae3eee7
Reviewed-on: https://webrtc-review.googlesource.com/96000
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24429}
2018-08-24 13:21:18 +00:00
3e169ac18c Revert "Update video_quality_analysis to align videos instead of using barcodes"
This reverts commit d65e143801a7aaa9affdb939ea836aec1955cdcc.

Reason for revert: Breaks perf bots. frame_analyzer is a prebuilt binary, so it won't automatically pick up changes in the .cc file.

Original change's description:
> Update video_quality_analysis to align videos instead of using barcodes
> 
> This CL is a follow-up to the previous CL
> https://webrtc-review.googlesource.com/c/src/+/94773 that added generic
> logic for aligning videos. This will allow us to easily extend
> video_quality_analysis with new sophisticated video quality metrics.
> Also, we can use any kind of video that does not necessarily need to
> contain bar codes. Removing the need to decode barcodes also leads to a
> big speedup for the tests.
> 
> Bug: webrtc:9642
> Change-Id: I74b0d630b3e1ed44781ad024115ded3143e28f50
> Reviewed-on: https://webrtc-review.googlesource.com/94845
> Reviewed-by: Paulina Hensman <phensman@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24423}

TBR=phoglund@webrtc.org,magjed@webrtc.org,phensman@webrtc.org

Change-Id: Ia590b465687b861fe37ed1b14756d4607ca90da1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9642
Reviewed-on: https://webrtc-review.googlesource.com/95946
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24428}
2018-08-24 12:45:13 +00:00
d65e143801 Update video_quality_analysis to align videos instead of using barcodes
This CL is a follow-up to the previous CL
https://webrtc-review.googlesource.com/c/src/+/94773 that added generic
logic for aligning videos. This will allow us to easily extend
video_quality_analysis with new sophisticated video quality metrics.
Also, we can use any kind of video that does not necessarily need to
contain bar codes. Removing the need to decode barcodes also leads to a
big speedup for the tests.

Bug: webrtc:9642
Change-Id: I74b0d630b3e1ed44781ad024115ded3143e28f50
Reviewed-on: https://webrtc-review.googlesource.com/94845
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24423}
2018-08-24 09:26:14 +00:00
b2c0e8f60f Add tool for aliging video files
This class adds logic for aligning a test video to a reference video
by an algorithm that maximizes SSIM between them. Aligned videos will be
easier to run video quality metrics on. This is a generic way of
aligning videos and can be replace the intrusive barcode stamping that
we currently use. This will be done in a follow-up CL.

Change-Id: I71cf1e2179c0f1e03eff9e4d8fc492fd5cfbbb1c
Bug: webrtc:9642
Reviewed-on: https://webrtc-review.googlesource.com/94773
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24407}
2018-08-23 15:35:28 +00:00
1b5e5db842 Remove SequencedTaskChecker from Y4mFileReader
SequencedTaskChecker is not part of rtc_base_approved and will not work
in Chromium. This CL simply removes it since it was just a precaution
and is not necessary for the tool. The thread assumptions are stated in
the class comment.

TBR=phensman@webrtc.org

Bug: webrtc:9642
Change-Id: I871ac361975595d8ed07b2e2447e3581c9ba9968
Reviewed-on: https://webrtc-review.googlesource.com/95648
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24401}
2018-08-23 11:04:27 +00:00
404be7f302 Add Y4mFileReader
Encapsulate logic for reading .y4m video files in a single class. We
currently have spread out logic for opening .y4m files with partial
parsing. This CL consolidates this logic into a single class with a well
defined interface.

Change-Id: Id61673b3c95a0053b30e95b4cf382e1c6b05fc30
Bug: webrtc:9642
Reviewed-on: https://webrtc-review.googlesource.com/94772
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24398}
2018-08-23 09:56:02 +00:00
656d609a95 Add UTC time to init event in AEC debug dump.
Bug: webrtc:9616
Change-Id: I1350212f0b8835fb64427483269da96d51670c01
Reviewed-on: https://webrtc-review.googlesource.com/92620
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24267}
2018-08-11 20:29:07 +00:00
c97933fb82 Clean up code regarding jitter buffer plot in event log visualizer.
Bug: webrtc:9147
Change-Id: I2c1f0b383706ae9a788eb8b5d308d4c7fe612730
Reviewed-on: https://webrtc-review.googlesource.com/92390
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24261}
2018-08-10 11:19:56 +00:00
8e5014a392 Remove definition and usage of macro GTEST_RELATIVE_PATH.
The macro GTEST_RELATIVE_PATH is obsolete and since it is always
defined this CL just removes it.

Bug: webrtc:9564
Change-Id: Ieafa5b77351c4df87864588ba6b3de8f60d54e89
Reviewed-on: https://webrtc-review.googlesource.com/92080
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24226}
2018-08-08 11:00:11 +00:00
508e23421f Remove unnecessary //base:base_java dependencies.
WebRTC code shouldn't depend on Chromium Android base code.

Bug: None
Change-Id: Ie094f26e4ee855769c9c5276bbb47242aae9c217
Reviewed-on: https://webrtc-review.googlesource.com/92387
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24194}
2018-08-06 12:04:35 +00:00
a12c42a6b2 Delete root header file typedef.h.
Usage replaced with stdint.h, rtc_base/system/arch.h and
rtc_base/system/unused.h, as appropriate.

Bug: webrtc:6854
Change-Id: I97225465d14b969903d92979e2df3c3c05d35f18
Reviewed-on: https://webrtc-review.googlesource.com/90249
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24100}
2018-07-25 14:59:26 +00:00
b1222c203e Plot RTCP SR and RR contents in event_log_visualizer.
Plot the contents of all report blocks in all sender and receiver reports.
This includes fraction lost, cumulative number of lost packets, extended
highest sequence number and time since last received SR.

Bug: None
Change-Id: Ifbded689a666da140c468e11c33b6c6f99a3041e
Reviewed-on: https://webrtc-review.googlesource.com/90247
Reviewed-by: Alex Narest <alexnarest@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24083}
2018-07-24 12:34:41 +00:00
486cb18531 Enable clang::find_bad_constructs for rtc_tools (part 1/2).
This CL removes //build/config/clang:find_bad_constructs from the
suppressed_configs list, which means that clang:find_bad_constructs
is now enabled on these translation units.

Bug: webrtc:9251, webrtc:163
Change-Id: I9c26b6129db24263f1aada9561f477db64091049
Reviewed-on: https://webrtc-review.googlesource.com/89742
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24051}
2018-07-20 12:01:37 +00:00
ed8ff64ef7 Break out Agc code from audio_processing.
Splits 'modules/audio_processing:audio_processing' target. The files
in modules/audio_processing/agc now are in targets in that folder.

Reason for doing this was to include
modules/audio_processing/agc/agc.h from another target in the
dependent CL https://webrtc-review.googlesource.com/c/src/+/86603

This could help reducing the binary size in the future.

Bug: webrtc:7494
Change-Id: I61f50ab6d5ce24d19f4097e0f3fa8b0170010887
Reviewed-on: https://webrtc-review.googlesource.com/87422
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23873}
2018-07-06 13:29:43 +00:00