Camera Device API#
Header File#
OasisMedia.h
Functions#
- 0: Success
- -1: Failure
The key-value map that can be passed as a parameter to the oasis::configCameras function is as follows:
The key values to be configured for each camera device are specified in the format source<N>-<key_name>. <N> starts from 1 and increases by 1.
The key-value map for each camera device is as follows:
/dev/videoN, the value of N can be used as the ID.front, rear, left, right, center, or any.2160p, 1440p, 1080p, 720p, 720i, 480p, or 480i.capture-resolution.capture-resolution.Note
At least one of capture-resolution, capture-width, or capture-height must be specified. If they are specified together, the capture-resolution value takes precedence.
The capture format values corresponding to V4L2_PIX_FMT are as follows:
| V4L2_PIX_FMT Value | source |
|---|---|
| V4L2_PIX_FMT_YUYV | YUYV |
| V4L2_PIX_FMT_YVYU | YVYU |
| V4L2_PIX_FMT_UYVY | UYVY |
| V4L2_PIX_FMT_VYUY | VYUY |
| V4L2_PIX_FMT_NV16 | NV16 |
| V4L2_PIX_FMT_NV12 | NV12 |
| V4L2_PIX_FMT_NV12M | NV12M |
| V4L2_PIX_FMT_NV21 | NV21 |
| V4L2_PIX_FMT_P010 | P010 |
| V4L2_PIX_FMT_P010M | P010M |
| V4L2_PIX_FMT_YVU420 | YVU420 |
| V4L2_PIX_FMT_YUV420 | YUV420 |
| V4L2_PIX_FMT_YVU420M | YVU420M |
| V4L2_PIX_FMT_YUV420M | YUV420M |
| V4L2_PIX_FMT_YUV422M | YUV422M |
| V4L2_PIX_FMT_YUV444M | YUV444M |
| V4L2_PIX_FMT_ABGR32 | ABGR32 |
| V4L2_PIX_FMT_BGR32 | BGR4 |
| V4L2_PIX_FMT_RGB32 | RGB4 |
| V4L2_PIX_FMT_XBGR32 | XBGR32 |
| V4L2_PIX_FMT_ARGB32 | ARGB32 |
| V4L2_PIX_FMT_XRGB32 | XRGB32 |
| V4L2_PIX_FMT_GREY | GREY |
| V4L2_PIX_FMT_MJPEG | MJPEG |
| V4L2_PIX_FMT_H264 | H264 |
| V4L2_PIX_FMT_H265 | H265 |
| V4L2_PIX_FMT_VP8 | VP8 |
| V4L2_PIX_FMT_VP9 | VP9 |
| V4L2_PIX_FMT_SBGGR8 | SBGGR8 |
| V4L2_PIX_FMT_SGBRG8 | SGBRG8 |
| V4L2_PIX_FMT_SGRBG8 | SGRBG8 |
| V4L2_PIX_FMT_SRGGB8 | SRGGB8 |
| V4L2_PIX_FMT_SBGGR10 | SBGGR10 |
| V4L2_PIX_FMT_SGBRG10 | SGBRG10 |
| V4L2_PIX_FMT_SGRBG10 | SGRBG10 |
| V4L2_PIX_FMT_SRGGB10 | SRGGB10 |
| V4L2_PIX_FMT_SBGGR10P | SBGGR10P |
| V4L2_PIX_FMT_SGBRG10P | SGBRG10P |
| V4L2_PIX_FMT_SGRBG10P | SGRBG10P |
| V4L2_PIX_FMT_SRGGB10P | SRGGB10P |
| V4L2_PIX_FMT_SBGGR12 | SBGGR12 |
| V4L2_PIX_FMT_SGBRG12 | SGBRG12 |
| V4L2_PIX_FMT_SGRBG12 | SGRBG12 |
| V4L2_PIX_FMT_SRGGB12 | SRGGB12 |
| V4L2_PIX_FMT_SBGGR12P | SBGGR12P |
| V4L2_PIX_FMT_SGBRG12P | SGBRG12P |
| V4L2_PIX_FMT_SGRBG12P | SGRBG12P |
| V4L2_PIX_FMT_SRGGB12P | SRGGB12P |
| V4L2_PIX_FMT_SBGGR16 | SBGGR16 |
| V4L2_PIX_FMT_SGBRG16 | SGBRG16 |
| V4L2_PIX_FMT_SGRBG16 | SGRBG16 |
| V4L2_PIX_FMT_SRGGB16 | SRGGB16 |
The additional key-value map applied to the AllWinner chipset is as follows:
Normal, "1" for DOL, or "2" for Companding.The additional key-value map applied to the KL730 chipset is as follows:
The additional key-value map applied to the RaspberryPi chipset is as follows:
Examples#
Below is an example of registering a camera device on a KL730 chipset after calling oasis::initialize.
oasis::key_value_map_t parameters;
parameters["source-count"] = "1";
parameters["source1-camera-id"] = "0";
parameters["source1-isp-id"] = "0";
parameters["source1-isp-wdr-mode"] = "0";
parameters["source1-capture-format"] = "YUV420";
parameters["source1-capture-buffers"] = "5";
parameters["source1-fps"] = "30";
parameters["source1-subchannel-rotation"] = "0";
parameters["source1-loc"] = "front";
parameters["source1-capture-resolution"] = "1080p";
parameters["source1-sensor-config"] = "./Resource_tp2863/VIC/0/tp2863_1920x1080_ch0.cfg";
parameters["source1-autoscene-config"] = "./Resource_tp2863/AutoScene/autoscene_conf.cfg";
parameters["source1-resource-dir"] = "./Resource_tp2863/";
oasis::configCameras(parameters);
Below is an example of registering a camera device on an AllWinner chipset after calling oasis::initialize.
oasis::key_value_map_t parameters;
parameters["source-count"] = "1";
parameters["source1-camera-id"] = "0";
parameters["source1-isp-id"] = "0";
parameters["source1-isp-wdr-mode"] = "1";
parameters["source1-capture-buffers"] = "5";
parameters["source1-fps"] = "30";
parameters["source1-subchannel-rotation"] = "0";
parameters["source1-loc"] = "front";
parameters["source1-capture-resolution"] = "2160p";
oasis::configCameras(parameters);