Add scaling interface to VideoFrameBuffer
This can be overriden for kNative frame types to perform scaling efficiently. Default implementations for existing buffer types require actual buffer implementation, thus this CL also merges "video_frame" with "video_frame_I420" build targets. Bug: webrtc:11976, chromium:1132299 Change-Id: I3bf5f6bf179db5e7ab165b1c2301980043a08765 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/186303 Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Stefan Holmer <stefan@webrtc.org> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Evan Shrubsole <eshr@google.com> Cr-Commit-Position: refs/heads/master@{#32352}
This commit is contained in:

committed by
Commit Bot

parent
2d05878689
commit
c79f1d8cfb
@ -42,6 +42,8 @@ rtc_library("video_rtp_headers") {
|
|||||||
rtc_library("video_frame") {
|
rtc_library("video_frame") {
|
||||||
visibility = [ "*" ]
|
visibility = [ "*" ]
|
||||||
sources = [
|
sources = [
|
||||||
|
"i420_buffer.cc",
|
||||||
|
"i420_buffer.h",
|
||||||
"video_codec_type.h",
|
"video_codec_type.h",
|
||||||
"video_frame.cc",
|
"video_frame.cc",
|
||||||
"video_frame.h",
|
"video_frame.h",
|
||||||
@ -59,7 +61,9 @@ rtc_library("video_frame") {
|
|||||||
"..:scoped_refptr",
|
"..:scoped_refptr",
|
||||||
"../../rtc_base:checks",
|
"../../rtc_base:checks",
|
||||||
"../../rtc_base:rtc_base_approved",
|
"../../rtc_base:rtc_base_approved",
|
||||||
|
"../../rtc_base/memory:aligned_malloc",
|
||||||
"../../rtc_base/system:rtc_export",
|
"../../rtc_base/system:rtc_export",
|
||||||
|
"//third_party/libyuv",
|
||||||
]
|
]
|
||||||
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
|
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
|
||||||
}
|
}
|
||||||
@ -70,6 +74,47 @@ if (is_android) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Deprecated empty target. Use "video_frame" instead.
|
||||||
|
rtc_source_set("video_frame_i420") {
|
||||||
|
visibility = [ "*" ]
|
||||||
|
sources = []
|
||||||
|
deps = [ ":video_frame" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
rtc_library("video_frame_i010") {
|
||||||
|
visibility = [ "*" ]
|
||||||
|
sources = [
|
||||||
|
"i010_buffer.cc",
|
||||||
|
"i010_buffer.h",
|
||||||
|
]
|
||||||
|
deps = [
|
||||||
|
":video_frame",
|
||||||
|
":video_rtp_headers",
|
||||||
|
"..:scoped_refptr",
|
||||||
|
"../../rtc_base",
|
||||||
|
"../../rtc_base:checks",
|
||||||
|
"../../rtc_base/memory:aligned_malloc",
|
||||||
|
"//third_party/libyuv",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
rtc_library("video_frame_nv12") {
|
||||||
|
visibility = [ "*" ]
|
||||||
|
sources = [
|
||||||
|
"nv12_buffer.cc",
|
||||||
|
"nv12_buffer.h",
|
||||||
|
]
|
||||||
|
deps = [
|
||||||
|
":video_frame",
|
||||||
|
"..:scoped_refptr",
|
||||||
|
"../../rtc_base",
|
||||||
|
"../../rtc_base:checks",
|
||||||
|
"../../rtc_base/memory:aligned_malloc",
|
||||||
|
"../../rtc_base/system:rtc_export",
|
||||||
|
"//third_party/libyuv",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
rtc_source_set("recordable_encoded_frame") {
|
rtc_source_set("recordable_encoded_frame") {
|
||||||
visibility = [ "*" ]
|
visibility = [ "*" ]
|
||||||
sources = [ "recordable_encoded_frame.h" ]
|
sources = [ "recordable_encoded_frame.h" ]
|
||||||
@ -90,60 +135,6 @@ rtc_source_set("video_frame_type") {
|
|||||||
sources = [ "video_frame_type.h" ]
|
sources = [ "video_frame_type.h" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
rtc_library("video_frame_i420") {
|
|
||||||
visibility = [ "*" ]
|
|
||||||
sources = [
|
|
||||||
"i420_buffer.cc",
|
|
||||||
"i420_buffer.h",
|
|
||||||
]
|
|
||||||
deps = [
|
|
||||||
":video_frame",
|
|
||||||
":video_rtp_headers",
|
|
||||||
"..:scoped_refptr",
|
|
||||||
"../../rtc_base",
|
|
||||||
"../../rtc_base:checks",
|
|
||||||
"../../rtc_base/memory:aligned_malloc",
|
|
||||||
"../../rtc_base/system:rtc_export",
|
|
||||||
"//third_party/libyuv",
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
rtc_library("video_frame_i010") {
|
|
||||||
visibility = [ "*" ]
|
|
||||||
sources = [
|
|
||||||
"i010_buffer.cc",
|
|
||||||
"i010_buffer.h",
|
|
||||||
]
|
|
||||||
deps = [
|
|
||||||
":video_frame",
|
|
||||||
":video_frame_i420",
|
|
||||||
":video_rtp_headers",
|
|
||||||
"..:scoped_refptr",
|
|
||||||
"../../rtc_base",
|
|
||||||
"../../rtc_base:checks",
|
|
||||||
"../../rtc_base/memory:aligned_malloc",
|
|
||||||
"//third_party/libyuv",
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
rtc_library("video_frame_nv12") {
|
|
||||||
visibility = [ "*" ]
|
|
||||||
sources = [
|
|
||||||
"nv12_buffer.cc",
|
|
||||||
"nv12_buffer.h",
|
|
||||||
]
|
|
||||||
deps = [
|
|
||||||
":video_frame",
|
|
||||||
":video_frame_i420",
|
|
||||||
"..:scoped_refptr",
|
|
||||||
"../../rtc_base",
|
|
||||||
"../../rtc_base:checks",
|
|
||||||
"../../rtc_base/memory:aligned_malloc",
|
|
||||||
"../../rtc_base/system:rtc_export",
|
|
||||||
"//third_party/libyuv",
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
rtc_library("encoded_image") {
|
rtc_library("encoded_image") {
|
||||||
visibility = [ "*" ]
|
visibility = [ "*" ]
|
||||||
sources = [
|
sources = [
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
#include "rtc_base/checks.h"
|
#include "rtc_base/checks.h"
|
||||||
#include "rtc_base/ref_counted_object.h"
|
#include "rtc_base/ref_counted_object.h"
|
||||||
#include "third_party/libyuv/include/libyuv/convert.h"
|
#include "third_party/libyuv/include/libyuv/convert.h"
|
||||||
|
#include "third_party/libyuv/include/libyuv/scale.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
@ -122,4 +123,35 @@ void NV12Buffer::InitializeData() {
|
|||||||
memset(data_.get(), 0, NV12DataSize(height_, stride_y_, stride_uv_));
|
memset(data_.get(), 0, NV12DataSize(height_, stride_y_, stride_uv_));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void NV12Buffer::CropAndScaleFrom(const NV12BufferInterface& src,
|
||||||
|
int offset_x,
|
||||||
|
int offset_y,
|
||||||
|
int crop_width,
|
||||||
|
int crop_height) {
|
||||||
|
RTC_CHECK_LE(crop_width, src.width());
|
||||||
|
RTC_CHECK_LE(crop_height, src.height());
|
||||||
|
RTC_CHECK_LE(crop_width + offset_x, src.width());
|
||||||
|
RTC_CHECK_LE(crop_height + offset_y, src.height());
|
||||||
|
RTC_CHECK_GE(offset_x, 0);
|
||||||
|
RTC_CHECK_GE(offset_y, 0);
|
||||||
|
|
||||||
|
// Make sure offset is even so that u/v plane becomes aligned.
|
||||||
|
const int uv_offset_x = offset_x / 2;
|
||||||
|
const int uv_offset_y = offset_y / 2;
|
||||||
|
offset_x = uv_offset_x * 2;
|
||||||
|
offset_y = uv_offset_y * 2;
|
||||||
|
|
||||||
|
const uint8_t* y_plane = src.DataY() + src.StrideY() * offset_y + offset_x;
|
||||||
|
const uint8_t* uv_plane =
|
||||||
|
src.DataUV() + src.StrideUV() * uv_offset_y + uv_offset_x * 2;
|
||||||
|
|
||||||
|
// kFilterBox is unsupported in libyuv, so using kFilterBilinear instead.
|
||||||
|
int res = libyuv::NV12Scale(y_plane, src.StrideY(), uv_plane, src.StrideUV(),
|
||||||
|
crop_width, crop_height, MutableDataY(),
|
||||||
|
StrideY(), MutableDataUV(), StrideUV(), width(),
|
||||||
|
height(), libyuv::kFilterBilinear);
|
||||||
|
|
||||||
|
RTC_DCHECK_EQ(res, 0);
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
@ -56,6 +56,14 @@ class RTC_EXPORT NV12Buffer : public NV12BufferInterface {
|
|||||||
// are resolved in a better way. Or in the mean time, use SetBlack.
|
// are resolved in a better way. Or in the mean time, use SetBlack.
|
||||||
void InitializeData();
|
void InitializeData();
|
||||||
|
|
||||||
|
// Scale the cropped area of |src| to the size of |this| buffer, and
|
||||||
|
// write the result into |this|.
|
||||||
|
void CropAndScaleFrom(const NV12BufferInterface& src,
|
||||||
|
int offset_x,
|
||||||
|
int offset_y,
|
||||||
|
int crop_width,
|
||||||
|
int crop_height);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
NV12Buffer(int width, int height);
|
NV12Buffer(int width, int height);
|
||||||
NV12Buffer(int width, int height, int stride_y, int stride_uv);
|
NV12Buffer(int width, int height, int stride_y, int stride_uv);
|
||||||
|
@ -20,7 +20,6 @@ rtc_library("rtc_api_video_unittests") {
|
|||||||
"..:video_adaptation",
|
"..:video_adaptation",
|
||||||
"..:video_bitrate_allocation",
|
"..:video_bitrate_allocation",
|
||||||
"..:video_frame",
|
"..:video_frame",
|
||||||
"..:video_frame_i420",
|
|
||||||
"..:video_frame_nv12",
|
"..:video_frame_nv12",
|
||||||
"..:video_rtp_headers",
|
"..:video_rtp_headers",
|
||||||
"../../../test:frame_utils",
|
"../../../test:frame_utils",
|
||||||
|
@ -10,10 +10,25 @@
|
|||||||
|
|
||||||
#include "api/video/video_frame_buffer.h"
|
#include "api/video/video_frame_buffer.h"
|
||||||
|
|
||||||
|
#include "api/video/i420_buffer.h"
|
||||||
#include "rtc_base/checks.h"
|
#include "rtc_base/checks.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
|
rtc::scoped_refptr<VideoFrameBuffer> VideoFrameBuffer::CropAndScale(
|
||||||
|
int offset_x,
|
||||||
|
int offset_y,
|
||||||
|
int crop_width,
|
||||||
|
int crop_height,
|
||||||
|
int scaled_width,
|
||||||
|
int scaled_height) {
|
||||||
|
rtc::scoped_refptr<I420Buffer> result =
|
||||||
|
I420Buffer::Create(scaled_width, scaled_height);
|
||||||
|
result->CropAndScaleFrom(*this->ToI420(), offset_x, offset_y, crop_width,
|
||||||
|
crop_height);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
const I420BufferInterface* VideoFrameBuffer::GetI420() const {
|
const I420BufferInterface* VideoFrameBuffer::GetI420() const {
|
||||||
// Overridden by subclasses that can return an I420 buffer without any
|
// Overridden by subclasses that can return an I420 buffer without any
|
||||||
// conversion, in particular, I420BufferInterface.
|
// conversion, in particular, I420BufferInterface.
|
||||||
@ -99,5 +114,4 @@ int NV12BufferInterface::ChromaWidth() const {
|
|||||||
int NV12BufferInterface::ChromaHeight() const {
|
int NV12BufferInterface::ChromaHeight() const {
|
||||||
return (height() + 1) / 2;
|
return (height() + 1) / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
@ -76,6 +76,24 @@ class RTC_EXPORT VideoFrameBuffer : public rtc::RefCountInterface {
|
|||||||
// doesn't affect binary data at all. Another example is any I420A buffer.
|
// doesn't affect binary data at all. Another example is any I420A buffer.
|
||||||
virtual const I420BufferInterface* GetI420() const;
|
virtual const I420BufferInterface* GetI420() const;
|
||||||
|
|
||||||
|
// A format specific scale function. Default implementation works by
|
||||||
|
// converting to I420. But more efficient implementations may override it,
|
||||||
|
// especially for kNative.
|
||||||
|
// First, the image is cropped to |crop_width| and |crop_height| and then
|
||||||
|
// scaled to |scaled_width| and |scaled_height|.
|
||||||
|
virtual rtc::scoped_refptr<VideoFrameBuffer> CropAndScale(int offset_x,
|
||||||
|
int offset_y,
|
||||||
|
int crop_width,
|
||||||
|
int crop_height,
|
||||||
|
int scaled_width,
|
||||||
|
int scaled_height);
|
||||||
|
|
||||||
|
// Alias for common use case.
|
||||||
|
rtc::scoped_refptr<VideoFrameBuffer> Scale(int scaled_width,
|
||||||
|
int scaled_height) {
|
||||||
|
return CropAndScale(0, 0, width(), height(), scaled_width, scaled_height);
|
||||||
|
}
|
||||||
|
|
||||||
// These functions should only be called if type() is of the correct type.
|
// These functions should only be called if type() is of the correct type.
|
||||||
// Calling with a different type will result in a crash.
|
// Calling with a different type will result in a crash.
|
||||||
const I420ABufferInterface* GetI420A() const;
|
const I420ABufferInterface* GetI420A() const;
|
||||||
|
@ -137,7 +137,7 @@ rtc_library("rtc_software_fallback_wrappers") {
|
|||||||
deps = [
|
deps = [
|
||||||
":video_codecs_api",
|
":video_codecs_api",
|
||||||
"..:fec_controller_api",
|
"..:fec_controller_api",
|
||||||
"../../api/video:video_frame_i420",
|
"../../api/video:video_frame",
|
||||||
"../../media:rtc_h264_profile_id",
|
"../../media:rtc_h264_profile_id",
|
||||||
"../../media:rtc_media_base",
|
"../../media:rtc_media_base",
|
||||||
"../../modules/video_coding:video_codec_interface",
|
"../../modules/video_coding:video_codec_interface",
|
||||||
|
@ -36,7 +36,6 @@ if (rtc_include_tests) {
|
|||||||
"../../video:encoded_image",
|
"../../video:encoded_image",
|
||||||
"../../video:video_bitrate_allocation",
|
"../../video:video_bitrate_allocation",
|
||||||
"../../video:video_frame",
|
"../../video:video_frame",
|
||||||
"../../video:video_frame_i420",
|
|
||||||
"../../video:video_rtp_headers",
|
"../../video:video_rtp_headers",
|
||||||
"//testing/gtest",
|
"//testing/gtest",
|
||||||
]
|
]
|
||||||
|
@ -49,7 +49,6 @@ rtc_library("common_video") {
|
|||||||
"../api/video:video_bitrate_allocation",
|
"../api/video:video_bitrate_allocation",
|
||||||
"../api/video:video_bitrate_allocator",
|
"../api/video:video_bitrate_allocator",
|
||||||
"../api/video:video_frame",
|
"../api/video:video_frame",
|
||||||
"../api/video:video_frame_i420",
|
|
||||||
"../api/video:video_frame_nv12",
|
"../api/video:video_frame_nv12",
|
||||||
"../api/video:video_rtp_headers",
|
"../api/video:video_rtp_headers",
|
||||||
"../api/video_codecs:bitstream_parser_api",
|
"../api/video_codecs:bitstream_parser_api",
|
||||||
@ -105,7 +104,7 @@ if (rtc_include_tests) {
|
|||||||
"../api/units:time_delta",
|
"../api/units:time_delta",
|
||||||
"../api/video:video_frame",
|
"../api/video:video_frame",
|
||||||
"../api/video:video_frame_i010",
|
"../api/video:video_frame_i010",
|
||||||
"../api/video:video_frame_i420",
|
"../api/video:video_frame_nv12",
|
||||||
"../api/video:video_rtp_headers",
|
"../api/video:video_rtp_headers",
|
||||||
"../media:rtc_h264_profile_id",
|
"../media:rtc_h264_profile_id",
|
||||||
"../rtc_base",
|
"../rtc_base",
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
#include "api/video/i010_buffer.h"
|
#include "api/video/i010_buffer.h"
|
||||||
#include "api/video/i420_buffer.h"
|
#include "api/video/i420_buffer.h"
|
||||||
|
#include "api/video/nv12_buffer.h"
|
||||||
#include "rtc_base/bind.h"
|
#include "rtc_base/bind.h"
|
||||||
#include "rtc_base/time_utils.h"
|
#include "rtc_base/time_utils.h"
|
||||||
#include "test/fake_texture_frame.h"
|
#include "test/fake_texture_frame.h"
|
||||||
@ -157,6 +158,29 @@ rtc::scoped_refptr<PlanarYuvBuffer> CreateGradient(VideoFrameBuffer::Type type,
|
|||||||
return I010Buffer::Copy(*buffer);
|
return I010Buffer::Copy(*buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rtc::scoped_refptr<NV12BufferInterface> CreateNV12Gradient(int width,
|
||||||
|
int height) {
|
||||||
|
rtc::scoped_refptr<NV12Buffer> buffer(NV12Buffer::Create(width, height));
|
||||||
|
// Initialize with gradient, Y = 128(x/w + y/h), U = 256 x/w, V = 256 y/h
|
||||||
|
for (int x = 0; x < width; x++) {
|
||||||
|
for (int y = 0; y < height; y++) {
|
||||||
|
buffer->MutableDataY()[x + y * width] =
|
||||||
|
128 * (x * height + y * width) / (width * height);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
int chroma_width = buffer->ChromaWidth();
|
||||||
|
int chroma_height = buffer->ChromaHeight();
|
||||||
|
for (int x = 0; x < chroma_width; x++) {
|
||||||
|
for (int y = 0; y < chroma_height; y++) {
|
||||||
|
buffer->MutableDataUV()[x * 2 + y * buffer->StrideUV()] =
|
||||||
|
255 * x / (chroma_width - 1);
|
||||||
|
buffer->MutableDataUV()[x * 2 + 1 + y * buffer->StrideUV()] =
|
||||||
|
255 * y / (chroma_height - 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return buffer;
|
||||||
|
}
|
||||||
|
|
||||||
// The offsets and sizes describe the rectangle extracted from the
|
// The offsets and sizes describe the rectangle extracted from the
|
||||||
// original (gradient) frame, in relative coordinates where the
|
// original (gradient) frame, in relative coordinates where the
|
||||||
// original frame correspond to the unit square, 0.0 <= x, y < 1.0.
|
// original frame correspond to the unit square, 0.0 <= x, y < 1.0.
|
||||||
@ -495,6 +519,35 @@ INSTANTIATE_TEST_SUITE_P(All,
|
|||||||
::testing::Values(VideoFrameBuffer::Type::kI420,
|
::testing::Values(VideoFrameBuffer::Type::kI420,
|
||||||
VideoFrameBuffer::Type::kI010));
|
VideoFrameBuffer::Type::kI010));
|
||||||
|
|
||||||
|
TEST(TestNV12Buffer, CropAndScale) {
|
||||||
|
const int kSourceWidth = 640;
|
||||||
|
const int kSourceHeight = 480;
|
||||||
|
const int kScaledWidth = 320;
|
||||||
|
const int kScaledHeight = 240;
|
||||||
|
const int kCropLeft = 40;
|
||||||
|
const int kCropTop = 30;
|
||||||
|
const int kCropRight = 0;
|
||||||
|
const int kCropBottom = 30;
|
||||||
|
|
||||||
|
rtc::scoped_refptr<VideoFrameBuffer> buf =
|
||||||
|
CreateNV12Gradient(kSourceWidth, kSourceHeight);
|
||||||
|
|
||||||
|
rtc::scoped_refptr<VideoFrameBuffer> scaled_buffer = buf->CropAndScale(
|
||||||
|
kCropLeft, kCropTop, kSourceWidth - kCropLeft - kCropRight,
|
||||||
|
kSourceHeight - kCropTop - kCropBottom, kScaledWidth, kScaledHeight);
|
||||||
|
|
||||||
|
// Parameters to CheckCrop indicate what part of the source frame is in the
|
||||||
|
// scaled frame.
|
||||||
|
const float kOffsetX = (kCropLeft + 0.0) / kSourceWidth;
|
||||||
|
const float kOffsetY = (kCropTop + 0.0) / kSourceHeight;
|
||||||
|
const float kRelativeWidth =
|
||||||
|
(kSourceWidth - kCropLeft - kCropRight + 0.0) / kSourceWidth;
|
||||||
|
const float kRelativeHeight =
|
||||||
|
(kSourceHeight - kCropTop - kCropBottom + 0.0) / kSourceHeight;
|
||||||
|
CheckCrop(*scaled_buffer->ToI420(), kOffsetX, kOffsetY, kRelativeWidth,
|
||||||
|
kRelativeHeight);
|
||||||
|
}
|
||||||
|
|
||||||
class TestPlanarYuvBufferRotate
|
class TestPlanarYuvBufferRotate
|
||||||
: public ::testing::TestWithParam<
|
: public ::testing::TestWithParam<
|
||||||
std::tuple<webrtc::VideoRotation, VideoFrameBuffer::Type>> {};
|
std::tuple<webrtc::VideoRotation, VideoFrameBuffer::Type>> {};
|
||||||
|
@ -667,7 +667,7 @@ if (is_linux || is_chromeos || is_win) {
|
|||||||
"../api:scoped_refptr",
|
"../api:scoped_refptr",
|
||||||
"../api/audio:audio_mixer_api",
|
"../api/audio:audio_mixer_api",
|
||||||
"../api/audio_codecs:audio_codecs_api",
|
"../api/audio_codecs:audio_codecs_api",
|
||||||
"../api/video:video_frame_i420",
|
"../api/video:video_frame",
|
||||||
"../api/video:video_rtp_headers",
|
"../api/video:video_rtp_headers",
|
||||||
"../api/video_codecs:video_codecs_api",
|
"../api/video_codecs:video_codecs_api",
|
||||||
"../media:rtc_media_base",
|
"../media:rtc_media_base",
|
||||||
|
@ -99,7 +99,6 @@ rtc_library("rtc_media_base") {
|
|||||||
"../api/video:video_bitrate_allocation",
|
"../api/video:video_bitrate_allocation",
|
||||||
"../api/video:video_bitrate_allocator_factory",
|
"../api/video:video_bitrate_allocator_factory",
|
||||||
"../api/video:video_frame",
|
"../api/video:video_frame",
|
||||||
"../api/video:video_frame_i420",
|
|
||||||
"../api/video:video_rtp_headers",
|
"../api/video:video_rtp_headers",
|
||||||
"../api/video_codecs:video_codecs_api",
|
"../api/video_codecs:video_codecs_api",
|
||||||
"../call:call_interfaces",
|
"../call:call_interfaces",
|
||||||
@ -185,7 +184,6 @@ rtc_library("rtc_simulcast_encoder_adapter") {
|
|||||||
"../api:scoped_refptr",
|
"../api:scoped_refptr",
|
||||||
"../api/video:video_codec_constants",
|
"../api/video:video_codec_constants",
|
||||||
"../api/video:video_frame",
|
"../api/video:video_frame",
|
||||||
"../api/video:video_frame_i420",
|
|
||||||
"../api/video:video_rtp_headers",
|
"../api/video:video_rtp_headers",
|
||||||
"../api/video_codecs:rtc_software_fallback_wrappers",
|
"../api/video_codecs:rtc_software_fallback_wrappers",
|
||||||
"../api/video_codecs:video_codecs_api",
|
"../api/video_codecs:video_codecs_api",
|
||||||
@ -299,7 +297,6 @@ rtc_library("rtc_audio_video") {
|
|||||||
"../api/video:video_bitrate_allocator_factory",
|
"../api/video:video_bitrate_allocator_factory",
|
||||||
"../api/video:video_codec_constants",
|
"../api/video:video_codec_constants",
|
||||||
"../api/video:video_frame",
|
"../api/video:video_frame",
|
||||||
"../api/video:video_frame_i420",
|
|
||||||
"../api/video:video_rtp_headers",
|
"../api/video:video_rtp_headers",
|
||||||
"../api/video_codecs:rtc_software_fallback_wrappers",
|
"../api/video_codecs:rtc_software_fallback_wrappers",
|
||||||
"../api/video_codecs:video_codecs_api",
|
"../api/video_codecs:video_codecs_api",
|
||||||
@ -466,7 +463,6 @@ if (rtc_include_tests) {
|
|||||||
"../api/video:encoded_image",
|
"../api/video:encoded_image",
|
||||||
"../api/video:video_bitrate_allocation",
|
"../api/video:video_bitrate_allocation",
|
||||||
"../api/video:video_frame",
|
"../api/video:video_frame",
|
||||||
"../api/video:video_frame_i420",
|
|
||||||
"../api/video:video_rtp_headers",
|
"../api/video:video_rtp_headers",
|
||||||
"../api/video_codecs:video_codecs_api",
|
"../api/video_codecs:video_codecs_api",
|
||||||
"../call:call_interfaces",
|
"../call:call_interfaces",
|
||||||
@ -568,7 +564,6 @@ if (rtc_include_tests) {
|
|||||||
"../api/video:builtin_video_bitrate_allocator_factory",
|
"../api/video:builtin_video_bitrate_allocator_factory",
|
||||||
"../api/video:video_bitrate_allocation",
|
"../api/video:video_bitrate_allocation",
|
||||||
"../api/video:video_frame",
|
"../api/video:video_frame",
|
||||||
"../api/video:video_frame_i420",
|
|
||||||
"../api/video:video_rtp_headers",
|
"../api/video:video_rtp_headers",
|
||||||
"../api/video_codecs:builtin_video_decoder_factory",
|
"../api/video_codecs:builtin_video_decoder_factory",
|
||||||
"../api/video_codecs:builtin_video_encoder_factory",
|
"../api/video_codecs:builtin_video_encoder_factory",
|
||||||
|
@ -30,7 +30,6 @@ rtc_library("video_capture_module") {
|
|||||||
"..:module_api",
|
"..:module_api",
|
||||||
"../../api:scoped_refptr",
|
"../../api:scoped_refptr",
|
||||||
"../../api/video:video_frame",
|
"../../api/video:video_frame",
|
||||||
"../../api/video:video_frame_i420",
|
|
||||||
"../../api/video:video_rtp_headers",
|
"../../api/video:video_rtp_headers",
|
||||||
"../../common_video",
|
"../../common_video",
|
||||||
"../../media:rtc_media_base",
|
"../../media:rtc_media_base",
|
||||||
@ -132,7 +131,6 @@ if (!build_with_chromium) {
|
|||||||
":video_capture_module",
|
":video_capture_module",
|
||||||
"../../api:scoped_refptr",
|
"../../api:scoped_refptr",
|
||||||
"../../api/video:video_frame",
|
"../../api/video:video_frame",
|
||||||
"../../api/video:video_frame_i420",
|
|
||||||
"../../api/video:video_rtp_headers",
|
"../../api/video:video_rtp_headers",
|
||||||
"../../common_video",
|
"../../common_video",
|
||||||
"../../rtc_base:rtc_base_approved",
|
"../../rtc_base:rtc_base_approved",
|
||||||
|
@ -20,7 +20,6 @@ rtc_library("encoded_frame") {
|
|||||||
":video_codec_interface",
|
":video_codec_interface",
|
||||||
"../../api/video:encoded_image",
|
"../../api/video:encoded_image",
|
||||||
"../../api/video:video_frame",
|
"../../api/video:video_frame",
|
||||||
"../../api/video:video_frame_i420",
|
|
||||||
"../../api/video:video_rtp_headers",
|
"../../api/video:video_rtp_headers",
|
||||||
"../../modules:module_api_public",
|
"../../modules:module_api_public",
|
||||||
"../../modules/rtp_rtcp:rtp_video_header",
|
"../../modules/rtp_rtcp:rtp_video_header",
|
||||||
@ -186,7 +185,6 @@ rtc_library("video_coding") {
|
|||||||
"../../api/video:video_adaptation",
|
"../../api/video:video_adaptation",
|
||||||
"../../api/video:video_bitrate_allocator",
|
"../../api/video:video_bitrate_allocator",
|
||||||
"../../api/video:video_frame",
|
"../../api/video:video_frame",
|
||||||
"../../api/video:video_frame_i420",
|
|
||||||
"../../api/video:video_frame_type",
|
"../../api/video:video_frame_type",
|
||||||
"../../api/video:video_rtp_headers",
|
"../../api/video:video_rtp_headers",
|
||||||
"../../api/video_codecs:video_codecs_api",
|
"../../api/video_codecs:video_codecs_api",
|
||||||
@ -380,7 +378,6 @@ rtc_library("webrtc_h264") {
|
|||||||
":video_coding_utility",
|
":video_coding_utility",
|
||||||
"../../api/video:video_frame",
|
"../../api/video:video_frame",
|
||||||
"../../api/video:video_frame_i010",
|
"../../api/video:video_frame_i010",
|
||||||
"../../api/video:video_frame_i420",
|
|
||||||
"../../api/video:video_rtp_headers",
|
"../../api/video:video_rtp_headers",
|
||||||
"../../api/video_codecs:video_codecs_api",
|
"../../api/video_codecs:video_codecs_api",
|
||||||
"../../common_video",
|
"../../common_video",
|
||||||
@ -428,7 +425,6 @@ rtc_library("webrtc_multiplex") {
|
|||||||
"../../api:scoped_refptr",
|
"../../api:scoped_refptr",
|
||||||
"../../api/video:encoded_image",
|
"../../api/video:encoded_image",
|
||||||
"../../api/video:video_frame",
|
"../../api/video:video_frame",
|
||||||
"../../api/video:video_frame_i420",
|
|
||||||
"../../api/video:video_rtp_headers",
|
"../../api/video:video_rtp_headers",
|
||||||
"../../api/video_codecs:video_codecs_api",
|
"../../api/video_codecs:video_codecs_api",
|
||||||
"../../common_video",
|
"../../common_video",
|
||||||
@ -463,7 +459,6 @@ rtc_library("webrtc_vp8") {
|
|||||||
"../../api:scoped_refptr",
|
"../../api:scoped_refptr",
|
||||||
"../../api/video:encoded_image",
|
"../../api/video:encoded_image",
|
||||||
"../../api/video:video_frame",
|
"../../api/video:video_frame",
|
||||||
"../../api/video:video_frame_i420",
|
|
||||||
"../../api/video:video_rtp_headers",
|
"../../api/video:video_rtp_headers",
|
||||||
"../../api/video_codecs:video_codecs_api",
|
"../../api/video_codecs:video_codecs_api",
|
||||||
"../../api/video_codecs:vp8_temporal_layers_factory",
|
"../../api/video_codecs:vp8_temporal_layers_factory",
|
||||||
@ -660,7 +655,6 @@ if (rtc_include_tests) {
|
|||||||
"../../api:simulcast_test_fixture_api",
|
"../../api:simulcast_test_fixture_api",
|
||||||
"../../api/video:encoded_image",
|
"../../api/video:encoded_image",
|
||||||
"../../api/video:video_frame",
|
"../../api/video:video_frame",
|
||||||
"../../api/video:video_frame_i420",
|
|
||||||
"../../api/video:video_rtp_headers",
|
"../../api/video:video_rtp_headers",
|
||||||
"../../api/video_codecs:video_codecs_api",
|
"../../api/video_codecs:video_codecs_api",
|
||||||
"../../common_video",
|
"../../common_video",
|
||||||
@ -698,7 +692,6 @@ if (rtc_include_tests) {
|
|||||||
"../../api/video:video_bitrate_allocator",
|
"../../api/video:video_bitrate_allocator",
|
||||||
"../../api/video:video_bitrate_allocator_factory",
|
"../../api/video:video_bitrate_allocator_factory",
|
||||||
"../../api/video:video_frame",
|
"../../api/video:video_frame",
|
||||||
"../../api/video:video_frame_i420",
|
|
||||||
"../../api/video:video_rtp_headers",
|
"../../api/video:video_rtp_headers",
|
||||||
"../../api/video_codecs:video_codecs_api",
|
"../../api/video_codecs:video_codecs_api",
|
||||||
"../../common_video",
|
"../../common_video",
|
||||||
@ -850,7 +843,6 @@ if (rtc_include_tests) {
|
|||||||
"../../api/test/video:function_video_factory",
|
"../../api/test/video:function_video_factory",
|
||||||
"../../api/video:encoded_image",
|
"../../api/video:encoded_image",
|
||||||
"../../api/video:video_frame",
|
"../../api/video:video_frame",
|
||||||
"../../api/video:video_frame_i420",
|
|
||||||
"../../api/video:video_rtp_headers",
|
"../../api/video:video_rtp_headers",
|
||||||
"../../api/video_codecs:rtc_software_fallback_wrappers",
|
"../../api/video_codecs:rtc_software_fallback_wrappers",
|
||||||
"../../api/video_codecs:video_codecs_api",
|
"../../api/video_codecs:video_codecs_api",
|
||||||
@ -982,7 +974,6 @@ if (rtc_include_tests) {
|
|||||||
"../../api/video:video_bitrate_allocator",
|
"../../api/video:video_bitrate_allocator",
|
||||||
"../../api/video:video_bitrate_allocator_factory",
|
"../../api/video:video_bitrate_allocator_factory",
|
||||||
"../../api/video:video_frame",
|
"../../api/video:video_frame",
|
||||||
"../../api/video:video_frame_i420",
|
|
||||||
"../../api/video:video_frame_type",
|
"../../api/video:video_frame_type",
|
||||||
"../../api/video:video_rtp_headers",
|
"../../api/video:video_rtp_headers",
|
||||||
"../../api/video_codecs:video_codecs_api",
|
"../../api/video_codecs:video_codecs_api",
|
||||||
|
@ -22,7 +22,7 @@ rtc_library("libaom_av1_decoder") {
|
|||||||
"../..:video_codec_interface",
|
"../..:video_codec_interface",
|
||||||
"../../../../api:scoped_refptr",
|
"../../../../api:scoped_refptr",
|
||||||
"../../../../api/video:encoded_image",
|
"../../../../api/video:encoded_image",
|
||||||
"../../../../api/video:video_frame_i420",
|
"../../../../api/video:video_frame",
|
||||||
"../../../../common_video",
|
"../../../../common_video",
|
||||||
"../../../../rtc_base:logging",
|
"../../../../rtc_base:logging",
|
||||||
"//third_party/libaom",
|
"//third_party/libaom",
|
||||||
@ -116,7 +116,6 @@ rtc_library("libaom_av1_encoder") {
|
|||||||
"../../../../api:scoped_refptr",
|
"../../../../api:scoped_refptr",
|
||||||
"../../../../api/video:encoded_image",
|
"../../../../api/video:encoded_image",
|
||||||
"../../../../api/video:video_frame",
|
"../../../../api/video:video_frame",
|
||||||
"../../../../api/video:video_frame_i420",
|
|
||||||
"../../../../common_video",
|
"../../../../common_video",
|
||||||
"../../../../rtc_base:checks",
|
"../../../../rtc_base:checks",
|
||||||
"../../../../rtc_base:logging",
|
"../../../../rtc_base:logging",
|
||||||
@ -161,7 +160,7 @@ if (rtc_include_tests) {
|
|||||||
"../../../../api:mock_video_encoder",
|
"../../../../api:mock_video_encoder",
|
||||||
"../../../../api/units:data_size",
|
"../../../../api/units:data_size",
|
||||||
"../../../../api/units:time_delta",
|
"../../../../api/units:time_delta",
|
||||||
"../../../../api/video:video_frame_i420",
|
"../../../../api/video:video_frame",
|
||||||
"../../../../api/video_codecs:video_codecs_api",
|
"../../../../api/video_codecs:video_codecs_api",
|
||||||
"../../../../test:test_support",
|
"../../../../test:test_support",
|
||||||
]
|
]
|
||||||
|
@ -29,7 +29,6 @@ rtc_library("video_processing") {
|
|||||||
"..:module_api",
|
"..:module_api",
|
||||||
"../../api:scoped_refptr",
|
"../../api:scoped_refptr",
|
||||||
"../../api/video:video_frame",
|
"../../api/video:video_frame",
|
||||||
"../../api/video:video_frame_i420",
|
|
||||||
"../../api/video:video_rtp_headers",
|
"../../api/video:video_rtp_headers",
|
||||||
"../../common_audio",
|
"../../common_audio",
|
||||||
"../../common_video",
|
"../../common_video",
|
||||||
@ -100,7 +99,6 @@ if (rtc_include_tests) {
|
|||||||
":video_processing",
|
":video_processing",
|
||||||
"../../api:scoped_refptr",
|
"../../api:scoped_refptr",
|
||||||
"../../api/video:video_frame",
|
"../../api/video:video_frame",
|
||||||
"../../api/video:video_frame_i420",
|
|
||||||
"../../api/video:video_rtp_headers",
|
"../../api/video:video_rtp_headers",
|
||||||
"../../common_video",
|
"../../common_video",
|
||||||
"../../test:fileutils",
|
"../../test:fileutils",
|
||||||
|
@ -56,7 +56,6 @@ rtc_library("video_file_reader") {
|
|||||||
deps = [
|
deps = [
|
||||||
"../api:scoped_refptr",
|
"../api:scoped_refptr",
|
||||||
"../api/video:video_frame",
|
"../api/video:video_frame",
|
||||||
"../api/video:video_frame_i420",
|
|
||||||
"../api/video:video_rtp_headers",
|
"../api/video:video_rtp_headers",
|
||||||
"../rtc_base:checks",
|
"../rtc_base:checks",
|
||||||
"../rtc_base:rtc_base_approved",
|
"../rtc_base:rtc_base_approved",
|
||||||
@ -76,7 +75,6 @@ rtc_library("video_file_writer") {
|
|||||||
":video_file_reader",
|
":video_file_reader",
|
||||||
"../api:scoped_refptr",
|
"../api:scoped_refptr",
|
||||||
"../api/video:video_frame",
|
"../api/video:video_frame",
|
||||||
"../api/video:video_frame_i420",
|
|
||||||
"../api/video:video_rtp_headers",
|
"../api/video:video_rtp_headers",
|
||||||
"../rtc_base:rtc_base_approved",
|
"../rtc_base:rtc_base_approved",
|
||||||
]
|
]
|
||||||
@ -105,7 +103,6 @@ rtc_library("video_quality_analysis") {
|
|||||||
"../api:array_view",
|
"../api:array_view",
|
||||||
"../api:scoped_refptr",
|
"../api:scoped_refptr",
|
||||||
"../api/video:video_frame",
|
"../api/video:video_frame",
|
||||||
"../api/video:video_frame_i420",
|
|
||||||
"../api/video:video_rtp_headers",
|
"../api/video:video_rtp_headers",
|
||||||
"../common_video",
|
"../common_video",
|
||||||
"../rtc_base:checks",
|
"../rtc_base:checks",
|
||||||
@ -487,7 +484,6 @@ if (rtc_include_tests) {
|
|||||||
":video_quality_analysis",
|
":video_quality_analysis",
|
||||||
"../api:scoped_refptr",
|
"../api:scoped_refptr",
|
||||||
"../api/video:video_frame",
|
"../api/video:video_frame",
|
||||||
"../api/video:video_frame_i420",
|
|
||||||
"../api/video:video_rtp_headers",
|
"../api/video:video_rtp_headers",
|
||||||
"../common_video",
|
"../common_video",
|
||||||
"../rtc_base",
|
"../rtc_base",
|
||||||
|
@ -383,7 +383,6 @@ if (is_ios || is_mac) {
|
|||||||
"../api:libjingle_peerconnection_api",
|
"../api:libjingle_peerconnection_api",
|
||||||
"../api:media_stream_interface",
|
"../api:media_stream_interface",
|
||||||
"../api/video:video_frame",
|
"../api/video:video_frame",
|
||||||
"../api/video:video_frame_i420",
|
|
||||||
"../api/video:video_rtp_headers",
|
"../api/video:video_rtp_headers",
|
||||||
"../common_video",
|
"../common_video",
|
||||||
"../media:rtc_media_base",
|
"../media:rtc_media_base",
|
||||||
@ -412,7 +411,6 @@ if (is_ios || is_mac) {
|
|||||||
deps = [
|
deps = [
|
||||||
":base_objc",
|
":base_objc",
|
||||||
"//api/video:video_frame",
|
"//api/video:video_frame",
|
||||||
"//api/video:video_frame_i420",
|
|
||||||
"//api/video:video_rtp_headers",
|
"//api/video:video_rtp_headers",
|
||||||
"//common_video",
|
"//common_video",
|
||||||
"//rtc_base:checks",
|
"//rtc_base:checks",
|
||||||
@ -1130,7 +1128,7 @@ if (is_ios || is_mac) {
|
|||||||
":videotoolbox_objc",
|
":videotoolbox_objc",
|
||||||
"../api:scoped_refptr",
|
"../api:scoped_refptr",
|
||||||
"../api/task_queue:default_task_queue_factory",
|
"../api/task_queue:default_task_queue_factory",
|
||||||
"../api/video:video_frame_i420",
|
"../api/video:video_frame",
|
||||||
"../common_video",
|
"../common_video",
|
||||||
"../media:rtc_media_base",
|
"../media:rtc_media_base",
|
||||||
"../media:rtc_media_tests_utils",
|
"../media:rtc_media_tests_utils",
|
||||||
@ -1656,7 +1654,6 @@ if (is_ios || is_mac) {
|
|||||||
":vpx_codec_constants",
|
":vpx_codec_constants",
|
||||||
":wrapped_native_codec_objc",
|
":wrapped_native_codec_objc",
|
||||||
"../api/video:video_frame",
|
"../api/video:video_frame",
|
||||||
"../api/video:video_frame_i420",
|
|
||||||
"../api/video:video_rtp_headers",
|
"../api/video:video_rtp_headers",
|
||||||
"../api/video_codecs:video_codecs_api",
|
"../api/video_codecs:video_codecs_api",
|
||||||
"../common_video",
|
"../common_video",
|
||||||
|
@ -54,7 +54,6 @@ public class VideoFrame implements RefCounted {
|
|||||||
* Crops a region defined by |cropx|, |cropY|, |cropWidth| and |cropHeight|. Scales it to size
|
* Crops a region defined by |cropx|, |cropY|, |cropWidth| and |cropHeight|. Scales it to size
|
||||||
* |scaleWidth| x |scaleHeight|.
|
* |scaleWidth| x |scaleHeight|.
|
||||||
*/
|
*/
|
||||||
@CalledByNative("Buffer")
|
|
||||||
Buffer cropAndScale(
|
Buffer cropAndScale(
|
||||||
int cropX, int cropY, int cropWidth, int cropHeight, int scaleWidth, int scaleHeight);
|
int cropX, int cropY, int cropWidth, int cropHeight, int scaleWidth, int scaleHeight);
|
||||||
}
|
}
|
||||||
|
@ -152,19 +152,6 @@ const ScopedJavaGlobalRef<jobject>& AndroidVideoBuffer::video_frame_buffer()
|
|||||||
return j_video_frame_buffer_;
|
return j_video_frame_buffer_;
|
||||||
}
|
}
|
||||||
|
|
||||||
rtc::scoped_refptr<AndroidVideoBuffer> AndroidVideoBuffer::CropAndScale(
|
|
||||||
JNIEnv* jni,
|
|
||||||
int crop_x,
|
|
||||||
int crop_y,
|
|
||||||
int crop_width,
|
|
||||||
int crop_height,
|
|
||||||
int scale_width,
|
|
||||||
int scale_height) {
|
|
||||||
return Adopt(jni, Java_Buffer_cropAndScale(jni, j_video_frame_buffer_, crop_x,
|
|
||||||
crop_y, crop_width, crop_height,
|
|
||||||
scale_width, scale_height));
|
|
||||||
}
|
|
||||||
|
|
||||||
VideoFrameBuffer::Type AndroidVideoBuffer::type() const {
|
VideoFrameBuffer::Type AndroidVideoBuffer::type() const {
|
||||||
return Type::kNative;
|
return Type::kNative;
|
||||||
}
|
}
|
||||||
|
@ -40,16 +40,6 @@ class AndroidVideoBuffer : public VideoFrameBuffer {
|
|||||||
|
|
||||||
const ScopedJavaGlobalRef<jobject>& video_frame_buffer() const;
|
const ScopedJavaGlobalRef<jobject>& video_frame_buffer() const;
|
||||||
|
|
||||||
// Crops a region defined by |crop_x|, |crop_y|, |crop_width| and
|
|
||||||
// |crop_height|. Scales it to size |scale_width| x |scale_height|.
|
|
||||||
rtc::scoped_refptr<AndroidVideoBuffer> CropAndScale(JNIEnv* jni,
|
|
||||||
int crop_x,
|
|
||||||
int crop_y,
|
|
||||||
int crop_width,
|
|
||||||
int crop_height,
|
|
||||||
int scale_width,
|
|
||||||
int scale_height);
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Should not be called directly. Adopts the Java VideoFrame.Buffer. Use
|
// Should not be called directly. Adopts the Java VideoFrame.Buffer. Use
|
||||||
// Create() or Adopt() instead for clarity.
|
// Create() or Adopt() instead for clarity.
|
||||||
|
@ -52,7 +52,6 @@ rtc_library("frame_generator_impl") {
|
|||||||
"../api/video:encoded_image",
|
"../api/video:encoded_image",
|
||||||
"../api/video:video_frame",
|
"../api/video:video_frame",
|
||||||
"../api/video:video_frame_i010",
|
"../api/video:video_frame_i010",
|
||||||
"../api/video:video_frame_i420",
|
|
||||||
"../api/video:video_frame_nv12",
|
"../api/video:video_frame_nv12",
|
||||||
"../api/video:video_rtp_headers",
|
"../api/video:video_rtp_headers",
|
||||||
"../api/video_codecs:video_codecs_api",
|
"../api/video_codecs:video_codecs_api",
|
||||||
@ -86,7 +85,6 @@ rtc_library("frame_utils") {
|
|||||||
deps = [
|
deps = [
|
||||||
"../api:scoped_refptr",
|
"../api:scoped_refptr",
|
||||||
"../api/video:video_frame",
|
"../api/video:video_frame",
|
||||||
"../api/video:video_frame_i420",
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -113,8 +111,6 @@ rtc_library("video_test_common") {
|
|||||||
"../api:scoped_refptr",
|
"../api:scoped_refptr",
|
||||||
"../api/task_queue",
|
"../api/task_queue",
|
||||||
"../api/video:video_frame",
|
"../api/video:video_frame",
|
||||||
"../api/video:video_frame_i010",
|
|
||||||
"../api/video:video_frame_i420",
|
|
||||||
"../api/video:video_rtp_headers",
|
"../api/video:video_rtp_headers",
|
||||||
"../api/video_codecs:video_codecs_api",
|
"../api/video_codecs:video_codecs_api",
|
||||||
"../common_video",
|
"../common_video",
|
||||||
@ -361,7 +357,6 @@ rtc_library("video_test_support") {
|
|||||||
"../api:scoped_refptr",
|
"../api:scoped_refptr",
|
||||||
"../api/video:encoded_image",
|
"../api/video:encoded_image",
|
||||||
"../api/video:video_frame",
|
"../api/video:video_frame",
|
||||||
"../api/video:video_frame_i420",
|
|
||||||
"../api/video_codecs:video_codecs_api",
|
"../api/video_codecs:video_codecs_api",
|
||||||
"../common_video",
|
"../common_video",
|
||||||
"../media:rtc_media_base",
|
"../media:rtc_media_base",
|
||||||
@ -517,7 +512,6 @@ if (rtc_include_tests) {
|
|||||||
"../api/test/video:function_video_factory",
|
"../api/test/video:function_video_factory",
|
||||||
"../api/video:encoded_image",
|
"../api/video:encoded_image",
|
||||||
"../api/video:video_frame",
|
"../api/video:video_frame",
|
||||||
"../api/video:video_frame_i420",
|
|
||||||
"../api/video_codecs:video_codecs_api",
|
"../api/video_codecs:video_codecs_api",
|
||||||
"../call:video_stream_api",
|
"../call:video_stream_api",
|
||||||
"../common_video",
|
"../common_video",
|
||||||
@ -763,7 +757,6 @@ rtc_library("fake_video_codecs") {
|
|||||||
"../api/video:encoded_image",
|
"../api/video:encoded_image",
|
||||||
"../api/video:video_bitrate_allocation",
|
"../api/video:video_bitrate_allocation",
|
||||||
"../api/video:video_frame",
|
"../api/video:video_frame",
|
||||||
"../api/video:video_frame_i420",
|
|
||||||
"../api/video:video_rtp_headers",
|
"../api/video:video_rtp_headers",
|
||||||
"../api/video_codecs:video_codecs_api",
|
"../api/video_codecs:video_codecs_api",
|
||||||
"../api/video_codecs:vp8_temporal_layers_factory",
|
"../api/video_codecs:vp8_temporal_layers_factory",
|
||||||
|
@ -124,10 +124,7 @@ if (!build_with_chromium) {
|
|||||||
"analyzer/video/simulcast_dummy_buffer_helper.cc",
|
"analyzer/video/simulcast_dummy_buffer_helper.cc",
|
||||||
"analyzer/video/simulcast_dummy_buffer_helper.h",
|
"analyzer/video/simulcast_dummy_buffer_helper.h",
|
||||||
]
|
]
|
||||||
deps = [
|
deps = [ "../../../api/video:video_frame" ]
|
||||||
"../../../api/video:video_frame",
|
|
||||||
"../../../api/video:video_frame_i420",
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rtc_library("quality_analyzing_video_decoder") {
|
rtc_library("quality_analyzing_video_decoder") {
|
||||||
@ -144,7 +141,6 @@ if (!build_with_chromium) {
|
|||||||
"../../../api:video_quality_analyzer_api",
|
"../../../api:video_quality_analyzer_api",
|
||||||
"../../../api/video:encoded_image",
|
"../../../api/video:encoded_image",
|
||||||
"../../../api/video:video_frame",
|
"../../../api/video:video_frame",
|
||||||
"../../../api/video:video_frame_i420",
|
|
||||||
"../../../api/video:video_rtp_headers",
|
"../../../api/video:video_rtp_headers",
|
||||||
"../../../api/video_codecs:video_codecs_api",
|
"../../../api/video_codecs:video_codecs_api",
|
||||||
"../../../modules/video_coding:video_codec_interface",
|
"../../../modules/video_coding:video_codec_interface",
|
||||||
@ -522,7 +518,6 @@ if (!build_with_chromium) {
|
|||||||
"../../../api:rtp_packet_info",
|
"../../../api:rtp_packet_info",
|
||||||
"../../../api/video:encoded_image",
|
"../../../api/video:encoded_image",
|
||||||
"../../../api/video:video_frame",
|
"../../../api/video:video_frame",
|
||||||
"../../../api/video:video_frame_i420",
|
|
||||||
"../../../common_video",
|
"../../../common_video",
|
||||||
"../../../modules/rtp_rtcp:rtp_rtcp_format",
|
"../../../modules/rtp_rtcp:rtp_rtcp_format",
|
||||||
"../../../rtc_base:stringutils",
|
"../../../rtc_base:stringutils",
|
||||||
@ -645,7 +640,6 @@ if (!build_with_chromium) {
|
|||||||
"../../../api/units:timestamp",
|
"../../../api/units:timestamp",
|
||||||
"../../../api/video:encoded_image",
|
"../../../api/video:encoded_image",
|
||||||
"../../../api/video:video_frame",
|
"../../../api/video:video_frame",
|
||||||
"../../../api/video:video_frame_i420",
|
|
||||||
"../../../api/video:video_rtp_headers",
|
"../../../api/video:video_rtp_headers",
|
||||||
"../../../common_video",
|
"../../../common_video",
|
||||||
"../../../rtc_base:criticalsection",
|
"../../../rtc_base:criticalsection",
|
||||||
|
@ -97,7 +97,6 @@ if (rtc_include_tests) {
|
|||||||
"../../api/units:timestamp",
|
"../../api/units:timestamp",
|
||||||
"../../api/video:builtin_video_bitrate_allocator_factory",
|
"../../api/video:builtin_video_bitrate_allocator_factory",
|
||||||
"../../api/video:video_frame",
|
"../../api/video:video_frame",
|
||||||
"../../api/video:video_frame_i420",
|
|
||||||
"../../api/video:video_rtp_headers",
|
"../../api/video:video_rtp_headers",
|
||||||
"../../api/video_codecs:video_codecs_api",
|
"../../api/video_codecs:video_codecs_api",
|
||||||
"../../audio",
|
"../../audio",
|
||||||
|
@ -86,7 +86,6 @@ rtc_library("video") {
|
|||||||
"../api/video:video_bitrate_allocator",
|
"../api/video:video_bitrate_allocator",
|
||||||
"../api/video:video_codec_constants",
|
"../api/video:video_codec_constants",
|
||||||
"../api/video:video_frame",
|
"../api/video:video_frame",
|
||||||
"../api/video:video_frame_i420",
|
|
||||||
"../api/video:video_rtp_headers",
|
"../api/video:video_rtp_headers",
|
||||||
"../api/video:video_stream_encoder",
|
"../api/video:video_stream_encoder",
|
||||||
"../api/video:video_stream_encoder_create",
|
"../api/video:video_stream_encoder_create",
|
||||||
@ -227,7 +226,6 @@ rtc_library("video_stream_encoder_impl") {
|
|||||||
"../api/video:video_bitrate_allocator_factory",
|
"../api/video:video_bitrate_allocator_factory",
|
||||||
"../api/video:video_codec_constants",
|
"../api/video:video_codec_constants",
|
||||||
"../api/video:video_frame",
|
"../api/video:video_frame",
|
||||||
"../api/video:video_frame_i420",
|
|
||||||
"../api/video:video_rtp_headers",
|
"../api/video:video_rtp_headers",
|
||||||
"../api/video:video_stream_encoder",
|
"../api/video:video_stream_encoder",
|
||||||
"../api/video_codecs:video_codecs_api",
|
"../api/video_codecs:video_codecs_api",
|
||||||
@ -597,7 +595,6 @@ if (rtc_include_tests) {
|
|||||||
"../api/video:video_adaptation",
|
"../api/video:video_adaptation",
|
||||||
"../api/video:video_bitrate_allocation",
|
"../api/video:video_bitrate_allocation",
|
||||||
"../api/video:video_frame",
|
"../api/video:video_frame",
|
||||||
"../api/video:video_frame_i420",
|
|
||||||
"../api/video:video_frame_nv12",
|
"../api/video:video_frame_nv12",
|
||||||
"../api/video:video_frame_type",
|
"../api/video:video_frame_type",
|
||||||
"../api/video:video_rtp_headers",
|
"../api/video:video_rtp_headers",
|
||||||
|
@ -80,7 +80,7 @@ if (rtc_include_tests) {
|
|||||||
"../../api/task_queue:task_queue",
|
"../../api/task_queue:task_queue",
|
||||||
"../../api/video:encoded_image",
|
"../../api/video:encoded_image",
|
||||||
"../../api/video:video_adaptation",
|
"../../api/video:video_adaptation",
|
||||||
"../../api/video:video_frame_i420",
|
"../../api/video:video_frame",
|
||||||
"../../api/video_codecs:video_codecs_api",
|
"../../api/video_codecs:video_codecs_api",
|
||||||
"../../call/adaptation:resource_adaptation",
|
"../../call/adaptation:resource_adaptation",
|
||||||
"../../call/adaptation:resource_adaptation_test_utilities",
|
"../../call/adaptation:resource_adaptation_test_utilities",
|
||||||
|
Reference in New Issue
Block a user