webrtc/rtc_tools
Magnus Jedvert 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
..
agc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
barcode_tools Reland "Fix a bug in barcode_decoder.py" 2018-09-04 07:39:13 +00:00
converter Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
event_log_visualizer Reland "Deprecates legacy transport feedback adapter." 2018-10-15 20:43:39 +00:00
frame_analyzer Add tool for aligning color space of video files 2018-10-16 07:55:37 +00:00
frame_editing Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
loopback_test Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
network_tester Remove deprecated field_trial_default and metrics_default. 2018-09-28 07:21:07 +00:00
psnr_ssim_analyzer Reland "Add Y4mFileReader" 2018-09-05 09:30:08 +00:00
py_event_log_analyzer Fix path to proto in py_event_log_analyzer/pb_parse.py 2018-03-19 07:42:35 +00:00
rtcbot Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
testing Fix path to AppRTC/collider on Windows 2018-04-04 14:47:40 +00:00
unpack_aecdump Remove simple stringstream usages. 2018-09-06 12:53:19 +00:00
author_line_count.sh Fix awk gensub call in author_line_count.sh script. 2017-12-06 08:16:12 +00:00
BUILD.gn Add tool for aligning color space of video files 2018-10-16 07:55:37 +00:00
class_usage.sh Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
compare_videos.py Print per-frame VMAF score instead of average. 2018-10-10 14:31:00 +00:00
DEPS Removes analyzer dependency on legacy congestion controller. 2018-10-15 17:36:06 +00:00
header_usage.sh header_usage.sh: Keep leading directory for grep. 2017-10-19 13:46:51 +00:00
OWNERS Expand ownership of rtc_tools. 2017-11-06 11:13:26 +00:00
sanitizers_unittest.cc Use absl::make_unique and absl::WrapUnique directly 2018-07-05 10:59:49 +00:00
simple_command_line_parser.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
simple_command_line_parser.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
simple_command_line_parser_unittest.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
video_analysis.py Revert "Update video_quality_analysis to align videos instead of using barcodes" 2018-08-24 12:45:13 +00:00
video_analysis_test.py Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
video_file_reader.cc Reland "Reland "Update video_quality_analysis to align videos instead of using barcodes"" 2018-09-05 14:41:15 +00:00
video_file_reader.h Reland "Add Y4mFileReader" 2018-09-05 09:30:08 +00:00
video_file_reader_unittest.cc Reland "Add Y4mFileReader" 2018-09-05 09:30:08 +00:00
video_file_writer.cc Reland "Add option to call VMAF in compare_videos.py." 2018-09-28 14:08:10 +00:00
video_file_writer.h Add WriteVideoToFile to video_file_reader. 2018-09-24 08:03:10 +00:00
video_file_writer_unittest.cc Add WriteVideoToFile to video_file_reader. 2018-09-24 08:03:10 +00:00