Home | History | Annotate | Download | only in video_processing
      1 # Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
      2 #
      3 # Use of this source code is governed by a BSD-style license
      4 # that can be found in the LICENSE file in the root of the source
      5 # tree. An additional intellectual property rights grant can be found
      6 # in the file PATENTS.  All contributing project authors may
      7 # be found in the AUTHORS file in the root of the source tree.
      8 
      9 import("//build/config/arm.gni")
     10 import("../../build/webrtc.gni")
     11 
     12 build_video_processing_sse2 = current_cpu == "x86" || current_cpu == "x64"
     13 
     14 source_set("video_processing") {
     15   sources = [
     16     "brightness_detection.cc",
     17     "brightness_detection.h",
     18     "content_analysis.cc",
     19     "content_analysis.h",
     20     "deflickering.cc",
     21     "deflickering.h",
     22     "frame_preprocessor.cc",
     23     "frame_preprocessor.h",
     24     "include/video_processing.h",
     25     "include/video_processing_defines.h",
     26     "spatial_resampler.cc",
     27     "spatial_resampler.h",
     28     "util/denoiser_filter.cc",
     29     "util/denoiser_filter.h",
     30     "util/denoiser_filter_c.cc",
     31     "util/denoiser_filter_c.h",
     32     "util/skin_detection.cc",
     33     "util/skin_detection.h",
     34     "video_decimator.cc",
     35     "video_decimator.h",
     36     "video_denoiser.cc",
     37     "video_denoiser.h",
     38     "video_processing_impl.cc",
     39     "video_processing_impl.h",
     40   ]
     41 
     42   deps = [
     43     "../../common_audio",
     44     "../../common_video",
     45     "../../modules/utility",
     46     "../../system_wrappers",
     47   ]
     48   if (build_video_processing_sse2) {
     49     deps += [ ":video_processing_sse2" ]
     50   }
     51   if (rtc_build_with_neon) {
     52     deps += [ ":video_processing_neon" ]
     53   }
     54 
     55   configs += [ "../..:common_config" ]
     56   public_configs = [ "../..:common_inherited_config" ]
     57 
     58   if (is_clang) {
     59     # Suppress warnings from Chrome's Clang plugins.
     60     # See http://code.google.com/p/webrtc/issues/detail?id=163 for details.
     61     configs -= [ "//build/config/clang:find_bad_constructs" ]
     62   }
     63 }
     64 
     65 if (build_video_processing_sse2) {
     66   source_set("video_processing_sse2") {
     67     sources = [
     68       "content_analysis_sse2.cc",
     69       "util/denoiser_filter_sse2.cc",
     70       "util/denoiser_filter_sse2.h",
     71     ]
     72 
     73     configs += [ "../..:common_config" ]
     74     public_configs = [ "../..:common_inherited_config" ]
     75 
     76     if (is_clang) {
     77       # Suppress warnings from Chrome's Clang plugins.
     78       # See http://code.google.com/p/webrtc/issues/detail?id=163 for details.
     79       configs -= [ "//build/config/clang:find_bad_constructs" ]
     80     }
     81 
     82     if (is_posix) {
     83       cflags = [ "-msse2" ]
     84     }
     85   }
     86 }
     87 
     88 if (rtc_build_with_neon) {
     89   source_set("video_processing_neon") {
     90     sources = [
     91       "util/denoiser_filter_neon.cc",
     92       "util/denoiser_filter_neon.h",
     93     ]
     94     if (current_cpu != "arm64") {
     95       configs -= [ "//build/config/compiler:compiler_arm_fpu" ]
     96       cflags = [ "-mfpu=neon" ]
     97     }
     98     configs += [ "../..:common_config" ]
     99     public_configs = [ "../..:common_inherited_config" ]
    100   }
    101 }
    102