USER GUIDE / IMAGE INPUT & ENCODING / JPEG DEC / REGISTER CONFIGURATION STEPS

寄存器配置步骤

寄存器配置步骤

寄存器全部配置

按以下步骤使JPEG 解码器开始工作:(haddr: JPEG_DEC_BASE | ofst)

  1. 配置JPEG_DEC_TRIG 寄存器中rst 相关,
    [2]置1,// seq rst
    [0]置0
    读取JPEG_DEC_TRIG 寄存器第31bit,为1后,继续进行如下操作。
  2. 配置qt tables (JPEG_DEC_QT_TAB)
    通过软件解析出待解码的码流中header 部分的qt 表(标志为DQT,码流值为0xFFDB),Y 和UV 各64 个8bits 数据,每4 个数据组成一个32bits 数据配置给寄存器
  3. 配置huffmin/huffbase/huffsymb 表
  4. 配置JPEG 解码相关控制信息(JPEG_DEC_CTRL)
  5. 配置帧高、帧宽及line stride
  6. 配置解码总的像素个数(JPEG_DEC_CODE_PIX_TOTAL)
  7. 配置RAWY/RAWC 和BS 基地址(JPEG_DEC_RAWY_ADDR、JPEG_DEC_RAWC_ADDR,JPEG_DEC_BS_ADDR),其中BS 基地址应该是码流中去掉header 部分开始的,即传递给硬件的码流应该是去掉header 部分的码流
  8. 配置MCU 数量(JPEG_DEC_NMCU)
  9. 配置解码输出的图像格式(JPEG_DEC_FORMAT_CTRL)
  10. 如果码流中header 部分含有restart marker,则配置restart marker 使能和与DRI 标志(码流值为0xFFDD)相对应的(MCU 个数-1)(JPEG_DEC_MARKERS)
  11. 配置特殊配置(可选,如jpeg timeout)
  12. 配置JPEG_DEC_TRIG 寄存器启动信号,
    [0]置1 // start。
  13. 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 进行清除中断。