Move H264::Profile to h264_profile_level_id.h

Eliminates a few dependencies on the top-level common_types.h.

Bug: webrtc:7660
Change-Id: I91218a27e745e7e5e6b64dff9e09f6a6ab32d644
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/181480
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31920}
diff --git a/api/BUILD.gn b/api/BUILD.gn
index 728cc4f..6b4f04d 100644
--- a/api/BUILD.gn
+++ b/api/BUILD.gn
@@ -755,7 +755,7 @@
       "test/videocodec_test_stats.h",
     ]
     deps = [
-      "..:webrtc_common",
+      "../media:rtc_h264_profile_id",
       "../modules/video_coding:video_codec_interface",
       "../rtc_base:stringutils",
       "video:video_frame_type",
diff --git a/api/test/DEPS b/api/test/DEPS
index 4f98596..33bf4f4 100644
--- a/api/test/DEPS
+++ b/api/test/DEPS
@@ -40,4 +40,7 @@
   "create_frame_generator\.h": [
     "+system_wrappers/include/clock.h",
   ],
+  "videocodec_test_fixture\.h": [
+    "+media/base/h264_profile_level_id.h"
+  ],
 }
diff --git a/api/test/videocodec_test_fixture.h b/api/test/videocodec_test_fixture.h
index afb3f8a..2ed4091 100644
--- a/api/test/videocodec_test_fixture.h
+++ b/api/test/videocodec_test_fixture.h
@@ -17,6 +17,7 @@
 #include "api/test/videocodec_test_stats.h"
 #include "api/video_codecs/video_decoder_factory.h"
 #include "api/video_codecs/video_encoder_factory.h"
+#include "media/base/h264_profile_level_id.h"
 #include "modules/video_coding/include/video_codec_interface.h"
 
 namespace webrtc {
diff --git a/common_types.h b/common_types.h
index cd63f5f..1bf92bf 100644
--- a/common_types.h
+++ b/common_types.h
@@ -35,19 +35,6 @@
 // Video specific types
 // ==================================================================
 
-// TODO(magjed): Move this and other H264 related classes out to their own file.
-namespace H264 {
-
-enum Profile {
-  kProfileConstrainedBaseline,
-  kProfileBaseline,
-  kProfileMain,
-  kProfileConstrainedHigh,
-  kProfileHigh,
-};
-
-}  // namespace H264
-
 struct SpatialLayer {
   bool operator==(const SpatialLayer& other) const;
   bool operator!=(const SpatialLayer& other) const { return !(*this == other); }
diff --git a/media/BUILD.gn b/media/BUILD.gn
index 72bec31..238b1d2 100644
--- a/media/BUILD.gn
+++ b/media/BUILD.gn
@@ -31,7 +31,6 @@
   ]
 
   deps = [
-    "..:webrtc_common",
     "../rtc_base",
     "../rtc_base:checks",
     "../rtc_base:rtc_base_approved",
@@ -53,7 +52,6 @@
   ]
 
   deps = [
-    "..:webrtc_common",
     "../api/video_codecs:video_codecs_api",
     "../rtc_base:rtc_base_approved",
     "../rtc_base/system:rtc_export",
@@ -83,7 +81,6 @@
     ":rtc_h264_profile_id",
     ":rtc_media_config",
     ":rtc_vp9_profile",
-    "..:webrtc_common",
     "../api:array_view",
     "../api:audio_options_api",
     "../api:frame_transformer_interface",
@@ -233,7 +230,6 @@
     ":rtc_h264_profile_id",
     ":rtc_media_base",
     ":rtc_simulcast_encoder_adapter",
-    "../:webrtc_common",
     "../api/video:encoded_image",
     "../api/video:video_bitrate_allocation",
     "../api/video:video_frame",
@@ -281,7 +277,6 @@
   deps = [
     ":rtc_constants",
     ":rtc_media_base",
-    "..:webrtc_common",
     "../api:call_api",
     "../api:libjingle_peerconnection_api",
     "../api:media_stream_interface",
@@ -404,7 +399,6 @@
   ]
   deps = [
     ":rtc_media_base",
-    "..:webrtc_common",
     "../api:call_api",
     "../api:transport_api",
     "../p2p:rtc_p2p",
@@ -544,7 +538,6 @@
       ":rtc_sdp_fmtp_utils",
       ":rtc_simulcast_encoder_adapter",
       ":rtc_vp9_profile",
-      "../:webrtc_common",
       "../api:create_simulcast_test_fixture_api",
       "../api:libjingle_peerconnection_api",
       "../api:mock_video_bitrate_allocator",
diff --git a/media/base/codec_unittest.cc b/media/base/codec_unittest.cc
index 04130e1..ae80113 100644
--- a/media/base/codec_unittest.cc
+++ b/media/base/codec_unittest.cc
@@ -12,7 +12,6 @@
 
 #include <tuple>
 
-#include "common_types.h"  // NOLINT(build/include)
 #include "media/base/h264_profile_level_id.h"
 #include "media/base/vp9_profile.h"
 #include "modules/video_coding/codecs/h264/include/h264.h"
diff --git a/media/base/h264_profile_level_id.h b/media/base/h264_profile_level_id.h
index 6a3e7cd..f0f7928 100644
--- a/media/base/h264_profile_level_id.h
+++ b/media/base/h264_profile_level_id.h
@@ -15,12 +15,19 @@
 #include <string>
 
 #include "absl/types/optional.h"
-#include "common_types.h"  // NOLINT(build/include)
 #include "rtc_base/system/rtc_export.h"
 
 namespace webrtc {
 namespace H264 {
 
+enum Profile {
+  kProfileConstrainedBaseline,
+  kProfileBaseline,
+  kProfileMain,
+  kProfileConstrainedHigh,
+  kProfileHigh,
+};
+
 // Map containting SDP codec parameters.
 typedef std::map<std::string, std::string> CodecParameterMap;