Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(246)

Unified Diff: webrtc/tools/frame_analyzer/video_quality_analysis.h

Issue 2965593002: Move webrtc/{tools => rtc_tools} (Closed)
Patch Set: Adding back root changes Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/tools/frame_analyzer/video_quality_analysis.h
diff --git a/webrtc/tools/frame_analyzer/video_quality_analysis.h b/webrtc/tools/frame_analyzer/video_quality_analysis.h
deleted file mode 100644
index b72ad9ab218d5530f5f2a9502125f684437cdccd..0000000000000000000000000000000000000000
--- a/webrtc/tools/frame_analyzer/video_quality_analysis.h
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * 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.
- */
-
-#ifndef WEBRTC_TOOLS_FRAME_ANALYZER_VIDEO_QUALITY_ANALYSIS_H_
-#define WEBRTC_TOOLS_FRAME_ANALYZER_VIDEO_QUALITY_ANALYSIS_H_
-
-#include <string>
-#include <vector>
-#include <utility>
-
-#include "libyuv/compare.h" // NOLINT
-#include "libyuv/convert.h" // NOLINT
-
-namespace webrtc {
-namespace test {
-
-struct AnalysisResult {
- AnalysisResult() {}
- AnalysisResult(int frame_number, double psnr_value, double ssim_value)
- : frame_number(frame_number),
- psnr_value(psnr_value),
- ssim_value(ssim_value) {}
- int frame_number;
- double psnr_value;
- double ssim_value;
-};
-
-struct ResultsContainer {
- ResultsContainer();
- ~ResultsContainer();
-
- std::vector<AnalysisResult> frames;
-};
-
-enum VideoAnalysisMetricsType {kPSNR, kSSIM};
-
-// A function to run the PSNR and SSIM analysis on the test file. The test file
-// comprises the frames that were captured during the quality measurement test.
-// There may be missing or duplicate frames. Also the frames start at a random
-// position in the original video. We should provide a statistics file along
-// with the test video. The stats file contains the connection between the
-// actual frames in the test file and their bar code number. There is one file
-// for the reference video and one for the test video. The stats file should
-// be in the form 'frame_xxxx yyyy', where xxxx is the consecutive
-// number of the frame in the test video, and yyyy is the barcode number.
-// The stats file could be produced by
-// tools/barcode_tools/barcode_decoder.py. This script decodes the barcodes
-// integrated in every video and generates the stats file. If three was some
-// problem with the decoding there would be 'Barcode error' instead of yyyy.
-// The stat files are used to compare the right frames with each other and
-// to calculate statistics.
-void RunAnalysis(const char* reference_file_name,
- const char* test_file_name,
- const char* stats_file_reference_name,
- const char* stats_file_test_name,
- int width,
- int height,
- ResultsContainer* results);
-
-// Compute PSNR or SSIM for an I420 frame (all planes). When we are calculating
-// PSNR values, the max return value (in the case where the test and reference
-// frames are exactly the same) will be 48. In the case of SSIM the max return
-// value will be 1.
-double CalculateMetrics(VideoAnalysisMetricsType video_metrics_type,
- const uint8_t* ref_frame,
- const uint8_t* test_frame,
- int width,
- int height);
-
-// Prints the result from the analysis in Chromium performance
-// numbers compatible format to stdout. If the results object contains no frames
-// no output will be written.
-void PrintAnalysisResults(const std::string& label, ResultsContainer* results);
-
-// Similar to the above, but will print to the specified file handle.
-void PrintAnalysisResults(FILE* output, const std::string& label,
- ResultsContainer* results);
-
-// The barcode number that means that the barcode could not be decoded.
-const int DECODE_ERROR = -1;
-
-// Clusters the frames in the file. First in the pair is the frame number and
-// second is the number of frames in that cluster. So if first frame in video
-// has number 100 and it is repeated 3 after each other, then the first entry
-// in the returned vector has first set to 100 and second set to 3.
-// Decode errors between two frames with same barcode, then it interprets
-// the frame with the decode error as having the same id as the two frames
-// around it. Eg. [400, DECODE_ERROR, DECODE_ERROR, 400] is becomes an entry
-// in return vector with first==400 and second==4. In other cases with decode
-// errors like [400, DECODE_ERROR, 401] becomes three entries, each with
-// second==1 and the middle has first==DECODE_ERROR.
-std::vector<std::pair<int, int> > CalculateFrameClusters(
- FILE* file,
- int* num_decode_errors);
-
-// Calculates max repeated and skipped frames and prints them to stdout in a
-// format that is compatible with Chromium performance numbers.
-void PrintMaxRepeatedAndSkippedFrames(const std::string& label,
- const std::string& stats_file_ref_name,
- const std::string& stats_file_test_name);
-
-// Similar to the above, but will print to the specified file handle.
-void PrintMaxRepeatedAndSkippedFrames(FILE* output,
- const std::string& label,
- const std::string& stats_file_ref_name,
- const std::string& stats_file_test_name);
-
-// Gets the next line from an open stats file.
-bool GetNextStatsLine(FILE* stats_file, char* line);
-
-// Calculates the size of a I420 frame if given the width and height.
-int GetI420FrameSize(int width, int height);
-
-// Extract the sequence of the frame in the video. I.e. if line is
-// frame_0023 0284, we will get 23.
-int ExtractFrameSequenceNumber(std::string line);
-
-// Checks if there is 'Barcode error' for the given line.
-bool IsThereBarcodeError(std::string line);
-
-// Extract the frame number in the reference video. I.e. if line is
-// frame_0023 0284, we will get 284.
-int ExtractDecodedFrameNumber(std::string line);
-
-// Extracts an I420 frame at position frame_number from the raw YUV file.
-bool ExtractFrameFromYuvFile(const char* i420_file_name,
- int width,
- int height,
- int frame_number,
- uint8_t* result_frame);
-
-// Extracts an I420 frame at position frame_number from the Y4M file. The first
-// frame has corresponded |frame_number| 0.
-bool ExtractFrameFromY4mFile(const char* i420_file_name,
- int width,
- int height,
- int frame_number,
- uint8_t* result_frame);
-
-} // namespace test
-} // namespace webrtc
-
-#endif // WEBRTC_TOOLS_FRAME_ANALYZER_VIDEO_QUALITY_ANALYSIS_H_

Powered by Google App Engine
This is Rietveld 408576698