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