USER GUIDE / IMAGE INPUT & ENCODING / JPEG DEC / REGISTER CONFIGURATION STEPS
寄存器配置步骤
寄存器配置步骤
寄存器全部配置
按以下步骤使JPEG 解码器开始工作:(haddr: JPEG_DEC_BASE | ofst)
- 配置JPEG_DEC_TRIG 寄存器中rst 相关,
[2]置1,// seq rst
[0]置0
读取JPEG_DEC_TRIG 寄存器第31bit,为1后,继续进行如下操作。 - 配置qt tables (JPEG_DEC_QT_TAB)
通过软件解析出待解码的码流中header 部分的qt 表(标志为DQT,码流值为0xFFDB),Y 和UV 各64 个8bits 数据,每4 个数据组成一个32bits 数据配置给寄存器 - 配置huffmin/huffbase/huffsymb 表
- 配置JPEG 解码相关控制信息(JPEG_DEC_CTRL)
- 配置帧高、帧宽及line stride
- 配置解码总的像素个数(JPEG_DEC_CODE_PIX_TOTAL)
- 配置RAWY/RAWC 和BS 基地址(JPEG_DEC_RAWY_ADDR、JPEG_DEC_RAWC_ADDR,JPEG_DEC_BS_ADDR),其中BS 基地址应该是码流中去掉header 部分开始的,即传递给硬件的码流应该是去掉header 部分的码流
- 配置MCU 数量(JPEG_DEC_NMCU)
- 配置解码输出的图像格式(JPEG_DEC_FORMAT_CTRL)
- 如果码流中header 部分含有restart marker,则配置restart marker 使能和与DRI 标志(码流值为0xFFDD)相对应的(MCU 个数-1)(JPEG_DEC_MARKERS)
- 配置特殊配置(可选,如jpeg timeout)
- 配置JPEG_DEC_TRIG 寄存器启动信号,
[0]置1 // start。 - jpeg 开始解码
【配置中断使能】
- 根据需要将JPEG_DEC_INTR_ENABLE(0x3c)各bit 位进行配置。即,当触发相应中断时,会将JPEG_DEC_INTR_STAT(0x40)相应位拉高。使能配置为0,则不会触发相应中断。
【清除中断】
- 读取JPEG_DEC_INTR_STAT(0x40)的值,根据JPEG_DEC_INTR_STAT(0x40)各比特位为1 的情况,来配置JPEG_DEC_INTR_CLR(0x44)相应比特位为1 进行清除中断。