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

Unified Diff: media/renderers/mock_gpu_video_accelerator_factories.cc

Issue 1306693002: media: Convert I420 VideoFrame to UYVY GpuMemoryBuffer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: s/CHECK_EQ/DCHECK_EQ. Created 5 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: media/renderers/mock_gpu_video_accelerator_factories.cc
diff --git a/media/renderers/mock_gpu_video_accelerator_factories.cc b/media/renderers/mock_gpu_video_accelerator_factories.cc
index 14e4d148751bfa4b280656a99040d683db5cfebd..5230cdde6d8df0aa199ff485d54e44194725fb2b 100644
--- a/media/renderers/mock_gpu_video_accelerator_factories.cc
+++ b/media/renderers/mock_gpu_video_accelerator_factories.cc
@@ -12,8 +12,12 @@ namespace {
class GpuMemoryBufferImpl : public gfx::GpuMemoryBuffer {
public:
- GpuMemoryBufferImpl(const gfx::Size& size) : size_(size) {
- bytes_.resize(size_.GetArea());
+ GpuMemoryBufferImpl(const gfx::Size& size, gfx::BufferFormat format)
+ : format_(format), size_(size) {
+ DCHECK(gfx::BufferFormat::R_8 == format_ ||
+ gfx::BufferFormat::UYVY_422 == format_);
+ bytes_.resize(size_.GetArea() *
+ (format_ == gfx::BufferFormat::UYVY_422 ? 2 : 1));
}
// Overridden from gfx::GpuMemoryBuffer:
@@ -27,9 +31,13 @@ class GpuMemoryBufferImpl : public gfx::GpuMemoryBuffer {
return false;
}
gfx::BufferFormat GetFormat() const override {
+ NOTREACHED();
return gfx::BufferFormat::R_8;
}
- void GetStride(int* stride) const override { stride[0] = size_.width(); }
+ void GetStride(int* stride) const override {
+ stride[0] =
+ size_.width() * (format_ == gfx::BufferFormat::UYVY_422 ? 2 : 1);
+ }
gfx::GpuMemoryBufferId GetId() const override {
NOTREACHED();
return gfx::GpuMemoryBufferId(0);
@@ -43,6 +51,7 @@ class GpuMemoryBufferImpl : public gfx::GpuMemoryBuffer {
}
private:
+ gfx::BufferFormat format_;
std::vector<unsigned char> bytes_;
const gfx::Size size_;
};
@@ -62,8 +71,8 @@ MockGpuVideoAcceleratorFactories::AllocateGpuMemoryBuffer(
const gfx::Size& size,
gfx::BufferFormat format,
gfx::BufferUsage usage) {
- DCHECK(gfx::BufferFormat::R_8 == format);
- return make_scoped_ptr<gfx::GpuMemoryBuffer>(new GpuMemoryBufferImpl(size));
+ return make_scoped_ptr<gfx::GpuMemoryBuffer>(
+ new GpuMemoryBufferImpl(size, format));
}
scoped_ptr<base::SharedMemory>
« no previous file with comments | « media/renderers/mock_gpu_video_accelerator_factories.h ('k') | media/video/gpu_memory_buffer_video_frame_pool.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698