Separate i420 and i444 implementations to separate targets.

This means we can properly declare the dependency between
libjingle_peerconnection_api and video_frame_api. i420
pulls in system_wrappers, which can't be a dependency of
the public API.

Plan:
1) Land this CL + send out PSA
2) Make all direct users of i420_buffer depend on the
   new video_frame_api_i420 target
3) Move i420_buffer.cc to the new target
4) Make libjingle_peerconnection_api depend on
   video_frame_api, since it no longer contains i420 code

Bug: webrtc:7504
Change-Id: I30d90f2ac7af53748859bbde8aed92386d5501f9
Reviewed-on: https://webrtc-review.googlesource.com/9382
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20656}
diff --git a/modules/video_coding/BUILD.gn b/modules/video_coding/BUILD.gn
index d561bf6..728ed80 100644
--- a/modules/video_coding/BUILD.gn
+++ b/modules/video_coding/BUILD.gn
@@ -99,6 +99,7 @@
     "..:module_api",
     "../..:webrtc_common",
     "../../api:optional",
+    "../../api:video_frame_api_i420",
     "../../call:video_stream_api",
     "../../common_video",
     "../../rtc_base:rtc_base",
@@ -189,6 +190,7 @@
   defines = []
   deps = [
     ":video_coding_utility",
+    "../../api:video_frame_api_i420",
     "../../api/video_codecs:video_codecs_api",
     "../../media:rtc_media_base",
     "../../rtc_base:rtc_base_approved",
@@ -229,6 +231,7 @@
   deps = [
     ":video_coding_utility",
     "../..:webrtc_common",
+    "../../api:video_frame_api_i420",
     "../../common_video:common_video",
     "../../rtc_base:rtc_base_approved",
     "../../system_wrappers",
@@ -252,6 +255,7 @@
     ":video_coding_utility",
     "..:module_api",
     "../..:webrtc_common",
+    "../../api:video_frame_api_i420",
     "../../api/video_codecs:video_codecs_api",
     "../../common_video:common_video",
     "../../rtc_base:rtc_base_approved",
@@ -376,6 +380,7 @@
       ":video_coding",
       ":webrtc_vp8",
       "../../api:video_frame_api",
+      "../../api:video_frame_api_i420",
       "../../common_video:common_video",
       "../../rtc_base:rtc_base_approved",
       "../../test:test_support",
@@ -409,6 +414,7 @@
       ":video_coding_utility",
       ":webrtc_vp8",
       "../..:webrtc_common",
+      "../../api:video_frame_api_i420",
       "../../api/video_codecs:video_codecs_api",
       "../../common_video:common_video",
       "../../rtc_base:rtc_base_approved",
@@ -471,6 +477,7 @@
       "../../api:mock_video_codec_factory",
       "../../api:optional",
       "../../api:video_frame_api",
+      "../../api:video_frame_api_i420",
       "../../common_video",
       "../../media:rtc_audio_video",
       "../../media:rtc_media_base",
@@ -586,6 +593,7 @@
       "..:module_api",
       "../..:webrtc_common",
       "../../api:video_frame_api",
+      "../../api:video_frame_api_i420",
       "../../api/video_codecs:video_codecs_api",
       "../../common_video:common_video",
       "../../rtc_base:rtc_base",