IWYU modules/video_capture/

without platform-specific subdirectories first. Done
using
  ls modules/video_capture/*.{h,cc} | xargs tools_webrtc/iwyu/apply-include-cleaner | xargs tools_webrtc/iwyu/apply-include-cleaner
followed by
  tools_webrtc/gn_check_autofix.py -C out/Default/
and git cl format

Manual changes:
- video_capture_impl.cc: use C++ headers

Bug: webrtc:42226242
Change-Id: I2477021f0cfd9045cae4c5a789c4983a194ef7ef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/391262
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Cr-Commit-Position: refs/heads/main@{#44628}
diff --git a/modules/video_capture/BUILD.gn b/modules/video_capture/BUILD.gn
index e5e74c9..c3e0e5a 100644
--- a/modules/video_capture/BUILD.gn
+++ b/modules/video_capture/BUILD.gn
@@ -28,6 +28,7 @@
   ]
 
   deps = [
+    "../../api:ref_count",
     "../../api:scoped_refptr",
     "../../api:sequence_checker",
     "../../api/video:video_frame",
@@ -55,6 +56,7 @@
     visibility = [ "*" ]
     deps = [
       ":video_capture_module",
+      "../../api:make_ref_counted",
       "../../api:scoped_refptr",
       "../../api:sequence_checker",
       "../../media:video_common",
diff --git a/modules/video_capture/raw_video_sink_interface.h b/modules/video_capture/raw_video_sink_interface.h
index 094e9e2..a22ca98 100644
--- a/modules/video_capture/raw_video_sink_interface.h
+++ b/modules/video_capture/raw_video_sink_interface.h
@@ -14,6 +14,10 @@
 #ifndef MODULES_VIDEO_CAPTURE_RAW_VIDEO_SINK_INTERFACE_H_
 #define MODULES_VIDEO_CAPTURE_RAW_VIDEO_SINK_INTERFACE_H_
 
+#include <cstddef>
+#include <cstdint>
+
+#include "api/video/video_rotation.h"
 #include "modules/video_capture/video_capture_defines.h"
 
 namespace webrtc {
diff --git a/modules/video_capture/video_capture.h b/modules/video_capture/video_capture.h
index fe5c09b..7707608 100644
--- a/modules/video_capture/video_capture.h
+++ b/modules/video_capture/video_capture.h
@@ -11,6 +11,10 @@
 #ifndef MODULES_VIDEO_CAPTURE_VIDEO_CAPTURE_H_
 #define MODULES_VIDEO_CAPTURE_VIDEO_CAPTURE_H_
 
+#include <cstdint>
+
+#include "api/ref_count.h"
+#include "api/video/video_frame.h"
 #include "api/video/video_rotation.h"
 #include "api/video/video_sink_interface.h"
 #include "modules/video_capture/raw_video_sink_interface.h"
diff --git a/modules/video_capture/video_capture_defines.h b/modules/video_capture/video_capture_defines.h
index 6353460..f814e4e 100644
--- a/modules/video_capture/video_capture_defines.h
+++ b/modules/video_capture/video_capture_defines.h
@@ -11,7 +11,8 @@
 #ifndef MODULES_VIDEO_CAPTURE_VIDEO_CAPTURE_DEFINES_H_
 #define MODULES_VIDEO_CAPTURE_VIDEO_CAPTURE_DEFINES_H_
 
-#include "api/video/video_frame.h"
+#include <cstdint>
+
 #include "common_video/libyuv/include/webrtc_libyuv.h"
 
 namespace webrtc {
diff --git a/modules/video_capture/video_capture_factory.cc b/modules/video_capture/video_capture_factory.cc
index 8354067..d7fa0fa 100644
--- a/modules/video_capture/video_capture_factory.cc
+++ b/modules/video_capture/video_capture_factory.cc
@@ -10,6 +10,8 @@
 
 #include "modules/video_capture/video_capture_factory.h"
 
+#include "api/scoped_refptr.h"
+#include "modules/video_capture/video_capture.h"
 #include "modules/video_capture/video_capture_impl.h"
 
 namespace webrtc {
diff --git a/modules/video_capture/video_capture_factory.h b/modules/video_capture/video_capture_factory.h
index c24eaf5..e669470 100644
--- a/modules/video_capture/video_capture_factory.h
+++ b/modules/video_capture/video_capture_factory.h
@@ -16,7 +16,6 @@
 
 #include "api/scoped_refptr.h"
 #include "modules/video_capture/video_capture.h"
-#include "modules/video_capture/video_capture_defines.h"
 #include "rtc_base/system/rtc_export.h"
 
 namespace webrtc {
diff --git a/modules/video_capture/video_capture_factory_null.cc b/modules/video_capture/video_capture_factory_null.cc
index 77b7f4b..4dbc7b9 100644
--- a/modules/video_capture/video_capture_factory_null.cc
+++ b/modules/video_capture/video_capture_factory_null.cc
@@ -8,6 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
+#include "api/scoped_refptr.h"
+#include "modules/video_capture/video_capture.h"
 #include "modules/video_capture/video_capture_impl.h"
 
 namespace webrtc {
diff --git a/modules/video_capture/video_capture_impl.cc b/modules/video_capture/video_capture_impl.cc
index 06f9bd316..f12631c 100644
--- a/modules/video_capture/video_capture_impl.cc
+++ b/modules/video_capture/video_capture_impl.cc
@@ -10,17 +10,28 @@
 
 #include "modules/video_capture/video_capture_impl.h"
 
-#include <stdlib.h>
-#include <string.h>
+#include <cstdint>
+#include <cstdlib>
+#include <cstring>
 
+#include "api/scoped_refptr.h"
+#include "api/sequence_checker.h"
 #include "api/video/i420_buffer.h"
-#include "api/video/video_frame_buffer.h"
+#include "api/video/video_frame.h"
+#include "api/video/video_rotation.h"
+#include "api/video/video_sink_interface.h"
 #include "common_video/libyuv/include/webrtc_libyuv.h"
+#include "libyuv/convert.h"
+#include "libyuv/rotate.h"
+#include "modules/video_capture/raw_video_sink_interface.h"
 #include "modules/video_capture/video_capture_config.h"
+#include "modules/video_capture/video_capture_defines.h"
+#include "rtc_base/checks.h"
 #include "rtc_base/logging.h"
+#include "rtc_base/race_checker.h"
+#include "rtc_base/synchronization/mutex.h"
 #include "rtc_base/time_utils.h"
 #include "rtc_base/trace_event.h"
-#include "third_party/libyuv/include/libyuv.h"
 
 namespace webrtc {
 namespace videocapturemodule {
diff --git a/modules/video_capture/video_capture_impl.h b/modules/video_capture/video_capture_impl.h
index 3ec832f..d3ac5fe 100644
--- a/modules/video_capture/video_capture_impl.h
+++ b/modules/video_capture/video_capture_impl.h
@@ -23,12 +23,14 @@
 #include "api/video/video_frame.h"
 #include "api/video/video_rotation.h"
 #include "api/video/video_sink_interface.h"
+#include "modules/video_capture/raw_video_sink_interface.h"
 #include "modules/video_capture/video_capture.h"
 #include "modules/video_capture/video_capture_config.h"
 #include "modules/video_capture/video_capture_defines.h"
 #include "rtc_base/race_checker.h"
 #include "rtc_base/synchronization/mutex.h"
 #include "rtc_base/system/rtc_export.h"
+#include "rtc_base/thread_annotations.h"
 
 namespace webrtc {
 
diff --git a/modules/video_capture/video_capture_options.cc b/modules/video_capture/video_capture_options.cc
index 64cd621..dd102df 100644
--- a/modules/video_capture/video_capture_options.cc
+++ b/modules/video_capture/video_capture_options.cc
@@ -10,6 +10,9 @@
 
 #include "modules/video_capture/video_capture_options.h"
 
+#include "api/make_ref_counted.h"
+#include "api/scoped_refptr.h"
+
 #if defined(WEBRTC_USE_PIPEWIRE)
 #include "modules/video_capture/linux/pipewire_session.h"
 #endif