summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/modules/video_processing/BUILD.gn
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
commit43a97878ce14b72f0981164f87f2e35e14151312 (patch)
tree620249daf56c0258faa40cbdcf9cfba06de2a846 /third_party/libwebrtc/modules/video_processing/BUILD.gn
parentInitial commit. (diff)
downloadfirefox-43a97878ce14b72f0981164f87f2e35e14151312.tar.xz
firefox-43a97878ce14b72f0981164f87f2e35e14151312.zip
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/libwebrtc/modules/video_processing/BUILD.gn')
-rw-r--r--third_party/libwebrtc/modules/video_processing/BUILD.gn112
1 files changed, 112 insertions, 0 deletions
diff --git a/third_party/libwebrtc/modules/video_processing/BUILD.gn b/third_party/libwebrtc/modules/video_processing/BUILD.gn
new file mode 100644
index 0000000000..4b25b365f1
--- /dev/null
+++ b/third_party/libwebrtc/modules/video_processing/BUILD.gn
@@ -0,0 +1,112 @@
+# Copyright (c) 2014 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")
+
+build_video_processing_sse2 = target_cpu == "x86" || target_cpu == "x64"
+
+rtc_library("video_processing") {
+ visibility = [ "*" ]
+ sources = [
+ "util/denoiser_filter.cc",
+ "util/denoiser_filter_c.cc",
+ "util/denoiser_filter_c.h",
+ "util/noise_estimation.cc",
+ "util/noise_estimation.h",
+ "util/skin_detection.cc",
+ "util/skin_detection.h",
+ "video_denoiser.cc",
+ "video_denoiser.h",
+ ]
+
+ deps = [
+ ":denoiser_filter",
+ "../../api:scoped_refptr",
+ "../../api/video:video_frame",
+ "../../api/video:video_rtp_headers",
+ "../../common_audio",
+ "../../common_video",
+ "../../rtc_base:checks",
+ "../../rtc_base/system:arch",
+ "../../system_wrappers",
+ "//third_party/libyuv",
+ ]
+ if (build_with_mozilla) {
+ deps -= [ "//third_party/libyuv" ]
+ include_dirs = [
+ "/media/libyuv",
+ "/media/libyuv/libyuv/include",
+ ]
+ }
+ if (build_video_processing_sse2) {
+ deps += [ ":video_processing_sse2" ]
+ }
+ if (rtc_build_with_neon) {
+ deps += [ ":video_processing_neon" ]
+ }
+}
+
+rtc_source_set("denoiser_filter") {
+ # Target that only exists to avoid cyclic depdency errors for the SSE2 and
+ # Neon implementations below.
+ sources = [ "util/denoiser_filter.h" ]
+}
+
+if (build_video_processing_sse2) {
+ rtc_library("video_processing_sse2") {
+ sources = [
+ "util/denoiser_filter_sse2.cc",
+ "util/denoiser_filter_sse2.h",
+ ]
+
+ deps = [
+ ":denoiser_filter",
+ "../../system_wrappers",
+ ]
+
+ if (is_posix || is_fuchsia) {
+ cflags = [ "-msse2" ]
+ }
+ }
+}
+
+if (rtc_build_with_neon) {
+ rtc_library("video_processing_neon") {
+ sources = [
+ "util/denoiser_filter_neon.cc",
+ "util/denoiser_filter_neon.h",
+ ]
+
+ deps = [ ":denoiser_filter" ]
+
+ if (target_cpu != "arm64") {
+ suppressed_configs += [ "//build/config/compiler:compiler_arm_fpu" ]
+ cflags = [ "-mfpu=neon" ]
+ }
+ }
+}
+
+if (rtc_include_tests) {
+ rtc_library("video_processing_unittests") {
+ testonly = true
+
+ sources = [ "test/denoiser_test.cc" ]
+ deps = [
+ ":denoiser_filter",
+ ":video_processing",
+ "../../api:scoped_refptr",
+ "../../api/video:video_frame",
+ "../../api/video:video_rtp_headers",
+ "../../common_video",
+ "../../test:fileutils",
+ "../../test:frame_utils",
+ "../../test:test_support",
+ "../../test:video_test_common",
+ ]
+ }
+}