Edit online

JPEG 寄存器描述

7 Apr 2024
Read time: 12 minute(s)

0x200 JPEG_START

默认值:0x00000000 JPEG 启动解码 (JPEG Start)
位域 类型 默认值 描述
31:1 - - -
0 R/W 0x0 1:启动 JPEG 解码

0x204 JPEG_STATUS

默认值:0x00000000 JPEG 解码状态 (JPEG Status)
位域 类型 默认值 描述
31:3 - - -
2 R 0x0 BIT_REQ

读完最后一笔数据后解码还未结束,则认为数据不够,VE 停止解码并向主控发送中断信号,该位置 1。

1 R 0x0 JPEG_ERROR

当执行当前任务过程中发现码流错误,则停止当前任务并向主控发送中断信号后,该位置 1。

0 R 0x0 JPEG_FINISH

解码结束时向主控发送中断信号后,该位置 1。

0x208 JPEG_IRQ_EN

默认值:0x00000007 JPEG 中断使能 (JPEG Interrupt Enable)
位域 类型 默认值 描述
31:3 - - -
2 W1C 0x1 BIT_REQ_IRQ_EN

解码数据不够中断使能

写 1 清中断

1 W1C 0x1 ERROR_IRQ_EN

解码错误中断使能

写 1 清中断

0 W1C 0x1 FINISH_IRQ_EN

解码正常结束中断使能

写 1 清中断

0x210 JPEG_START_POS

默认值:0x00000000 JPEG 解码起始位置 (JPEG Start Position)
位域 类型 默认值 描述
31:28 - - -
27:16 R/W 0x0 STRAT_POS_Y

解码开始 Y 坐标

15:12 - - -
11:0 R/W 0x0 STRAT_POS_X

解码开始 X 坐标

0x214 JPEG_SIZE

默认值:0x00000000 JPEG 图像大小 (JPEG Size)
位域 类型 默认值 描述
31:16 R/W 0x0 JPEG_HSIZE

图像宽度,需要按 MCU 对齐

15:0 R/W 0x0 JPEG_VSIZE

图像高度,需要按 MCU 对齐

0x218 JPEG_CTRL

默认值:0x00000000 JPEG 模式控制 (JPEG Control)
位域 类型 默认值 描述
31:15 - - -
14:12 R/W 0x0 AC_HUFFMAN_IDX

AC 系数 Huffman 表索引值

11 - - -
10:8 R/W 0x0 DC_HUFFMAN_IDX

DC 系数 Huffman 表索引值

7:6 - - -
5 R/W 0x0 USR_HUFF_EN
  • 1:使用 DHT 中定义的 Huffman 表
  • 0:使用默认 Huffman 表(VE 内部生成,不需要写 Huffman 表数据)
4:0 - - -

0x21C JPEG_MCU_INFO

默认值:0x00000000 JPEG MCU 信息 (JPEG MCU Info)
位域 类型 默认值 描述
31:20 - - -
19:16 R/W 0x0 BLK_NUM

一个 MCU 中 8x8 blk 的数量

15 - - -
14:12 R/W 0x0 COMP_NUM

通道数量

11:10 R/W 0x0 Y_H_COUNT

一个 MCU 中 Y 分量水平方向上 8x8 块个数,对应 SOF 中解析的 h_count 信息。

9:8 R/W 0x0 Y_V_COUNT

一个 MCU 中 Y 分量垂直方向上 8x8 块个数,对应 SOF 中解析的 v_count 信息

7:6 R/W 0x0 CB_H_COUNT

一个 MCU 中 Cb 分量水平方向上 8x8 块个数,对应 SOF 中解析的 h_count 信息

5:4 R/W 0x0 CB_V_COUNT

一个 MCU 中 Cb 分量垂直方向上 8x8 块个数,对应 SOF 中解析的 v_count 信息

3:2 R/W 0x0 CR_H_COUNT

一个 MCU 中 Cr 分量水平方向上 8x8 块个数,对应 SOF 中解析的 h_count 信息

1:0 R/W 0x0 CR_V_COUNT

一个 MCU 中 Cr 分量垂直方向上 8x8 块个数,对应 SOF 中解析的 v_count 信息

0x220 JPEG_HANDLE_NUM

默认值:0x00000000 JPEG 解码同时处理 MCU 个数 (JPEG Handle Number)
位域 类型 默认值 描述
31:2 - - -
1:0 R/W 0x0 HANDLE_NUM_MINUS1

同时处理的 MCU 个数减 1,(12/ total_du_num_in_mcu)- 1,最大值为 4。

0x224 JPEG_QMAT_INFO

默认值:0x00000000 JPEG 量化表信息 (JPEG Quant Table Info)
位域 类型 默认值 描述
31:8 - - -
7:6 R/W 0x0 QMAT_IDX
  • 0: Y 分量量化表
  • 1: Cb 分量量化表 2:Cr 分量量化表
5:2 - - -
1 R/W 0x0 QMAT_AUTO

1: 使能地址自动加 1 模式

0 R/W 0x0 QMAT_EN

1: 使能该量化表

0x228 JPEG_QMAT_ADDR

默认值:0x00000000 JPEG 量化表地址 (JPEG Quant Table Address)
位域 类型 默认值 描述
31:8 - - -
7:6 R/W 0x0 QMAT_IDX
  • 0: Y 分量量化表
  • 1: Cb 分量量化表
  • 2: Cr 分量量化表
5:0 R/W 0x0 QMAT_ADDR

量化表地址,取值范围 0-63 量化表地址按照 zigzag 扫描后的顺序,也就是 DQT 解析的顺序.

0x22C JPEG_QMAT_DATA

默认值:0x00000000 JPEG 量化表数据 (JPEG Quant Table Data)
位域 类型 默认值 描述
31:0 R/W 0x0 QMAT_DATA
量化参数
注: 如果是编码,该值为 (1<<19)/q_data

0x230 JPEG_HUFF_INFO

默认值:0x00000000 JPEG Huffman 表信息配置 (JPEG Huffman Table Info)
位域 类型 默认值 描述
31:12 - - -
11:10 R/W 0x0 HUFF_IDX
Huffman 表索引值
  • 0: Huffman 表每个分量每种码字长度的最小码字
  • 1: Huffman 表每个分量每种码字长度的最大码字
  • 2: Huffman 表每个分量每种码字长度对应数值在 buffer 的起始地址
  • 3: Huffman 值
9:2 - - -
1 R/W 0x0 HUFF_AUTO
  • 1: 使能地址自动加 1 模式
  • 0: 不使能地址自动加 1 模式,每次通过 0x2088 寄存器写 Huffman 表数据前都需要通过 0x2084 寄存器配置地址。
0 R/W 0x0 HUFF_EN

1: 使能该 Huffman 表

0x234 JPEG_HUFF_ADDR

默认值:0x00000000 JPEG Huffman 表地址 (JPEG Huffman Table Address)
位域 类型 默认值 描述
31:8 - - -
11:10 R/W 0x0 HUFF_IDX
Huffman 表索引值
  • 0: Huffman 表每个分量每种码字长度的最小码字
  • 1: Huffman 表每个分量每种码字长度的最大码字
  • 2: Huffman 表每个分量每种码字长度对应数值在 buffer 的起始地址
  • 3: Huffman 值
9:0 R/W 0x0 HUFF_ADDR
如果 huff_idx 为 0/1/2,起始地址分别为
  • DC_LUMA: 0
  • DC_CHROMA: 16
  • AC_LUMA: 32
  • AC_CHROMA: 48
huff_idx 为 3 时:
  • DC_LUMA: 0;
  • DC_CHROMA: 12
  • AC_LUMA: 24
  • AC_CHROMA: 186

0x238 JPEG_HUFF_DATA

默认值:0x00000000 JPEG Huffman 表数据 (JPEG Huffman Table Data)
位域 类型 默认值 描述
31:0 R/W 0x0 HUFF_DATA

Huffman 表数据

0x23C JPEG_CLIP_EN

默认值:0x00000000 JPEG Clip 输出使能配置 (JPEG Clip Enable)
位域 类型 默认值 描述
31:2 - - -
1 R/W 0x0 DEC_CLIP_EN

解码输出数据 clip 使能

0 R/W 0x0 ENC_CLIP_EN

编码输入数据 clip 使能

0x240 JPEG_CLIP_BASE

默认值:0x00000000 JPEG Clip 输出起始位置 (JPEG Clip Base Address)
位域 类型 默认值 描述
31:16 R/W 0x0 CLIP_XBASE

clip 窗口的起始 X 坐标,以像素为单位

15:0 R/W 0x0 CLIP_YBASE

clip 窗口的起始 Y 坐标,以像素为单位

0x244 JPEG_CLIP_SIZE

默认值:0x00000000 JPEG Clip 输出矩形框大小 (JPEG Clip SIZE)
位域 类型 默认值 描述
31:16 R/W 0x0 CLIP_XSIZE

clip 矩形框的宽度,以像素为单位

15:0 R/W 0x0 CLIP_YSIZE

clip 矩形框的高度,以像素为单位

0x248 JPEG_CLIP_OUT_BASE

默认值:0x00000000 JPEG Clip 输出在缓存中的起始位置 (JPEG Clip OUTPUT BASE ADDRESS)
位域 类型 默认值 描述
31:16 R/W 0x0 CLIP_OUT_XBASE

clip 起始位置在输出缓存中的 X 坐标,以字节为单位

15:0 R/W 0x0 CLIP_OUT_YBASE

clip 起始位置在输出缓存中的 Y 坐标,以字节为单位

0x24C JPEG_ROTMIR

默认值:0x00000000 JPEG 旋转镜像配置 (JPEG Rotate/Mirror Config)
位域 类型 默认值 描述
31:5 - - -
4 R/W 0x0 ROTMIR_EN
  • 0:不使能旋转镜像
  • 1:使能旋转镜像
3 R/W 0x0 Horizontal MIRROR
  • 0:不使能水平镜像
  • 1:使能水平镜像
2 R/W 0x0 Vertical MIRROR
  • 0:不使能垂直镜像
  • 1:使能垂直镜像
1:0 R/W 0x0 ROTATE
  • 0:不旋转
  • 1:逆时针旋转 90 度
  • 2:逆时针旋转 180 度
  • 3:逆时针旋转 270 度

0x250 JPEG_SCALE

默认值:0x00000000 JPEG 缩放配置 (JPEG Scaledown Config)
位域 类型 默认值 描述
31:5 - - -
4 R/W 0x0 SCALE_EN
  • 0:不使能缩放功能
  • 1:使能缩放功能
3:2 R/W 0x0 H_SCALE
水平方向 scale 系数
  • 0:不缩放
  • 1:1/2 缩放
  • 2:1/4 缩放
  • 3:1/8 缩放
1:0 R/W 0x0 V_SCALE
垂直方向 scale 系数
  • 0:不缩放
  • 1:1/2 缩放
  • 2:1/4 缩放
  • 3:1/8 缩放

0x254 JPEG_RGB_EN

默认值:0x00000000 JPEG RGB 颜色格式输出 (JPEG RGB FORMAT)
位域 类型 默认值 描述
31:16 - - -
15:8 R/W 0x0 ALPHA_VAL

RGBA 颜色格式的 alpha 值

7:4 - - -
3:1 R/W 0x0 RGB_FORMAT
  • 0:ARGB8888
  • 1:ABGR8888
  • 2:RGBA8888
  • 3:BGRA8888
  • 4:RGB888
  • 5:BGR888
  • 6:RGB565
  • 7:BGR565
0 R/W 0x0 RGB_OUT_ENABLE

1:RGB 颜色格式输出使能

0x25C JPEG_RST_INTVAL

默认值:0x00000000 JPEG DC 系数重置间隔 (JPEG Restart Intval)
位域 类型 默认值 描述
31:0 R/W 0x0 RST_INTVAL

重置 DC 预测值的 MCU 间隔个数

0x268 JPEG_UV_INT

默认值:0x00000000 JPEG 解码输出 UV 分量交错配置 (JPEG UV Interleave)
位域 类型 默认值 描述
31:1 - - -
0 R/W 0x0 UV_INTERLEAVE
  • 0: UV 分量不交错存放
  • 1: UV 分量交错存放

0x26C JPEG_CYCLES

默认值:0x00000000 JPEG 解码时钟数 (JPEG Cycles)
位域 类型 默认值 描述
31:0 R/W 0x0 CYCLES

Jpeg 解码用的时钟数

0x28C JPEG_DITHER_PARAM

默认值:0x000000AE JPEG dither 参数配置 (JPEG Dither Parameter Configuration)
位域 类型 默认值 描述
31:9 - - -
8:6 R/W 0x2 LEFTUP_WEIGHT_MINUS1

左上相邻像素对当前像素的误差扩散权重减 1

5:3 R/W 0x5 UP_WEIGHT_MINUS1

上相邻像素对当前像素的误差扩散权重减 1

2:0 R/W 0x6 LEFT_WEIGHT_MINUS1

左相邻像素对当前像素的误差扩散权重减 1

0x300 JPEG_SUB_CTRL

注: 在启动 JPEG 解码前,即配置 JPEG Start 寄存器之前,需要先初始化内部子模块 1、2, 但两个模块不能同时初始化,必须分两个时刻配置,先配置 INIT1 再配置 INIT2 。
默认值:0x00000000 JPEG 内部子模块控制 (JPEG SubModual Control)
位域 类型 默认值 描述
31:2 - - -
1 R/W 0x0 INIT1

1: 初始化内部子模块 1

0 R/W 0x0 INIT2

1: 初始化内部子模块 2

0x304 JPEG_MEM_IA

默认值:0x00000000 JPEG 内部子模块缓存中断地址 (JPEG MEM Intr Address)
位域 类型 默认值 描述
31:8 - - -
7:0 R/W 0x0 INTR_ADDR

解码配置为 0。编码配置为 0x40

0x308 JPEG_MEM_HA

默认值:0x00000000 JPEG 内部子模块缓存暂停地址 (JPEG MEM Halt Address)
位域 类型 默认值 描述
31:8 - - -
7:0 R/W 0x0 HALT_ADDR

解码配置为 0。编码配置为 0x40

0x31C JPEG_RBIT_OFFSET

默认值:0x00000000 JPEG 读数据偏移 (JPEG Read Bit Offset)
位域 类型 默认值 描述
31:0 R/W 0x0 解码数据起始比特偏移

0x324 JPEG_MEM_SA

默认值:0x00000000 JPEG 内部子模块缓存起始地址 (JPEG MEM Start Address)
位域 类型 默认值 描述
31:8 - - -
7:0 R/W 0x0 Start_ADDR

配置为 0

0x328 JPEG_MEM_EA

默认值:0x00000000 JPEG 内部子模块缓存结束地址 (JPEG MEM End Address)
位域 类型 默认值 描述
31:8 - - -
7:0 R/W 0x0 END_ADDR

配置为 0x7f

0x384 JPEG_STREAM_NUM

默认值:0x00000000 JPEG stream 个数 (JPEG Stream Number)
位域 类型 默认值 描述
31:0 R/W 0x0 STREAM_NUM
数据流个数
注: 以 256 byte 为单位。

0x38C JPEG_DATA_COUNT

默认值:0x00000000 JPEG 一次读写数据大小 (JPEG Stream Data Count)
位域 类型 默认值 描述
31:0 R/W 0x0 DATA_CNT

固定配置为 64,64 个 32bit 数据,表示一次读写 256 字节数据。

0x390 JPEG_BUSY

默认值:0x00000000 JPEG 读数据状态 (JPEG Busy Status)
位域 类型 默认值 描述
31:1 - - -
0 R 0x0 BUSY

是否处于读数据状态

0x398 JPEG_STREAM_END_ADDR

默认值:0x00000000 JPEG 码流结束地址 (JPEG Stream End Address)
位域 类型 默认值 描述
31:0 R/W 0x0 END_ADDR

码流结束地址,256 字节对齐

0x394 JPEG_REQ

默认值:0x00000000 JPEG 请求数据 (JPEG Request Data)
位域 类型 默认值 描述
31:1 - - -
0 R/W 0x0 REQ_DATA

1: 请求一次数据

0x39C JPEG_STREAM_START_ADDR

默认值:0x00000000 JPEG 码流起始地址 (JPEG Stream Start Address)
位域 类型 默认值 描述
31:0 R/W 0x0 Start_ADDR

码流起始地址,8 字节对齐

0x3B0 JPEG_CUR_POS

默认值:0x00000000 JPEG 当前读数据位置 (JPEG Current Postion)
位域 类型 默认值 描述
31:0 R/W 0x0 CUR_POS

当前读码流数据位置

注: JPEG 读数据以 256 byte 为单位,当前读码流数据位置也以 256 byte 为单位。比如,需要读的数据从 100 byte 开始,则 CUR_POS 为 0。