OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 <linux/videodev2.h> | 5 #include <linux/videodev2.h> |
6 | 6 |
7 #include "base/numerics/safe_conversions.h" | 7 #include "base/numerics/safe_conversions.h" |
8 #include "content/common/gpu/media/generic_v4l2_video_device.h" | 8 #include "content/common/gpu/media/generic_v4l2_video_device.h" |
9 #if defined(ARCH_CPU_ARMEL) | |
10 #include "content/common/gpu/media/tegra_v4l2_video_device.h" | 9 #include "content/common/gpu/media/tegra_v4l2_video_device.h" |
11 #endif | |
12 | 10 |
13 namespace content { | 11 namespace content { |
14 | 12 |
15 V4L2Device::~V4L2Device() {} | 13 V4L2Device::~V4L2Device() {} |
16 | 14 |
17 // static | 15 // static |
18 scoped_ptr<V4L2Device> V4L2Device::Create(Type type) { | 16 scoped_ptr<V4L2Device> V4L2Device::Create(Type type) { |
19 DVLOG(3) << __PRETTY_FUNCTION__; | 17 DVLOG(3) << __PRETTY_FUNCTION__; |
20 | 18 |
21 scoped_ptr<GenericV4L2Device> generic_device(new GenericV4L2Device(type)); | 19 scoped_ptr<GenericV4L2Device> generic_device(new GenericV4L2Device(type)); |
22 if (generic_device->Initialize()) | 20 if (generic_device->Initialize()) |
23 return generic_device.Pass(); | 21 return generic_device.Pass(); |
24 | 22 |
25 #if defined(ARCH_CPU_ARMEL) | |
26 scoped_ptr<TegraV4L2Device> tegra_device(new TegraV4L2Device(type)); | 23 scoped_ptr<TegraV4L2Device> tegra_device(new TegraV4L2Device(type)); |
27 if (tegra_device->Initialize()) | 24 if (tegra_device->Initialize()) |
28 return tegra_device.Pass(); | 25 return tegra_device.Pass(); |
29 #endif | |
30 | 26 |
31 LOG(ERROR) << "Failed to create V4L2Device"; | 27 LOG(ERROR) << "Failed to create V4L2Device"; |
32 return scoped_ptr<V4L2Device>(); | 28 return scoped_ptr<V4L2Device>(); |
33 } | 29 } |
34 | 30 |
35 // static | 31 // static |
36 media::VideoFrame::Format V4L2Device::V4L2PixFmtToVideoFrameFormat( | 32 media::VideoFrame::Format V4L2Device::V4L2PixFmtToVideoFrameFormat( |
37 uint32 pix_fmt) { | 33 uint32 pix_fmt) { |
38 switch (pix_fmt) { | 34 switch (pix_fmt) { |
39 case V4L2_PIX_FMT_NV12: | 35 case V4L2_PIX_FMT_NV12: |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 DCHECK_EQ(format.fmt.pix_mp.plane_fmt[i].bytesperline, | 134 DCHECK_EQ(format.fmt.pix_mp.plane_fmt[i].bytesperline, |
139 base::checked_cast<__u32>(media::VideoFrame::RowBytes( | 135 base::checked_cast<__u32>(media::VideoFrame::RowBytes( |
140 i, frame_format, coded_size.width()))); | 136 i, frame_format, coded_size.width()))); |
141 } | 137 } |
142 } | 138 } |
143 | 139 |
144 return coded_size; | 140 return coded_size; |
145 } | 141 } |
146 | 142 |
147 } // namespace content | 143 } // namespace content |
OLD | NEW |