Index: content/renderer/media/renderer_gpu_video_accelerator_factories.cc |
diff --git a/content/renderer/media/renderer_gpu_video_accelerator_factories.cc b/content/renderer/media/renderer_gpu_video_accelerator_factories.cc |
index 3925929c42f35ffd8ab07bb1dc9907ded7a9f8c4..d07b07d262a0201001df3cf300a0a51c440af48a 100644 |
--- a/content/renderer/media/renderer_gpu_video_accelerator_factories.cc |
+++ b/content/renderer/media/renderer_gpu_video_accelerator_factories.cc |
@@ -222,6 +222,7 @@ RendererGpuVideoAcceleratorFactories::AllocateGpuMemoryBuffer( |
size, format, usage, gpu::kNullSurfaceHandle); |
return buffer; |
} |
+ |
bool RendererGpuVideoAcceleratorFactories:: |
ShouldUseGpuMemoryBuffersForVideoFrames() const { |
return enable_gpu_memory_buffer_video_frames_; |
@@ -236,12 +237,15 @@ unsigned RendererGpuVideoAcceleratorFactories::ImageTextureTarget( |
} |
media::VideoPixelFormat |
-RendererGpuVideoAcceleratorFactories::VideoFrameOutputFormat() { |
+RendererGpuVideoAcceleratorFactories::VideoFrameOutputFormat( |
+ media::VideoPixelFormat format) { |
DCHECK(task_runner_->BelongsToCurrentThread()); |
if (CheckContextLost()) |
return media::PIXEL_FORMAT_UNKNOWN; |
cc::ContextProvider::ScopedContextLock lock(context_provider_); |
auto capabilities = context_provider_->ContextCapabilities(); |
+ if (format == media::PIXEL_FORMAT_Y8 || format == media::PIXEL_FORMAT_Y16) |
+ return capabilities.texture_rg ? format : media::PIXEL_FORMAT_UNKNOWN; |
if (capabilities.image_ycbcr_420v) |
return media::PIXEL_FORMAT_NV12; |
if (capabilities.image_ycbcr_422) |