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

Side by Side Diff: media/video/gpu_memory_buffer_video_frame_pool.cc

Issue 1534273002: Switch to standard integer types in media/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: more Created 5 years 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 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/video/gpu_memory_buffer_video_frame_pool.h" 5 #include "media/video/gpu_memory_buffer_video_frame_pool.h"
6 6
7 #include <GLES2/gl2.h> 7 #include <GLES2/gl2.h>
8 #include <GLES2/gl2ext.h> 8 #include <GLES2/gl2ext.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 DCHECK_EQ(0u, plane); 218 DCHECK_EQ(0u, plane);
219 bytes_per_row += VideoFrame::RowBytes(1, format, width); 219 bytes_per_row += VideoFrame::RowBytes(1, format, width);
220 } 220 }
221 // Copy an even number of lines, and at least one. 221 // Copy an even number of lines, and at least one.
222 return std::max<size_t>((kBytesPerCopyTarget / bytes_per_row) & ~1, 1); 222 return std::max<size_t>((kBytesPerCopyTarget / bytes_per_row) & ~1, 1);
223 } 223 }
224 224
225 void CopyRowsToI420Buffer(int first_row, 225 void CopyRowsToI420Buffer(int first_row,
226 int rows, 226 int rows,
227 int bytes_per_row, 227 int bytes_per_row,
228 const uint8* source, 228 const uint8_t* source,
229 int source_stride, 229 int source_stride,
230 uint8* output, 230 uint8_t* output,
231 int dest_stride, 231 int dest_stride,
232 const base::Closure& done) { 232 const base::Closure& done) {
233 TRACE_EVENT2("media", "CopyRowsToI420Buffer", "bytes_per_row", bytes_per_row, 233 TRACE_EVENT2("media", "CopyRowsToI420Buffer", "bytes_per_row", bytes_per_row,
234 "rows", rows); 234 "rows", rows);
235 if (output) { 235 if (output) {
236 DCHECK_NE(dest_stride, 0); 236 DCHECK_NE(dest_stride, 0);
237 DCHECK_LE(bytes_per_row, std::abs(dest_stride)); 237 DCHECK_LE(bytes_per_row, std::abs(dest_stride));
238 DCHECK_LE(bytes_per_row, source_stride); 238 DCHECK_LE(bytes_per_row, source_stride);
239 239
240 libyuv::CopyPlane(source + source_stride * first_row, source_stride, 240 libyuv::CopyPlane(source + source_stride * first_row, source_stride,
241 output + dest_stride * first_row, dest_stride, 241 output + dest_stride * first_row, dest_stride,
242 bytes_per_row, rows); 242 bytes_per_row, rows);
243 } 243 }
244 done.Run(); 244 done.Run();
245 } 245 }
246 246
247 void CopyRowsToNV12Buffer(int first_row, 247 void CopyRowsToNV12Buffer(int first_row,
248 int rows, 248 int rows,
249 int bytes_per_row, 249 int bytes_per_row,
250 const scoped_refptr<VideoFrame>& source_frame, 250 const scoped_refptr<VideoFrame>& source_frame,
251 uint8* dest_y, 251 uint8_t* dest_y,
252 int dest_stride_y, 252 int dest_stride_y,
253 uint8* dest_uv, 253 uint8_t* dest_uv,
254 int dest_stride_uv, 254 int dest_stride_uv,
255 const base::Closure& done) { 255 const base::Closure& done) {
256 TRACE_EVENT2("media", "CopyRowsToNV12Buffer", "bytes_per_row", bytes_per_row, 256 TRACE_EVENT2("media", "CopyRowsToNV12Buffer", "bytes_per_row", bytes_per_row,
257 "rows", rows); 257 "rows", rows);
258 if (dest_y && dest_uv) { 258 if (dest_y && dest_uv) {
259 DCHECK_NE(dest_stride_y, 0); 259 DCHECK_NE(dest_stride_y, 0);
260 DCHECK_NE(dest_stride_uv, 0); 260 DCHECK_NE(dest_stride_uv, 0);
261 DCHECK_LE(bytes_per_row, std::abs(dest_stride_y)); 261 DCHECK_LE(bytes_per_row, std::abs(dest_stride_y));
262 DCHECK_LE(bytes_per_row, std::abs(dest_stride_uv)); 262 DCHECK_LE(bytes_per_row, std::abs(dest_stride_uv));
263 DCHECK_EQ(0, first_row % 2); 263 DCHECK_EQ(0, first_row % 2);
(...skipping 12 matching lines...) Expand all
276 dest_uv + first_row / 2 * dest_stride_uv, dest_stride_uv, bytes_per_row, 276 dest_uv + first_row / 2 * dest_stride_uv, dest_stride_uv, bytes_per_row,
277 rows); 277 rows);
278 } 278 }
279 done.Run(); 279 done.Run();
280 } 280 }
281 281
282 void CopyRowsToUYVYBuffer(int first_row, 282 void CopyRowsToUYVYBuffer(int first_row,
283 int rows, 283 int rows,
284 int width, 284 int width,
285 const scoped_refptr<VideoFrame>& source_frame, 285 const scoped_refptr<VideoFrame>& source_frame,
286 uint8* output, 286 uint8_t* output,
287 int dest_stride, 287 int dest_stride,
288 const base::Closure& done) { 288 const base::Closure& done) {
289 TRACE_EVENT2("media", "CopyRowsToUYVYBuffer", "bytes_per_row", width * 2, 289 TRACE_EVENT2("media", "CopyRowsToUYVYBuffer", "bytes_per_row", width * 2,
290 "rows", rows); 290 "rows", rows);
291 if (output) { 291 if (output) {
292 DCHECK_NE(dest_stride, 0); 292 DCHECK_NE(dest_stride, 0);
293 DCHECK_LE(width, std::abs(dest_stride / 2)); 293 DCHECK_LE(width, std::abs(dest_stride / 2));
294 DCHECK_EQ(0, first_row % 2); 294 DCHECK_EQ(0, first_row % 2);
295 libyuv::I420ToUYVY( 295 libyuv::I420ToUYVY(
296 source_frame->visible_data(VideoFrame::kYPlane) + 296 source_frame->visible_data(VideoFrame::kYPlane) +
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
384 } 384 }
385 385
386 worker_task_runner_->PostTask( 386 worker_task_runner_->PostTask(
387 FROM_HERE, base::Bind(&PoolImpl::CopyVideoFrameToGpuMemoryBuffers, this, 387 FROM_HERE, base::Bind(&PoolImpl::CopyVideoFrameToGpuMemoryBuffers, this,
388 video_frame, frame_resources, frame_ready_cb)); 388 video_frame, frame_resources, frame_ready_cb));
389 } 389 }
390 390
391 bool GpuMemoryBufferVideoFramePool::PoolImpl::OnMemoryDump( 391 bool GpuMemoryBufferVideoFramePool::PoolImpl::OnMemoryDump(
392 const base::trace_event::MemoryDumpArgs& args, 392 const base::trace_event::MemoryDumpArgs& args,
393 base::trace_event::ProcessMemoryDump* pmd) { 393 base::trace_event::ProcessMemoryDump* pmd) {
394 const uint64 tracing_process_id = 394 const uint64_t tracing_process_id =
395 base::trace_event::MemoryDumpManager::GetInstance() 395 base::trace_event::MemoryDumpManager::GetInstance()
396 ->GetTracingProcessId(); 396 ->GetTracingProcessId();
397 const int kImportance = 2; 397 const int kImportance = 2;
398 for (const FrameResources* frame_resources : resources_pool_) { 398 for (const FrameResources* frame_resources : resources_pool_) {
399 for (const PlaneResource& plane_resource : 399 for (const PlaneResource& plane_resource :
400 frame_resources->plane_resources) { 400 frame_resources->plane_resources) {
401 if (plane_resource.gpu_memory_buffer) { 401 if (plane_resource.gpu_memory_buffer) {
402 gfx::GpuMemoryBufferId buffer_id = 402 gfx::GpuMemoryBufferId buffer_id =
403 plane_resource.gpu_memory_buffer->GetId(); 403 plane_resource.gpu_memory_buffer->GetId();
404 std::string dump_name = base::StringPrintf( 404 std::string dump_name = base::StringPrintf(
(...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after
738 } 738 }
739 739
740 void GpuMemoryBufferVideoFramePool::MaybeCreateHardwareFrame( 740 void GpuMemoryBufferVideoFramePool::MaybeCreateHardwareFrame(
741 const scoped_refptr<VideoFrame>& video_frame, 741 const scoped_refptr<VideoFrame>& video_frame,
742 const FrameReadyCB& frame_ready_cb) { 742 const FrameReadyCB& frame_ready_cb) {
743 DCHECK(video_frame); 743 DCHECK(video_frame);
744 pool_impl_->CreateHardwareFrame(video_frame, frame_ready_cb); 744 pool_impl_->CreateHardwareFrame(video_frame, frame_ready_cb);
745 } 745 }
746 746
747 } // namespace media 747 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698