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:
Ilya Nikolaevskiy
2020-10-08 14:36:33 +00:00
committed by Commit Bot
parent 44d0dff7a9
commit 38e9b06151
26 changed files with 179 additions and 133 deletions

View File

@ -383,7 +383,6 @@ if (is_ios || is_mac) {
"../api:libjingle_peerconnection_api",
"../api:media_stream_interface",
"../api/video:video_frame",
"../api/video:video_frame_i420",
"../api/video:video_rtp_headers",
"../common_video",
"../media:rtc_media_base",
@ -412,7 +411,6 @@ if (is_ios || is_mac) {
deps = [
":base_objc",
"//api/video:video_frame",
"//api/video:video_frame_i420",
"//api/video:video_rtp_headers",
"//common_video",
"//rtc_base:checks",
@ -1130,7 +1128,7 @@ if (is_ios || is_mac) {
":videotoolbox_objc",
"../api:scoped_refptr",
"../api/task_queue:default_task_queue_factory",
"../api/video:video_frame_i420",
"../api/video:video_frame",
"../common_video",
"../media:rtc_media_base",
"../media:rtc_media_tests_utils",
@ -1656,7 +1654,6 @@ if (is_ios || is_mac) {
":vpx_codec_constants",
":wrapped_native_codec_objc",
"../api/video:video_frame",
"../api/video:video_frame_i420",
"../api/video:video_rtp_headers",
"../api/video_codecs:video_codecs_api",
"../common_video",