Add untracked headers to video_coding.

This creates a new target for pure defines and interfaces. I think
that makes sense (though include/ makes it harder to see when .cc and
.h files should live together).

Bug: webrtc:7620
Change-Id: Ifb0f50faf99166202836c0446feed3443eb52c6e
Reviewed-on: https://webrtc-review.googlesource.com/34657
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21516}
diff --git a/media/BUILD.gn b/media/BUILD.gn
index c702b59..1c8855e 100644
--- a/media/BUILD.gn
+++ b/media/BUILD.gn
@@ -129,7 +129,6 @@
   defines = []
   libs = []
   deps = []
-
   sources = [
     "engine/constants.cc",
     "engine/constants.h",
@@ -139,7 +138,9 @@
 rtc_static_library("rtc_internal_video_codecs") {
   defines = []
   libs = []
-  deps = []
+  deps = [
+    "../modules/video_coding:video_codec_interface",
+  ]
   sources = [
     "engine/convert_legacy_video_factory.cc",
     "engine/convert_legacy_video_factory.h",
@@ -214,6 +215,7 @@
   defines = []
   libs = []
   deps = [
+    "../modules/video_coding:video_coding",
     "../rtc_base:checks",
   ]
 
@@ -399,6 +401,7 @@
       "../modules/audio_coding:rent_a_codec",
       "../modules/audio_processing:audio_processing",
       "../modules/rtp_rtcp:rtp_rtcp_format",
+      "../modules/video_coding:video_codec_interface",
       "../modules/video_coding:video_coding_utility",
       "../p2p:rtc_p2p",
       "../rtc_base:checks",
@@ -494,6 +497,7 @@
       ":rtc_constants",
       "../api:video_frame_api_i420",
       "../modules/audio_processing:mocks",
+      "../modules/video_coding:video_codec_interface",
       "../pc:rtc_pc",
       "../pc:rtc_pc_base",
       "../rtc_base:checks",
diff --git a/modules/video_coding/BUILD.gn b/modules/video_coding/BUILD.gn
index fa8bc55..2ca7f14 100644
--- a/modules/video_coding/BUILD.gn
+++ b/modules/video_coding/BUILD.gn
@@ -36,8 +36,11 @@
     "histogram.cc",
     "histogram.h",
     "include/video_codec_initializer.h",
+
+    # TODO(bugs.webrtc.org/7620: remove these when downstream is updated).
+    "include/video_codec_interface.h",
     "include/video_coding.h",
-    "include/video_coding_defines.h",
+    "include/video_error_codes.h",
     "inter_frame_delay.cc",
     "inter_frame_delay.h",
     "internal_defines.h",
@@ -90,6 +93,7 @@
 
   deps = [
     ":codec_globals_headers",
+    ":video_codec_interface",
     ":video_coding_utility",
     ":webrtc_h264",
     ":webrtc_i420",
@@ -104,6 +108,7 @@
     "../../api:optional",
     "../../api:video_frame_api",
     "../../api:video_frame_api_i420",
+    "../../api/video_codecs:video_codecs_api",
     "../../call:video_stream_api",
     "../../common_video",
     "../../rtc_base:checks",
@@ -121,6 +126,22 @@
   ]
 }
 
+rtc_source_set("video_codec_interface") {
+  sources = [
+    "include/video_codec_interface.h",
+    "include/video_coding_defines.h",
+    "include/video_error_codes.h",
+  ]
+  deps = [
+    "..:module_api",
+    "../..:typedefs",
+    "../..:webrtc_common",
+    "../../api:video_frame_api",
+    "../../api/video_codecs:video_codecs_api",
+    "../../common_video:common_video",
+  ]
+}
+
 rtc_source_set("mock_headers") {
   testonly = true
   sources = [
@@ -128,6 +149,7 @@
     "include/mock/mock_video_codec_interface.h",
   ]
   deps = [
+    ":video_codec_interface",
     ":video_coding_utility",
     "../..:webrtc_common",
     "../../:typedefs",
@@ -171,6 +193,7 @@
   }
 
   deps = [
+    ":video_codec_interface",
     "..:module_api",
     "../..:webrtc_common",
     "../../:typedefs",
@@ -201,6 +224,7 @@
 
   defines = []
   deps = [
+    ":video_codec_interface",
     ":video_coding_utility",
     "../../api:video_frame_api_i420",
     "../../api/video_codecs:video_codecs_api",
@@ -242,6 +266,7 @@
   }
 
   deps = [
+    ":video_codec_interface",
     ":video_coding_utility",
     "../..:webrtc_common",
     "../../:typedefs",
@@ -268,6 +293,7 @@
   }
 
   deps = [
+    ":video_codec_interface",
     ":video_coding_utility",
     "..:module_api",
     "../..:webrtc_common",
@@ -327,6 +353,7 @@
   }
 
   deps = [
+    ":video_codec_interface",
     ":video_coding_utility",
     ":webrtc_vp8_helpers",
     "..:module_api",
@@ -371,6 +398,7 @@
   }
 
   deps = [
+    ":video_codec_interface",
     ":video_coding_utility",
     "..:module_api",
     "../../common_video",
@@ -423,6 +451,7 @@
 
     deps = [
       ":mock_headers",
+      ":video_codec_interface",
       ":video_coding",
       ":webrtc_vp8",
       ":webrtc_vp8_helpers",
@@ -458,6 +487,7 @@
 
     deps = [
       ":codec_globals_headers",
+      ":video_codec_interface",
       ":video_coding",
       ":video_coding_utility",
       ":webrtc_vp8",
@@ -512,6 +542,7 @@
     ]
 
     deps = [
+      ":video_codec_interface",
       ":video_codecs_test_framework",
       ":video_coding",
       ":video_coding_utility",
@@ -627,6 +658,7 @@
     deps = [
       ":mock_headers",
       ":simulcast_test_utility",
+      ":video_codec_interface",
       ":video_codecs_test_framework",
       ":video_coding",
       ":video_coding_utility",
diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn
index b62dd9b..655c79f 100644
--- a/sdk/BUILD.gn
+++ b/sdk/BUILD.gn
@@ -525,6 +525,7 @@
         "../common_video",
         "../media:rtc_media_base",
         "../modules:module_api",
+        "../modules/video_coding:video_codec_interface",
         "../pc:peerconnection",
         "../rtc_base:checks",
         "../rtc_base:rtc_base",
@@ -640,6 +641,7 @@
           "../../system_wrappers:system_wrappers_default",
           "../media:rtc_media_base",
           "../modules:module_api",
+          "../modules/video_coding:video_codec_interface",
           "../rtc_base:rtc_base_tests_utils",
           "//test:test_support",
           "//third_party/ocmock",
@@ -844,6 +846,7 @@
         "../media:rtc_media",
         "../media:rtc_media_base",
         "../modules:module_api",
+        "../modules/video_coding:video_codec_interface",
         "../modules/video_coding:video_coding_utility",
         "../modules/video_coding:webrtc_h264",
         "../rtc_base:checks",
diff --git a/sdk/android/BUILD.gn b/sdk/android/BUILD.gn
index 302a43d..366961d 100644
--- a/sdk/android/BUILD.gn
+++ b/sdk/android/BUILD.gn
@@ -255,6 +255,7 @@
     "../../modules:module_api",
     "../../modules/utility:utility",
     "../../modules/video_coding:codec_globals_headers",
+    "../../modules/video_coding:video_codec_interface",
     "../../modules/video_coding:video_coding_utility",
     "../../modules/video_coding:webrtc_vp8",
     "../../modules/video_coding:webrtc_vp9",
diff --git a/test/BUILD.gn b/test/BUILD.gn
index ef3447d..a10c6af 100644
--- a/test/BUILD.gn
+++ b/test/BUILD.gn
@@ -596,6 +596,7 @@
     "../modules/rtp_rtcp",
     "../modules/rtp_rtcp:mock_rtp_rtcp",
     "../modules/rtp_rtcp:rtp_rtcp_format",
+    "../modules/video_coding:video_codec_interface",
     "../modules/video_coding:video_coding_utility",
     "../modules/video_coding:webrtc_h264",
     "../modules/video_coding:webrtc_vp8",
diff --git a/video/BUILD.gn b/video/BUILD.gn
index ab49d11..3c4f18e 100644
--- a/video/BUILD.gn
+++ b/video/BUILD.gn
@@ -67,6 +67,7 @@
     "../call:rtp_interfaces",
     "../call:video_stream_api",
     "../modules/rtp_rtcp:rtp_rtcp_format",
+    "../modules/video_coding:video_codec_interface",
     "../rtc_base:checks",
     "../system_wrappers:field_trial_api",
     "../system_wrappers:metrics_api",
@@ -308,6 +309,7 @@
       "../modules/rtp_rtcp:rtp_rtcp_format",
       "../modules/utility",
       "../modules/video_coding",
+      "../modules/video_coding:video_codec_interface",
       "../modules/video_coding:video_coding_utility",
       "../modules/video_coding:webrtc_h264",
       "../modules/video_coding:webrtc_vp8",