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

Side by Side Diff: content/renderer/media/renderer_gpu_video_accelerator_factories.cc

Issue 2398463003: 16 bit capture and GPU&CPU memory buffer support.
Patch Set: fixes. Created 4 years, 2 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 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "content/renderer/media/renderer_gpu_video_accelerator_factories.h" 5 #include "content/renderer/media/renderer_gpu_video_accelerator_factories.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 "base/bind.h" 10 #include "base/bind.h"
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 239
240 unsigned RendererGpuVideoAcceleratorFactories::ImageTextureTarget( 240 unsigned RendererGpuVideoAcceleratorFactories::ImageTextureTarget(
241 gfx::BufferFormat format) { 241 gfx::BufferFormat format) {
242 auto found = image_texture_targets_.find(cc::BufferToTextureTargetKey( 242 auto found = image_texture_targets_.find(cc::BufferToTextureTargetKey(
243 gfx::BufferUsage::GPU_READ_CPU_READ_WRITE, format)); 243 gfx::BufferUsage::GPU_READ_CPU_READ_WRITE, format));
244 DCHECK(found != image_texture_targets_.end()); 244 DCHECK(found != image_texture_targets_.end());
245 return found->second; 245 return found->second;
246 } 246 }
247 247
248 media::VideoPixelFormat 248 media::VideoPixelFormat
249 RendererGpuVideoAcceleratorFactories::VideoFrameOutputFormat() { 249 RendererGpuVideoAcceleratorFactories::VideoFrameOutputFormat(
250 media::VideoPixelFormat format) {
250 DCHECK(task_runner_->BelongsToCurrentThread()); 251 DCHECK(task_runner_->BelongsToCurrentThread());
251 if (CheckContextLost()) 252 if (CheckContextLost())
252 return media::PIXEL_FORMAT_UNKNOWN; 253 return media::PIXEL_FORMAT_UNKNOWN;
253 cc::ContextProvider::ScopedContextLock lock(context_provider_); 254 cc::ContextProvider::ScopedContextLock lock(context_provider_);
254 auto capabilities = context_provider_->ContextCapabilities(); 255 auto capabilities = context_provider_->ContextCapabilities();
256 if (format == media::PIXEL_FORMAT_Y16)
257 return capabilities.texture_rg ? format : media::PIXEL_FORMAT_UNKNOWN;
255 if (capabilities.image_ycbcr_420v) 258 if (capabilities.image_ycbcr_420v)
256 return media::PIXEL_FORMAT_NV12; 259 return media::PIXEL_FORMAT_NV12;
257 if (capabilities.image_ycbcr_422) 260 if (capabilities.image_ycbcr_422)
258 return media::PIXEL_FORMAT_UYVY; 261 return media::PIXEL_FORMAT_UYVY;
259 if (capabilities.texture_rg) 262 if (capabilities.texture_rg)
260 return media::PIXEL_FORMAT_I420; 263 return media::PIXEL_FORMAT_I420;
261 return media::PIXEL_FORMAT_UNKNOWN; 264 return media::PIXEL_FORMAT_UNKNOWN;
262 } 265 }
263 266
264 namespace { 267 namespace {
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
316 context_provider_refptr_ = nullptr; 319 context_provider_refptr_ = nullptr;
317 } 320 }
318 321
319 scoped_refptr<ContextProviderCommandBuffer> 322 scoped_refptr<ContextProviderCommandBuffer>
320 RendererGpuVideoAcceleratorFactories::ContextProviderMainThread() { 323 RendererGpuVideoAcceleratorFactories::ContextProviderMainThread() {
321 DCHECK(main_thread_task_runner_->BelongsToCurrentThread()); 324 DCHECK(main_thread_task_runner_->BelongsToCurrentThread());
322 return context_provider_refptr_; 325 return context_provider_refptr_;
323 } 326 }
324 327
325 } // namespace content 328 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/renderer_gpu_video_accelerator_factories.h ('k') | content/renderer/media/video_capture_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698