34#ifdef OSX_EMBEDED_MODE
35#define v4l2_fourcc(a, b, c, d) ((uint32_t)(a) | ((uint32_t)(b) << 8) | ((uint32_t)(c) << 16) | ((uint32_t)(d) << 24))
37#define V4L2_PIX_FMT_GREY v4l2_fourcc('G', 'R', 'E', 'Y')
38#define V4L2_PIX_FMT_SBGGR8 v4l2_fourcc('B', 'A', '8', '1')
39#define V4L2_PIX_FMT_SBGGR16 v4l2_fourcc('B', 'Y', 'R', '2')
40#define V4L2_PIX_FMT_SGBRG8 v4l2_fourcc('G', 'B', 'R', 'G')
41#define V4L2_PIX_FMT_BGR24 v4l2_fourcc('B', 'G', 'R', '3')
42#define V4L2_PIX_FMT_RGB24 v4l2_fourcc('R', 'G', 'B', '3')
43#define V4L2_PIX_FMT_SRGGB8 v4l2_fourcc('R', 'G', 'G', 'B')
44#define V4L2_PIX_FMT_SGRBG8 v4l2_fourcc('G', 'R', 'B', 'G')
47#include <linux/videodev2.h>
67 virtual bool setSize(uint16_t width, uint16_t height) = 0;
74 virtual bool open(
const char *filename,
char *errmsg) = 0;
77 virtual bool writeFrame(
const uint8_t *frame, uint32_t nbytes, uint64_t timestamp) = 0;
The RecorderInterface class is the base class for recorders.
virtual bool writeFrame(const uint8_t *frame, uint32_t nbytes, uint64_t timestamp)=0
RecorderInterface()=default
virtual const char * getName()
virtual bool setSize(uint16_t width, uint16_t height)=0
virtual ~RecorderInterface()=default
virtual bool open(const char *filename, char *errmsg)=0
virtual bool setPixelFormat(INDI_PIXEL_FORMAT pixelFormat, uint8_t pixelDepth=8)=0
virtual bool setFPS(float FPS)
virtual void setStreamEnabled(bool enable)=0
virtual const char * getExtension()=0
Interface to the reference INDI C API device implementation on the Device Driver side.
Namespace to encapsulate INDI client, drivers, and mediator classes.