/* * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ #include #include #include #include #include #include "rtc_base/stringutils.h" #include "rtc_tools/frame_analyzer/video_quality_analysis.h" #include "rtc_tools/frame_analyzer/video_temporal_aligner.h" #include "rtc_tools/simple_command_line_parser.h" #include "rtc_tools/video_file_reader.h" #include "rtc_tools/video_file_writer.h" #include "test/testsupport/perf_test.h" namespace { #ifdef WIN32 const char* const kPathDelimiter = "\\"; #else const char* const kPathDelimiter = "/"; #endif std::string JoinFilename(std::string directory, std::string filename) { return directory + kPathDelimiter + filename; } } // namespace /* * A command line tool running PSNR and SSIM on a reference video and a test * video. The test video is a record of the reference video which can start at * an arbitrary point. It is possible that there will be repeated frames or * skipped frames as well. The video files should be I420 .y4m or .yuv videos. * If both files are .y4m, it's not needed to specify width/height. The tool * prints the result to standard output in the Chromium perf format: * RESULT :