# 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" ] } } 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 # Skip restricting visibility on mobile platforms since the tests on those # gets additional generated targets which would require many lines here to # cover (which would be confusing to read and hard to maintain). if (!is_android && !is_ios) { visibility = [ "..:modules_unittests" ] } 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" ] } } }