Reland "Add Y4mFileReader"
This is a reland of 404be7f302358e6be16aadeba8bc8f8aba348c0f
It adds support for reading .yuv files as well to not break anything.
Original change's description:
> Add Y4mFileReader
>
> Encapsulate logic for reading .y4m video files in a single class. We
> currently have spread out logic for opening .y4m files with partial
> parsing. This CL consolidates this logic into a single class with a well
> defined interface.
>
> Change-Id: Id61673b3c95a0053b30e95b4cf382e1c6b05fc30
> Bug: webrtc:9642
> Reviewed-on: https://webrtc-review.googlesource.com/94772
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Paulina Hensman <phensman@webrtc.org>
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24398}
TBR=phensman,phoglund
Bug: webrtc:9642
Change-Id: Idecc5ec5da767221a5f5b439989f4fe07e3b3615
Reviewed-on: https://webrtc-review.googlesource.com/97983
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24571}
diff --git a/rtc_tools/BUILD.gn b/rtc_tools/BUILD.gn
index 369c7f2..b2a97ea 100644
--- a/rtc_tools/BUILD.gn
+++ b/rtc_tools/BUILD.gn
@@ -16,6 +16,7 @@
deps = [
":command_line_parser",
":frame_analyzer",
+ ":video_file_reader",
":video_quality_analysis",
]
if (!build_with_chromium) {
@@ -59,12 +60,27 @@
]
}
+rtc_static_library("video_file_reader") {
+ sources = [
+ "video_file_reader.cc",
+ "video_file_reader.h",
+ ]
+ deps = [
+ "../api/video:video_frame",
+ "../api/video:video_frame_i420",
+ "../rtc_base:rtc_base_approved",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+}
+
rtc_static_library("video_quality_analysis") {
sources = [
"frame_analyzer/video_quality_analysis.cc",
"frame_analyzer/video_quality_analysis.h",
]
deps = [
+ ":video_file_reader",
+ "../api/video:video_frame_i420",
"../common_video",
"../test:perf_test",
"//third_party/libyuv",
@@ -79,6 +95,7 @@
deps = [
":command_line_parser",
+ ":video_file_reader",
":video_quality_analysis",
"../test:perf_test",
]
@@ -94,6 +111,7 @@
deps = [
":command_line_parser",
+ ":video_file_reader",
":video_quality_analysis",
]
}
@@ -105,6 +123,7 @@
]
deps = [
+ ":video_file_reader",
":video_quality_analysis",
]
}
@@ -281,7 +300,6 @@
tools_unittests_resources = [
"../resources/foreman_cif.yuv",
"../resources/reference_less_video_test_file.y4m",
- "../resources/video_quality_analysis_frame.txt",
]
if (is_ios) {
@@ -303,6 +321,7 @@
"frame_editing/frame_editing_unittest.cc",
"sanitizers_unittest.cc",
"simple_command_line_parser_unittest.cc",
+ "video_file_reader_unittest.cc",
]
if (!build_with_chromium && is_clang) {
@@ -314,6 +333,7 @@
":command_line_parser",
":frame_editing_lib",
":reference_less_video_analysis_lib",
+ ":video_file_reader",
":video_quality_analysis",
"../common_video:common_video",
"../rtc_base",