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 // This file defines the V4L2Device interface which is used by the | 5 // This file defines the V4L2Device interface which is used by the |
6 // V4L2DecodeAccelerator class to delegate/pass the device specific | 6 // V4L2DecodeAccelerator class to delegate/pass the device specific |
7 // handling of any of the functionalities. | 7 // handling of any of the functionalities. |
8 | 8 |
9 #ifndef CONTENT_COMMON_GPU_MEDIA_V4L2_DEVICE_H_ | 9 #ifndef CONTENT_COMMON_GPU_MEDIA_V4L2_DEVICE_H_ |
10 #define CONTENT_COMMON_GPU_MEDIA_V4L2_DEVICE_H_ | 10 #define CONTENT_COMMON_GPU_MEDIA_V4L2_DEVICE_H_ |
11 | 11 |
12 #include "base/memory/ref_counted.h" | 12 #include "base/memory/ref_counted.h" |
13 #include "content/common/content_export.h" | 13 #include "content/common/content_export.h" |
14 #include "media/base/video_decoder_config.h" | 14 #include "media/base/video_decoder_config.h" |
15 #include "media/base/video_frame.h" | 15 #include "media/base/video_frame.h" |
16 #include "ui/gfx/geometry/size.h" | 16 #include "ui/gfx/geometry/size.h" |
17 #include "ui/gl/gl_bindings.h" | 17 #include "ui/gl/gl_bindings.h" |
18 | 18 |
| 19 // TODO(posciak): remove this once V4L2 headers are updated. |
| 20 #define V4L2_PIX_FMT_VP9 v4l2_fourcc('V', 'P', '9', '0') |
| 21 #define V4L2_PIX_FMT_H264_SLICE v4l2_fourcc('S', '2', '6', '4') |
| 22 #define V4L2_PIX_FMT_VP8_FRAME v4l2_fourcc('V', 'P', '8', 'F') |
| 23 |
19 namespace content { | 24 namespace content { |
20 | 25 |
21 class CONTENT_EXPORT V4L2Device | 26 class CONTENT_EXPORT V4L2Device |
22 : public base::RefCountedThreadSafe<V4L2Device> { | 27 : public base::RefCountedThreadSafe<V4L2Device> { |
23 public: | 28 public: |
24 // Utility format conversion functions | 29 // Utility format conversion functions |
25 static media::VideoFrame::Format V4L2PixFmtToVideoFrameFormat(uint32 format); | 30 static media::VideoFrame::Format V4L2PixFmtToVideoFrameFormat(uint32 format); |
26 static uint32 VideoFrameFormatToV4L2PixFmt(media::VideoFrame::Format format); | 31 static uint32 VideoFrameFormatToV4L2PixFmt(media::VideoFrame::Format format); |
27 static uint32 VideoCodecProfileToV4L2PixFmt(media::VideoCodecProfile profile, | 32 static uint32 VideoCodecProfileToV4L2PixFmt(media::VideoCodecProfile profile, |
28 bool slice_based); | 33 bool slice_based); |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 virtual uint32 PreferredInputFormat() = 0; | 107 virtual uint32 PreferredInputFormat() = 0; |
103 | 108 |
104 protected: | 109 protected: |
105 friend class base::RefCountedThreadSafe<V4L2Device>; | 110 friend class base::RefCountedThreadSafe<V4L2Device>; |
106 virtual ~V4L2Device(); | 111 virtual ~V4L2Device(); |
107 }; | 112 }; |
108 | 113 |
109 } // namespace content | 114 } // namespace content |
110 | 115 |
111 #endif // CONTENT_COMMON_GPU_MEDIA_V4L2_DEVICE_H_ | 116 #endif // CONTENT_COMMON_GPU_MEDIA_V4L2_DEVICE_H_ |
OLD | NEW |