# Copyright (c) 2025 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. import("../../../webrtc.gni") rtc_library("av1_qp_parser") { testonly = true sources = [ "av1_qp_parser.cc", "av1_qp_parser.h", ] deps = [ "../../../api:array_view", "../../../api/video:video_frame", "../../../api/video:video_frame_type", "//third_party/libgav1:libgav1_parser", ] public_configs = [ "//third_party/libgav1:libgav1_public_config" ] } rtc_library("file_based_decoder") { testonly = true sources = [ "file_based_decoder.h" ] deps = [ "../../../api:rtc_error", "//third_party/abseil-cpp/absl/strings:string_view", ] } rtc_library("file_based_encoder") { testonly = true sources = [ "file_based_encoder.h" ] deps = [ ":test_clip", "../../../api:rtc_error", "../../../api/units:data_rate", "../../../api/video:video_frame", ] } rtc_library("file_based_encoder_with_ivf_transform") { testonly = true sources = [ "file_based_encoder_with_ivf_transform.h" ] deps = [ ":file_based_encoder", "../../../api:rtc_error", ] } rtc_library("mock_file_based_decoder") { testonly = true sources = [ "mock_file_based_decoder.h" ] deps = [ ":file_based_decoder", "../../../api:rtc_error", "../../../test:test_support", "//third_party/abseil-cpp/absl/strings:string_view", ] } rtc_library("mock_file_based_encoder") { testonly = true sources = [ "mock_file_based_encoder.h" ] deps = [ ":file_based_encoder", ":test_clip", "../../../api:rtc_error", "../../../api/units:data_rate", "../../../api/video:video_frame", "../../../test:test_support", ] } rtc_library("mock_file_based_encoder_with_ivf_transform") { testonly = true sources = [ "mock_file_based_encoder_with_ivf_transform.h" ] deps = [ ":file_based_encoder_with_ivf_transform", ":test_clip", "../../../api:rtc_error", "../../../api/units:data_rate", "../../../api/video:video_frame", "../../../test:test_support", ] } rtc_library("picture_pair_provider") { testonly = true sources = [ "picture_pair_provider.h" ] deps = [ ":test_clip", "../../../api/units:data_rate", "../../../api/video:video_frame", "../../../test:fileutils", ] } rtc_library("qp_parser") { testonly = true sources = [ "qp_parser.cc", "qp_parser.h", ] deps = [ ":av1_qp_parser", "../../../api:array_view", "../../../api/video:video_frame", "../../../modules/video_coding:video_coding_utility", "../../../rtc_base:checks", ] public_configs = [ "//third_party/libgav1:libgav1_public_config" ] } rtc_library("test_clip") { testonly = true sources = [ "test_clip.cc", "test_clip.h", ] deps = [ ":utils", "../../../api/video_codecs:video_codecs_api", "../../../rtc_base:checks", "../../../test:fileutils", "//third_party/abseil-cpp/absl/strings:string_view", ] } rtc_library("utils") { testonly = true sources = [ "utils.cc", "utils.h", ] deps = [ "../../../api:array_view", "../../../api/video:video_frame", "../../../api/video_codecs:video_codecs_api", "../../../rtc_base:checks", "../../../rtc_base:stringutils", "../../../rtc_base/system:file_wrapper", "../../../test:fileutils", "//third_party/abseil-cpp/absl/strings:string_view", ] } rtc_library("webrtc_picture_pair_provider") { testonly = true sources = [ "webrtc_picture_pair_provider.cc", "webrtc_picture_pair_provider.h", ] deps = [ ":picture_pair_provider", ":test_clip", ":utils", "../../../api:scoped_refptr", "../../../api:sequence_checker", "../../../api/environment", "../../../api/environment:environment_factory", "../../../api/units:data_rate", "../../../api/video:encoded_image", "../../../api/video:resolution", "../../../api/video:video_frame", "../../../api/video:video_frame_type", "../../../api/video_codecs:scalability_mode", "../../../api/video_codecs:video_codecs_api", "../../../modules/video_coding:video_codec_interface", "../../../modules/video_coding:video_coding_utility", "../../../modules/video_coding/svc:svc_rate_allocator", "../../../rtc_base:checks", "../../../rtc_base:logging", "../../../rtc_base:macromagic", "../../../rtc_base/system:no_unique_address", "../../../test:fileutils", "../../../test:test_support", "../../../test:video_test_support", ] } if (rtc_include_tests) { rtc_library("av1_qp_parser_unittest") { testonly = true sources = [ "av1_qp_parser_unittest.cc" ] deps = [ ":av1_qp_parser", "../../../api/video:video_frame", "../../../test:test_support", ] } rtc_library("qp_parser_unittest") { testonly = true sources = [ "qp_parser_unittest.cc" ] deps = [ ":qp_parser", "../../../api/video:video_frame", "../../../test:test_support", ] } rtc_library("test_clip_unittest") { testonly = true sources = [ "test_clip_unittest.cc" ] deps = [ ":test_clip", ":utils", "../../../api/video_codecs:video_codecs_api", "../../../test:fileutils", "../../../test:test_support", "//third_party/abseil-cpp/absl/strings:string_view", ] data = [ "../../../resources/ConferenceMotion_1280_720_50.yuv" ] } rtc_library("utils_unittest") { testonly = true sources = [ "utils_unittest.cc" ] deps = [ ":utils", "../../../api:scoped_refptr", "../../../api/video:video_frame", "../../../rtc_base/system:file_wrapper", "../../../test:fileutils", "../../../test:test_support", "../../../test:video_test_support", ] } rtc_library("webrtc_picture_pair_provider_unittest") { testonly = true sources = [ "webrtc_picture_pair_provider_unittest.cc" ] data = [ "../../../resources/ConferenceMotion_1280_720_50.yuv" ] deps = [ ":picture_pair_provider", ":utils", ":webrtc_picture_pair_provider", "../../../api:field_trials", "../../../api:mock_video_codec_factory", "../../../api:mock_video_decoder", "../../../api:mock_video_encoder", "../../../api:scoped_refptr", "../../../api/environment:environment_factory", "../../../api/units:data_rate", "../../../api/video:encoded_image", "../../../api/video:video_frame", "../../../api/video:video_frame_type", "../../../api/video_codecs:builtin_video_decoder_factory", "../../../api/video_codecs:builtin_video_encoder_factory", "../../../api/video_codecs:scalability_mode", "../../../api/video_codecs:video_codecs_api", "../../../api/video_codecs:video_decoder_factory_template", "../../../api/video_codecs:video_decoder_factory_template_dav1d_adapter", "../../../api/video_codecs:video_encoder_factory_template", "../../../api/video_codecs:video_encoder_factory_template_libaom_av1_adapter", "../../../common_video", "../../../modules/video_coding:video_codec_interface", "../../../modules/video_coding:video_coding_utility", "../../../modules/video_coding/svc:svc_rate_allocator", "../../../rtc_base:checks", "../../../test:fileutils", "../../../test:test_support", "../../../video/corruption_detection/evaluation:test_clip", "//third_party/abseil-cpp/absl/strings:string_view", ] } rtc_library("corruption_detection_eval_tests") { testonly = true sources = [] deps = [ ":av1_qp_parser_unittest", ":qp_parser_unittest", ":test_clip_unittest", ":utils_unittest", ":webrtc_picture_pair_provider_unittest", ] } }