Add initial gn build files for video_coding and video_processing.

BUG=
R=kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/19819004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6611 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/webrtc/build/webrtc.gni b/webrtc/build/webrtc.gni
index 281047a..fcbf04f 100644
--- a/webrtc/build/webrtc.gni
+++ b/webrtc/build/webrtc.gni
@@ -25,6 +25,9 @@
   # when building voice engine exclusively.
   enable_video = true
 
+  # Disable this to not build libvpx and instead use an externally provided lib.
+  build_libvpx = true
+
   # Selects fixed-point code where possible.
   prefer_fixed_point = false
 
diff --git a/webrtc/modules/video_coding/BUILD.gn b/webrtc/modules/video_coding/BUILD.gn
index f5a69b1..0dc6721 100644
--- a/webrtc/modules/video_coding/BUILD.gn
+++ b/webrtc/modules/video_coding/BUILD.gn
@@ -74,13 +74,49 @@
 }
 
 source_set("video_coding_utility") {
-  # TODO(stefan): Implement.
+  sources = [
+    "utility/exp_filter.cc",
+    "utility/include/exp_filter.h",
+    "utility/include/frame_dropper.h",
+    "utility/frame_dropper.cc",
+  ]
+
+  deps = [ "../../system_wrappers" ]
 }
 
 source_set("webrtc_i420") {
-  # TODO(stefan): Implement.
+  sources = [
+    "codecs/i420/main/source/i420.cc",
+    "codecs/i420/main/interface/i420.h",
+  ]
+
+  deps = [ "../../system_wrappers" ]
 }
 
+# TODO(holmer): Some files below has been commented out since libvpx is still
+# missing a BUILD.gn file.
 source_set("webrtc_vp8") {
-  # TODO(stefan): Implement.
+  sources = [
+#    "codecs/vp8/default_temporal_layers.cc",
+#    "codecs/vp8/default_temporal_layers.h",
+#    "codecs/vp8/realtime_temporal_layers.cc",
+#    "codecs/vp8/reference_picture_selection.cc",
+#    "codecs/vp8/reference_picture_selection.h",
+    "codecs/vp8/include/vp8.h",
+    "codecs/vp8/include/vp8_common_types.h",
+    "codecs/vp8/temporal_layers.h",
+    "codecs/vp8/vp8_factory.cc",
+#    "codecs/vp8/vp8_impl.cc",
+#    "codecs/vp8/vp8_impl.h",
+  ]
+  deps = [
+    ":video_coding_utility",
+    "../../common_video",
+    "../../system_wrappers",
+  ]
+#  if (build_libvpx) {
+#    deps += [
+#      "//third_party/libvpx",
+#    ]
+#  }
 }
diff --git a/webrtc/modules/video_processing/BUILD.gn b/webrtc/modules/video_processing/BUILD.gn
index 40171ca..724a9dc 100644
--- a/webrtc/modules/video_processing/BUILD.gn
+++ b/webrtc/modules/video_processing/BUILD.gn
@@ -8,6 +8,51 @@
 
 import("../../build/webrtc.gni")
 
+build_video_processing_sse2 = cpu_arch == "x86" || cpu_arch == "x64"
+
 source_set("video_processing") {
-  # TODO(stefan): Implement.
+  sources = [
+    "main/interface/video_processing.h",
+    "main/interface/video_processing_defines.h",
+    "main/source/brighten.cc",
+    "main/source/brighten.h",
+    "main/source/brightness_detection.cc",
+    "main/source/brightness_detection.h",
+    "main/source/color_enhancement.cc",
+    "main/source/color_enhancement.h",
+    "main/source/color_enhancement_private.h",
+    "main/source/content_analysis.cc",
+    "main/source/content_analysis.h",
+    "main/source/deflickering.cc",
+    "main/source/deflickering.h",
+    "main/source/denoising.cc",
+    "main/source/denoising.h",
+    "main/source/frame_preprocessor.cc",
+    "main/source/frame_preprocessor.h",
+    "main/source/spatial_resampler.cc",
+    "main/source/spatial_resampler.h",
+    "main/source/video_decimator.cc",
+    "main/source/video_decimator.h",
+    "main/source/video_processing_impl.cc",
+    "main/source/video_processing_impl.h",
+  ]
+
+  deps = [
+    "../../common_audio",
+    "../../common_video",
+    "../../modules/utility",
+    "../../system_wrappers",
+  ]
+  if (build_video_processing_sse2) {
+    deps += [ ":video_processing_sse2" ]
+  }
+}
+
+if (build_video_processing_sse2) {
+  source_set("video_processing_sse2") {
+    sources = [ "main/source/content_analysis_sse2.cc" ]
+    if (is_posix) {
+      cflags = [ "-msse2" ]
+    }
+  }
 }