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}
3 files changed
tree: 3ea3c0a7ff5f57a78cdcb4f82c8d3e6d7ab4dda2
  1. api/
  2. audio/
  3. build_overrides/
  4. call/
  5. common_audio/
  6. common_video/
  7. data/
  8. examples/
  9. infra/
  10. logging/
  11. media/
  12. modules/
  13. ortc/
  14. p2p/
  15. pc/
  16. resources/
  17. rtc_base/
  18. rtc_tools/
  19. sdk/
  20. stats/
  21. style-guide/
  22. system_wrappers/
  23. test/
  24. tools_webrtc/
  25. video/
  26. .clang-format
  27. .git-blame-ignore-revs
  28. .gitignore
  29. .gn
  30. .vpython
  31. abseil-in-webrtc.md
  32. AUTHORS
  33. BUILD.gn
  34. CODE_OF_CONDUCT.md
  35. codereview.settings
  36. common_types.h
  37. DEPS
  38. ENG_REVIEW_OWNERS
  39. LICENSE
  40. license_template.txt
  41. native-api.md
  42. OWNERS
  43. PATENTS
  44. PRESUBMIT.py
  45. presubmit_test.py
  46. presubmit_test_mocks.py
  47. pylintrc
  48. README.chromium
  49. README.md
  50. style-guide.md
  51. WATCHLISTS
  52. webrtc.gni
  53. whitespace.txt
README.md

WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.

Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.

The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.

Development

See http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.

Authoritative list of directories that contain the native API header files.

More info