Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(142)

Side by Side Diff: webrtc/common_video/video_frame_buffer.cc

Issue 2078943002: Rewrite CreateBlackFrame in webrtcvideoengine. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 RTC_DCHECK_GT(width, 0); 127 RTC_DCHECK_GT(width, 0);
128 RTC_DCHECK_GT(height, 0); 128 RTC_DCHECK_GT(height, 0);
129 RTC_DCHECK_GE(stride_y, width); 129 RTC_DCHECK_GE(stride_y, width);
130 RTC_DCHECK_GE(stride_u, (width + 1) / 2); 130 RTC_DCHECK_GE(stride_u, (width + 1) / 2);
131 RTC_DCHECK_GE(stride_v, (width + 1) / 2); 131 RTC_DCHECK_GE(stride_v, (width + 1) / 2);
132 } 132 }
133 133
134 I420Buffer::~I420Buffer() { 134 I420Buffer::~I420Buffer() {
135 } 135 }
136 136
137 rtc::scoped_refptr<I420Buffer> I420Buffer::Create(int width, int height) {
138 return new rtc::RefCountedObject<I420Buffer>(width, height);
139 }
140
141 rtc::scoped_refptr<I420Buffer> I420Buffer::Create(int width,
142 int height,
143 int stride_y,
144 int stride_u,
145 int stride_v) {
146 return new rtc::RefCountedObject<I420Buffer>(
147 width, height, stride_y, stride_u, stride_v);
148 }
149
137 void I420Buffer::InitializeData() { 150 void I420Buffer::InitializeData() {
138 memset(data_.get(), 0, 151 memset(data_.get(), 0,
139 I420DataSize(height_, stride_y_, stride_u_, stride_v_)); 152 I420DataSize(height_, stride_y_, stride_u_, stride_v_));
140 } 153 }
141 154
142 int I420Buffer::width() const { 155 int I420Buffer::width() const {
143 return width_; 156 return width_;
144 } 157 }
145 158
146 int I420Buffer::height() const { 159 int I420Buffer::height() const {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 196
184 rtc::scoped_refptr<VideoFrameBuffer> I420Buffer::NativeToI420Buffer() { 197 rtc::scoped_refptr<VideoFrameBuffer> I420Buffer::NativeToI420Buffer() {
185 RTC_NOTREACHED(); 198 RTC_NOTREACHED();
186 return nullptr; 199 return nullptr;
187 } 200 }
188 201
189 rtc::scoped_refptr<I420Buffer> I420Buffer::Copy( 202 rtc::scoped_refptr<I420Buffer> I420Buffer::Copy(
190 const rtc::scoped_refptr<VideoFrameBuffer>& source) { 203 const rtc::scoped_refptr<VideoFrameBuffer>& source) {
191 int width = source->width(); 204 int width = source->width();
192 int height = source->height(); 205 int height = source->height();
193 rtc::scoped_refptr<I420Buffer> target = 206 rtc::scoped_refptr<I420Buffer> target = I420Buffer::Create(width, height);
194 new rtc::RefCountedObject<I420Buffer>(width, height);
195 RTC_CHECK(libyuv::I420Copy(source->DataY(), source->StrideY(), 207 RTC_CHECK(libyuv::I420Copy(source->DataY(), source->StrideY(),
196 source->DataU(), source->StrideU(), 208 source->DataU(), source->StrideU(),
197 source->DataV(), source->StrideV(), 209 source->DataV(), source->StrideV(),
198 target->MutableDataY(), target->StrideY(), 210 target->MutableDataY(), target->StrideY(),
199 target->MutableDataU(), target->StrideU(), 211 target->MutableDataU(), target->StrideU(),
200 target->MutableDataV(), target->StrideV(), 212 target->MutableDataV(), target->StrideV(),
201 width, height) == 0); 213 width, height) == 0);
202 214
203 return target; 215 return target;
204 } 216 }
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 } 278 }
267 279
268 rtc::scoped_refptr<I420Buffer> I420Buffer::CopyKeepStride( 280 rtc::scoped_refptr<I420Buffer> I420Buffer::CopyKeepStride(
269 const rtc::scoped_refptr<VideoFrameBuffer>& source) { 281 const rtc::scoped_refptr<VideoFrameBuffer>& source) {
270 int width = source->width(); 282 int width = source->width();
271 int height = source->height(); 283 int height = source->height();
272 int stride_y = source->StrideY(); 284 int stride_y = source->StrideY();
273 int stride_u = source->StrideU(); 285 int stride_u = source->StrideU();
274 int stride_v = source->StrideV(); 286 int stride_v = source->StrideV();
275 rtc::scoped_refptr<I420Buffer> target = 287 rtc::scoped_refptr<I420Buffer> target =
276 new rtc::RefCountedObject<I420Buffer>( 288 I420Buffer::Create(width, height, stride_y, stride_u, stride_v);
277 width, height, stride_y, stride_u, stride_v);
278 RTC_CHECK(libyuv::I420Copy(source->DataY(), stride_y, 289 RTC_CHECK(libyuv::I420Copy(source->DataY(), stride_y,
279 source->DataU(), stride_u, 290 source->DataU(), stride_u,
280 source->DataV(), stride_v, 291 source->DataV(), stride_v,
281 target->MutableDataY(), stride_y, 292 target->MutableDataY(), stride_y,
282 target->MutableDataU(), stride_u, 293 target->MutableDataU(), stride_u,
283 target->MutableDataV(), stride_v, 294 target->MutableDataV(), stride_v,
284 width, height) == 0); 295 width, height) == 0);
285 296
286 return target; 297 return target;
287 } 298 }
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 void* WrappedI420Buffer::native_handle() const { 399 void* WrappedI420Buffer::native_handle() const {
389 return nullptr; 400 return nullptr;
390 } 401 }
391 402
392 rtc::scoped_refptr<VideoFrameBuffer> WrappedI420Buffer::NativeToI420Buffer() { 403 rtc::scoped_refptr<VideoFrameBuffer> WrappedI420Buffer::NativeToI420Buffer() {
393 RTC_NOTREACHED(); 404 RTC_NOTREACHED();
394 return nullptr; 405 return nullptr;
395 } 406 }
396 407
397 } // namespace webrtc 408 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698