hardware scale APIs
SCALE Interface
API Reference
Header File
Functions
-
bk_err_t bk_hw_scale_driver_init(scale_id_t id)
hw scale API
This API to init scale 0 or 1
- 返回
BK_OK: succeed
others: other errors.
-
bk_err_t bk_hw_scale_driver_deinit(scale_id_t id)
This API use to deinit scale0/scale1.
- 参数
scale0/scale1 –
- 返回
BK_OK: succeed
others: other errors.
-
bk_err_t bk_hw_scale_isr_register(scale_id_t id, hw_scale_isr_t isr, void *param)
This API use to register scale isr.
- 参数
isr – isr_func
scale – params, must config by scale_drv_config_t
- 返回
BK_OK: succeed
others: other errors.
-
bk_err_t bk_hw_scale_isr_unregister(scale_id_t id)
This API use to unregister scale isr.
- 参数
scale0/scale1 –
- 返回
BK_OK: succeed
others: other errors.
-
bk_err_t bk_hw_scale_int_enable(scale_id_t id, bool en)
This API use to enable or display scale interrupt.
- 参数
scale0/scale1 – 0/1
- 返回
BK_OK: succeed
others: other errors.
-
bk_err_t hw_scale_frame(scale_id_t id, scale_drv_config_t *scale_drv_config)
This API use to scale a complete frame not by line scale.
param: scale0/scale1 param: scale_drv_config_t
Usage example:
scale_param->drv_config.src_width = src->width; scale_param->drv_config.dst_width = dst->width; scale_param->drv_config.src_height = src->height; scale_param->drv_config.dst_height = dst->height; scale_param->drv_config.pixel_fmt = src->fmt; scale_param->drv_config.scale_mode = FRAME_SCALE; scale_param->drv_config.frame_complete = scale_frame_cb; scale_param->drv_config.line_cycle = BLOCK_LINE_COUNT; scale_param->drv_config.line_mask = 0x1F; scale_param->drv_config.src_addr = src->frame; scale_param->drv_config.dst_addr = dst->frame; hw_scale_frame(HW_SCALE0, &scale_param->drv_config);
- 返回
BK_OK: succeed
others: other errors.
-
bk_err_t hw_scale_block_config(scale_id_t id, scale_drv_config_t *scale_drv_config)
This API use to by line scale.
param: scale0/scale1 param: scale_drv_config_t
- 返回
BK_OK: succeed
others: other errors.
-
bk_err_t hw_scale_block_start(scale_id_t id, scale_block_t *src, scale_block_t *dst)
start scale, reference lcd_scale_pipeline.c
- 返回
BK_OK: succeed
others: other errors.
-
bk_err_t hw_scale_dest_block_fill(scale_id_t id, scale_block_t *scale_block)
start scale, reference lcd_scale_pipeline.c
- 返回
BK_OK: succeed
others: other errors.
-
bk_err_t hw_scale_source_block_fill(scale_id_t id, scale_block_t *scale_block)
start scale, reference lcd_scale_pipeline.c
- 返回
BK_OK: succeed
others: other errors.
-
bk_err_t bk_hw_scale_stop(scale_id_t id)
stop scale
- 返回
BK_OK: succeed
others: other errors.
-
bk_err_t bk_hw_scale_mem_free(scale_id_t id)
free 7.5K memcory by API bk_hw_scale_driver_init malloc
- 返回
BK_OK: succeed
others: other errors.
API Typedefs
Header File
Structures
-
struct scale_block_t
-
struct scale_result_t
-
struct scale_drv_config_t
Public Members
-
uint16_t src_width
src image width
-
uint16_t src_height
src image height
-
uint16_t dst_width
dst image width
-
uint16_t dst_height
dst image height
-
pixel_format_t pixel_fmt
scale module input data format , only select YUYV/RGB888/RGB565
-
uint8_t *src_addr
image src addr
-
uint8_t *dst_addr
image dst addr
-
uint16_t src_width
-
struct scale_drv_record_t
-
struct scale_drv_handle_t
Macros
-
BK_ERR_HW_SCALE_NOT_INIT
hw scale init err
Type Definitions
-
typedef void (*hw_scale_isr_t)(void *param)
jpeg isr callback relay jpeg driver
- Param id
only 0 useful, set 0 default
- Param param
NULL default