Including libyuv headers using fully qualified paths.
Using fully qualified paths to include libyuv headers allows WebRTC to
avoid to rely on the //third_party/libyuv:libyuv_config target to
set the -I compiler flag.
Today some WebRTC targets depend on //third_party/libyuv only to
include //third_party/libyuv:libyuv_config but with fully qualified
paths this should not be needed anymore.
A follow-up CL will remove //third_party/libyuv from some targets that
don't need it because they are not including libyuv headers.
Bug: webrtc:8605
Change-Id: Icec707ca761aaf2ea8088e7f7a05ddde0de2619a
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/28220
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21209}
diff --git a/.gn b/.gn
index ce0cae6..ac4ef80 100644
--- a/.gn
+++ b/.gn
@@ -42,6 +42,7 @@
"//test/*",
"//video/*",
"//voice_engine/*",
+ "//third_party/libyuv/*",
]
# These are the list of GN files that run exec_script. This whitelist exists
diff --git a/api/video/i420_buffer.cc b/api/video/i420_buffer.cc
index d9f7308..66071e1 100644
--- a/api/video/i420_buffer.cc
+++ b/api/video/i420_buffer.cc
@@ -14,11 +14,11 @@
#include <algorithm>
#include <utility>
-#include "libyuv/convert.h"
-#include "libyuv/planar_functions.h"
-#include "libyuv/scale.h"
#include "rtc_base/checks.h"
#include "rtc_base/keep_ref_until_done.h"
+#include "third_party/libyuv/include/libyuv/convert.h"
+#include "third_party/libyuv/include/libyuv/planar_functions.h"
+#include "third_party/libyuv/include/libyuv/scale.h"
// Aligning pointer to 64 bytes for improved performance, e.g. use SIMD.
static const int kBufferAlignment = 64;
diff --git a/common_video/DEPS b/common_video/DEPS
index 53a8271..6a97a5e 100644
--- a/common_video/DEPS
+++ b/common_video/DEPS
@@ -3,4 +3,5 @@
"+system_wrappers",
# TODO(magjed): This is temporary, remove once external clients are updated.
"+sdk/objc",
+ "+third_party/libyuv",
]
diff --git a/common_video/libyuv/libyuv_unittest.cc b/common_video/libyuv/libyuv_unittest.cc
index e5a09bf..ba65544 100644
--- a/common_video/libyuv/libyuv_unittest.cc
+++ b/common_video/libyuv/libyuv_unittest.cc
@@ -16,11 +16,11 @@
#include "api/video/i420_buffer.h"
#include "api/video/video_frame.h"
#include "common_video/libyuv/include/webrtc_libyuv.h"
-#include "libyuv.h" // NOLINT
#include "test/frame_utils.h"
#include "test/gmock.h"
#include "test/gtest.h"
#include "test/testsupport/fileutils.h"
+#include "third_party/libyuv/include/libyuv.h"
namespace webrtc {
diff --git a/common_video/libyuv/webrtc_libyuv.cc b/common_video/libyuv/webrtc_libyuv.cc
index 4384b85..676dad3 100644
--- a/common_video/libyuv/webrtc_libyuv.cc
+++ b/common_video/libyuv/webrtc_libyuv.cc
@@ -12,11 +12,9 @@
#include <string.h>
-#include "rtc_base/checks.h"
#include "api/video/i420_buffer.h"
-
-// NOTE(ajm): Path provided by gn.
-#include "libyuv.h" // NOLINT
+#include "rtc_base/checks.h"
+#include "third_party/libyuv/include/libyuv.h"
namespace webrtc {
diff --git a/common_video/video_frame_buffer.cc b/common_video/video_frame_buffer.cc
index 88c8ca4..6b772d6 100644
--- a/common_video/video_frame_buffer.cc
+++ b/common_video/video_frame_buffer.cc
@@ -14,11 +14,11 @@
#include <algorithm>
#include "api/video/i420_buffer.h"
-#include "libyuv/convert.h"
-#include "libyuv/planar_functions.h"
-#include "libyuv/scale.h"
#include "rtc_base/checks.h"
#include "rtc_base/keep_ref_until_done.h"
+#include "third_party/libyuv/include/libyuv/convert.h"
+#include "third_party/libyuv/include/libyuv/planar_functions.h"
+#include "third_party/libyuv/include/libyuv/scale.h"
namespace webrtc {
diff --git a/examples/DEPS b/examples/DEPS
index 4ade6af..4b6aa07 100644
--- a/examples/DEPS
+++ b/examples/DEPS
@@ -6,4 +6,5 @@
"+modules/video_capture",
"+p2p",
"+pc",
+ "+third_party/libyuv",
]
diff --git a/examples/peerconnection/client/linux/main_wnd.cc b/examples/peerconnection/client/linux/main_wnd.cc
index f7863d9..9b9aed2 100644
--- a/examples/peerconnection/client/linux/main_wnd.cc
+++ b/examples/peerconnection/client/linux/main_wnd.cc
@@ -14,12 +14,12 @@
#include <gtk/gtk.h>
#include <stddef.h>
-#include "libyuv/convert_from.h"
#include "api/video/i420_buffer.h"
#include "examples/peerconnection/client/defaults.h"
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
#include "rtc_base/stringutils.h"
+#include "third_party/libyuv/include/libyuv/convert_from.h"
using rtc::sprintfn;
diff --git a/examples/peerconnection/client/main_wnd.cc b/examples/peerconnection/client/main_wnd.cc
index a33391d..95eb1f9 100644
--- a/examples/peerconnection/client/main_wnd.cc
+++ b/examples/peerconnection/client/main_wnd.cc
@@ -12,12 +12,12 @@
#include <math.h>
-#include "libyuv/convert_argb.h"
#include "api/video/i420_buffer.h"
#include "examples/peerconnection/client/defaults.h"
#include "rtc_base/arraysize.h"
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
+#include "third_party/libyuv/include/libyuv/convert_argb.h"
ATOM MainWnd::wnd_class_ = 0;
const wchar_t MainWnd::kClassName[] = L"WebRTC_MainWnd";
diff --git a/media/DEPS b/media/DEPS
index 4dd449c..7a266a2 100644
--- a/media/DEPS
+++ b/media/DEPS
@@ -16,6 +16,7 @@
"+system_wrappers",
"+voice_engine",
"+usrsctplib",
+ "+third_party/libyuv",
]
specific_include_rules = {
diff --git a/media/engine/simulcast_encoder_adapter.cc b/media/engine/simulcast_encoder_adapter.cc
index 38d84bf..ea54e66 100644
--- a/media/engine/simulcast_encoder_adapter.cc
+++ b/media/engine/simulcast_encoder_adapter.cc
@@ -12,8 +12,6 @@
#include <algorithm>
-// NOTE(ajm): Path provided by gyp.
-#include "libyuv/scale.h" // NOLINT
#include "api/video/i420_buffer.h"
#include "api/video_codecs/video_encoder_factory.h"
@@ -22,6 +20,7 @@
#include "modules/video_coding/codecs/vp8/simulcast_rate_allocator.h"
#include "rtc_base/checks.h"
#include "system_wrappers/include/clock.h"
+#include "third_party/libyuv/include/libyuv/scale.h"
namespace {
diff --git a/modules/video_capture/DEPS b/modules/video_capture/DEPS
index 40560a1..9ad1d57 100644
--- a/modules/video_capture/DEPS
+++ b/modules/video_capture/DEPS
@@ -2,4 +2,5 @@
"+common_video",
"+media/base",
"+system_wrappers",
+ "+third_party/libyuv",
]
diff --git a/modules/video_capture/video_capture_impl.cc b/modules/video_capture/video_capture_impl.cc
index 1eb77ee..97daa90 100644
--- a/modules/video_capture/video_capture_impl.cc
+++ b/modules/video_capture/video_capture_impl.cc
@@ -8,21 +8,20 @@
* be found in the AUTHORS file in the root of the source tree.
*/
-#include "modules/video_capture/video_capture_impl.h"
-
#include <stdlib.h>
#include "api/video/i420_buffer.h"
#include "common_video/libyuv/include/webrtc_libyuv.h"
-#include "libyuv.h" // NOLINT
#include "modules/include/module_common_types.h"
#include "modules/video_capture/video_capture_config.h"
+#include "modules/video_capture/video_capture_impl.h"
#include "rtc_base/logging.h"
#include "rtc_base/refcount.h"
#include "rtc_base/refcountedobject.h"
#include "rtc_base/timeutils.h"
#include "rtc_base/trace_event.h"
#include "system_wrappers/include/clock.h"
+#include "third_party/libyuv/include/libyuv.h"
namespace webrtc {
namespace videocapturemodule {
diff --git a/modules/video_coding/DEPS b/modules/video_coding/DEPS
index b4612db..ca61e1d 100644
--- a/modules/video_coding/DEPS
+++ b/modules/video_coding/DEPS
@@ -4,6 +4,7 @@
"+common_video",
"+system_wrappers",
"+rtc_tools",
+ "+third_party/libyuv",
]
specific_include_rules = {
diff --git a/modules/video_coding/codecs/i420/i420.cc b/modules/video_coding/codecs/i420/i420.cc
index 8c8c3f0..58ef32e 100644
--- a/modules/video_coding/codecs/i420/i420.cc
+++ b/modules/video_coding/codecs/i420/i420.cc
@@ -15,7 +15,7 @@
#include "api/video/i420_buffer.h"
#include "common_video/libyuv/include/webrtc_libyuv.h"
-#include "libyuv.h" // NOLINT
+#include "third_party/libyuv/include/libyuv.h"
namespace {
const size_t kI420HeaderSize = 4;
diff --git a/modules/video_coding/codecs/vp8/vp8_impl.cc b/modules/video_coding/codecs/vp8/vp8_impl.cc
index 9e89696..ffb8051 100644
--- a/modules/video_coding/codecs/vp8/vp8_impl.cc
+++ b/modules/video_coding/codecs/vp8/vp8_impl.cc
@@ -16,10 +16,6 @@
#include <algorithm>
#include <string>
-// NOTE(ajm): Path provided by gyp.
-#include "libyuv/convert.h" // NOLINT
-#include "libyuv/scale.h" // NOLINT
-
#include "common_types.h" // NOLINT(build/include)
#include "common_video/libyuv/include/webrtc_libyuv.h"
#include "modules/include/module_common_types.h"
@@ -37,6 +33,8 @@
#include "system_wrappers/include/clock.h"
#include "system_wrappers/include/field_trial.h"
#include "system_wrappers/include/metrics.h"
+#include "third_party/libyuv/include/libyuv/convert.h"
+#include "third_party/libyuv/include/libyuv/scale.h"
namespace webrtc {
namespace {
diff --git a/modules/video_processing/DEPS b/modules/video_processing/DEPS
index e9017d6..f034c67 100644
--- a/modules/video_processing/DEPS
+++ b/modules/video_processing/DEPS
@@ -2,4 +2,5 @@
"+common_audio",
"+common_video",
"+system_wrappers",
+ "+third_party/libyuv",
]
diff --git a/modules/video_processing/video_denoiser.cc b/modules/video_processing/video_denoiser.cc
index 185a1fe..a87f249 100644
--- a/modules/video_processing/video_denoiser.cc
+++ b/modules/video_processing/video_denoiser.cc
@@ -8,9 +8,9 @@
* be found in the AUTHORS file in the root of the source tree.
*/
-#include "common_video/libyuv/include/webrtc_libyuv.h"
#include "modules/video_processing/video_denoiser.h"
-#include "libyuv/planar_functions.h"
+#include "common_video/libyuv/include/webrtc_libyuv.h"
+#include "third_party/libyuv/include/libyuv/planar_functions.h"
namespace webrtc {
diff --git a/rtc_tools/DEPS b/rtc_tools/DEPS
index c21ca8f..d9b162c 100644
--- a/rtc_tools/DEPS
+++ b/rtc_tools/DEPS
@@ -12,5 +12,6 @@
"+modules/rtp_rtcp",
"+system_wrappers",
"+p2p",
+ "+third_party/libyuv",
]
diff --git a/rtc_tools/converter/converter.h b/rtc_tools/converter/converter.h
index e8bee04..bd31f7e 100644
--- a/rtc_tools/converter/converter.h
+++ b/rtc_tools/converter/converter.h
@@ -13,8 +13,8 @@
#include <string>
-#include "libyuv/compare.h" // NOLINT
-#include "libyuv/convert.h" // NOLINT
+#include "third_party/libyuv/include/libyuv/compare.h"
+#include "third_party/libyuv/include/libyuv/convert.h"
namespace webrtc {
namespace test {
diff --git a/rtc_tools/frame_analyzer/video_quality_analysis.h b/rtc_tools/frame_analyzer/video_quality_analysis.h
index c7a179c..f6651f6 100644
--- a/rtc_tools/frame_analyzer/video_quality_analysis.h
+++ b/rtc_tools/frame_analyzer/video_quality_analysis.h
@@ -15,8 +15,8 @@
#include <vector>
#include <utility>
-#include "libyuv/compare.h" // NOLINT
-#include "libyuv/convert.h" // NOLINT
+#include "third_party/libyuv/include/libyuv/compare.h"
+#include "third_party/libyuv/include/libyuv/convert.h"
namespace webrtc {
namespace test {
diff --git a/sdk/android/src/jni/videoframe.cc b/sdk/android/src/jni/videoframe.cc
index 5dbc5fb..35bb5f2 100644
--- a/sdk/android/src/jni/videoframe.cc
+++ b/sdk/android/src/jni/videoframe.cc
@@ -13,7 +13,6 @@
#include <memory>
#include "common_video/include/video_frame_buffer.h"
-#include "libyuv/scale.h"
#include "rtc_base/bind.h"
#include "rtc_base/checks.h"
#include "rtc_base/keep_ref_until_done.h"
@@ -25,6 +24,7 @@
#include "sdk/android/src/jni/jni_helpers.h"
#include "sdk/android/src/jni/wrapped_native_i420_buffer.h"
#include "system_wrappers/include/aligned_malloc.h"
+#include "third_party/libyuv/include/libyuv/scale.h"
namespace webrtc {
namespace jni {
diff --git a/sdk/objc/DEPS b/sdk/objc/DEPS
index d0a5c32..55621f8 100644
--- a/sdk/objc/DEPS
+++ b/sdk/objc/DEPS
@@ -17,4 +17,5 @@
"+system_wrappers",
"+modules/audio_device",
"+modules/audio_processing",
+ "+third_party/libyuv",
]
diff --git a/sdk/objc/Framework/Classes/Video/RTCCVPixelBuffer.mm b/sdk/objc/Framework/Classes/Video/RTCCVPixelBuffer.mm
index 223f112..2038967 100644
--- a/sdk/objc/Framework/Classes/Video/RTCCVPixelBuffer.mm
+++ b/sdk/objc/Framework/Classes/Video/RTCCVPixelBuffer.mm
@@ -14,7 +14,7 @@
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
-#include "libyuv.h"
+#include "third_party/libyuv/include/libyuv.h"
@implementation RTCCVPixelBuffer {
int _width;
diff --git a/sdk/objc/Framework/Classes/Video/corevideo_frame_buffer.cc b/sdk/objc/Framework/Classes/Video/corevideo_frame_buffer.cc
index f08e037..3ddaa71 100644
--- a/sdk/objc/Framework/Classes/Video/corevideo_frame_buffer.cc
+++ b/sdk/objc/Framework/Classes/Video/corevideo_frame_buffer.cc
@@ -10,11 +10,11 @@
#include "sdk/objc/Framework/Classes/Video/corevideo_frame_buffer.h"
-#include "libyuv/convert.h"
#include "api/video/i420_buffer.h"
#include "common_video/libyuv/include/webrtc_libyuv.h"
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
+#include "third_party/libyuv/include/libyuv/convert.h"
namespace webrtc {
diff --git a/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm b/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm
index a72ce09..f84998e 100644
--- a/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm
+++ b/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm
@@ -22,11 +22,10 @@
#import "WebRTC/RTCVideoCodec.h"
#import "WebRTC/RTCVideoFrame.h"
#import "WebRTC/RTCVideoFrameBuffer.h"
-#import "helpers.h"
-#include "libyuv/convert_from.h"
#include "common_video/h264/h264_bitstream_parser.h"
#include "common_video/h264/profile_level_id.h"
#include "common_video/include/bitrate_adjuster.h"
+#import "helpers.h"
#include "modules/include/module_common_types.h"
#include "modules/video_coding/include/video_error_codes.h"
#include "rtc_base/buffer.h"
@@ -34,6 +33,7 @@
#include "rtc_base/timeutils.h"
#include "sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.h"
#include "system_wrappers/include/clock.h"
+#include "third_party/libyuv/include/libyuv/convert_from.h"
@interface RTCVideoEncoderH264 ()
diff --git a/test/DEPS b/test/DEPS
index 39f107b..1cf56a8 100644
--- a/test/DEPS
+++ b/test/DEPS
@@ -17,6 +17,7 @@
"+sdk",
"+system_wrappers",
"+voice_engine",
+ "+third_party/libyuv",
]
specific_include_rules = {
diff --git a/test/testsupport/metrics/video_metrics.cc b/test/testsupport/metrics/video_metrics.cc
index ea5d3f2..8fa9ea3 100644
--- a/test/testsupport/metrics/video_metrics.cc
+++ b/test/testsupport/metrics/video_metrics.cc
@@ -20,7 +20,7 @@
#include "api/video/video_frame.h"
#include "common_video/libyuv/include/webrtc_libyuv.h"
#include "test/frame_utils.h"
-#include "libyuv/convert.h"
+#include "third_party/libyuv/include/libyuv/convert.h"
namespace webrtc {
namespace test {