DRV_JPEG_DEC
DRV_JPEG_DEC API Status
API |
|---|
DRV_JPEG_DEC API Reference
Header File
Functions
-
int32_t drv_jpeg_dec_init(uint8_t *work_buf, uint32_t buf_size)
init a jpeg decoder device.
jpeg硬件解码器初始化,在使用jpeg decoder功能前需要调用
- 参数:
work_buf – [in] 指向解码所需要的临时空间地址
buf_size – [in] size > WORK_AREA_SIZE
- 返回值:
0 – success [BK_RET_OK]
other – fail
- 返回:
result
-
int32_t drv_jpeg_dec_deinit(void)
deinit a jpeg decoder device.
反初始化jpeg decoder设备,对drv_jpeg_dec_init()进行反向操作
- 返回值:
0 – success [BK_RET_OK]
other – fail
- 返回:
result
-
int32_t drv_jpeg_dec_config(uint32_t length, unsigned char *input_buf, unsigned char *output_buf)
config jpeg decoder parameter
对解码器进行配置 此硬件只支持解码特定的jpeg格式(yuv4:2:2),其格式如下: jpeg格式中, FFC0字段中参数: 图像组件数 = 3 组件[1]: ID=0x01, Samp Fac=0x21 (Subsamp 1 x 1), Quant Tbl Sel=0x00 (Lum: Y) 组件[2]: ID=0x02, Samp Fac=0x11 (Subsamp 2 x 1), Quant Tbl Sel=0x01 (Chrom: Cb) 组件[3]: ID=0x03, Samp Fac=0x11 (Subsamp 2 x 1), Quant Tbl Sel=0x01 (Chrom: Cr) 解码器输出的格式为:Y0UY1V-—{Y0[31:24],U[23:16],Y1[15:8],V[7:0]}
- 参数:
length – [in] jpeg图片数据大小
input_buf – [in] 指向需要解码的数据空间
output_buf – [in] 指向存储解码数据的空间
- 返回值:
0 – success [BK_RET_OK]
other – fail
- 返回:
result
-
int32_t drv_jpeg_dec_start(void)
start jpeg decode
开始解码
- 返回值:
0 – success [BK_RET_OK]
other – fail
- 返回:
result
-
int32_t drv_jpeg_dec_stop(void)
stop jpeg decode
停止解码
- 返回值:
0 – success [BK_RET_OK]
other – fail
- 返回:
result
-
int32_t drv_jpeg_dec_int_cbk_register(jpeg_dec_hw_isr_type_e isr_id, pfunc_drv_jpeg_dec_cb_t pfn_cb)
register intrrupt callback function
注册中断回调函数
- 参数:
isr_id – [in] DEC_END_OF_FRAME—解码完成中断 DEC_END_OF_LINE_NUM—按行解码中断,默认是解码2行来一次中断
pfn_cb – [in] 回调函数
- 返回值:
0 – success [BK_RET_OK]
other – fail
- 返回:
result
Structures
-
struct jpeg_dec_hw_res_t
jpeg dec isr return value
Macros
-
JPEG_DEC_STRIP
-
USE_LINE_INT_JPEG_DEC
-
WORK_AREA_SIZE
-
JD_SZBUF
Type Definitions
-
typedef void (*pfunc_drv_jpeg_dec_cb_t)(jpeg_dec_hw_res_t *p_result)