DVP
DVP API Status
API |
BK7258_AP |
|---|---|
Y |
|
Y |
|
Y |
|
Y |
|
Y |
|
Y |
|
Y |
|
Y |
|
N |
|
Y |
DVP Marco defined and config
Marco name |
illustrate |
|---|---|
CONFIG_DVP_CAMERA |
enable dvp camera or not |
CONFIG_DVP_CAMERA_I2C_ID |
config dvp use i2c id, range [0, 2] |
CONFIG_DVP_POWER_GPIO_CTRL |
enable gpio control dvp power or not |
CONFIG_DVP_CTRL_POWER_GPIO_ID |
control dvp power gpio id |
CONFIG_ENCODE_BUF_NOT_FREE |
not free dvp encode mem or not, while dvp close |
CONFIG_JPEG_FRAME_SIZE |
config a jpeg frame max size, range [0, 204800] |
CONFIG_H264_FRAME_SIZE |
config a h264 frame max size, range [0, 204800] |
DVP API Reference
Header File
Functions
-
const dvp_sensor_config_t **get_sensor_config_devices_list(void)
-
int get_sensor_config_devices_num(void)
-
const dvp_sensor_config_t *get_sensor_config_interface_by_id(sensor_id_t id)
-
void bk_dvp_set_devices_list(const dvp_sensor_config_t **list, uint16_t size)
This API set dvp camera device list.
- Returns
void
-
const dvp_sensor_config_t *bk_dvp_detect(void)
enumerate dvp camera
This API will auto detect dvp sensor, and init sensor, i2c module, psram, dma, ect.
@attation 1. bk_dvp_camera_driver_init api include bk_dvp_camera_enumerate function
- Parameters
config – process for sensor data
- Returns
dvp_sensor_config: sensor ptr
NULL: not found
-
bk_err_t bk_dvp_init(camera_handle_t *handle, dvp_config_t *cfg, bk_dvp_callback_t *cb)
Init the camera.
This API will auto detect dvp sensor, and init sensor, jpeg module, i2c module, psram, dma, ect.
- Parameters
handle – output handle
config – process for sensor data
cb – frame buffer ops callback @attation 1. you need make sure upper module exist.
- Returns
kNoErr: succeed
others: other errors.
-
bk_err_t bk_dvp_deinit(camera_handle_t *handle)
Deinit the camera.
This API will deinit sensor, jpeg module, i2c module, psram, dma, ect.
- Parameters
handle – output handle when open
- Returns
kNoErr: succeed
others: other errors.
-
media_camera_device_t *bk_dvp_camera_get_device(void)
Get current use camera.
This API will called after bk_dvp_camera_driver_init
- Returns
dvp_camera_device_t *: succeed
NULL: current no sensor work.
-
bk_err_t bk_dvp_camera_power_enable(uint8_t enable)
dvp power on
This API called by user, before calling bk_dvp_driver_init, you should power on dvp
@attation 1. This api config ctrl by marco VIDEO_GPIO_CTRL_LDO_ENABLE
- Parameters
enable – power up/down:1/0
- Returns
BK_OK: succeed
others: other errors.
-
const dvp_sensor_config_t *bk_dvp_get_sensor_auto_detect(void)
auto detect dvp camera
This API called by user, before use dvp camera
@attation 1. This api return a pointer for dvp camera sensor config
- Returns
get current dvp config(type)
return NULL
DVP API Typedefs
Header File
Structures
-
struct dvp_config_t
-
struct bk_dvp_callback_t
Public Members
-
void *(*frame_init)(uint16_t sensor_id, uint8_t camera_type, uint16_t image_format)
init frame buffer
-
int (*frame_deinit)(void *node)
deinit frame buffer
-
int (*frame_clear)(void *node)
clear frame buffer
-
int (*frame_complete)(uint16_t image_format, void *node, frame_buffer_t *buffer)
dvp notify upper layer a complete frame ready
-
frame_buffer_t *(*frame_malloc)(uint16_t image_format, void *node, uint32_t size)
malloc jpeg psram buffer
-
void *(*frame_init)(uint16_t sensor_id, uint8_t camera_type, uint16_t image_format)
-
struct dvp_sensor_config_t
dvp sensor configure
Public Members
-
char *name
sensor name
-
media_ppi_t def_ppi
sensor default resolution
-
frame_fps_t def_fps
sensor default fps
-
mclk_freq_t clk
sensor work clk in config fps and ppi
-
pixel_format_t fmt
sensor input data format
-
sync_level_t vsync
sensor vsync active level
-
sync_level_t hsync
sensor hsync active level
-
uint16_t id
sensor type, sensor_id_t
-
uint16_t address
sensor write register address by i2c
-
uint16_t fps_cap
sensor support fps
-
uint16_t ppi_cap
sensor support resoultions
-
bool (*detect)(void)
auto detect used dvp sensor
-
int (*init)(void)
init dvp sensor
-
int (*set_ppi)(media_ppi_t ppi)
set resolution of sensor
-
int (*set_fps)(frame_fps_t fps)
set fps of sensor
-
int (*power_down)(void)
power down or reset of sensor
-
int (*dump_register)(media_ppi_t ppi)
dump sensor register
-
void (*read_register)(bool enable)
read sensor register when write
-
char *name
Macros
-
GC_QVGA_USE_SUBSAMPLE
Enumerations
-
enum sensor_id_t
dvp sensor id type
Values:
-
enumerator ID_UNKNOW
-
enumerator ID_PAS6329
-
enumerator ID_OV7670
-
enumerator ID_PAS6375
-
enumerator ID_GC0328C
-
enumerator ID_BF2013
-
enumerator ID_GC0308C
-
enumerator ID_HM1055
-
enumerator ID_GC2145
-
enumerator ID_OV2640
-
enumerator ID_GC0308
-
enumerator ID_TVP5150
-
enumerator ID_SC101
-
enumerator ID_UNKNOW