DRV_JPEG_DEC

[English]

DRV_JPEG_DEC API Status

API

drv_jpeg_dec_init()

drv_jpeg_dec_deinit()

drv_jpeg_dec_config()

drv_jpeg_dec_start()

drv_jpeg_dec_stop()

drv_jpeg_dec_int_cbk_register()

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

Public Members

bool ok

jpeg decoder success

uint16_t pixel_x

jpeg x pixel

uint16_t pixel_y

jpeg y pixel

uint32_t size

jpeg size

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)

Enumerations

enum jpeg_dec_hw_isr_type_e

Values:

enumerator DEC_END_OF_FRAME

select jpeg decode a complete frame enter isr callback

enumerator DEC_END_OF_LINE_NUM

select jpeg decode line num enter isr callback, used with api line_en

enumerator DEC_ISR_MAX