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 <fcntl.h> | 5 #include <fcntl.h> |
6 #include <linux/videodev2.h> | 6 #include <linux/videodev2.h> |
7 #include <poll.h> | 7 #include <poll.h> |
8 #include <sys/eventfd.h> | 8 #include <sys/eventfd.h> |
9 #include <sys/ioctl.h> | 9 #include <sys/ioctl.h> |
10 #include <sys/mman.h> | 10 #include <sys/mman.h> |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
285 std::vector<SupportedProfile> profiles; | 285 std::vector<SupportedProfile> profiles; |
286 SupportedProfile profile; | 286 SupportedProfile profile; |
287 | 287 |
288 const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); | 288 const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); |
289 if (cmd_line->HasSwitch(switches::kEnableWebRtcHWVp8Encoding)) { | 289 if (cmd_line->HasSwitch(switches::kEnableWebRtcHWVp8Encoding)) { |
290 profile.profile = media::VP8PROFILE_ANY; | 290 profile.profile = media::VP8PROFILE_ANY; |
291 profile.max_resolution.SetSize(1920, 1088); | 291 profile.max_resolution.SetSize(1920, 1088); |
292 profile.max_framerate_numerator = 30; | 292 profile.max_framerate_numerator = 30; |
293 profile.max_framerate_denominator = 1; | 293 profile.max_framerate_denominator = 1; |
294 profiles.push_back(profile); | 294 profiles.push_back(profile); |
295 } else { | |
296 profile.profile = media::H264PROFILE_MAIN; | |
297 profile.max_resolution.SetSize(1920, 1088); | |
298 profile.max_framerate_numerator = 30; | |
299 profile.max_framerate_denominator = 1; | |
300 profiles.push_back(profile); | |
301 } | 295 } |
302 | 296 |
| 297 profile.profile = media::H264PROFILE_MAIN; |
| 298 profile.max_resolution.SetSize(1920, 1088); |
| 299 profile.max_framerate_numerator = 30; |
| 300 profile.max_framerate_denominator = 1; |
| 301 profiles.push_back(profile); |
| 302 |
303 return profiles; | 303 return profiles; |
304 } | 304 } |
305 | 305 |
306 void V4L2VideoEncodeAccelerator::FrameProcessed( | 306 void V4L2VideoEncodeAccelerator::FrameProcessed( |
307 bool force_keyframe, | 307 bool force_keyframe, |
308 const scoped_refptr<media::VideoFrame>& frame) { | 308 const scoped_refptr<media::VideoFrame>& frame) { |
309 DCHECK(child_message_loop_proxy_->BelongsToCurrentThread()); | 309 DCHECK(child_message_loop_proxy_->BelongsToCurrentThread()); |
310 DVLOG(3) << "FrameProcessed(): force_keyframe=" << force_keyframe; | 310 DVLOG(3) << "FrameProcessed(): force_keyframe=" << force_keyframe; |
311 | 311 |
312 encoder_thread_.message_loop()->PostTask( | 312 encoder_thread_.message_loop()->PostTask( |
(...skipping 776 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1089 reqbufs.count = 0; | 1089 reqbufs.count = 0; |
1090 reqbufs.type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE; | 1090 reqbufs.type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE; |
1091 reqbufs.memory = V4L2_MEMORY_MMAP; | 1091 reqbufs.memory = V4L2_MEMORY_MMAP; |
1092 IOCTL_OR_LOG_ERROR(VIDIOC_REQBUFS, &reqbufs); | 1092 IOCTL_OR_LOG_ERROR(VIDIOC_REQBUFS, &reqbufs); |
1093 | 1093 |
1094 output_buffer_map_.clear(); | 1094 output_buffer_map_.clear(); |
1095 free_output_buffers_.clear(); | 1095 free_output_buffers_.clear(); |
1096 } | 1096 } |
1097 | 1097 |
1098 } // namespace content | 1098 } // namespace content |
OLD | NEW |