| Index: media/video/capture/video_capture_types.cc
|
| diff --git a/media/video/capture/video_capture_types.cc b/media/video/capture/video_capture_types.cc
|
| index 2cddeee9cbac36cc2d321ae1e54fec02d402f854..902e458c9deaa1f58045c2dc8ae004f54c84d570 100644
|
| --- a/media/video/capture/video_capture_types.cc
|
| +++ b/media/video/capture/video_capture_types.cc
|
| @@ -31,6 +31,33 @@ bool VideoCaptureFormat::IsValid() const {
|
| (pixel_format < PIXEL_FORMAT_MAX);
|
| }
|
|
|
| +size_t VideoCaptureFormat::ImageAllocationSize() const {
|
| + size_t result_frame_size = frame_size.GetArea();
|
| + switch (pixel_format) {
|
| + case PIXEL_FORMAT_I420:
|
| + case PIXEL_FORMAT_YV12:
|
| + case PIXEL_FORMAT_NV12:
|
| + case PIXEL_FORMAT_NV21:
|
| + result_frame_size = result_frame_size * 3 / 2;
|
| + break;
|
| + case PIXEL_FORMAT_UYVY:
|
| + case PIXEL_FORMAT_YUY2:
|
| + result_frame_size *= 2;
|
| + break;
|
| + case PIXEL_FORMAT_RGB24:
|
| + result_frame_size *= 3;
|
| + break;
|
| + case PIXEL_FORMAT_MJPEG:
|
| + result_frame_size = 0;
|
| + break;
|
| + default: // Sizes for the rest of the formats are unknown.
|
| + NOTREACHED() << "Invalid VideoPixelFormat provided for "
|
| + "GetSizeForVideoPixelFormat(): " << pixel_format;
|
| + break;
|
| + }
|
| + return result_frame_size;
|
| +}
|
| +
|
| std::string VideoCaptureFormat::ToString() const {
|
| return base::StringPrintf("resolution: %s, fps: %.3f, pixel format: %s",
|
| frame_size.ToString().c_str(),
|
|
|