37 #ifndef _ARGUS_TYPES_H
38 #define _ARGUS_TYPES_H
53 #include <EGL/eglext.h>
72 class CaptureMetadata;
73 class CaptureMetadataContainer;
78 class OutputStreamSettings;
85 class ICameraProperties;
86 class ICameraProvider;
87 class ICaptureSession;
88 class IAutoControlSettings;
91 class IStreamSettings;
106 , uint16_t time_hi_and_version_
107 , uint16_t clock_seq_
108 , uint8_t c0, uint8_t c1, uint8_t c2, uint8_t c3, uint8_t c4, uint8_t c5
110 :
NamedUUID(time_low_, time_mid_, time_hi_and_version_, clock_seq_,
111 c0, c1, c2, c3, c4, c5, name)
115 :
NamedUUID(0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
"EXT_UNSPECIFIED")
133 DEFINE_UUID(AwbMode, AWB_MODE_OFF, FB3F365A,CC62,11E5,9956,62,56,62,87,07,61);
134 DEFINE_UUID(AwbMode, AWB_MODE_AUTO, FB3F365B,CC62,11E5,9956,62,56,62,87,07,61);
135 DEFINE_UUID(AwbMode, AWB_MODE_INCANDESCENT, FB3F365C,CC62,11E5,9956,62,56,62,87,07,61);
136 DEFINE_UUID(AwbMode, AWB_MODE_FLUORESCENT, FB3F365D,CC62,11E5,9956,62,56,62,87,07,61);
137 DEFINE_UUID(AwbMode, AWB_MODE_WARM_FLUORESCENT, FB3F365E,CC62,11E5,9956,62,56,62,87,07,61);
138 DEFINE_UUID(AwbMode, AWB_MODE_DAYLIGHT, FB3F365F,CC62,11E5,9956,62,56,62,87,07,61);
139 DEFINE_UUID(AwbMode, AWB_MODE_CLOUDY_DAYLIGHT, FB3F3660,CC62,11E5,9956,62,56,62,87,07,61);
140 DEFINE_UUID(AwbMode, AWB_MODE_TWILIGHT, FB3F3661,CC62,11E5,9956,62,56,62,87,07,61);
141 DEFINE_UUID(AwbMode, AWB_MODE_SHADE, FB3F3662,CC62,11E5,9956,62,56,62,87,07,61);
144 FB3F3663,CC62,11E5,9956,62,56,62,87,07,61);
146 FB3F3664,CC62,11E5,9956,62,56,62,87,07,61);
147 DEFINE_UUID(CaptureIntent, CAPTURE_INTENT_STILL_CAPTURE,
148 FB3F3665,CC62,11E5,9956,62,56,62,87,07,61);
149 DEFINE_UUID(CaptureIntent, CAPTURE_INTENT_VIDEO_RECORD,
150 FB3F3666,CC62,11E5,9956,62,56,62,87,07,61);
151 DEFINE_UUID(CaptureIntent, CAPTURE_INTENT_VIDEO_SNAPSHOT,
152 FB3F3667,CC62,11E5,9956,62,56,62,87,07,61);
154 DEFINE_UUID(DenoiseMode, DENOISE_MODE_OFF, FB3F3668,CC62,11E5,9956,62,56,62,87,07,61);
155 DEFINE_UUID(DenoiseMode, DENOISE_MODE_FAST, FB3F3669,CC62,11E5,9956,62,56,62,87,07,61);
156 DEFINE_UUID(DenoiseMode, DENOISE_MODE_HIGH_QUALITY, FB3F366A,CC62,11E5,9956,62,56,62,87,07,61);
158 DEFINE_UUID(SensorModeType, SENSOR_MODE_TYPE_DEPTH,
159 64483464,4b91,11e6,bbbd,40,16,7e,ab,86,92);
161 6453e00c,4b91,11e6,871d,40,16,7e,ab,86,92);
163 6463d4c6,4b91,11e6,88a3,40,16,7e,ab,86,92);
164 DEFINE_UUID(SensorModeType, SENSOR_MODE_TYPE_BAYER,
165 646f04ea,4b91,11e6,9c06,40,16,7e,ab,86,92);
167 DEFINE_UUID(VideoStabilizationMode, VIDEO_STABILIZATION_MODE_OFF,
168 FB3F366E,CC62,11E5,9956,62,56,62,87,07,61);
169 DEFINE_UUID(VideoStabilizationMode, VIDEO_STABILIZATION_MODE_ON,
170 FB3F366F,CC62,11E5,9956,62,56,62,87,07,61);
271 , uint16_t time_hi_and_version_
272 , uint16_t clock_seq_
273 , uint8_t c0, uint8_t c1, uint8_t c2, uint8_t c3, uint8_t c4, uint8_t c5
275 :
NamedUUID(time_low_, time_mid_, time_hi_and_version_, clock_seq_,
276 c0, c1, c2, c3, c4, c5, name)
283 DEFINE_UUID(PixelFormat, PIXEL_FMT_UNKNOWN, 00000000,93d5,11e5,0000,1c,b7,2c,ef,d4,1e);
284 DEFINE_UUID(PixelFormat, PIXEL_FMT_Y8, 569be14a,93d5,11e5,91bc,1c,b7,2c,ef,d4,1e);
285 DEFINE_UUID(PixelFormat, PIXEL_FMT_Y16, 56ddb19c,93d5,11e5,8e2c,1c,b7,2c,ef,d4,1e);
286 DEFINE_UUID(PixelFormat, PIXEL_FMT_YCbCr_420_888, 570c10e6,93d5,11e5,8ff3,1c,b7,2c,ef,d4,1e);
287 DEFINE_UUID(PixelFormat, PIXEL_FMT_YCbCr_422_888, 573a7940,93d5,11e5,99c2,1c,b7,2c,ef,d4,1e);
288 DEFINE_UUID(PixelFormat, PIXEL_FMT_YCbCr_444_888, 576043dc,93d5,11e5,8983,1c,b7,2c,ef,d4,1e);
289 DEFINE_UUID(PixelFormat, PIXEL_FMT_JPEG_BLOB, 578b08c4,93d5,11e5,9686,1c,b7,2c,ef,d4,1e);
290 DEFINE_UUID(PixelFormat, PIXEL_FMT_RAW16, 57b484d8,93d5,11e5,aeb6,1c,b7,2c,ef,d4,1e);
327 , uint16_t time_hi_and_version_
328 , uint16_t clock_seq_
329 , uint8_t c0, uint8_t c1, uint8_t c2, uint8_t c3, uint8_t c4, uint8_t c5
331 :
NamedUUID(time_low_, time_mid_, time_hi_and_version_, clock_seq_,
332 c0, c1, c2, c3, c4, c5, name)
336 :
NamedUUID(0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
"IID_UNSPECIFIED")
362 template <
typename TheInterface>
365 return static_cast<TheInterface*
>(obj ? obj->
getInterface(TheInterface::id()): 0);
368 template <
typename TheInterface>
371 return static_cast<TheInterface*
>(
403 void operator=(
const rv&);
409 return *
static_cast<rv<T>*
>(&
self);
421 template <
typename T>
430 { T* obj = m_obj; m_obj = NULL;
return obj; }
438 T*
get()
const {
return m_obj; }
440 operator bool()
const {
return !!m_obj; }
448 T* operator->()
const;
452 template <
typename TheInterface,
typename TObject>
461 template <
typename T>
491 Rectangle(uint32_t _left, uint32_t _top, uint32_t _width, uint32_t _height)
536 return x == other.
x &&
y == other.
y;
604 AcRegion(uint32_t _left, uint32_t _top, uint32_t _width, uint32_t _height,
float _weight)
605 :
rect(_left, _top, _width, _height)
623 #endif // _ARGUS_TYPES_H
Size(uint32_t w, uint32_t h)
Construct size from width and height.
The base interface for a class that provides libargus interfaces.
The stream or other resource has been disconnected.
Location(uint32_t a, uint32_t b)
Construct location from x and y.
bool operator==(const Location &other) const
Status
Status values returned by API function calls.
TheInterface * interface_cast(InterfaceProvider *obj)
Interface-casting helper similar to dynamic_cast.
The top-level interface class.
UniqueObj(rv< UniqueObj > &moved)
bool operator==(const NormalizedRect &other) const
Aggregates 2D co-ordinates of a location in a single structure.
bool operator==(const Range< T > &rhs) const
A templatized class to hold a min/max range of values.
Rectangle(uint32_t _left, uint32_t _top, uint32_t _width, uint32_t _height)
InterfaceID(uint32_t time_low_, uint16_t time_mid_, uint16_t time_hi_and_version_, uint16_t clock_seq_, uint8_t c0, uint8_t c1, uint8_t c2, uint8_t c3, uint8_t c4, uint8_t c5, const char *name)
DEFINE_UUID(ExtensionName, EXT_BAYER_SHARPNESS_MAP, 7d5e0470, 4ea6, 11e6, bdf4, 08, 00, 20, 0c, 9a, 66)
The Ext::BayerSharpnessMap extension adds internally-generated sharpness metrics to CaptureMetadata r...
A unique identifier with a name (primarily for debugging purposes).
virtual void destroy()=0
Destroy this object.
Defines gains used for each Bayer channel.
Defines a rectangle in pixel space.
bool operator==(const Rectangle &other) const
const uint64_t TIMEOUT_INFINITE
Constant used for infinite timeouts.
DEFINE_NAMED_UUID_CLASS(StreamMode)
The requested settings are invalid.
bool operator==(const Size &a) const
ExtensionName(uint32_t time_low_, uint16_t time_mid_, uint16_t time_hi_and_version_, uint16_t clock_seq_, uint8_t c0, uint8_t c1, uint8_t c2, uint8_t c3, uint8_t c4, uint8_t c5, const char *name)
bool operator==(const AcRegion &other) const
A unique identifier for an libargus Interface.
Aggregates width and height in a single structure.
The requested device is unavailable.
A top level object class for libargus objects that are created and owned by the client.
AcRegion(uint32_t _left, uint32_t _top, uint32_t _width, uint32_t _height, float _weight)
The set of parameters passed was invalid.
This method has not been implemented.
Movable smart pointer mimicking std::unique_ptr.
UniqueObj & operator=(rv< UniqueObj > &moved)
BayerGains(float r, float gr, float gb, float b)
bool operator==(const BayerGains &other) const
Template helper emulating C++11 rvalue semantics.
virtual Interface * getInterface(const InterfaceID &interfaceId)=0
Acquire the interface specified by interfaceId.
An operation failed because of insufficient mavailable memory.
Utility class for libargus interfaces.
Defines an autocontrol region of interest (in pixel space).
NormalizedRect(float l, float t, float r, float b)
Defines a normalized rectangle region in [0.0, 1.0].