summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/webrtc/modules/video_processing/BUILD.gn
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libwebrtc/webrtc/modules/video_processing/BUILD.gn')
-rw-r--r--third_party/libwebrtc/webrtc/modules/video_processing/BUILD.gn122
1 files changed, 122 insertions, 0 deletions
diff --git a/third_party/libwebrtc/webrtc/modules/video_processing/BUILD.gn b/third_party/libwebrtc/webrtc/modules/video_processing/BUILD.gn
new file mode 100644
index 0000000000..c26800ddf3
--- /dev/null
+++ b/third_party/libwebrtc/webrtc/modules/video_processing/BUILD.gn
@@ -0,0 +1,122 @@
+# 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("//build/config/arm.gni")
+import("../../webrtc.gni")
+
+build_video_processing_sse2 = current_cpu == "x86" || current_cpu == "x64"
+
+rtc_static_library("video_processing") {
+ 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",
+ "..:module_api",
+ "../../common_audio",
+ "../../common_video",
+ "../../modules/utility",
+ "../../rtc_base:rtc_base_approved",
+ "../../system_wrappers",
+ ]
+ if (build_video_processing_sse2) {
+ deps += [ ":video_processing_sse2" ]
+ }
+ if (rtc_build_with_neon) {
+ deps += [ ":video_processing_neon" ]
+ }
+
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+ suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
+ }
+
+ include_dirs = [ "$rtc_libyuv_dir/include" ]
+}
+
+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",
+ ]
+ deps = [
+ "..:module_api",
+ ]
+}
+
+if (build_video_processing_sse2) {
+ rtc_static_library("video_processing_sse2") {
+ sources = [
+ "util/denoiser_filter_sse2.cc",
+ "util/denoiser_filter_sse2.h",
+ ]
+
+ deps = [
+ ":denoiser_filter",
+ "../../rtc_base:rtc_base_approved",
+ "../../system_wrappers",
+ ]
+
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+ suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
+ }
+
+ if (is_posix) {
+ cflags = [ "-msse2" ]
+ }
+ }
+}
+
+if (rtc_build_with_neon) {
+ rtc_static_library("video_processing_neon") {
+ sources = [
+ "util/denoiser_filter_neon.cc",
+ "util/denoiser_filter_neon.h",
+ ]
+
+ deps = [
+ ":denoiser_filter",
+ ]
+
+ if (current_cpu != "arm64") {
+ suppressed_configs += [ "//build/config/compiler:compiler_arm_fpu" ]
+ cflags = [ "-mfpu=neon" ]
+ }
+ }
+}
+
+if (rtc_include_tests) {
+ rtc_source_set("video_processing_unittests") {
+ testonly = true
+
+ sources = [
+ "test/denoiser_test.cc",
+ ]
+ deps = [
+ ":video_processing",
+ "../../common_video:common_video",
+ "../../test:test_support",
+ "../../test:video_test_common",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+ suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
+ }
+ }
+}