Dedicated build target for video codec perf tests

Bug: webrtc:14852
Change-Id: Ib56ef931b58058a7d09b97b7013ba39ee1767629
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/300740
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39823}
This commit is contained in:
Sergey Silkin 2023-04-12 07:41:35 +00:00 committed by WebRTC LUCI CQ
parent 35f2b89ee4
commit b4a45546b7
6 changed files with 84 additions and 49 deletions

View File

@ -1083,7 +1083,7 @@ if (rtc_include_tests) {
]
deps = [
":video_codec_tester_api",
"../modules/video_coding:videocodec_test_impl",
"../modules/video_coding:video_codec_tester",
]
}

View File

@ -833,10 +833,6 @@ if (rtc_include_tests) {
rtc_library("video_codecs_test_framework") {
testonly = true
sources = [
"codecs/test/video_codec_analyzer.cc",
"codecs/test/video_codec_analyzer.h",
"codecs/test/video_codec_stats_impl.cc",
"codecs/test/video_codec_stats_impl.h",
"codecs/test/video_codec_unittest.cc",
"codecs/test/video_codec_unittest.h",
"codecs/test/videoprocessor.cc",
@ -926,8 +922,6 @@ if (rtc_include_tests) {
rtc_library("videocodec_test_impl") {
testonly = true
sources = [
"codecs/test/video_codec_tester_impl.cc",
"codecs/test/video_codec_tester_impl.h",
"codecs/test/videocodec_test_fixture_impl.cc",
"codecs/test/videocodec_test_fixture_impl.h",
]
@ -939,20 +933,12 @@ if (rtc_include_tests) {
":videocodec_test_stats_impl",
":webrtc_vp9_helpers",
"../../api:array_view",
"../../api:video_codec_tester_api",
"../../api:videocodec_test_fixture_api",
"../../api/task_queue:default_task_queue_factory",
"../../api/task_queue:task_queue",
"../../api/test/metrics:global_metrics_logger_and_exporter",
"../../api/test/metrics:metric",
"../../api/test/video:function_video_factory",
"../../api/transport:field_trial_based_config",
"../../api/units:frequency",
"../../api/units:time_delta",
"../../api/units:timestamp",
"../../api/video:encoded_image",
"../../api/video:video_bitrate_allocation",
"../../api/video:video_frame",
"../../api/video_codecs:video_codecs_api",
"../../api/video_codecs:video_decoder_factory_template",
"../../api/video_codecs:video_decoder_factory_template_dav1d_adapter",
@ -972,7 +958,6 @@ if (rtc_include_tests) {
"../../rtc_base:checks",
"../../rtc_base:logging",
"../../rtc_base:rtc_base_tests_utils",
"../../rtc_base:rtc_event",
"../../rtc_base:stringutils",
"../../rtc_base:task_queue_for_test",
"../../rtc_base:timeutils",
@ -1009,6 +994,84 @@ if (rtc_include_tests) {
]
}
rtc_library("video_codec_tester") {
testonly = true
sources = [
"codecs/test/video_codec_analyzer.cc",
"codecs/test/video_codec_analyzer.h",
"codecs/test/video_codec_stats_impl.cc",
"codecs/test/video_codec_stats_impl.h",
"codecs/test/video_codec_tester_impl.cc",
"codecs/test/video_codec_tester_impl.h",
]
deps = [
":video_coding_utility",
"../../api:sequence_checker",
"../../api:video_codec_stats_api",
"../../api:video_codec_tester_api",
"../../api/numerics:numerics",
"../../api/task_queue:default_task_queue_factory",
"../../api/test/metrics:metrics_logger",
"../../api/units:data_rate",
"../../api/units:frequency",
"../../api/units:time_delta",
"../../api/units:timestamp",
"../../api/video:encoded_image",
"../../api/video:resolution",
"../../api/video:video_codec_constants",
"../../api/video:video_frame",
"../../rtc_base:checks",
"../../rtc_base:rtc_event",
"../../rtc_base:task_queue_for_test",
"../../rtc_base:timeutils",
"../../rtc_base/system:no_unique_address",
"../../system_wrappers",
"../../test:video_test_support",
"//third_party/libyuv",
]
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
}
rtc_test("video_codec_perf_tests") {
testonly = true
sources = [ "codecs/test/video_codec_test.cc" ]
deps = [
":video_codec_interface",
":video_codec_tester",
"../../api:create_video_codec_tester_api",
"../../api:video_codec_tester_api",
"../../api:videocodec_test_stats_api",
"../../api/test/metrics:global_metrics_logger_and_exporter",
"../../api/units:data_rate",
"../../api/units:frequency",
"../../api/video:encoded_image",
"../../api/video:resolution",
"../../api/video:video_frame",
"../../api/video_codecs:scalability_mode",
"../../api/video_codecs:video_codecs_api",
"../../media:rtc_internal_video_codecs",
"../../test:fileutils",
"../../test:test_main",
"../../test:test_support",
"../../test:video_test_support",
"../rtp_rtcp:rtp_rtcp_format",
"svc:scalability_mode_util",
"//third_party/libyuv",
]
if (is_android) {
deps += [ ":android_codec_factory_helper" ]
}
absl_deps = [ "//third_party/abseil-cpp/absl/functional:any_invocable" ]
data = [ "../../resources/FourPeople_1280x720_30.yuv" ]
}
rtc_library("video_coding_modules_tests") {
testonly = true
defines = []
@ -1016,7 +1079,6 @@ if (rtc_include_tests) {
sources = [
"codecs/h264/test/h264_impl_unittest.cc",
"codecs/multiplex/test/multiplex_adapter_unittest.cc",
"codecs/test/video_codec_test.cc",
"codecs/test/video_encoder_decoder_instantiation_tests.cc",
"codecs/test/videocodec_test_av1.cc",
"codecs/test/videocodec_test_libvpx.cc",
@ -1045,28 +1107,20 @@ if (rtc_include_tests) {
":webrtc_vp9",
":webrtc_vp9_helpers",
"../../api:create_frame_generator",
"../../api:create_video_codec_tester_api",
"../../api:create_videocodec_test_fixture_api",
"../../api:frame_generator_api",
"../../api:mock_video_codec_factory",
"../../api:mock_video_decoder",
"../../api:mock_video_encoder",
"../../api:scoped_refptr",
"../../api:video_codec_tester_api",
"../../api:videocodec_test_fixture_api",
"../../api:videocodec_test_stats_api",
"../../api/test/metrics:global_metrics_logger_and_exporter",
"../../api/test/video:function_video_factory",
"../../api/units:data_rate",
"../../api/units:frequency",
"../../api/video:encoded_image",
"../../api/video:resolution",
"../../api/video:video_frame",
"../../api/video:video_rtp_headers",
"../../api/video_codecs:builtin_video_decoder_factory",
"../../api/video_codecs:builtin_video_encoder_factory",
"../../api/video_codecs:rtc_software_fallback_wrappers",
"../../api/video_codecs:scalability_mode",
"../../api/video_codecs:video_codecs_api",
"../../common_video",
"../../common_video/test:utilities",
@ -1083,14 +1137,12 @@ if (rtc_include_tests) {
"../../test:fileutils",
"../../test:test_support",
"../../test:video_test_common",
"../../test:video_test_support",
"../rtp_rtcp:rtp_rtcp_format",
"codecs/av1:dav1d_decoder",
"svc:scalability_mode_util",
"//third_party/libyuv",
]
absl_deps = [
"//third_party/abseil-cpp/absl/functional:any_invocable",
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/types:optional",
]
@ -1187,6 +1239,7 @@ if (rtc_include_tests) {
":packet_buffer",
":simulcast_test_fixture_impl",
":video_codec_interface",
":video_codec_tester",
":video_codecs_test_framework",
":video_coding",
":video_coding_legacy",
@ -1212,7 +1265,6 @@ if (rtc_include_tests) {
"../../api:videocodec_test_fixture_api",
"../../api/task_queue",
"../../api/task_queue:default_task_queue_factory",
"../../api/task_queue/test:mock_task_queue_base",
"../../api/test/video:function_video_factory",
"../../api/units:data_size",
"../../api/units:frequency",

View File

@ -21,7 +21,6 @@
#include "api/video/resolution.h"
#include "api/video/video_frame.h"
#include "modules/video_coding/codecs/test/video_codec_stats_impl.h"
#include "rtc_base/synchronization/mutex.h"
#include "rtc_base/system/no_unique_address.h"
#include "rtc_base/task_queue_for_test.h"

View File

@ -13,7 +13,7 @@
#include <algorithm>
#include "api/numerics/samples_stats_counter.h"
#include "api/test/metrics/global_metrics_logger_and_exporter.h"
#include "api/test/metrics/metrics_logger.h"
#include "rtc_base/checks.h"
#include "rtc_base/time_utils.h"

View File

@ -18,16 +18,17 @@
#include "absl/functional/any_invocable.h"
#include "api/test/create_video_codec_tester.h"
#include "api/test/metrics/global_metrics_logger_and_exporter.h"
#include "api/test/video_codec_tester.h"
#include "api/test/videocodec_test_stats.h"
#include "api/units/data_rate.h"
#include "api/units/frequency.h"
#include "api/video/encoded_image.h"
#include "api/video/i420_buffer.h"
#include "api/video/resolution.h"
#include "api/video/video_frame.h"
#include "api/video_codecs/scalability_mode.h"
#include "api/video_codecs/video_decoder.h"
#include "api/video_codecs/video_encoder.h"
#include "common_video/libyuv/include/webrtc_libyuv.h"
#include "media/base/media_constants.h"
#include "media/engine/internal_decoder_factory.h"
#include "media/engine/internal_encoder_factory.h"
#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
@ -36,7 +37,6 @@
#if defined(WEBRTC_ANDROID)
#include "modules/video_coding/codecs/test/android_codec_factory_helper.h"
#endif
#include "rtc_base/strings/string_builder.h"
#include "test/gtest.h"
#include "test/testsupport/file_utils.h"
#include "test/testsupport/frame_reader.h"

View File

@ -15,8 +15,6 @@
#include <utility>
#include <vector>
#include "api/task_queue/task_queue_factory.h"
#include "api/task_queue/test/mock_task_queue_base.h"
#include "api/units/frequency.h"
#include "api/units/time_delta.h"
#include "api/video/encoded_image.h"
@ -135,20 +133,6 @@ class MockEncoder : public Encoder {
MOCK_METHOD(void, Flush, (), (override));
};
class MockTaskQueueFactory : public TaskQueueFactory {
public:
explicit MockTaskQueueFactory(TaskQueueBase& task_queue)
: task_queue_(task_queue) {}
std::unique_ptr<TaskQueueBase, TaskQueueDeleter> CreateTaskQueue(
absl::string_view name,
Priority priority) const override {
return std::unique_ptr<TaskQueueBase, TaskQueueDeleter>(&task_queue_);
}
protected:
TaskQueueBase& task_queue_;
};
} // namespace
class VideoCodecTesterImplPacingTest