Hardware JPEGDEC APIs
JPEGDEC API Categories
- JPEGDEC APIs:
bk_jpeg_dec_driver_init()- init jpeg decode hardware modulebk_jpeg_dec_driver_deinit()- deinit jpeg decode hardware modulebk_jpeg_dec_hw_start()- start jpeg decodebk_jpeg_dec_stop()- stop jpeg decodebk_jpeg_dec_isr_register()- register jpeg dec complete callback
HW JPEG DECODE Config
Figure 1. jpeg decode config flow
API Reference
Header File
Functions
-
bk_err_t bk_jpeg_dec_driver_init(void)
HW JPEG DEC API.
this api open the jpeg decode clk
-
bk_err_t bk_jpeg_dec_driver_deinit(void)
this api close the jpeg decode clk
disable jpeg decode
-
bk_err_t bk_jpeg_dec_line_int_dis(void)
this api used for jpeg decode config
this api used for jpeg decode line interrupt config decode can select a frame complete done isr(defult) , or this decode lin_num enter int isr
Usage example:
this api used for disable jpeg decode line num intif x pixel 320, you set bk_jpeg_dec_line_int_en(32), every 32 line will enter isr, in all ten times if x pixel 240, you set bk_jpeg_dec_line_int_en(24), every 24 line will enter isr, in all ten times
- 参数
xpixel – jpeg decode picture x pixel
input_buf decode input data addr
output_buf decode output data addr
lin_num – decode line num ,should multiple of 8,
- 返回
BK_OK: succeed
others: other errors.
- 返回
- 返回
BK_OK: succeed
others: other errors.
- 返回
- 返回
BK_OK: succeed
others: other errors.
-
bk_err_t bk_jpeg_dec_hw_start(uint32_t length, unsigned char *input_buf, unsigned char *output_buf)
this api start jpeg decode
- 参数
length – jpeg length
input_buf jpeg data src addr
output_buf jpeg decode output addr
- 返回
0: jpeg decode ok; others: error
-
bk_err_t bk_jpeg_dec_dma_start(uint32_t length, unsigned char *input_buf, unsigned char *output_buf)
this api start jpeg decode
- 参数
length – jpeg length
input_buf jpeg data src addr
output_buf jpeg decode output addr
- 返回
0: jpeg decode ok; others: error
-
bk_err_t bk_jpeg_dec_stop(void)
stop jpeg decode
- 返回
0: jpeg decode stop ok; others: error
-
bk_err_t bk_jpeg_dec_out_format(pixel_format_t pixel_fmt)
set jpeg decode out format, useful in bk7258
- 参数
pixel_fmt – select, PIXEL_FMT_YUYV(default), PIXEL_FMT_VUYY, PIXEL_FMT_VYUY (not commonly used),PIXEL_FMT_YYUV(not commonly used)
- 返回
BK_OK
-
void bk_jpeg_dec_line_num_set(line_num_t line_num)
when set decode by line, use this api config decode by how many lines
- 参数
select – according to line_num_t enum,like 8/16/24/32….etc. multiple of 8 line
-
void bk_jpeg_dec_by_line_start(void)
start decode in every line decode isr
-
bk_err_t jpeg_dec_set_dst_addr(unsigned char *output_buf)
set decode output addr,this api is changed by line decode mode isr
-
bool bk_jpeg_dec_by_line_is_last_line_complete(void)
check decode by line is decode last line complete
- 返回
return true: last line complete
-
bk_err_t bk_jpeg_dec_isr_register(jpeg_dec_isr_t jpeg_dec_isr)
This API is direct registerjpeg dec cpu isr.
- 参数
isr – isr function
- 返回
BK_OK: succeed
others: other errors.
API Typedefs
Header File
Structures
-
struct jpeg_dec_res_t
jpeg dec isr return value
Macros
-
USE_JPEG_DEC_COMPLETE_CALLBACKS
set 1, register jpeg decode complete callback, set 0, register jpeg dec cpu isr
Type Definitions
-
typedef void (*jpeg_dec_isr_cb_t)(jpeg_dec_res_t *result)
refistrer type jpeg decode complete isr function
param return jpeg x pixel , y pixel , and jpeg size
- Return
BK_OK: succeed
others: other errors. jpegdec int isr register func type
Enumerations
-
enum jpeg_encode_mode_t
Values:
-
enumerator JPEG_ENCODE_UNSTD
-
enumerator JPEG_ENCODE_YUV420
-
enumerator JPEG_ENCODE_YUV422
-
enumerator JPEG_ENCODE_YUV444
-
enumerator JPEG_ENCODE_UNSTD
-
enum JRESULT
Error code
Values:
-
enumerator JDR_OK
0: Succeeded
-
enumerator JDR_INTR
1: Interrupted by output function
-
enumerator JDR_INP
2: Device error or wrong termination of input stream
-
enumerator JDR_MEM1
3: Insufficient memory pool for the image
-
enumerator JDR_MEM2
4: Insufficient stream input buffer
-
enumerator JDR_PAR
5: Parameter error
-
enumerator JDR_FMT1
6: Data format error (may be damaged data)
-
enumerator JDR_FMT2
7: Right format but not supported
-
enumerator JDR_FMT3
8: Not supported JPEG standard
-
enumerator JDR_OK