Revert of Merge webrtc/video_engine/ into webrtc/video/ (patchset #2 id:20001 of https://codereview.webrtc.org/1506773002/ )

Reason for revert:
Breaks Dr Memory Light https://build.chromium.org/p/client.webrtc/builders/Win%20DrMemory%20Light/builds/4643 and all the Android Tests bots.

Original issue's description:
> Merge webrtc/video_engine/ into webrtc/video/
>
> BUG=webrtc:1695
> R=mflodman@webrtc.org
>
> Committed: https://crrev.com/03ef053202bc5d5ab43460eebf5403232f157646
> Cr-Commit-Position: refs/heads/master@{#10926}

TBR=mflodman@webrtc.org,pbos@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:1695

Review URL: https://codereview.webrtc.org/1507903005

Cr-Commit-Position: refs/heads/master@{#10937}
diff --git a/.gitignore b/.gitignore
index c043601..51e2249 100644
--- a/.gitignore
+++ b/.gitignore
@@ -162,5 +162,9 @@
 /webrtc/modules/audio_device/android/test/bin/
 /webrtc/modules/audio_device/android/test/gen/
 /webrtc/modules/audio_device/android/test/libs/
+/webrtc/video_engine/test/android/bin
+/webrtc/video_engine/test/android/gen
+/webrtc/video_engine/test/android/libs
+/webrtc/video_engine/test/android/obj
 /x86-generic_out/
 /xcodebuild
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index ddbf71a..60323c8 100755
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -19,6 +19,7 @@
   'webrtc/audio',
   'webrtc/call',
   'webrtc/modules/video_processing',
+  'webrtc/video_engine',
 ]
 
 # List of directories of "supported" native APIs. That means changes to headers
diff --git a/WATCHLISTS b/WATCHLISTS
index 1fa11a7..72ca395 100644
--- a/WATCHLISTS
+++ b/WATCHLISTS
@@ -32,8 +32,9 @@
     'java_files': {
       'filepath': '\.java$|\.xml$',
     },
-    'video': {
-      'filepath': 'webrtc/video/.*',
+    'video_engine': {
+      'filepath': 'webrtc/video_engine/.*|'\
+                  'webrtc/video/.*',
     },
     'voice_engine': {
       'filepath': 'webrtc/voice_engine/.*',
@@ -101,15 +102,14 @@
                      'bjornv@webrtc.org',
                      'minyue@webrtc.org',
                      'peah@webrtc.org'],
-    'video': ['andresp@webrtc.org',
-              'mflodman@webrtc.org',
-              'pbos@webrtc.org',
-              'perkj@webrtc.org',
-              'solenberg@webrtc.org',
-              'stefan@webrtc.org',
-              'video-team@agora.io',
-              'yujie.mao@webrtc.org',
-              'zhengzhonghou@agora.io'],
+    'video_engine': ['andresp@webrtc.org',
+                     'mflodman@webrtc.org',
+                     'perkj@webrtc.org',
+                     'solenberg@webrtc.org',
+                     'stefan@webrtc.org',
+                     'video-team@agora.io',
+                     'yujie.mao@webrtc.org',
+                     'zhengzhonghou@agora.io'],
     'voice_engine': ['andrew@webrtc.org',
                      'audio-team@agora.io',
                      'henrika@webrtc.org',
diff --git a/talk/media/base/videocommon.cc b/talk/media/base/videocommon.cc
index faf6450..a4e9815 100644
--- a/talk/media/base/videocommon.cc
+++ b/talk/media/base/videocommon.cc
@@ -107,6 +107,9 @@
   ASSERT(scaled_width != NULL);
   ASSERT(scaled_height != NULL);
   ASSERT(max_pixels > 0);
+  // For VP8 the values for max width and height can be found here
+  // webrtc/src/video_engine/vie_defines.h (kViEMaxCodecWidth and
+  // kViEMaxCodecHeight)
   const int kMaxWidth = 4096;
   const int kMaxHeight = 3072;
   int new_frame_width = frame_width;
diff --git a/webrtc/audio/audio_send_stream_unittest.cc b/webrtc/audio/audio_send_stream_unittest.cc
index 5141e4e..f907575 100644
--- a/webrtc/audio/audio_send_stream_unittest.cc
+++ b/webrtc/audio/audio_send_stream_unittest.cc
@@ -21,7 +21,7 @@
 #include "webrtc/modules/pacing/paced_sender.h"
 #include "webrtc/test/mock_voe_channel_proxy.h"
 #include "webrtc/test/mock_voice_engine.h"
-#include "webrtc/video/call_stats.h"
+#include "webrtc/video_engine/call_stats.h"
 
 namespace webrtc {
 namespace test {
diff --git a/webrtc/call/call.cc b/webrtc/call/call.cc
index 4682e92..f6efa6d 100644
--- a/webrtc/call/call.cc
+++ b/webrtc/call/call.cc
@@ -39,9 +39,9 @@
 #include "webrtc/system_wrappers/include/metrics.h"
 #include "webrtc/system_wrappers/include/rw_lock_wrapper.h"
 #include "webrtc/system_wrappers/include/trace.h"
-#include "webrtc/video/call_stats.h"
 #include "webrtc/video/video_receive_stream.h"
 #include "webrtc/video/video_send_stream.h"
+#include "webrtc/video_engine/call_stats.h"
 #include "webrtc/voice_engine/include/voe_codec.h"
 
 namespace webrtc {
diff --git a/webrtc/call/congestion_controller.cc b/webrtc/call/congestion_controller.cc
index bbe2cde..18c880c 100644
--- a/webrtc/call/congestion_controller.cc
+++ b/webrtc/call/congestion_controller.cc
@@ -25,10 +25,10 @@
 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp.h"
 #include "webrtc/modules/utility/include/process_thread.h"
 #include "webrtc/system_wrappers/include/critical_section_wrapper.h"
-#include "webrtc/video/call_stats.h"
-#include "webrtc/video/payload_router.h"
-#include "webrtc/video/vie_encoder.h"
-#include "webrtc/video/vie_remb.h"
+#include "webrtc/video_engine/call_stats.h"
+#include "webrtc/video_engine/payload_router.h"
+#include "webrtc/video_engine/vie_encoder.h"
+#include "webrtc/video_engine/vie_remb.h"
 #include "webrtc/voice_engine/include/voe_video_sync.h"
 
 namespace webrtc {
diff --git a/webrtc/test/direct_transport.h b/webrtc/test/direct_transport.h
index d4c19b6..728fe06 100644
--- a/webrtc/test/direct_transport.h
+++ b/webrtc/test/direct_transport.h
@@ -7,8 +7,8 @@
  *  in the file PATENTS.  All contributing project authors may
  *  be found in the AUTHORS file in the root of the source tree.
  */
-#ifndef WEBRTC_TEST_DIRECT_TRANSPORT_H_
-#define WEBRTC_TEST_DIRECT_TRANSPORT_H_
+#ifndef WEBRTC_VIDEO_ENGINE_TEST_COMMON_DIRECT_TRANSPORT_H_
+#define WEBRTC_VIDEO_ENGINE_TEST_COMMON_DIRECT_TRANSPORT_H_
 
 #include <assert.h>
 
@@ -63,4 +63,4 @@
 }  // namespace test
 }  // namespace webrtc
 
-#endif  // WEBRTC_TEST_DIRECT_TRANSPORT_H_
+#endif  // WEBRTC_VIDEO_ENGINE_TEST_COMMON_DIRECT_TRANSPORT_H_
diff --git a/webrtc/test/fake_decoder.h b/webrtc/test/fake_decoder.h
index 20f6bbf..d6f4f46 100644
--- a/webrtc/test/fake_decoder.h
+++ b/webrtc/test/fake_decoder.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef WEBRTC_TEST_FAKE_DECODER_H_
-#define WEBRTC_TEST_FAKE_DECODER_H_
+#ifndef WEBRTC_VIDEO_ENGINE_TEST_COMMON_FAKE_DECODER_H_
+#define WEBRTC_VIDEO_ENGINE_TEST_COMMON_FAKE_DECODER_H_
 
 #include <vector>
 
@@ -71,4 +71,4 @@
 }  // namespace test
 }  // namespace webrtc
 
-#endif  // WEBRTC_TEST_FAKE_DECODER_H_
+#endif  // WEBRTC_VIDEO_ENGINE_TEST_COMMON_FAKE_DECODER_H_
diff --git a/webrtc/test/fake_encoder.h b/webrtc/test/fake_encoder.h
index 88ff9d4..d677b92 100644
--- a/webrtc/test/fake_encoder.h
+++ b/webrtc/test/fake_encoder.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef WEBRTC_TEST_FAKE_ENCODER_H_
-#define WEBRTC_TEST_FAKE_ENCODER_H_
+#ifndef WEBRTC_VIDEO_ENGINE_TEST_COMMON_FAKE_ENCODER_H_
+#define WEBRTC_VIDEO_ENGINE_TEST_COMMON_FAKE_ENCODER_H_
 
 #include <vector>
 
@@ -82,4 +82,4 @@
 }  // namespace test
 }  // namespace webrtc
 
-#endif  // WEBRTC_TEST_FAKE_ENCODER_H_
+#endif  // WEBRTC_VIDEO_ENGINE_TEST_COMMON_FAKE_ENCODER_H_
diff --git a/webrtc/test/frame_generator_capturer.h b/webrtc/test/frame_generator_capturer.h
index 6bd0e0b..88b2e00 100644
--- a/webrtc/test/frame_generator_capturer.h
+++ b/webrtc/test/frame_generator_capturer.h
@@ -7,8 +7,8 @@
  *  in the file PATENTS.  All contributing project authors may
  *  be found in the AUTHORS file in the root of the source tree.
  */
-#ifndef WEBRTC_TEST_FRAME_GENERATOR_CAPTURER_H_
-#define WEBRTC_TEST_FRAME_GENERATOR_CAPTURER_H_
+#ifndef WEBRTC_VIDEO_ENGINE_TEST_COMMON_FRAME_GENERATOR_CAPTURER_H_
+#define WEBRTC_VIDEO_ENGINE_TEST_COMMON_FRAME_GENERATOR_CAPTURER_H_
 
 #include <string>
 
@@ -74,4 +74,4 @@
 }  // test
 }  // webrtc
 
-#endif  // WEBRTC_TEST_FRAME_GENERATOR_CAPTURER_H_
+#endif  // WEBRTC_VIDEO_ENGINE_TEST_COMMON_FRAME_GENERATOR_CAPTURER_H_
diff --git a/webrtc/test/gl/gl_renderer.h b/webrtc/test/gl/gl_renderer.h
index 7682d3c..2774946 100644
--- a/webrtc/test/gl/gl_renderer.h
+++ b/webrtc/test/gl/gl_renderer.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef WEBRTC_TEST_GL_GL_RENDERER_H_
-#define WEBRTC_TEST_GL_GL_RENDERER_H_
+#ifndef WEBRTC_VIDEO_ENGINE_TEST_COMMON_GL_GL_RENDERER_H_
+#define WEBRTC_VIDEO_ENGINE_TEST_COMMON_GL_GL_RENDERER_H_
 
 #ifdef WEBRTC_MAC
 #include <OpenGL/gl.h>
@@ -48,4 +48,4 @@
 }  // test
 }  // webrtc
 
-#endif  // WEBRTC_TEST_GL_GL_RENDERER_H_
+#endif  // WEBRTC_VIDEO_ENGINE_TEST_COMMON_GL_GL_RENDERER_H_
diff --git a/webrtc/test/linux/glx_renderer.h b/webrtc/test/linux/glx_renderer.h
index c117281..517f22a 100644
--- a/webrtc/test/linux/glx_renderer.h
+++ b/webrtc/test/linux/glx_renderer.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef WEBRTC_TEST_LINUX_GLX_RENDERER_H_
-#define WEBRTC_TEST_LINUX_GLX_RENDERER_H_
+#ifndef WEBRTC_VIDEO_ENGINE_TEST_COMMON_LINUX_GLX_RENDERER_H_
+#define WEBRTC_VIDEO_ENGINE_TEST_COMMON_LINUX_GLX_RENDERER_H_
 
 #include <GL/glx.h>
 #include <X11/Xlib.h>
@@ -45,4 +45,4 @@
 }  // test
 }  // webrtc
 
-#endif  // WEBRTC_TEST_LINUX_GLX_RENDERER_H_
+#endif  // WEBRTC_VIDEO_ENGINE_TEST_COMMON_LINUX_GLX_RENDERER_H_
diff --git a/webrtc/test/mac/video_renderer_mac.h b/webrtc/test/mac/video_renderer_mac.h
index 7baf794..2e55538 100644
--- a/webrtc/test/mac/video_renderer_mac.h
+++ b/webrtc/test/mac/video_renderer_mac.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef WEBRTC_TEST_MAC_VIDEO_RENDERER_MAC_H_
-#define WEBRTC_TEST_MAC_VIDEO_RENDERER_MAC_H_
+#ifndef WEBRTC_VIDEO_ENGINE_TEST_COMMON_MAC_VIDEO_RENDERER_MAC_H_
+#define WEBRTC_VIDEO_ENGINE_TEST_COMMON_MAC_VIDEO_RENDERER_MAC_H_
 
 #include "webrtc/base/constructormagic.h"
 #include "webrtc/test/gl/gl_renderer.h"
@@ -38,4 +38,4 @@
 }  // test
 }  // webrtc
 
-#endif  // WEBRTC_TEST_MAC_VIDEO_RENDERER_MAC_H_
+#endif  // WEBRTC_VIDEO_ENGINE_TEST_COMMON_MAC_VIDEO_RENDERER_MAC_H_
diff --git a/webrtc/test/null_transport.h b/webrtc/test/null_transport.h
index c49883e..f4b7046 100644
--- a/webrtc/test/null_transport.h
+++ b/webrtc/test/null_transport.h
@@ -7,8 +7,8 @@
  *  in the file PATENTS.  All contributing project authors may
  *  be found in the AUTHORS file in the root of the source tree.
  */
-#ifndef WEBRTC_TEST_NULL_TRANSPORT_H_
-#define WEBRTC_TEST_NULL_TRANSPORT_H_
+#ifndef WEBRTC_VIDEO_ENGINE_TEST_COMMON_NULL_TRANSPORT_H_
+#define WEBRTC_VIDEO_ENGINE_TEST_COMMON_NULL_TRANSPORT_H_
 
 #include "webrtc/transport.h"
 
@@ -27,4 +27,4 @@
 }  // namespace test
 }  // namespace webrtc
 
-#endif  // WEBRTC_TEST_NULL_TRANSPORT_H_
+#endif  // WEBRTC_VIDEO_ENGINE_TEST_COMMON_NULL_TRANSPORT_H_
diff --git a/webrtc/test/rtp_rtcp_observer.h b/webrtc/test/rtp_rtcp_observer.h
index f8d696c..c7e463e 100644
--- a/webrtc/test/rtp_rtcp_observer.h
+++ b/webrtc/test/rtp_rtcp_observer.h
@@ -7,8 +7,8 @@
  *  in the file PATENTS.  All contributing project authors may
  *  be found in the AUTHORS file in the root of the source tree.
  */
-#ifndef WEBRTC_TEST_RTP_RTCP_OBSERVER_H_
-#define WEBRTC_TEST_RTP_RTCP_OBSERVER_H_
+#ifndef WEBRTC_VIDEO_ENGINE_TEST_COMMON_RTP_RTCP_OBSERVER_H_
+#define WEBRTC_VIDEO_ENGINE_TEST_COMMON_RTP_RTCP_OBSERVER_H_
 
 #include <map>
 #include <vector>
@@ -138,4 +138,4 @@
 }  // namespace test
 }  // namespace webrtc
 
-#endif  // WEBRTC_TEST_RTP_RTCP_OBSERVER_H_
+#endif  // WEBRTC_VIDEO_ENGINE_TEST_COMMON_RTP_RTCP_OBSERVER_H_
diff --git a/webrtc/test/run_loop.h b/webrtc/test/run_loop.h
index 238e2dc..3101252 100644
--- a/webrtc/test/run_loop.h
+++ b/webrtc/test/run_loop.h
@@ -7,8 +7,8 @@
  *  in the file PATENTS.  All contributing project authors may
  *  be found in the AUTHORS file in the root of the source tree.
  */
-#ifndef WEBRTC_TEST_RUN_LOOP_H_
-#define WEBRTC_TEST_RUN_LOOP_H_
+#ifndef WEBRTC_VIDEO_ENGINE_TEST_COMMON_RUN_LOOP_H_
+#define WEBRTC_VIDEO_ENGINE_TEST_COMMON_RUN_LOOP_H_
 
 namespace webrtc {
 namespace test {
@@ -19,4 +19,4 @@
 }  // namespace test
 }  // namespace webrtc
 
-#endif  // WEBRTC_TEST_RUN_LOOP_H_
+#endif  // WEBRTC_VIDEO_ENGINE_TEST_COMMON_RUN_LOOP_H_
diff --git a/webrtc/test/statistics.h b/webrtc/test/statistics.h
index d4a111e..0fc3a04 100644
--- a/webrtc/test/statistics.h
+++ b/webrtc/test/statistics.h
@@ -7,8 +7,8 @@
  *  in the file PATENTS.  All contributing project authors may
  *  be found in the AUTHORS file in the root of the source tree.
  */
-#ifndef WEBRTC_TEST_STATISTICS_H_
-#define WEBRTC_TEST_STATISTICS_H_
+#ifndef WEBRTC_VIDEO_ENGINE_TEST_COMMON_STATISTICS_H_
+#define WEBRTC_VIDEO_ENGINE_TEST_COMMON_STATISTICS_H_
 
 #include "webrtc/typedefs.h"
 
@@ -33,4 +33,4 @@
 }  // namespace test
 }  // namespace webrtc
 
-#endif  // WEBRTC_TEST_STATISTICS_H_
+#endif  // WEBRTC_VIDEO_ENGINE_TEST_COMMON_STATISTICS_H_
diff --git a/webrtc/test/vcm_capturer.h b/webrtc/test/vcm_capturer.h
index 6c30dd5..80b0942 100644
--- a/webrtc/test/vcm_capturer.h
+++ b/webrtc/test/vcm_capturer.h
@@ -7,8 +7,8 @@
  *  in the file PATENTS.  All contributing project authors may
  *  be found in the AUTHORS file in the root of the source tree.
  */
-#ifndef WEBRTC_TEST_VCM_CAPTURER_H_
-#define WEBRTC_TEST_VCM_CAPTURER_H_
+#ifndef WEBRTC_VIDEO_ENGINE_TEST_COMMON_VCM_CAPTURER_H_
+#define WEBRTC_VIDEO_ENGINE_TEST_COMMON_VCM_CAPTURER_H_
 
 #include "webrtc/base/criticalsection.h"
 #include "webrtc/common_types.h"
@@ -47,4 +47,4 @@
 }  // test
 }  // webrtc
 
-#endif  // WEBRTC_TEST_VCM_CAPTURER_H_
+#endif  // WEBRTC_VIDEO_ENGINE_TEST_COMMON_VCM_CAPTURER_H_
diff --git a/webrtc/test/video_capturer.h b/webrtc/test/video_capturer.h
index 169fd71..3fe86f1 100644
--- a/webrtc/test/video_capturer.h
+++ b/webrtc/test/video_capturer.h
@@ -7,8 +7,8 @@
  *  in the file PATENTS.  All contributing project authors may
  *  be found in the AUTHORS file in the root of the source tree.
  */
-#ifndef WEBRTC_TEST_VIDEO_CAPTURER_H_
-#define WEBRTC_TEST_VIDEO_CAPTURER_H_
+#ifndef WEBRTC_VIDEO_ENGINE_TEST_COMMON_VIDEO_CAPTURER_H_
+#define WEBRTC_VIDEO_ENGINE_TEST_COMMON_VIDEO_CAPTURER_H_
 
 #include <stddef.h>
 
@@ -39,4 +39,4 @@
 }  // test
 }  // webrtc
 
-#endif  // WEBRTC_TEST_VIDEO_CAPTURER_H_
+#endif  // WEBRTC_VIDEO_ENGINE_TEST_COMMON_VIDEO_CAPTURER_H_
diff --git a/webrtc/test/video_renderer.h b/webrtc/test/video_renderer.h
index 3739522..c862327 100644
--- a/webrtc/test/video_renderer.h
+++ b/webrtc/test/video_renderer.h
@@ -7,8 +7,8 @@
  *  in the file PATENTS.  All contributing project authors may
  *  be found in the AUTHORS file in the root of the source tree.
  */
-#ifndef WEBRTC_TEST_VIDEO_RENDERER_H_
-#define WEBRTC_TEST_VIDEO_RENDERER_H_
+#ifndef WEBRTC_VIDEO_ENGINE_TEST_COMMON_VIDEO_RENDERER_H_
+#define WEBRTC_VIDEO_ENGINE_TEST_COMMON_VIDEO_RENDERER_H_
 
 #include <stddef.h>
 
@@ -36,4 +36,4 @@
 }  // namespace test
 }  // namespace webrtc
 
-#endif  // WEBRTC_TEST_VIDEO_RENDERER_H_
+#endif  // WEBRTC_VIDEO_ENGINE_TEST_COMMON_VIDEO_RENDERER_H_
diff --git a/webrtc/test/win/d3d_renderer.h b/webrtc/test/win/d3d_renderer.h
index cf2319e..46ce266 100644
--- a/webrtc/test/win/d3d_renderer.h
+++ b/webrtc/test/win/d3d_renderer.h
@@ -7,8 +7,8 @@
  *  in the file PATENTS.  All contributing project authors may
  *  be found in the AUTHORS file in the root of the source tree.
  */
-#ifndef WEBRTC_TEST_WIN_D3D_RENDERER_H_
-#define WEBRTC_TEST_WIN_D3D_RENDERER_H_
+#ifndef WEBRTC_VIDEO_ENGINE_TEST_COMMON_WIN_D3D_RENDERER_H_
+#define WEBRTC_VIDEO_ENGINE_TEST_COMMON_WIN_D3D_RENDERER_H_
 
 #include <Windows.h>
 #include <d3d9.h>
@@ -51,4 +51,4 @@
 }  // namespace test
 }  // namespace webrtc
 
-#endif  // WEBRTC_TEST_WIN_D3D_RENDERER_H_
+#endif  // WEBRTC_VIDEO_ENGINE_TEST_COMMON_WIN_D3D_RENDERER_H_
diff --git a/webrtc/transport.h b/webrtc/transport.h
index 4e329de..b9df7c3 100644
--- a/webrtc/transport.h
+++ b/webrtc/transport.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef WEBRTC_TRANSPORT_H_
-#define WEBRTC_TRANSPORT_H_
+#ifndef WEBRTC_VIDEO_ENGINE_NEW_INCLUDE_TRANSPORT_H_
+#define WEBRTC_VIDEO_ENGINE_NEW_INCLUDE_TRANSPORT_H_
 
 #include <stddef.h>
 
@@ -38,4 +38,4 @@
 
 }  // namespace webrtc
 
-#endif  // WEBRTC_TRANSPORT_H_
+#endif  // WEBRTC_VIDEO_ENGINE_NEW_INCLUDE_TRANSPORT_H_
diff --git a/webrtc/video/BUILD.gn b/webrtc/video/BUILD.gn
index e35772e..9db0dfc 100644
--- a/webrtc/video/BUILD.gn
+++ b/webrtc/video/BUILD.gn
@@ -10,24 +10,34 @@
 
 source_set("video") {
   sources = [
-    "call_stats.cc",
-    "call_stats.h",
+    "../video_engine/call_stats.cc",
+    "../video_engine/call_stats.h",
+    "../video_engine/encoder_state_feedback.cc",
+    "../video_engine/encoder_state_feedback.h",
+    "../video_engine/overuse_frame_detector.cc",
+    "../video_engine/overuse_frame_detector.h",
+    "../video_engine/payload_router.cc",
+    "../video_engine/payload_router.h",
+    "../video_engine/report_block_stats.cc",
+    "../video_engine/report_block_stats.h",
+    "../video_engine/stream_synchronization.cc",
+    "../video_engine/stream_synchronization.h",
+    "../video_engine/vie_channel.cc",
+    "../video_engine/vie_channel.h",
+    "../video_engine/vie_encoder.cc",
+    "../video_engine/vie_encoder.h",
+    "../video_engine/vie_receiver.cc",
+    "../video_engine/vie_receiver.h",
+    "../video_engine/vie_remb.cc",
+    "../video_engine/vie_remb.h",
+    "../video_engine/vie_sync_module.cc",
+    "../video_engine/vie_sync_module.h",
     "encoded_frame_callback_adapter.cc",
     "encoded_frame_callback_adapter.h",
-    "encoder_state_feedback.cc",
-    "encoder_state_feedback.h",
-    "overuse_frame_detector.cc",
-    "overuse_frame_detector.h",
-    "payload_router.cc",
-    "payload_router.h",
     "receive_statistics_proxy.cc",
     "receive_statistics_proxy.h",
-    "report_block_stats.cc",
-    "report_block_stats.h",
     "send_statistics_proxy.cc",
     "send_statistics_proxy.h",
-    "stream_synchronization.cc",
-    "stream_synchronization.h",
     "video_capture_input.cc",
     "video_capture_input.h",
     "video_decoder.cc",
@@ -36,16 +46,6 @@
     "video_receive_stream.h",
     "video_send_stream.cc",
     "video_send_stream.h",
-    "vie_channel.cc",
-    "vie_channel.h",
-    "vie_encoder.cc",
-    "vie_encoder.h",
-    "vie_receiver.cc",
-    "vie_receiver.h",
-    "vie_remb.cc",
-    "vie_remb.h",
-    "vie_sync_module.cc",
-    "vie_sync_module.h",
   ]
 
   configs += [ "..:common_config" ]
@@ -69,7 +69,7 @@
     "../modules/video_coding",
     "../modules/video_processing",
     "../modules/video_render:video_render_module",
-    "../system_wrappers",
     "../voice_engine",
+    "../system_wrappers",
   ]
 }
diff --git a/webrtc/video/receive_statistics_proxy.h b/webrtc/video/receive_statistics_proxy.h
index 91f4105..613dca9 100644
--- a/webrtc/video/receive_statistics_proxy.h
+++ b/webrtc/video/receive_statistics_proxy.h
@@ -20,8 +20,8 @@
 #include "webrtc/frame_callback.h"
 #include "webrtc/modules/remote_bitrate_estimator/rate_statistics.h"
 #include "webrtc/modules/video_coding/include/video_coding_defines.h"
-#include "webrtc/video/report_block_stats.h"
-#include "webrtc/video/vie_channel.h"
+#include "webrtc/video_engine/report_block_stats.h"
+#include "webrtc/video_engine/vie_channel.h"
 #include "webrtc/video_receive_stream.h"
 #include "webrtc/video_renderer.h"
 
diff --git a/webrtc/video/send_statistics_proxy.h b/webrtc/video/send_statistics_proxy.h
index c098e3a..4098e33 100644
--- a/webrtc/video/send_statistics_proxy.h
+++ b/webrtc/video/send_statistics_proxy.h
@@ -22,8 +22,8 @@
 #include "webrtc/modules/video_coding/include/video_codec_interface.h"
 #include "webrtc/modules/video_coding/include/video_coding_defines.h"
 #include "webrtc/system_wrappers/include/clock.h"
-#include "webrtc/video/overuse_frame_detector.h"
-#include "webrtc/video/vie_encoder.h"
+#include "webrtc/video_engine/overuse_frame_detector.h"
+#include "webrtc/video_engine/vie_encoder.h"
 #include "webrtc/video_send_stream.h"
 
 namespace webrtc {
diff --git a/webrtc/video/video_capture_input.cc b/webrtc/video/video_capture_input.cc
index c277c7a..ac05e36 100644
--- a/webrtc/video/video_capture_input.cc
+++ b/webrtc/video/video_capture_input.cc
@@ -22,9 +22,9 @@
 #include "webrtc/system_wrappers/include/critical_section_wrapper.h"
 #include "webrtc/system_wrappers/include/event_wrapper.h"
 #include "webrtc/system_wrappers/include/tick_util.h"
-#include "webrtc/video/overuse_frame_detector.h"
 #include "webrtc/video/send_statistics_proxy.h"
-#include "webrtc/video/vie_encoder.h"
+#include "webrtc/video_engine/overuse_frame_detector.h"
+#include "webrtc/video_engine/vie_encoder.h"
 
 namespace webrtc {
 
diff --git a/webrtc/video/video_receive_stream.cc b/webrtc/video/video_receive_stream.cc
index 5bc79d6..163baef 100644
--- a/webrtc/video/video_receive_stream.cc
+++ b/webrtc/video/video_receive_stream.cc
@@ -19,8 +19,8 @@
 #include "webrtc/call/congestion_controller.h"
 #include "webrtc/common_video/libyuv/include/webrtc_libyuv.h"
 #include "webrtc/system_wrappers/include/clock.h"
-#include "webrtc/video/call_stats.h"
 #include "webrtc/video/receive_statistics_proxy.h"
+#include "webrtc/video_engine/call_stats.h"
 #include "webrtc/video_receive_stream.h"
 
 namespace webrtc {
diff --git a/webrtc/video/video_receive_stream.h b/webrtc/video/video_receive_stream.h
index 0ff5269..56f31e5 100644
--- a/webrtc/video/video_receive_stream.h
+++ b/webrtc/video/video_receive_stream.h
@@ -22,9 +22,9 @@
 #include "webrtc/system_wrappers/include/clock.h"
 #include "webrtc/video/encoded_frame_callback_adapter.h"
 #include "webrtc/video/receive_statistics_proxy.h"
-#include "webrtc/video/vie_channel.h"
-#include "webrtc/video/vie_encoder.h"
 #include "webrtc/video_encoder.h"
+#include "webrtc/video_engine/vie_channel.h"
+#include "webrtc/video_engine/vie_encoder.h"
 #include "webrtc/video_receive_stream.h"
 
 namespace webrtc {
diff --git a/webrtc/video/video_send_stream.cc b/webrtc/video/video_send_stream.cc
index 08b0f19..3bc026c 100644
--- a/webrtc/video/video_send_stream.cc
+++ b/webrtc/video/video_send_stream.cc
@@ -22,12 +22,12 @@
 #include "webrtc/common_video/libyuv/include/webrtc_libyuv.h"
 #include "webrtc/modules/bitrate_controller/include/bitrate_controller.h"
 #include "webrtc/modules/pacing/packet_router.h"
-#include "webrtc/video/call_stats.h"
-#include "webrtc/video/encoder_state_feedback.h"
-#include "webrtc/video/payload_router.h"
 #include "webrtc/video/video_capture_input.h"
-#include "webrtc/video/vie_channel.h"
-#include "webrtc/video/vie_encoder.h"
+#include "webrtc/video_engine/call_stats.h"
+#include "webrtc/video_engine/encoder_state_feedback.h"
+#include "webrtc/video_engine/payload_router.h"
+#include "webrtc/video_engine/vie_channel.h"
+#include "webrtc/video_engine/vie_encoder.h"
 #include "webrtc/video_send_stream.h"
 
 namespace webrtc {
diff --git a/webrtc/video/webrtc_video.gypi b/webrtc/video/webrtc_video.gypi
index db8d5c7..87876e3 100644
--- a/webrtc/video/webrtc_video.gypi
+++ b/webrtc/video/webrtc_video.gypi
@@ -24,24 +24,12 @@
       '<(webrtc_root)/webrtc.gyp:rtc_event_log',
     ],
     'webrtc_video_sources': [
-      'video/call_stats.cc',
-      'video/call_stats.h',
       'video/encoded_frame_callback_adapter.cc',
       'video/encoded_frame_callback_adapter.h',
-      'video/encoder_state_feedback.cc',
-      'video/encoder_state_feedback.h',
-      'video/overuse_frame_detector.cc',
-      'video/overuse_frame_detector.h',
-      'video/payload_router.cc',
-      'video/payload_router.h',
       'video/receive_statistics_proxy.cc',
       'video/receive_statistics_proxy.h',
-      'video/report_block_stats.cc',
-      'video/report_block_stats.h',
       'video/send_statistics_proxy.cc',
       'video/send_statistics_proxy.h',
-      'video/stream_synchronization.cc',
-      'video/stream_synchronization.h',
       'video/video_capture_input.cc',
       'video/video_capture_input.h',
       'video/video_decoder.cc',
@@ -50,16 +38,28 @@
       'video/video_receive_stream.h',
       'video/video_send_stream.cc',
       'video/video_send_stream.h',
-      'video/vie_channel.cc',
-      'video/vie_channel.h',
-      'video/vie_encoder.cc',
-      'video/vie_encoder.h',
-      'video/vie_receiver.cc',
-      'video/vie_receiver.h',
-      'video/vie_remb.cc',
-      'video/vie_remb.h',
-      'video/vie_sync_module.cc',
-      'video/vie_sync_module.h',
+      'video_engine/call_stats.cc',
+      'video_engine/call_stats.h',
+      'video_engine/encoder_state_feedback.cc',
+      'video_engine/encoder_state_feedback.h',
+      'video_engine/overuse_frame_detector.cc',
+      'video_engine/overuse_frame_detector.h',
+      'video_engine/payload_router.cc',
+      'video_engine/payload_router.h',
+      'video_engine/report_block_stats.cc',
+      'video_engine/report_block_stats.h',
+      'video_engine/stream_synchronization.cc',
+      'video_engine/stream_synchronization.h',
+      'video_engine/vie_channel.cc',
+      'video_engine/vie_channel.h',
+      'video_engine/vie_encoder.cc',
+      'video_engine/vie_encoder.h',
+      'video_engine/vie_receiver.cc',
+      'video_engine/vie_receiver.h',
+      'video_engine/vie_remb.cc',
+      'video_engine/vie_remb.h',
+      'video_engine/vie_sync_module.cc',
+      'video_engine/vie_sync_module.h',
     ],
   },
 }
diff --git a/webrtc/video_engine/OWNERS b/webrtc/video_engine/OWNERS
new file mode 100644
index 0000000..a8201f0
--- /dev/null
+++ b/webrtc/video_engine/OWNERS
@@ -0,0 +1,13 @@
+mflodman@webrtc.org
+pbos@webrtc.org
+stefan@webrtc.org
+
+per-file *.isolate=kjellander@webrtc.org
+
+# These are for the common case of adding or renaming files. If you're doing
+# structural changes, please get a review from a reviewer in this file.
+per-file *.gyp=*
+per-file *.gypi=*
+
+per-file BUILD.gn=kjellander@webrtc.org
+
diff --git a/webrtc/video/call_stats.cc b/webrtc/video_engine/call_stats.cc
similarity index 98%
rename from webrtc/video/call_stats.cc
rename to webrtc/video_engine/call_stats.cc
index 8a2802f..4d5338c 100644
--- a/webrtc/video/call_stats.cc
+++ b/webrtc/video_engine/call_stats.cc
@@ -8,12 +8,10 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "webrtc/video/call_stats.h"
+#include "webrtc/video_engine/call_stats.h"
 
 #include <assert.h>
 
-#include <algorithm>
-
 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h"
 #include "webrtc/system_wrappers/include/critical_section_wrapper.h"
 #include "webrtc/system_wrappers/include/tick_util.h"
diff --git a/webrtc/video/call_stats.h b/webrtc/video_engine/call_stats.h
similarity index 94%
rename from webrtc/video/call_stats.h
rename to webrtc/video_engine/call_stats.h
index aad4a93..d0a0b53 100644
--- a/webrtc/video/call_stats.h
+++ b/webrtc/video_engine/call_stats.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef WEBRTC_VIDEO_CALL_STATS_H_
-#define WEBRTC_VIDEO_CALL_STATS_H_
+#ifndef WEBRTC_VIDEO_ENGINE_CALL_STATS_H_
+#define WEBRTC_VIDEO_ENGINE_CALL_STATS_H_
 
 #include <list>
 
@@ -78,4 +78,4 @@
 
 }  // namespace webrtc
 
-#endif  // WEBRTC_VIDEO_CALL_STATS_H_
+#endif  // WEBRTC_VIDEO_ENGINE_CALL_STATS_H_
diff --git a/webrtc/video/call_stats_unittest.cc b/webrtc/video_engine/call_stats_unittest.cc
similarity index 99%
rename from webrtc/video/call_stats_unittest.cc
rename to webrtc/video_engine/call_stats_unittest.cc
index 6b2e38f..bfba5cb 100644
--- a/webrtc/video/call_stats_unittest.cc
+++ b/webrtc/video_engine/call_stats_unittest.cc
@@ -14,7 +14,7 @@
 #include "webrtc/base/scoped_ptr.h"
 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h"
 #include "webrtc/system_wrappers/include/tick_util.h"
-#include "webrtc/video/call_stats.h"
+#include "webrtc/video_engine/call_stats.h"
 
 using ::testing::_;
 using ::testing::AnyNumber;
diff --git a/webrtc/video/encoder_state_feedback.cc b/webrtc/video_engine/encoder_state_feedback.cc
similarity index 97%
rename from webrtc/video/encoder_state_feedback.cc
rename to webrtc/video_engine/encoder_state_feedback.cc
index c0c4b67..16ee8b9 100644
--- a/webrtc/video/encoder_state_feedback.cc
+++ b/webrtc/video_engine/encoder_state_feedback.cc
@@ -8,14 +8,14 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "webrtc/video/encoder_state_feedback.h"
+#include "webrtc/video_engine/encoder_state_feedback.h"
 
 #include <assert.h>
 
 #include "webrtc/base/checks.h"
 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h"
 #include "webrtc/system_wrappers/include/critical_section_wrapper.h"
-#include "webrtc/video/vie_encoder.h"
+#include "webrtc/video_engine/vie_encoder.h"
 
 namespace webrtc {
 
diff --git a/webrtc/video/encoder_state_feedback.h b/webrtc/video_engine/encoder_state_feedback.h
similarity index 92%
rename from webrtc/video/encoder_state_feedback.h
rename to webrtc/video_engine/encoder_state_feedback.h
index 620e382..51e9111 100644
--- a/webrtc/video/encoder_state_feedback.h
+++ b/webrtc/video_engine/encoder_state_feedback.h
@@ -11,8 +11,8 @@
 // TODO(mflodman) ViEEncoder has a time check to not send key frames too often,
 // move the logic to this class.
 
-#ifndef WEBRTC_VIDEO_ENCODER_STATE_FEEDBACK_H_
-#define WEBRTC_VIDEO_ENCODER_STATE_FEEDBACK_H_
+#ifndef WEBRTC_VIDEO_ENGINE_ENCODER_STATE_FEEDBACK_H_
+#define WEBRTC_VIDEO_ENGINE_ENCODER_STATE_FEEDBACK_H_
 
 #include <map>
 #include <vector>
@@ -68,4 +68,4 @@
 
 }  // namespace webrtc
 
-#endif  // WEBRTC_VIDEO_ENCODER_STATE_FEEDBACK_H_
+#endif  // WEBRTC_VIDEO_ENGINE_ENCODER_STATE_FEEDBACK_H_
diff --git a/webrtc/video/encoder_state_feedback_unittest.cc b/webrtc/video_engine/encoder_state_feedback_unittest.cc
similarity index 96%
rename from webrtc/video/encoder_state_feedback_unittest.cc
rename to webrtc/video_engine/encoder_state_feedback_unittest.cc
index 834447e..6024790 100644
--- a/webrtc/video/encoder_state_feedback_unittest.cc
+++ b/webrtc/video_engine/encoder_state_feedback_unittest.cc
@@ -10,7 +10,7 @@
 
 
 // This file includes unit tests for EncoderStateFeedback.
-#include "webrtc/video/encoder_state_feedback.h"
+#include "webrtc/video_engine/encoder_state_feedback.h"
 
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -22,8 +22,8 @@
 #include "webrtc/modules/pacing/packet_router.h"
 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h"
 #include "webrtc/modules/utility/include/mock/mock_process_thread.h"
-#include "webrtc/video/payload_router.h"
-#include "webrtc/video/vie_encoder.h"
+#include "webrtc/video_engine/payload_router.h"
+#include "webrtc/video_engine/vie_encoder.h"
 
 using ::testing::NiceMock;
 
diff --git a/webrtc/video/overuse_frame_detector.cc b/webrtc/video_engine/overuse_frame_detector.cc
similarity index 99%
rename from webrtc/video/overuse_frame_detector.cc
rename to webrtc/video_engine/overuse_frame_detector.cc
index db58266..264bedd 100644
--- a/webrtc/video/overuse_frame_detector.cc
+++ b/webrtc/video_engine/overuse_frame_detector.cc
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "webrtc/video/overuse_frame_detector.h"
+#include "webrtc/video_engine/overuse_frame_detector.h"
 
 #include <assert.h>
 #include <math.h>
diff --git a/webrtc/video/overuse_frame_detector.h b/webrtc/video_engine/overuse_frame_detector.h
similarity index 97%
rename from webrtc/video/overuse_frame_detector.h
rename to webrtc/video_engine/overuse_frame_detector.h
index d53042a..63281d2 100644
--- a/webrtc/video/overuse_frame_detector.h
+++ b/webrtc/video_engine/overuse_frame_detector.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef WEBRTC_VIDEO_OVERUSE_FRAME_DETECTOR_H_
-#define WEBRTC_VIDEO_OVERUSE_FRAME_DETECTOR_H_
+#ifndef WEBRTC_VIDEO_ENGINE_OVERUSE_FRAME_DETECTOR_H_
+#define WEBRTC_VIDEO_ENGINE_OVERUSE_FRAME_DETECTOR_H_
 
 #include "webrtc/base/constructormagic.h"
 #include "webrtc/base/criticalsection.h"
@@ -172,4 +172,4 @@
 
 }  // namespace webrtc
 
-#endif  // WEBRTC_VIDEO_OVERUSE_FRAME_DETECTOR_H_
+#endif  // WEBRTC_VIDEO_ENGINE_OVERUSE_FRAME_DETECTOR_H_
diff --git a/webrtc/video/overuse_frame_detector_unittest.cc b/webrtc/video_engine/overuse_frame_detector_unittest.cc
similarity index 99%
rename from webrtc/video/overuse_frame_detector_unittest.cc
rename to webrtc/video_engine/overuse_frame_detector_unittest.cc
index e8a7e28..f6f6bf5 100644
--- a/webrtc/video/overuse_frame_detector_unittest.cc
+++ b/webrtc/video_engine/overuse_frame_detector_unittest.cc
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "webrtc/video/overuse_frame_detector.h"
+#include "webrtc/video_engine/overuse_frame_detector.h"
 
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
diff --git a/webrtc/video/payload_router.cc b/webrtc/video_engine/payload_router.cc
similarity index 98%
rename from webrtc/video/payload_router.cc
rename to webrtc/video_engine/payload_router.cc
index 177f2dd..85b294b 100644
--- a/webrtc/video/payload_router.cc
+++ b/webrtc/video_engine/payload_router.cc
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "webrtc/video/payload_router.h"
+#include "webrtc/video_engine/payload_router.h"
 
 #include "webrtc/base/checks.h"
 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp.h"
diff --git a/webrtc/video/payload_router.h b/webrtc/video_engine/payload_router.h
similarity index 94%
rename from webrtc/video/payload_router.h
rename to webrtc/video_engine/payload_router.h
index 8811459..17bc279 100644
--- a/webrtc/video/payload_router.h
+++ b/webrtc/video_engine/payload_router.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef WEBRTC_VIDEO_PAYLOAD_ROUTER_H_
-#define WEBRTC_VIDEO_PAYLOAD_ROUTER_H_
+#ifndef WEBRTC_VIDEO_ENGINE_PAYLOAD_ROUTER_H_
+#define WEBRTC_VIDEO_ENGINE_PAYLOAD_ROUTER_H_
 
 #include <list>
 #include <vector>
@@ -82,4 +82,4 @@
 
 }  // namespace webrtc
 
-#endif  // WEBRTC_VIDEO_PAYLOAD_ROUTER_H_
+#endif  // WEBRTC_VIDEO_ENGINE_PAYLOAD_ROUTER_H_
diff --git a/webrtc/video/payload_router_unittest.cc b/webrtc/video_engine/payload_router_unittest.cc
similarity index 99%
rename from webrtc/video/payload_router_unittest.cc
rename to webrtc/video_engine/payload_router_unittest.cc
index 8c22f2f..11c664b 100644
--- a/webrtc/video/payload_router_unittest.cc
+++ b/webrtc/video_engine/payload_router_unittest.cc
@@ -16,7 +16,7 @@
 #include "webrtc/base/scoped_ptr.h"
 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp.h"
 #include "webrtc/modules/rtp_rtcp/mocks/mock_rtp_rtcp.h"
-#include "webrtc/video/payload_router.h"
+#include "webrtc/video_engine/payload_router.h"
 
 using ::testing::_;
 using ::testing::AnyNumber;
diff --git a/webrtc/video/report_block_stats.cc b/webrtc/video_engine/report_block_stats.cc
similarity index 98%
rename from webrtc/video/report_block_stats.cc
rename to webrtc/video_engine/report_block_stats.cc
index dee5662..6df6288 100644
--- a/webrtc/video/report_block_stats.cc
+++ b/webrtc/video_engine/report_block_stats.cc
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "webrtc/video/report_block_stats.h"
+#include "webrtc/video_engine/report_block_stats.h"
 
 namespace webrtc {
 
diff --git a/webrtc/video/report_block_stats.h b/webrtc/video_engine/report_block_stats.h
similarity index 92%
rename from webrtc/video/report_block_stats.h
rename to webrtc/video_engine/report_block_stats.h
index c54e467..dd43072 100644
--- a/webrtc/video/report_block_stats.h
+++ b/webrtc/video_engine/report_block_stats.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef WEBRTC_VIDEO_REPORT_BLOCK_STATS_H_
-#define WEBRTC_VIDEO_REPORT_BLOCK_STATS_H_
+#ifndef WEBRTC_VIDEO_ENGINE_REPORT_BLOCK_STATS_H_
+#define WEBRTC_VIDEO_ENGINE_REPORT_BLOCK_STATS_H_
 
 #include <map>
 #include <vector>
@@ -58,5 +58,5 @@
 
 }  // namespace webrtc
 
-#endif  // WEBRTC_VIDEO_REPORT_BLOCK_STATS_H_
+#endif  // WEBRTC_VIDEO_ENGINE_REPORT_BLOCK_STATS_H_
 
diff --git a/webrtc/video/report_block_stats_unittest.cc b/webrtc/video_engine/report_block_stats_unittest.cc
similarity index 98%
rename from webrtc/video/report_block_stats_unittest.cc
rename to webrtc/video_engine/report_block_stats_unittest.cc
index 5cde900..13b7af5 100644
--- a/webrtc/video/report_block_stats_unittest.cc
+++ b/webrtc/video_engine/report_block_stats_unittest.cc
@@ -10,7 +10,7 @@
 
 #include "testing/gtest/include/gtest/gtest.h"
 
-#include "webrtc/video/report_block_stats.h"
+#include "webrtc/video_engine/report_block_stats.h"
 
 namespace webrtc {
 
diff --git a/webrtc/video/stream_synchronization.cc b/webrtc/video_engine/stream_synchronization.cc
similarity index 99%
rename from webrtc/video/stream_synchronization.cc
rename to webrtc/video_engine/stream_synchronization.cc
index cb37d80..b78cfe8 100644
--- a/webrtc/video/stream_synchronization.cc
+++ b/webrtc/video_engine/stream_synchronization.cc
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "webrtc/video/stream_synchronization.h"
+#include "webrtc/video_engine/stream_synchronization.h"
 
 #include <assert.h>
 #include <math.h>
diff --git a/webrtc/video/stream_synchronization.h b/webrtc/video_engine/stream_synchronization.h
similarity index 91%
rename from webrtc/video/stream_synchronization.h
rename to webrtc/video_engine/stream_synchronization.h
index cb7c110..1209062 100644
--- a/webrtc/video/stream_synchronization.h
+++ b/webrtc/video_engine/stream_synchronization.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef WEBRTC_VIDEO_STREAM_SYNCHRONIZATION_H_
-#define WEBRTC_VIDEO_STREAM_SYNCHRONIZATION_H_
+#ifndef WEBRTC_VIDEO_ENGINE_STREAM_SYNCHRONIZATION_H_
+#define WEBRTC_VIDEO_ENGINE_STREAM_SYNCHRONIZATION_H_
 
 #include <list>
 
@@ -56,4 +56,4 @@
 };
 }  // namespace webrtc
 
-#endif  // WEBRTC_VIDEO_STREAM_SYNCHRONIZATION_H_
+#endif  // WEBRTC_VIDEO_ENGINE_STREAM_SYNCHRONIZATION_H_
diff --git a/webrtc/video/stream_synchronization_unittest.cc b/webrtc/video_engine/stream_synchronization_unittest.cc
similarity index 99%
rename from webrtc/video/stream_synchronization_unittest.cc
rename to webrtc/video_engine/stream_synchronization_unittest.cc
index 2834dfe..1c55c2b 100644
--- a/webrtc/video/stream_synchronization_unittest.cc
+++ b/webrtc/video_engine/stream_synchronization_unittest.cc
@@ -13,7 +13,7 @@
 #include <algorithm>
 
 #include "testing/gtest/include/gtest/gtest.h"
-#include "webrtc/video/stream_synchronization.h"
+#include "webrtc/video_engine/stream_synchronization.h"
 
 namespace webrtc {
 
diff --git a/webrtc/video/vie_channel.cc b/webrtc/video_engine/vie_channel.cc
similarity index 99%
rename from webrtc/video/vie_channel.cc
rename to webrtc/video_engine/vie_channel.cc
index 4097a8b..681f72c 100644
--- a/webrtc/video/vie_channel.cc
+++ b/webrtc/video_engine/vie_channel.cc
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "webrtc/video/vie_channel.h"
+#include "webrtc/video_engine/vie_channel.h"
 
 #include <algorithm>
 #include <map>
@@ -31,10 +31,10 @@
 #include "webrtc/modules/video_render/video_render_defines.h"
 #include "webrtc/system_wrappers/include/critical_section_wrapper.h"
 #include "webrtc/system_wrappers/include/metrics.h"
-#include "webrtc/video/call_stats.h"
-#include "webrtc/video/payload_router.h"
 #include "webrtc/video/receive_statistics_proxy.h"
-#include "webrtc/video/report_block_stats.h"
+#include "webrtc/video_engine/call_stats.h"
+#include "webrtc/video_engine/payload_router.h"
+#include "webrtc/video_engine/report_block_stats.h"
 
 namespace webrtc {
 
diff --git a/webrtc/video/vie_channel.h b/webrtc/video_engine/vie_channel.h
similarity index 98%
rename from webrtc/video/vie_channel.h
rename to webrtc/video_engine/vie_channel.h
index ed0712b..00c9532 100644
--- a/webrtc/video/vie_channel.h
+++ b/webrtc/video_engine/vie_channel.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef WEBRTC_VIDEO_VIE_CHANNEL_H_
-#define WEBRTC_VIDEO_VIE_CHANNEL_H_
+#ifndef WEBRTC_VIDEO_ENGINE_VIE_CHANNEL_H_
+#define WEBRTC_VIDEO_ENGINE_VIE_CHANNEL_H_
 
 #include <list>
 #include <map>
@@ -25,8 +25,8 @@
 #include "webrtc/system_wrappers/include/critical_section_wrapper.h"
 #include "webrtc/system_wrappers/include/tick_util.h"
 #include "webrtc/typedefs.h"
-#include "webrtc/video/vie_receiver.h"
-#include "webrtc/video/vie_sync_module.h"
+#include "webrtc/video_engine/vie_receiver.h"
+#include "webrtc/video_engine/vie_sync_module.h"
 
 namespace webrtc {
 
@@ -454,4 +454,4 @@
 
 }  // namespace webrtc
 
-#endif  // WEBRTC_VIDEO_VIE_CHANNEL_H_
+#endif  // WEBRTC_VIDEO_ENGINE_VIE_CHANNEL_H_
diff --git a/webrtc/video/vie_codec_unittest.cc b/webrtc/video_engine/vie_codec_unittest.cc
similarity index 100%
rename from webrtc/video/vie_codec_unittest.cc
rename to webrtc/video_engine/vie_codec_unittest.cc
diff --git a/webrtc/video/vie_encoder.cc b/webrtc/video_engine/vie_encoder.cc
similarity index 99%
rename from webrtc/video/vie_encoder.cc
rename to webrtc/video_engine/vie_encoder.cc
index 803825c..90a87fd 100644
--- a/webrtc/video/vie_encoder.cc
+++ b/webrtc/video_engine/vie_encoder.cc
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "webrtc/video/vie_encoder.h"
+#include "webrtc/video_engine/vie_encoder.h"
 
 #include <assert.h>
 
@@ -32,8 +32,8 @@
 #include "webrtc/system_wrappers/include/critical_section_wrapper.h"
 #include "webrtc/system_wrappers/include/metrics.h"
 #include "webrtc/system_wrappers/include/tick_util.h"
-#include "webrtc/video/payload_router.h"
 #include "webrtc/video/send_statistics_proxy.h"
+#include "webrtc/video_engine/payload_router.h"
 
 namespace webrtc {
 
diff --git a/webrtc/video/vie_encoder.h b/webrtc/video_engine/vie_encoder.h
similarity index 97%
rename from webrtc/video/vie_encoder.h
rename to webrtc/video_engine/vie_encoder.h
index b86287c..9e6257a 100644
--- a/webrtc/video/vie_encoder.h
+++ b/webrtc/video_engine/vie_encoder.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef WEBRTC_VIDEO_VIE_ENCODER_H_
-#define WEBRTC_VIDEO_VIE_ENCODER_H_
+#ifndef WEBRTC_VIDEO_ENGINE_VIE_ENCODER_H_
+#define WEBRTC_VIDEO_ENGINE_VIE_ENCODER_H_
 
 #include <map>
 #include <vector>
@@ -192,4 +192,4 @@
 
 }  // namespace webrtc
 
-#endif  // WEBRTC_VIDEO_VIE_ENCODER_H_
+#endif  // WEBRTC_VIDEO_ENGINE_VIE_ENCODER_H_
diff --git a/webrtc/video/vie_receiver.cc b/webrtc/video_engine/vie_receiver.cc
similarity index 99%
rename from webrtc/video/vie_receiver.cc
rename to webrtc/video_engine/vie_receiver.cc
index 98c8c5d..56dfb28 100644
--- a/webrtc/video/vie_receiver.cc
+++ b/webrtc/video_engine/vie_receiver.cc
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "webrtc/video/vie_receiver.h"
+#include "webrtc/video_engine/vie_receiver.h"
 
 #include <vector>
 
diff --git a/webrtc/video/vie_receiver.h b/webrtc/video_engine/vie_receiver.h
similarity index 96%
rename from webrtc/video/vie_receiver.h
rename to webrtc/video_engine/vie_receiver.h
index 8204888..b0c5749 100644
--- a/webrtc/video/vie_receiver.h
+++ b/webrtc/video_engine/vie_receiver.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef WEBRTC_VIDEO_VIE_RECEIVER_H_
-#define WEBRTC_VIDEO_VIE_RECEIVER_H_
+#ifndef WEBRTC_VIDEO_ENGINE_VIE_RECEIVER_H_
+#define WEBRTC_VIDEO_ENGINE_VIE_RECEIVER_H_
 
 #include <list>
 #include <vector>
@@ -129,4 +129,4 @@
 
 }  // namespace webrtc
 
-#endif  // WEBRTC_VIDEO_VIE_RECEIVER_H_
+#endif  // WEBRTC_VIDEO_ENGINE_VIE_RECEIVER_H_
diff --git a/webrtc/video/vie_remb.cc b/webrtc/video_engine/vie_remb.cc
similarity index 98%
rename from webrtc/video/vie_remb.cc
rename to webrtc/video_engine/vie_remb.cc
index 923e55c..3901d6d 100644
--- a/webrtc/video/vie_remb.cc
+++ b/webrtc/video_engine/vie_remb.cc
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "webrtc/video/vie_remb.h"
+#include "webrtc/video_engine/vie_remb.h"
 
 #include <assert.h>
 
diff --git a/webrtc/video/vie_remb.h b/webrtc/video_engine/vie_remb.h
similarity index 94%
rename from webrtc/video/vie_remb.h
rename to webrtc/video_engine/vie_remb.h
index 2e57b3a..6a79ffe 100644
--- a/webrtc/video/vie_remb.h
+++ b/webrtc/video_engine/vie_remb.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef WEBRTC_VIDEO_VIE_REMB_H_
-#define WEBRTC_VIDEO_VIE_REMB_H_
+#ifndef WEBRTC_VIDEO_ENGINE_VIE_REMB_H_
+#define WEBRTC_VIDEO_ENGINE_VIE_REMB_H_
 
 #include <list>
 #include <utility>
@@ -75,4 +75,4 @@
 
 }  // namespace webrtc
 
-#endif  // WEBRTC_VIDEO_VIE_REMB_H_
+#endif  // WEBRTC_VIDEO_ENGINE_VIE_REMB_H_
diff --git a/webrtc/video/vie_remb_unittest.cc b/webrtc/video_engine/vie_remb_unittest.cc
similarity index 99%
rename from webrtc/video/vie_remb_unittest.cc
rename to webrtc/video_engine/vie_remb_unittest.cc
index 1a81271..f319d0d 100644
--- a/webrtc/video/vie_remb_unittest.cc
+++ b/webrtc/video_engine/vie_remb_unittest.cc
@@ -20,7 +20,7 @@
 #include "webrtc/modules/rtp_rtcp/mocks/mock_rtp_rtcp.h"
 #include "webrtc/modules/utility/include/mock/mock_process_thread.h"
 #include "webrtc/system_wrappers/include/tick_util.h"
-#include "webrtc/video/vie_remb.h"
+#include "webrtc/video_engine/vie_remb.h"
 
 using ::testing::_;
 using ::testing::AnyNumber;
diff --git a/webrtc/video/vie_sync_module.cc b/webrtc/video_engine/vie_sync_module.cc
similarity index 97%
rename from webrtc/video/vie_sync_module.cc
rename to webrtc/video_engine/vie_sync_module.cc
index 9ca9a94..6fe32a7 100644
--- a/webrtc/video/vie_sync_module.cc
+++ b/webrtc/video_engine/vie_sync_module.cc
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "webrtc/video/vie_sync_module.h"
+#include "webrtc/video_engine/vie_sync_module.h"
 
 #include "webrtc/base/logging.h"
 #include "webrtc/base/trace_event.h"
@@ -16,7 +16,7 @@
 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp.h"
 #include "webrtc/modules/video_coding/include/video_coding.h"
 #include "webrtc/system_wrappers/include/critical_section_wrapper.h"
-#include "webrtc/video/stream_synchronization.h"
+#include "webrtc/video_engine/stream_synchronization.h"
 #include "webrtc/voice_engine/include/voe_video_sync.h"
 
 namespace webrtc {
diff --git a/webrtc/video/vie_sync_module.h b/webrtc/video_engine/vie_sync_module.h
similarity index 89%
rename from webrtc/video/vie_sync_module.h
rename to webrtc/video_engine/vie_sync_module.h
index a9ad20a..dcd8072 100644
--- a/webrtc/video/vie_sync_module.h
+++ b/webrtc/video_engine/vie_sync_module.h
@@ -11,13 +11,13 @@
 // ViESyncModule is responsible for synchronization audio and video for a given
 // VoE and ViE channel couple.
 
-#ifndef WEBRTC_VIDEO_VIE_SYNC_MODULE_H_
-#define WEBRTC_VIDEO_VIE_SYNC_MODULE_H_
+#ifndef WEBRTC_VIDEO_ENGINE_VIE_SYNC_MODULE_H_
+#define WEBRTC_VIDEO_ENGINE_VIE_SYNC_MODULE_H_
 
 #include "webrtc/base/scoped_ptr.h"
 #include "webrtc/modules/include/module.h"
 #include "webrtc/system_wrappers/include/tick_util.h"
-#include "webrtc/video/stream_synchronization.h"
+#include "webrtc/video_engine/stream_synchronization.h"
 #include "webrtc/voice_engine/include/voe_video_sync.h"
 
 namespace webrtc {
@@ -59,4 +59,4 @@
 
 }  // namespace webrtc
 
-#endif  // WEBRTC_VIDEO_VIE_SYNC_MODULE_H_
+#endif  // WEBRTC_VIDEO_ENGINE_VIE_SYNC_MODULE_H_
diff --git a/webrtc/video_renderer.h b/webrtc/video_renderer.h
index 7cb9ed1..621e705 100644
--- a/webrtc/video_renderer.h
+++ b/webrtc/video_renderer.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef WEBRTC_VIDEO_RENDERER_H_
-#define WEBRTC_VIDEO_RENDERER_H_
+#ifndef WEBRTC_VIDEO_ENGINE_NEW_INCLUDE_VIDEO_RENDERER_H_
+#define WEBRTC_VIDEO_ENGINE_NEW_INCLUDE_VIDEO_RENDERER_H_
 
 namespace webrtc {
 
@@ -35,4 +35,4 @@
 };
 }  // namespace webrtc
 
-#endif  // WEBRTC_VIDEO_RENDERER_H_
+#endif  // WEBRTC_VIDEO_ENGINE_NEW_INCLUDE_VIDEO_RENDERER_H_
diff --git a/webrtc/webrtc_tests.gypi b/webrtc/webrtc_tests.gypi
index 238778b..4b8a6d9 100644
--- a/webrtc/webrtc_tests.gypi
+++ b/webrtc/webrtc_tests.gypi
@@ -160,20 +160,20 @@
         'call/packet_injection_tests.cc',
         'test/common_unittest.cc',
         'test/testsupport/metrics/video_metrics_unittest.cc',
-        'video/call_stats_unittest.cc',
-        'video/encoder_state_feedback_unittest.cc',
         'video/end_to_end_tests.cc',
-        'video/overuse_frame_detector_unittest.cc',
-        'video/payload_router_unittest.cc',
-        'video/report_block_stats_unittest.cc',
         'video/send_statistics_proxy_unittest.cc',
-        'video/stream_synchronization_unittest.cc',
         'video/video_capture_input_unittest.cc',
         'video/video_decoder_unittest.cc',
         'video/video_encoder_unittest.cc',
         'video/video_send_stream_tests.cc',
-        'video/vie_codec_unittest.cc',
-        'video/vie_remb_unittest.cc',
+        'video_engine/call_stats_unittest.cc',
+        'video_engine/encoder_state_feedback_unittest.cc',
+        'video_engine/overuse_frame_detector_unittest.cc',
+        'video_engine/payload_router_unittest.cc',
+        'video_engine/report_block_stats_unittest.cc',
+        'video_engine/stream_synchronization_unittest.cc',
+        'video_engine/vie_codec_unittest.cc',
+        'video_engine/vie_remb_unittest.cc',
       ],
       'dependencies': [
         '<(DEPTH)/testing/gmock.gyp:gmock',