31 lines
825 B
C
31 lines
825 B
C
#ifndef GSR_CAPTURE_V4L2_H
|
|
#define GSR_CAPTURE_V4L2_H
|
|
|
|
#include "capture.h"
|
|
|
|
typedef enum {
|
|
GSR_CAPTURE_V4L2_PIXFMT_AUTO,
|
|
GSR_CAPTURE_V4L2_PIXFMT_YUYV,
|
|
GSR_CAPTURE_V4L2_PIXFMT_MJPEG
|
|
} gsr_capture_v4l2_pixfmt;
|
|
|
|
typedef struct {
|
|
bool yuyv;
|
|
bool mjpeg;
|
|
} gsr_capture_v4l2_supported_pixfmts;
|
|
|
|
typedef struct {
|
|
gsr_egl *egl;
|
|
vec2i output_resolution;
|
|
const char *device_path;
|
|
gsr_capture_v4l2_pixfmt pixfmt;
|
|
int fps;
|
|
} gsr_capture_v4l2_params;
|
|
|
|
gsr_capture* gsr_capture_v4l2_create(const gsr_capture_v4l2_params *params);
|
|
|
|
typedef void (*v4l2_devices_query_callback)(const char *path, gsr_capture_v4l2_supported_pixfmts supported_pixfmts, vec2i size, void *userdata);
|
|
void gsr_capture_v4l2_list_devices(v4l2_devices_query_callback callback, void *userdata);
|
|
|
|
#endif /* GSR_CAPTURE_V4L2_H */
|