diff options
Diffstat (limited to 'third_party/libwebrtc/webrtc/modules/video_processing/BUILD.gn')
-rw-r--r-- | third_party/libwebrtc/webrtc/modules/video_processing/BUILD.gn | 122 |
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" ] + } + } +} |