9.3.10. JPEG寄存器描述

9.3.10.1. 0x2000 JPEG_START

默认值:0x00000000

JPEG启动解码 (JPEG Start)

位域

类型

默认值

描述

31:1

-

-

-

0

R/W

0x0

1:启动jpeg解码

9.3.10.2. 0x2004 JPEG_STATUS

默认值:0x00000000

JPEG 解码状态 (JPEG Status)

位域

类型

默认值

描述

31:4

-

-

-

3

R

0x0

OVERFLOW
解码输出数据超出输出buffer的结束地址,VE停止解码并向主控 | 发送中断信号,该位置1

2

R

0x0

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

1

R

0x0

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

0

R

0x0

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

9.3.10.3. 0x200C 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坐标

9.3.10.4. 0x2010 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

R/W

0x0

USR_HUFF_EN
1:使用DHT中定义的huffman表
0:使用默认huffman表(VE内部生成,不需要写huffman表数据)

5

-

-

-

4

R/W

0x0

DIR
1:编码模式使用
0:解码模式使用

3

R/W

0x0

ENCODE
1:编码模式
0:解码模式

2:0

-

-

-

9.3.10.5. 0x2014 JPEG_SIZE

默认值:0x00000000

JPEG 图像大小 (JPEG Size)

位域

类型

默认值

描述

31:16

R/W

0x0

JPEG_HSIZE
图像宽度,需要按MCU对齐

15:0

R/W

0x0

JPEG_VSIZE
图像高度,需要按MCU对齐

9.3.10.6. 0x2018 JPEG_MCU_INFO

默认值:0x00000000

JPEG MCU信息 (JPEG MCU Info)

位域

类型

默认值

描述

31:20

-

-

-

19:16

R/W

0x0

BLK_NUM
一个MCU中8x8blk的数量

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信息

9.3.10.7. 0x201C 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度

9.3.10.8. 0x2020 JPEG_SCALE

默认值:0x00000000

JPEG 缩放配置 (JPEG Scaledown Config)

位域

类型

默认值

描述

31:6

-

-

-

5

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缩放

9.3.10.9. 0x2028 JPEG_CLIP

默认值:0x00000000

JPEG 输出截断使能配置 (JPEG Clip Enable)

位域

类型

默认值

描述

31:2

-

-

-

1

R/W

0x0

DEC_CLIP_EN
解码输出数据clip使能

0

R/W

0x0

ENC_CLIP_EN
编码输入数据clip使能

9.3.10.10. 0x202C JPEG_HANDLE_NUM

默认值:0x00000000

JPEG 解码同时处理MCU个数 (JPEG Handle Number)

位域

类型

默认值

描述

31:3

-

-

-

2:0

R/W

0x0

HANDLE_NUM
同时处理的MCU个数, 12/ total_du_num_in_mcu,最大值为4

9.3.10.11. 0x202C JPEG_UV_INT

默认值:0x00000000

JPEG 解码输出UV分量交错配置 (JPEG UV Interleave)

位域

类型

默认值

描述

31:1

-

-

-

0

R/W

0x0

UV_INTERLEAVE
0: UV 分量不交错存放
1: UV 分量交错存放

9.3.10.12. 0x2040 JPEG_FRM_IDX

默认值:0x00000000

JPEG 解码输出帧索引 (JPEG Frame Index)

位域

类型

默认值

描述

31:8

-

-

-

7:0

R/W

0x0

FRAME_IDX
JPEG解码输出对应的PICTURE INFO索引值

9.3.10.13. 0x2080 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表

9.3.10.14. 0x2084 JPEG_HUFF_ADDR

默认值:0x00000000

JPEG Huffman表地址 (JPEG Huffman Table Address)

位域

类型

默认值

描述

31:12

-

-

-

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;

9.3.10.15. 0x2088 JPEG_HUFF_DATA

默认值:0x00000000

JPEG Huffman表数据 (JPEG Huffman Table Data)

位域

类型

默认值

描述

31:0

R/W

0x0

HUFF_DATA
huffman表数据

9.3.10.16. 0x2090 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:使能该huffman表

9.3.10.17. 0x2094 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解析的顺序.

9.3.10.18. 0x2098 JPEG_QMAT_DATA

默认值:0x00000000

JPEG 量化表数据 (JPEG Quant Table Data)

位域

类型

默认值

描述

31:0

R/W

0x0

QMAT_DATA
量化参数
注意:如果是编码,该值为 (1<<19)/q_data

9.3.10.19. 0x20B0 JPEG_RST_INTVAL

默认值:0x00000000

JPEG DC系数重置间隔 (JPEG Restart Intval)

位域

类型

默认值

描述

31:0

R/W

0x0

RST_INTVAL
间隔RST_INTVAL个MCU重置DC预测值

9.3.10.20. 0x20C0 JPEG_IRQ_EN

默认值:0x00000000

JPEG 中断使能 (JPEG Interrupt Enable)

位域

类型

默认值

描述

31:3

-

-

-

2

R/W

0x0

BIT_REQ
0:解码数据不够中断使能

1

R/W

0x0

JPEG_ERROR
0: 解码出错中断使能

0

R/W

0x0

JPEG_FINISH
0:finish中断使能

9.3.10.21. 0x20C8 JPEG_CYCLES

默认值:0x00000000

JPEG 解码时钟数 (JPEG Cycles)

位域

类型

默认值

描述

31:0

R/W

0x0

CYCLES
Jpeg解码用的时钟数

9.3.10.22. 0x2100 JPEG_SUB_CTRL

默认值:0x00000000

JPEG 内部子模块控制 (JPEG SubModual Control)

位域

类型

默认值

描述

31:3

-

-

-

2

R/W

0x0

INIT1
1:初始化内部子模块1

1

R/W

0x0

INIT2
1:初始化内部子模块2

0

-

-

-

注意:在启动JPEG解码前(配置JPEG Start寄存器之前),需要先初始化内部子模块1、2,但两个模块不能同时初始化,必须分两个时刻配置,先配置 INIT1 再配置 INIT2 。

9.3.10.23. 0x2140 JPEG_MEM_SA

默认值:0x00000000

JPEG 内部子模块缓存起始地址 (JPEG MEM Start Address)

位域

类型

默认值

描述

31:8

-

-

-

7:0

R/W

0x0

Start_ADDR
配置为0

9.3.10.24. 0x2144 JPEG_MEM_EA

默认值:0x00000000

JPEG 内部子模块缓存结束地址 (JPEG MEM End Address)

位域

类型

默认值

描述

31:8

-

-

-

7:0

R/W

0x0

END_ADDR
配置为0x7f

9.3.10.25. 0x2148 JPEG_MEM_IA

默认值:0x00000000

JPEG 内部子模块缓存中断地址 (JPEG MEM Intr Address)

位域

类型

默认值

描述

31:8

-

-

-

7:0

R/W

0x0

INTR_ADDR
解码配置为0;编码配置为0x40

9.3.10.26. 0x214C JPEG_MEM_HA

默认值:0x00000000

JPEG 内部子模块缓存暂停地址 (JPEG MEM Halt Address)

位域

类型

默认值

描述

31:8

-

-

-

7:0

R/W

0x0

HALT_ADDR
解码配置为0;编码配置为0x40

9.3.10.27. 0x2160 JPEG_READ_BIT_OFFSET

默认值:0x00000000

JPEG 读数据比特偏移 (JPEG Read Data bit Offset)

位域

类型

默认值

描述

31:0

R/W

0x0

BIT_OFFSET
起始数据与码流起始地址的比特偏移值。
JPEG 硬件只会处理SOS中的压缩数据,JPEG 头信息由软件解析,所以
硬件读数据的起始地址与码流的起始地址不一样。

9.3.10.28. 0x2200 JPEG_REQ

默认值:0x00000000

JPEG 请求数据 (JPEG Request Data)

位域

类型

默认值

描述

31:1

-

-

-

0

R/W

0x0

REQ_DATA
1:请求一次数据

9.3.10.29. 0x2208 JPEG_END_ADDR

默认值:0x00000000

JPEG 码流结束地址 (JPEG Stream End Address)

位域

类型

默认值

描述

31:0

R/W

0x0

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

小技巧

配置该寄存器后,当硬件内部处理数据到该地址时,会产生数据不足中断。如果 JPEG 图片数据按照完整一帧解码,不要配置该寄存器。

9.3.10.30. 0x220C JPEG_WR_ADDR

默认值:0x00000000

JPEG 码流写地址 (JPEG Stream Write Address)

位域

类型

默认值

描述

31:0

R/W

0x0

WRITE_ADDR
码流写地址,用于编码,编码结束后,通过该地址得到最终编码
数据的长度len=(JPEG_WR_ADDR-JPEG_STREAM_START_ADDR)

9.3.10.31. 0x2214 JPEG_STREAM_START_ADDR

默认值:0x00000000

JPEG 码流起始地址 (JPEG Stream Start Address)

位域

类型

默认值

描述

31:0

R/W

0x0

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

9.3.10.32. 0x221C JPEG_DATA_COUNT

默认值:0x00000000

JPEG 一次读写数据大小 (JPEG Stream Data Count)

位域

类型

默认值

描述

31:0

R/W

0x0

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

9.3.10.33. 0x2224 JPEG_BUSY_STATUS

默认值:0x00000000

JPEG 模块工作状态 (JPEG Busy Status)

位域

类型

默认值

描述

31:0

RO

0x0

BUSY
1:Jpeg 模块当前处于工作状态
0:Jpeg 模块当前处于空闲状态

9.3.10.34. 0x222C 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.

9.3.10.35. 0x2234 JPEG_STREAM_NUM

默认值:0x00000000

JPEG 数据流个数 (JPEG Stream Number)

位域

类型

默认值

描述

31:0

R/W

0x0

STREAM_NUM
数据流个数
注意:以 256 byte 为单位。