123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- // SPDX-License-Identifier: GPL-2.0
- /*
- * Copyright (C) 2021 StarFive Technology Co., Ltd.
- */
- #ifndef __STF_V4L2_H__
- #define __STF_V4L2_H__
- #include "common.h"
- // reference to enum v4l2_memory
- typedef struct V4l2Param_t {
- char *device_name;// = "/dev/video0";
- int fd;
- IOMethod io_mthd; // IO_METHOD_MMAP
- enum v4l2_memory mem_type;
- // int dmabuf_fd; // for IO_METHOD_DMABUF
- struct buffer *pBuffers;
- uint32_t n_buffers;
- uint32_t image_size;
- uint32_t format; // = V4L2_PIX_FMT_RGB565
- uint32_t width; // = 1920;
- uint32_t height; // = 1080;
- uint32_t fps; // = 30;
- int crop_flag;
- struct v4l2_rect crop_info;
- } V4l2Param_t;
- extern int xioctl(int fd, int request, void* argp);
- extern void sensor_image_size_info(V4l2Param_t *param);
- extern void loadfw_start(char *filename, V4l2Param_t *param);
- extern void stf_v4l2_open(V4l2Param_t *param, char *device_name);
- extern void stf_v4l2_close(V4l2Param_t *param);
- extern void stf_v4l2_init(V4l2Param_t *param);
- extern void stf_v4l2_uninit(V4l2Param_t *param);
- extern void sft_v4l2_prepare_capturing(V4l2Param_t *param, int *dmabufs, int count);
- extern void sft_v4l2_start_capturing(V4l2Param_t *param);
- extern void stf_v4l2_stop_capturing(V4l2Param_t *param);
- extern void stf_v4l2_queue_buffer(V4l2Param_t *param, int index);
- extern int stf_v4l2_dequeue_buffer(V4l2Param_t *param, struct v4l2_buffer *buf);
- #endif // __STF_V4L2_H__
|