Jetson Linux API 参考文档

32.7.4 版本
EGLStream.h
转到此文件的文档。
1 /*
2  * 版权所有 (c) 2017, NVIDIA CORPORATION。保留所有权利。
3  *
4  * 源代码和二进制形式的再分发和使用,无论是否
5  * 经过修改,只要满足以下条件,均被允许
6  * 满足:
7  * * 源代码的再分发必须保留以上版权声明
8  * 声明、此条件列表和以下免责声明。
9  * * 二进制形式的再分发必须在以上版权声明中复制
10  * 声明、此条件列表和以下免责声明,在
11  * 文档和/或随发行版提供的其他材料中。
12  * * NVIDIA CORPORATION 的名称及其
13  * 贡献者的姓名不得用于认可或推广衍生产品
14  * 未经事先书面许可的本软件。
15  *
16  * 本软件由版权所有者``按原样''提供,并且不作任何
17  * 明示或暗示的保证,包括但不限于
18  * 对适销性和特定用途适用性的暗示保证
19  * 目的不作担保。在任何情况下,版权所有者或
20  * 贡献者均不对任何直接、间接、附带、特殊、
21  * 惩戒性或后果性损害(包括但不限于
22  * 采购替代商品或服务;使用、数据或
23  * 利润损失;或业务中断)承担责任,无论起因和基于何种理论
24  * 的责任,无论是在合同、严格责任还是侵权行为中
25  * (包括疏忽或其他原因)以任何方式因使用而产生
26  * 本软件,即使已被告知可能发生此类损害。
27  */
28 
36 #ifndef _ARGUS_EGL_STREAM_H
37 #define _ARGUS_EGL_STREAM_H
38 
39 namespace Argus
40 {
41 
62 DEFINE_UUID(StreamType, STREAM_TYPE_EGL, 3a659360,5231,11e7,9598,18,00,20,0c,9a,66);
63 
67 DEFINE_NAMED_UUID_CLASS(EGLStreamMode);
68 DEFINE_UUID(EGLStreamMode, EGL_STREAM_MODE_MAILBOX, 33661d40,3ee2,11e6,bdf4,08,00,20,0c,9a,66);
69 DEFINE_UUID(EGLStreamMode, EGL_STREAM_MODE_FIFO, 33661d41,3ee2,11e6,bdf4,08,00,20,0c,9a,66);
70 
78 DEFINE_UUID(InterfaceID, IID_EGL_OUTPUT_STREAM_SETTINGS, 3a659361,5231,11e7,9598,18,00,20,0c,9a,66);
80 {
81 public
82  static const InterfaceID& id() { return IID_EGL_OUTPUT_STREAM_SETTINGS; }
83 
88  virtual Status setPixelFormat(const PixelFormat& format) = 0;
89  virtual PixelFormat getPixelFormat() const = 0;
90 
95  virtual Status setResolution(const Size2D<uint32_t>& resolution) = 0;
96  virtual Size2D<uint32_t> getResolution() const = 0;
97 
109  virtual Status setExposureCount(uint32_t exposureCount) = 0;
110  virtual uint32_t getExposureCount() const = 0;
111 
116  virtual Status setEGLDisplay(EGLDisplay eglDisplay) = 0;
117  virtual EGLDisplay getEGLDisplay() const = 0;
118 
157  virtual Status setMode(const EGLStreamMode& mode) = 0;
158  virtual EGLStreamMode getMode() const = 0;
159 
165  virtual Status setFifoLength(uint32_t fifoLength) = 0;
166  virtual uint32_t getFifoLength() const = 0;
167 
177  virtual Status setMetadataEnable(bool metadataEnable) = 0;
178  virtual bool getMetadataEnable() const = 0;
179 
187  virtual bool supportsOutputStreamFormat(const SensorMode* sensorMode,
188  const PixelFormat& outputFormat) const = 0;
189 
190 protected
192 };
193 
201 DEFINE_UUID(InterfaceID, IID_EGL_OUTPUT_STREAM, 3a659362,5231,11e7,9598,18,00,20,0c,9a,66);
203 {
204 public
205  static const InterfaceID& id() { return IID_EGL_OUTPUT_STREAM; }
206 
214  virtual Status waitUntilConnected(uint64_t timeout = TIMEOUT_INFINITE) const = 0;
215 
219  virtual void disconnect() = 0;
220 
224  virtual PixelFormat getPixelFormat() const = 0;
225 
229  virtual Size2D<uint32_t> getResolution() const = 0;
230 
234  virtual EGLDisplay getEGLDisplay() const = 0;
235 
239  virtual EGLStreamKHR getEGLStream() const = 0;
240 
241 protected
243 };
244 
245 } // namespace Argus
246 
247 #endif // _ARGUS_EGL_STREAM_H
Argus::IEGLOutputStream::getResolution
virtual Size2D< uint32_t > getResolution() const =0
返回流的图像分辨率,以像素为单位。
Argus::IEGLOutputStreamSettings::setMetadataEnable
virtual Status setMetadataEnable(bool metadataEnable)=0
启用或禁用将 Argus CaptureMetadata 嵌入到写入 EGLStream 的帧中。
Argus::IEGLOutputStreamSettings::getFifoLength
virtual uint32_t getFifoLength() const =0
Argus::DEFINE_NAMED_UUID_CLASS
DEFINE_NAMED_UUID_CLASS(BufferType)
Argus::TIMEOUT_INFINITE
const uint64_t TIMEOUT_INFINITE
用于无限超时的常量。
定义位置: Types.h:88
Argus::IEGLOutputStream::~IEGLOutputStream
~IEGLOutputStream()
定义位置: EGLStream.h:242
Argus::DEFINE_UUID
DEFINE_UUID(ExtensionName, EXT_BAYER_AVERAGE_MAP, 12c3de20, 64c5, 11e6, bdf4, 08, 00, 20, 0c, 9a, 66)
Argus::IEGLOutputStreamSettings::id
static const InterfaceID & id()
定义位置: EGLStream.h:82
Argus::IEGLOutputStreamSettings::setEGLDisplay
virtual Status setEGLDisplay(EGLDisplay eglDisplay)=0
设置创建的流必须属于的 EGLDisplay。
Argus
定义位置: BayerAverageMap.h:39
Argus::IEGLOutputStreamSettings::setFifoLength
virtual Status setFifoLength(uint32_t fifoLength)=0
设置流的 FIFO 队列长度。
Argus::Size2D< uint32_t >
Argus::IEGLOutputStreamSettings::getMetadataEnable
virtual bool getMetadataEnable() const =0
Argus::IEGLOutputStreamSettings::getPixelFormat
virtual PixelFormat getPixelFormat() const =0
Argus::Interface
顶层接口类。
定义位置: Types.h:346
Argus::IEGLOutputStreamSettings::getMode
virtual EGLStreamMode getMode() const =0
Argus::IEGLOutputStreamSettings
定义位置: EGLStream.h:79
Argus::IEGLOutputStreamSettings::setResolution
virtual Status setResolution(const Size2D< uint32_t > &resolution)=0
设置流的分辨率。
Argus::IEGLOutputStream::getPixelFormat
virtual PixelFormat getPixelFormat() const =0
返回流的格式。
Argus::InterfaceID
libargus 接口的唯一标识符。
定义位置: Types.h:356
Argus::IEGLOutputStreamSettings::supportsOutputStreamFormat
virtual bool supportsOutputStreamFormat(const SensorMode *sensorMode, const PixelFormat &outputFormat) const =0
Argus::IEGLOutputStreamSettings::getEGLDisplay
virtual EGLDisplay getEGLDisplay() const =0
Argus::IEGLOutputStreamSettings::setExposureCount
virtual Status setExposureCount(uint32_t exposureCount)=0
设置每个流帧的曝光次数。
Argus::IEGLOutputStream::disconnect
virtual void disconnect()=0
断开流与底层 EGLStream 的连接。
Argus::IEGLOutputStreamSettings::getResolution
virtual Size2D< uint32_t > getResolution() const =0
Argus::IEGLOutputStreamSettings::getExposureCount
virtual uint32_t getExposureCount() const =0
Argus::IEGLOutputStreamSettings::setPixelFormat
virtual Status setPixelFormat(const PixelFormat &format)=0
设置流的格式。
Argus::IEGLOutputStream::id
static const InterfaceID & id()
定义位置: EGLStream.h:205
Argus::IEGLOutputStreamSettings::setMode
virtual Status setMode(const EGLStreamMode &mode)=0
设置 OutputStream 的模式。
Argus::IEGLOutputStream::getEGLDisplay
virtual EGLDisplay getEGLDisplay() const =0
返回流的 EGLStream 所属的 EGLDisplay。
Argus::IEGLOutputStream
定义位置: EGLStream.h:202
Argus::IEGLOutputStream::getEGLStream
virtual EGLStreamKHR getEGLStream() const =0
返回支持该流的 EGLStream。
Argus::IEGLOutputStream::waitUntilConnected
virtual Status waitUntilConnected(uint64_t timeout=TIMEOUT_INFINITE) const =0
等待直到流的生产者和消费者端点都连接。
Argus::Status
状态
API 函数调用返回的状态值。
定义位置: Types.h:93
Argus::IEGLOutputStreamSettings::~IEGLOutputStreamSettings
~IEGLOutputStreamSettings()
定义位置: EGLStream.h:191
Argus::SensorMode
定义位置: CameraDevice.h:210
. All rights reserved.