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

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

Issue 2666333003: Better comparison for frame analyzer (Closed)
Patch Set: Moved things to SetUp() and close stats file Created 3 years, 10 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
index 93d360541089862a1be22ec8649aa118c5347338..b72ad9ab218d5530f5f2a9502125f684437cdccd 100644
--- a/webrtc/tools/frame_analyzer/video_quality_analysis.h
+++ b/webrtc/tools/frame_analyzer/video_quality_analysis.h
@@ -13,6 +13,7 @@
#include <string>
#include <vector>
+#include <utility>
#include "libyuv/compare.h" // NOLINT
#include "libyuv/convert.h" // NOLINT
@@ -82,6 +83,23 @@ void PrintAnalysisResults(const std::string& label, ResultsContainer* results);
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,

Powered by Google App Engine
This is Rietveld 408576698