Reland "Add scaling interface to VideoFrameBuffer"
(Reland with no changes after the fix to the downstream project) 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. Originally Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/186303 (Landing with TBR as it's unchaged reland of already approved CL) TBR=nisse@webrtc.org,sakal@webrtc.org Bug: webrtc:11976, chromium:1132299 Change-Id: Ia23f7d3e474bd9cdc177104cc5c6d772f04b210f Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/187345 Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Stefan Holmer <stefan@webrtc.org> Cr-Commit-Position: refs/heads/master@{#32362}
This commit is contained in:

committed by
Commit Bot

parent
44d0dff7a9
commit
38e9b06151
@ -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.
|
||||||
@ -124,5 +139,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
|
||||||
|
@ -79,6 +79,24 @@ class RTC_EXPORT VideoFrameBuffer : public rtc::RefCountInterface {
|
|||||||
// behave as the other GetXXX methods below.
|
// behave as the other GetXXX methods below.
|
||||||
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