Move ACD settings generator to api/video/corruption_detection This moves the corruption_detection_settings_generator files from modules/video_coding/utility to api/video/corruption_detection so to facilitate external reuse. Bug: webrtc:358039777 Change-Id: I968fd413203a768bfa885bcda7764a7ceedb2976 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/422964 Reviewed-by: Per Kjellander <perkj@webrtc.org> Commit-Queue: Erik Språng <sprang@webrtc.org> Cr-Commit-Position: refs/heads/main@{#46121}
diff --git a/api/BUILD.gn b/api/BUILD.gn index c02971a..d3e8597 100644 --- a/api/BUILD.gn +++ b/api/BUILD.gn
@@ -1790,6 +1790,7 @@ "video:rtp_video_frame_assembler_unittests", "video:video_frame", "video:video_frame_metadata_unittest", + "video/corruption_detection:corruption_detection_unittests", "video/corruption_detection:frame_instrumentation_data_reader_unittest", "video/corruption_detection:frame_instrumentation_data_unittest", "video/corruption_detection:frame_instrumentation_evaluation_unittest",
diff --git a/api/video/corruption_detection/BUILD.gn b/api/video/corruption_detection/BUILD.gn index a5785c2..a409ee5 100644 --- a/api/video/corruption_detection/BUILD.gn +++ b/api/video/corruption_detection/BUILD.gn
@@ -8,6 +8,18 @@ import("../../../webrtc.gni") +rtc_library("corruption_detection_settings_generator") { + visibility = [ "*" ] + sources = [ + "corruption_detection_settings_generator.cc", + "corruption_detection_settings_generator.h", + ] + deps = [ + ":filter_settings", + "../../../rtc_base:checks", + ] +} + rtc_source_set("filter_settings") { visibility = [ "*" ] sources = [ "corruption_detection_filter_settings.h" ] @@ -88,6 +100,17 @@ } if (rtc_include_tests) { + rtc_library("corruption_detection_unittests") { + testonly = true + sources = [ "corruption_detection_settings_generator_unittest.cc" ] + deps = [ + ":corruption_detection_settings_generator", + ":filter_settings", + "../../:field_trials", + "../../../test:test_support", + ] + } + rtc_library("frame_instrumentation_data_unittest") { testonly = true sources = [ "frame_instrumentation_data_unittest.cc" ]
diff --git a/modules/video_coding/utility/corruption_detection_settings_generator.cc b/api/video/corruption_detection/corruption_detection_settings_generator.cc similarity index 96% rename from modules/video_coding/utility/corruption_detection_settings_generator.cc rename to api/video/corruption_detection/corruption_detection_settings_generator.cc index 0666c3e..5d9314e 100644 --- a/modules/video_coding/utility/corruption_detection_settings_generator.cc +++ b/api/video/corruption_detection/corruption_detection_settings_generator.cc
@@ -1,5 +1,5 @@ /* - * Copyright (c) 2024 The WebRTC project authors. All Rights Reserved. + * 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 @@ -8,7 +8,7 @@ * be found in the AUTHORS file in the root of the source tree. */ -#include "modules/video_coding/utility/corruption_detection_settings_generator.h" +#include "api/video/corruption_detection/corruption_detection_settings_generator.h" #include <algorithm> #include <cmath>
diff --git a/modules/video_coding/utility/corruption_detection_settings_generator.h b/api/video/corruption_detection/corruption_detection_settings_generator.h similarity index 90% rename from modules/video_coding/utility/corruption_detection_settings_generator.h rename to api/video/corruption_detection/corruption_detection_settings_generator.h index ab71a60..acd28bb 100644 --- a/modules/video_coding/utility/corruption_detection_settings_generator.h +++ b/api/video/corruption_detection/corruption_detection_settings_generator.h
@@ -1,5 +1,5 @@ /* - * Copyright (c) 2024 The WebRTC project authors. All Rights Reserved. + * 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 @@ -8,8 +8,8 @@ * be found in the AUTHORS file in the root of the source tree. */ -#ifndef MODULES_VIDEO_CODING_UTILITY_CORRUPTION_DETECTION_SETTINGS_GENERATOR_H_ -#define MODULES_VIDEO_CODING_UTILITY_CORRUPTION_DETECTION_SETTINGS_GENERATOR_H_ +#ifndef API_VIDEO_CORRUPTION_DETECTION_CORRUPTION_DETECTION_SETTINGS_GENERATOR_H_ +#define API_VIDEO_CORRUPTION_DETECTION_CORRUPTION_DETECTION_SETTINGS_GENERATOR_H_ #include <optional> #include <variant> @@ -89,4 +89,4 @@ } // namespace webrtc -#endif // MODULES_VIDEO_CODING_UTILITY_CORRUPTION_DETECTION_SETTINGS_GENERATOR_H_ +#endif // API_VIDEO_CORRUPTION_DETECTION_CORRUPTION_DETECTION_SETTINGS_GENERATOR_H_
diff --git a/modules/video_coding/utility/corruption_detection_settings_generator_unittest.cc b/api/video/corruption_detection/corruption_detection_settings_generator_unittest.cc similarity index 98% rename from modules/video_coding/utility/corruption_detection_settings_generator_unittest.cc rename to api/video/corruption_detection/corruption_detection_settings_generator_unittest.cc index ce56cb0..33a8568 100644 --- a/modules/video_coding/utility/corruption_detection_settings_generator_unittest.cc +++ b/api/video/corruption_detection/corruption_detection_settings_generator_unittest.cc
@@ -1,5 +1,5 @@ /* - * Copyright (c) 2024 The WebRTC project authors. All Rights Reserved. + * 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 @@ -8,7 +8,7 @@ * be found in the AUTHORS file in the root of the source tree. */ -#include "modules/video_coding/utility/corruption_detection_settings_generator.h" +#include "api/video/corruption_detection/corruption_detection_settings_generator.h" #include "api/video/corruption_detection/corruption_detection_filter_settings.h" #include "test/gmock.h"
diff --git a/modules/video_coding/BUILD.gn b/modules/video_coding/BUILD.gn index 7a77e63..95d8f1f 100644 --- a/modules/video_coding/BUILD.gn +++ b/modules/video_coding/BUILD.gn
@@ -406,8 +406,6 @@ sources = [ "utility/bandwidth_quality_scaler.cc", "utility/bandwidth_quality_scaler.h", - "utility/corruption_detection_settings_generator.cc", - "utility/corruption_detection_settings_generator.h", "utility/decoded_frames_history.cc", "utility/decoded_frames_history.h", "utility/frame_dropper.cc", @@ -453,6 +451,7 @@ "../../api/video:video_codec_constants", "../../api/video:video_frame", "../../api/video:video_frame_type", + "../../api/video/corruption_detection:corruption_detection_settings_generator", "../../api/video/corruption_detection:filter_settings", "../../api/video_codecs:video_codecs_api", "../../common_video", @@ -627,6 +626,7 @@ "../../api/video:video_frame", "../../api/video:video_frame_type", "../../api/video:video_rtp_headers", + "../../api/video/corruption_detection:corruption_detection_settings_generator", "../../api/video_codecs:encoder_speed_controller_factory", "../../api/video_codecs:scalability_mode", "../../api/video_codecs:video_codecs_api", @@ -1243,7 +1243,6 @@ "rtp_vp8_ref_finder_unittest.cc", "rtp_vp9_ref_finder_unittest.cc", "utility/bandwidth_quality_scaler_unittest.cc", - "utility/corruption_detection_settings_generator_unittest.cc", "utility/decoded_frames_history_unittest.cc", "utility/encoder_speed_controller_impl_unittest.cc", "utility/frame_dropper_unittest.cc", @@ -1330,6 +1329,7 @@ "../../api/video:video_frame", "../../api/video:video_frame_type", "../../api/video:video_rtp_headers", + "../../api/video/corruption_detection:corruption_detection_unittests", "../../api/video/corruption_detection:filter_settings", "../../api/video/corruption_detection:frame_instrumentation_data", "../../api/video_codecs:scalability_mode",
diff --git a/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc b/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc index 06bc5df..19c463c 100644 --- a/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc +++ b/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc
@@ -29,6 +29,7 @@ #include "api/scoped_refptr.h" #include "api/units/time_delta.h" #include "api/units/timestamp.h" +#include "api/video/corruption_detection/corruption_detection_settings_generator.h" #include "api/video/encoded_image.h" #include "api/video/render_resolution.h" #include "api/video/video_bitrate_allocation.h" @@ -51,7 +52,6 @@ #include "modules/video_coding/codecs/vp8/vp8_scalability.h" #include "modules/video_coding/include/video_codec_interface.h" #include "modules/video_coding/include/video_error_codes.h" -#include "modules/video_coding/utility/corruption_detection_settings_generator.h" #include "modules/video_coding/utility/simulcast_rate_allocator.h" #include "modules/video_coding/utility/simulcast_utility.h" #include "modules/video_coding/utility/vp8_constants.h"
diff --git a/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.h b/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.h index 2eae9d4..ec2def9 100644 --- a/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.h +++ b/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.h
@@ -22,6 +22,7 @@ #include "api/scoped_refptr.h" #include "api/units/time_delta.h" #include "api/units/timestamp.h" +#include "api/video/corruption_detection/corruption_detection_settings_generator.h" #include "api/video/encoded_image.h" #include "api/video/video_frame.h" #include "api/video/video_frame_buffer.h" @@ -33,7 +34,6 @@ #include "modules/video_coding/codecs/interface/libvpx_interface.h" #include "modules/video_coding/codecs/vp8/include/vp8.h" #include "modules/video_coding/include/video_codec_interface.h" -#include "modules/video_coding/utility/corruption_detection_settings_generator.h" #include "modules/video_coding/utility/frame_sampler.h" #include "modules/video_coding/utility/framerate_controller_deprecated.h" #include "rtc_base/experiments/encoder_info_settings.h"