9.3.7. JPEG寄存器描述

9.3.7.1. 0x200 JPEG_START

默认值:0x00000000

JPEG启动解码 (JPEG Start)

位域

类型

默认值

描述

31:1

-

-

-

0

R/W

0x0

1:启动jpeg解码

9.3.7.2. 0x204 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.7.3. 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清中断)

9.3.7.4. 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坐标

9.3.7.5. 0x214 JPEG_SIZE

默认值:0x00000000

JPEG 图像大小 (JPEG Size)

位域

类型

默认值

描述

31:16

R/W

0x0

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

15:0

R/W

0x0

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

9.3.7.6. 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

R/W

0x0

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

3

R/W

0x0

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

2:0

-

-

-

9.3.7.7. 0x21C 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.7.8. 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

9.3.7.9. 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:使能该huffman表

9.3.7.10. 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解析的顺序.

9.3.7.11. 0x22C JPEG_QMAT_DATA

默认值:0x00000000

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

位域

类型

默认值

描述

31:0

R/W

0x0

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

9.3.7.12. 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表

9.3.7.13. 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;

9.3.7.14. 0x238 JPEG_HUFF_DATA

默认值:0x00000000

JPEG Huffman表数据 (JPEG Huffman Table Data)

位域

类型

默认值

描述

31:0

R/W

0x0

HUFF_DATA
huffman表数据

9.3.7.15. 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使能

9.3.7.16. 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 坐标,以像素为单位

9.3.7.17. 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 矩形框的高度,以像素为单位

9.3.7.18. 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 坐标,以字节为单位

9.3.7.19. 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度

9.3.7.20. 0x250 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.7.21. 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颜色格式输出使能

9.3.7.22. 0x25C JPEG_RST_INTVAL

默认值:0x00000000

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

位域

类型

默认值

描述

31:0

R/W

0x0

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

9.3.7.23. 0x264 JPEG_FRM_IDX

默认值:0x00000000

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

位域

类型

默认值

描述

31:8

-

-

-

7:0

R/W

0x0

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

9.3.7.24. 0x268 JPEG_UV_INT

默认值:0x00000000

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

位域

类型

默认值

描述

31:1

-

-

-

0

R/W

0x0

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

备注

该版本 DE 只支持 UV 交错存放,如果解码和显示共用 buffer,这个寄存器必须配置为1

9.3.7.25. 0x26C JPEG_CYCLES

默认值:0x00000000

JPEG 解码时钟数 (JPEG Cycles)

位域

类型

默认值

描述

31:0

R/W

0x0

CYCLES
Jpeg解码用的时钟数

9.3.7.26. 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

9.3.7.27. 0x300 JPEG_SUB_CTRL

默认值:0x00000000

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

位域

类型

默认值

描述

31:2

-

-

-

1

R/W

0x0

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

0

R/W

0x0

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

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

9.3.7.28. 0x304 JPEG_MEM_IA

默认值:0x00000000

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

位域

类型

默认值

描述

31:8

-

-

-

7:0

R/W

0x0

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

9.3.7.29. 0x308 JPEG_MEM_HA

默认值:0x00000000

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

位域

类型

默认值

描述

31:8

-

-

-

7:0

R/W

0x0

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

9.3.7.30. 0x31C JPEG_RBIT_OFFSET

默认值:0x00000000

JPEG 读数据偏移 (JPEG Read Bit Offset)

位域

类型

默认值

描述

31:0

R/W

0x0

解码数据起始比特偏移

9.3.7.31. 0x324 JPEG_MEM_SA

默认值:0x00000000

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

位域

类型

默认值

描述

31:8

-

-

-

7:0

R/W

0x0

Start_ADDR
配置为0

9.3.7.32. 0x328 JPEG_MEM_EA

默认值:0x00000000

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

位域

类型

默认值

描述

31:8

-

-

-

7:0

R/W

0x0

END_ADDR
配置为0x7f

9.3.7.33. 0x384 JPEG_STREAM_NUM

默认值:0x00000000

JPEG stream 个数 (JPEG Stream Number)

位域

类型

默认值

描述

31:0

R/W

0x0

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

9.3.7.34. 0x38C JPEG_DATA_COUNT

默认值:0x00000000

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

位域

类型

默认值

描述

31:0

R/W

0x0

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

9.3.7.35. 0x390 JPEG_BUSY

默认值:0x00000000

JPEG 读数据状态 (JPEG Busy Status)

位域

类型

默认值

描述

31:1

-

-

-

0

R

0x0

BUSY
是否处于读数据状态

9.3.7.36. 0x398 JPEG_STREAM_END_ADDR

默认值:0x00000000

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

位域

类型

默认值

描述

31:0

R/W

0x0

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

小技巧

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

9.3.7.37. 0x394 JPEG_REQ

默认值:0x00000000

JPEG 请求数据 (JPEG Request Data)

位域

类型

默认值

描述

31:1

-

-

-

0

R/W

0x0

REQ_DATA
1:请求一次数据

9.3.7.38. 0x39C JPEG_STREAM_START_ADDR

默认值:0x00000000

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

位域

类型

默认值

描述

31:0

R/W

0x0

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

9.3.7.39. 0x3A4 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.7.40. 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.