USER GUIDE / IMAGE INPUT & ENCODING / JPEG DEC / REGISTER DESCRIPTION
寄存器描述
配置寄存器和字段说明
JPEG_DEC_TRIG 寄存器(JPEG_DEC_TRIG, 0x0000)
JPEG_DEC_TRIGJPEG_DEC BASE + 0x0000
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31 | RESET_END | 只读电平信号,用于标识JPEG软件复位完毕 | R |
| 30:9 | Reserved | 写入无影响,读取为零。 | R |
| 8 | SW_SEQ_RST_REGS | 当配置[2] SW_SEQ_RESET时,配置成1表示同时复位 jpeg_slv中寄存器,如一帧宽高,nmcu等序列级通用参数, qp base表。如果需要使用,请在硬件启动前配置成1,当 sw_frm_reset或sw_seq_reset为1时,复位才生效。 默认为0。 | R/W |
| 7:4 | SW_RESET_CYCLE | 软件配置reset持续时钟数-1。 默认为10。 | R/W |
| 3 | SW_FSM_RESET | 状态机复位寄存器,默认为0。 如果需要使用,请在reset状态机非idle期间配置成1. | R/W |
| 2 | SW_SEQ_RESET | JPEG硬件内部所有寄存器进行reset。 (序列级reset +帧级reset) 所谓序列级就是帧与帧交替时不需要进行reset。例,每帧 ocm首地址计算。 所谓帧级,就是每帧正常或异常结束需要reset一次。 功能等同于接口中i_wrst_n。 如果需要使用,请配置成1。 | R/W |
| 1 | SW_FRM_RESET | JPEG硬件内部所有帧级寄存器reset。 所谓帧级,就是每帧正常或异常结束需要reset一次。 如果需要使用,请配置成1。 | R/W |
| 0 | START | JPEG一帧解码的启动信号,每帧都需要配置 | R/W |
JPEG_DEC_CTRL 寄存器(JPEG_DEC_CTRL, 0x0004)
JPEG_DEC_CTRLJPEG_DEC BASE + 0x0004
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:14 | Reserved | 写入无影响,读取为零。 | R |
| 13 | CROSS_4K_DIS | cross 4k boundary disable 0:打开跨4K边界处理逻辑; 1:关闭跨4K边界处理逻辑; default 0 | R/W |
| 12 | TIME_OUT_EN | time out enable 0:关闭TIME OUT功能 1:打开TIME OUT功能 默认为0 | R/W |
| 11:10 | QT_V | Quant table number for V. default 1 | R/W |
| 9 | HA_V | Huffman AC table number for U.default 1 | R/W |
| 8 | HD_V | Huffman DC table number for V.default 1 | R/W |
| 7:6 | QT_U | Quant table number for U. default 1 | R/W |
| 5 | HA_U | Huffman AC table number for U.default 1 | R/W |
| 4 | HD_U | Huffman DC table number for U.default 1 | R/W |
| 3:2 | QT_Y | Quant table number for Y.default 0 | R/W |
| 1 | HA_Y | Huffman AC table number for Y.default 0 | R/W |
| 0 | HD_Y | Huffman DC table number for Y.default 0 | R/W |
JPEG_DEC_NMCU 寄存器(JPEG_DEC_NMCU, 0x0008)
JPEG_DEC_NMCUJPEG_DEC BASE + 0x0008
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:26 | Reserved | 写入无影响,读取为零。 | R |
| 25:0 | FRM_MCU_NUMBER | 配置:MCU个数减1。 若420格式: 【MCU个数计算】首先将一帧宽高按16对齐。 MCU个数= (对齐后的宽/16)*(对齐后的高/16)。 例:256x128,则MCU个数为=16*8=128个。配置127. 若422格式: 【MCU个数计算】首先将一帧宽按16对齐,高度8对齐。 MCU个数=(对齐后的宽/16)*(对齐后的高/8) 例:256x128,则MCU个数为=16*16=256个。配置255. 若420单Y格式: 【MCU个数计算】首先将一帧宽高按8对齐。 MCU个数= (对齐后的宽/8)*(对齐后的高/8)。 例:256x128,则MCU个数为=32*16=512个。 配置511 | R/W |
JPEG_DEC_FRM_INFO 寄存器(JPEG_DEC_FRM_INFO, 0x000C)
JPEG_DEC_FRM_INFOJPEG_DEC BASE + 0x000C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:16 | FRM_HEIGHT | Frame height, unit in pixel.要求8对齐(422和单Y格式)或16 对齐(420格式) | R/W |
| 15:0 | FRM_WIDTH | Frame width,unit in pixel.要求8对齐(单Y格式)或16对齐(422/420 格式) | R/W |
JPEG_DEC_LINE_STRD 寄存器(JPEG_DEC_LINE_STRD, 0x0010)
JPEG_DEC_LINE_STRDJPEG_DEC BASE + 0x0010
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:16 | Reserved | 写入无影响,读取为零。 | R |
| 15:0 | LINE_STRD | 420格式配置:帧宽度16对齐 422格式配置:帧宽度16对齐x2 420单Y格式配置:帧宽度8对齐 | R/W |
JPEG_DEC_RAWY_ADDR 寄存器(JPEG_DEC_RAWY_ADDR, 0x0014)
JPEG_DEC_RAWY_ADDRJPEG_DEC BASE + 0x0014
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | FRM_RAWY_ADDR | Frame output Y pixel start address. (need to be 16Byte align) 开辟的空间大小至少为frm_stride x帧高 | R/W |
JPEG_DEC_RAWC_ADDR 寄存器(JPEG_DEC_RAWC_ADDR, 0x0018)
JPEG_DEC_RAWC_ADDRJPEG_DEC BASE + 0x0018
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | FRM_RAWC_ADDR | Frame output UV pixel start address. (need to be 16 Byte align) (YUV422 is useless) | R/W |
JPEG_DEC_BS_ADDR 寄存器(JPEG_DEC_BS_ADDR, 0x001C)
JPEG_DEC_BS_ADDRJPEG_DEC BASE + 0x001C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | JPEG_BS_ADDR | 输入的码流首地址,码流首地址没有对齐要求,首地址 需要从码流中去掉header部分开始的。 | R/W |
JPEG_DEC_TIMEOUT_THRD 寄存器(JPEG_DEC_TIMEOUT_THRD, 0x0020)
JPEG_DEC_TIMEOUT_THRDJPEG_DEC BASE + 0x0020
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | JPEG_TIMEOUT_THRD | JPEG timeout阈值 当关闭timeout机制时默认为0; 当打开timeout机制时以1080p为例,建议配置为 0x0105dad3(1080p经验值3432183 x 5); | R/W |
JPEG_DEC_FORMAT_CTRL 寄存器(JPEG_DEC_FORMAT_CTRL, 0x0024)
JPEG_DEC_FORMAT_CTRLJPEG_DEC BASE + 0x0024
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 1:0 | DEC_FORMAT_CTRL | 输出图像格式选择 0: yuv420 1: yuv422 2: yuv420 + only y encode | R/W |
JPEG_DEC_CODE_PIX_TOTAL 寄存器(JPEG_DEC_CODE_PIX_TOTAL, 0x0028)
JPEG_DEC_CODE_PIX_TOTALJPEG_DEC BASE + 0x0028
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | CODE_PIXEL_TOTAL_NUM | 将一帧宽高以jpeg解码规则进行对齐 (420:宽高均为16, 422:宽16高8, 420单Y:宽8高8) 后, JPEG解码输出一帧的YUV像素总数。 | R/W |
JPEG_DEC_MARKERS 寄存器(JPEG_DEC_MARKERS, 0x002C)
JPEG_DEC_MARKERSJPEG_DEC BASE + 0x002C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:16 | Markers_number | Restart Markers MCU number减1,不开启时默认为0。开启时 最小值为1,最大值为MCU个数减1。 注意:其值等于码流中header部分DRI标志(码流值为0xFFDD) 的MCU个数-1,不能任意配置。 | R/W |
| 15:1 | Reserved | 写入无影响,读取为零。 | R |
| 0 | Markers_enable | Restart Markers使能,不开启时默认为0。 注意:需要查看码流中header部分是否含有DRI标志(码流值 为0xFFDD),如果有restart marker,则配置1;否则配置0, 不能任意配置。 | R/W |
JPEG_DEC_POST_RDY_KEY0 寄存器(JPEG_DEC_POST_RDY_KEY0, 0x0030)
JPEG_DEC_POST_RDY_KEY0JPEG_DEC BASE + 0x0030
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | JPEG_POST_RDY_KEY0 | 用于debug或测试使用,default 0。当 JPEG_POST_RDY_KEY0为32’h01234567, JPEG_POST_RDY_KEY1为32’h76543210,AW/W/B 相关控制输入一直为高 | R/W |
JPEG_DEC_POST_RDY_KEY1 寄存器(JPEG_DEC_POST_RDY_KEY1, 0x0034)
JPEG_DEC_POST_RDY_KEY1JPEG_DEC BASE + 0x0034
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | JPEG_POST_RDY_KEY1 | 用于debug或测试使用,default 0。当 JPEG_POST_RDY_KEY0为32’h01234567, JPEG_POST_RDY_KEY1为32’h76543210,AW/W/B 相关控制输入一直为高 | R/W |
JPEG_DEC_VERSION_NUM 寄存器(JPEG_DEC_VERSION_NUM, 0x0038)
JPEG_DEC_VERSION_NUMJPEG_DEC BASE + 0x0038
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | JPEG_DEC_VERSION_NUM | 用于识别代码的版本号 | R |
JPEG_DEC_INTR_ENABLE 寄存器(JPEG_DEC_INTR_ENABLE, 0x003C)
JPEG_DEC_INTR_ENABLEJPEG_DEC BASE + 0x003C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:2 | Reserved | 写入无影响,读取为零。 | R |
| 1 | INTERRUPRENABLEJPEGTIMEOUT | JPEG timeout触发中断使能。 高有效,默认关闭 注:当JPEG一帧的工作时间超过所设置的timeout阈值时 视为异常现象。 | R/W |
| 0 | JPEGFRAMEENABLEEND | JPEG一帧结束中断使能。 高有效,默认开启。 | R/W |
JPEG_DEC_INTR_STAT 寄存器(JPEG_DEC_INTR_STAT, 0x0040)
JPEG_DEC_INTR_STATJPEG_DEC BASE + 0x0040
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:2 | Reserved | 写入无影响,读取为零。 | R |
| 1 | JPEGTIMEOUTSTAT | JPEG timeout触发中断状态。 注:当JPEG一帧的工作时间超过所设置的timeout 阈值时视为异常现象。 | R |
| 0 | JPEGFRAMEENDSTAT | JPEG一帧结束触发中断状态。 | R |
JPEG_DEC_INTR_CLR 寄存器(JPEG_INTR_CLR, 0x0044)
JPEG_INTR_CLRJPEG_DEC BASE + 0x0044
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:2 | Reserved | 写入无影响,读取为零。 | R |
| 1 | 1JPEGTIMEOUTCLEAR | 清除JPEG timeout触发中断状态。 | W |
| 0 | 0JPEGFRAME | END CLEAR清除JPEG一帧结束中断状态。 | W |
JPEG_DEC_GLB_STAT 寄存器(JPEG_DEC_GLB_STAT, 0x0100)
JPEG_DEC_GLB_STATJPEG_DEC BASE + 0x0100
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31 | FRM_END | JPEG解码完一帧的结束信号,高电平有效。 | R |
| 30:24 | Reserved | 写入无影响,读取为零。 | R |
| 23:0 | RAW_LEN | 像素总长度,一帧结束时有多少个Byte。 原始像素长度,当帧结束(frame_end)完成后,该值保持稳定 | R |
JPEG_DEC_GLB_FSM 寄存器(JPEG_DEC_GLB_FSM, 0x0104)
JPEG_DEC_GLB_FSMJPEG_DEC BASE + 0x0104
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:17 | Reserved | 写入无影响,读取为零。 | R |
| 16 | RESET_FSM_DONE | RESET FSM结束 | R |
| 15:12 | SLVFSM1 | SLV FSM1,7表示空闲 | R |
| 11:8 | SLVFSM0 | SLV FSM0,0表示空闲 | R |
| 7:4 | RESET_FSM | RESET_FSM,0表示空闲 | R |
| 3:0 | CTRL_FSM | 全局状态机,0表示空闲 | R |
debug 寄存器和字段说明
JPEG_DEC_DEBUG_KEY_INFO 寄存器(JPEG_DEC_DEBUG_KEY_INFO, 0x0108)
JPEG_DEC_DEBUG_KEY_INFOJPEG_DEC BASE + 0x0108
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:6 | Reserved | 写入无影响,读取为零。 | R |
| 5 | TAIL_END | tail编码结束 | R |
| 4 | HEADER_EN | header码流有效 | R |
| 3 | CORE_ENC_VLD | core核码流有效 | R |
| 2 | PIXIN_REQ | core核准备好接受像素 | R |
| 1 | CORE_OVER | core核编码结束 | R |
| 0 | CORE_EN | core核启动 | R |
JPEG_DEC_DEBUG_BS_IDX 寄存器(JPEG_DEC_DEBUG_BS_IDX, 0x010C)
JPEG_DEC_DEBUG_BS_IDXJPEG_DEC BASE + 0x010C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:16 | Reserved | 写入无影响,读取为零。 | R |
| 15:0 | BS_IDX | 8byte码流数据的索引 | R/W |
JPEG_DEC_DEBUG_BS0_LF 寄存器(JPEG_DEC_DEBUG_BS0_LF, 0x0110)
JPEG_DEC_DEBUG_BS0_LFJPEG_DEC BASE + 0x0110
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | DEBUG_BS0_LF | 所检索的第一笔8byte码流数据的低31位数值 | R |
JPEG_DEC_DEBUG_BS0_HF 寄存器(JPEG_DEC_DEBUG_BS0_HF, 0x0114)
JPEG_DEC_DEBUG_BS0_HFJPEG_DEC BASE + 0x0114
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | DEBUG_BS0_HF | 所检索的第一笔8byte码流数据的高31位数值 | R |
JPEG_DEC_DEBUG_RAW_IDX 寄存器(JPEG_DEC_DEBUG_RAW_IDX, 0x0118)
JPEG_DEC_DEBUG_RAW_IDXJPEG_DEC BASE + 0x0118
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:24 | Reserved | 写入无影响,读取为零。 | R |
| 23:0 | DEBUG_RAW_IDX | 8byte码流数据的索引 | R/W |
JPEG_DEC_DEBUG_RAW_LF 寄存器(JPEG_DEC_DEBUG_RAW_LF, 0x011C)
JPEG_DEC_DEBUG_RAW_LFJPEG_DEC BASE + 0x011C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | DEBUG_RAW_LF | 所检索的第一笔8byte像素数据的低31位数值 | R/W |
JPEG_DEC_DEBUG_RAW_HF 寄存器(JPEG_DEC_DEBUG_RAW_HF, 0x0120)
JPEG_DEC_DEBUG_RAW_HFJPEG_DEC BASE + 0x0120
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | DEBUG_RAW_HF | 所检索的第一笔8byte像素数据的高31位数值 | R/W |
JPEG_DEC_DEBUG_ETC_STAT 寄存器(JPEG_DEBUG_DEC_ETC_STAT, 0x0124)
JPEG_DEBUG_DEC_ETC_STATJPEG_DEC BASE + 0x0124
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31 | bs_ofifo_empty | bs ofifio为空 | R |
| 30 | fifo_data_empty | fifo中没有数据 | R |
| 29 | bs_ofifo_full | bs ofifio为满 | R |
| 28 | pre_bs_ofifo_full | bs ofifo预满 | R |
| 27:24 | bs_ofifo_wp | bs ofifo写指针 | R |
| 23:20 | bs_ofifo_rp | bs ofifo读指针 | R |
| 19:16 | rd_ram_cnt | 读ram的个数 | R |
| 15:12 | wr_ram_cnt | 写ram的个数 | R |
| 11 | Reserved | 保留位,无意义 | R |
| 10:8 | bs_ram_fifo_rp | bs ram fifo读指针 | R |
| 7 | Reserved | 保留位,无意义 | R |
| 6:4 | bs_ram_fifo_wp | bs ram fifo写指针 | R |
| 3 | bs_ram_fifo_full | bs ram fifo为满 | R |
| 2 | bs_ram_fifo_empty | bs ram fifo为空 | R |
| 1:0 | etc_fsm | DEC ETC状态机 | R |
JPEG_DEC_DEBUG_RT_WORK_CYCLE 寄存器(JPEG_DEC_DEBUG_RT_WORK_CYCLE, 0x0128)
JPEG_DEC_DEBUG_RT_WORK_CYCLEJPEG_DEC BASE + 0x0128
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | RT_JPEG_WORK_CYCLE | 一帧JPEG总的工作cycles,帧级reset | R |
JPEG_DEC_DEBUG_FE_WORK_CYCLE 寄存器(JPEG_DEC_DEBUG_FE_WORK_CYCLE, 0x012C)
JPEG_DEC_DEBUG_FE_WORK_CYCLEJPEG_DEC BASE + 0x012C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | FE_JPEG_WORK_CYCLE | 每帧JPEG总的工作cycles,序列级reset | R |
JPEG_DEC_DEBUG_RT_COREDIS_CYCLE 寄存器(JPEG_DEC_DEBUG_RT_COREDIS_CYCLE, 0x0130)
JPEG_DEC_DEBUG_RT_COREDIS_CYCLEJPEG_DEC BASE + 0x0130
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | RT_JPEG_COREDIS_CYCLE | 一帧CORE核未工作的cycles,帧级reset | R |
JPEG_DEC_DEBUG_FE_COREDIS_CYCLE 寄存器(JPEG_DEC_DEBUG_FE_COREDIS_CYCLE, 0x0134)
JPEG_DEC_DEBUG_FE_COREDIS_CYCLEJPEG_DEC BASE + 0x0134
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | FE_JPEG_COREDIS_CYCLE | 每帧CORE核未工作的cycles,序列级reset | R |
JPEG_DEC_DEBUG_RT_DDR_CNT 寄存器(JPEG_DEC_DEBUG_RT_DDR_CNT, 0x0138)
JPEG_DEC_DEBUG_RT_DDR_CNTJPEG_DEC BASE + 0x0138
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:16 | DDR_RT_RLST_CNT | 数据通道中rlast的次数,帧级reset | R |
| 15:0 | DDR_RT_AR_CNT | AR通道握手的次数,帧级reset | R |
JPEG_DEC_DEBUG_FE_DDR_CNT 寄存器(JPEG_DEC_DEBUG_FE_DDR_CNT, 0x013C)
JPEG_DEC_DEBUG_FE_DDR_CNTJPEG_DEC BASE + 0x013C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:16 | DDR_FE_RLST_CNT | 数据通道中rlast的次数,序列级reset, frm end锁存 | R |
| 15:0 | DDR_FE_AR_CNT | AR通道握手的次数,序列级reset, frm end锁存 | R |
JPEG_DEC_DEBUG_FSM_RST_CNT 寄存器(JPEG_DEC_DEBUG_FSM_RST_CNT, 0x0140)
JPEG_DEC_DEBUG_FSM_RST_CNTJPEG_DEC BASE + 0x0140
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:16 | RST_FSM_DONE_CNT | reset状态机结束的次数,序列级reset | R |
| 15:0 | NEED_RST_CNT | jpeg需要reset的次数,序列级reset | R |
JPEG_DEBUG_DEC_EXI_STAT0 寄存器(JPEG_DEC_DEBUG_EXI_STAT0, 0x0144)
JPEG_DEC_DEBUG_EXI_STAT0JPEG_DEC BASE + 0x0144
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31 | Reserved | 保留位,无意义 | R |
| 30:28 | pre_pxl_fifo_wp | pixel fifo的写指针 | R |
| 27 | Reserved | 保留位,无意义 | R |
| 26:24 | pxl_fifo_rp | pixel fifo的读指针 | R |
| 23 | pre_pxl_fifo_full | pixel fifo将要满 | R |
| 22:20 | pxl_fifo_wp | pixel fifo的写指针 | R |
| 19 | pxl_fifo_empty | pixel fifo为空 | R |
| 18 | pxl_fifo_wr_ready | pixel fifo准备写 | R |
| 17 | rbuf1_ram2_full | buf1 ram2为满 | R |
| 16 | rbuf1_ram1_full | buf1 ram1为满 | R |
| 15 | rbuf1_ram0_full | buf1 ram0为满 | R |
| 14 | rbuf0_ram2_full | buf0 ram2为满 | R |
| 13 | rbuf0_ram1_full | buf0 ram1为满 | R |
| 12 | rbuf0_ram0_full | buf0 ram0为满 | R |
| 11 | Reserved | 保留位,无意义 | R |
| 10 | rbuf_ififo_empty | rbuf输入fifo为空 | R |
| 9 | rbuf_ififo_full | rbuf输入fifo为满 | R |
| 8 | rbuf_ififo_rp[3] | rbuf输入fifo读指针的最高位 | R |
| 7:4 | rbuf_ififo_wp | rbuf输入fifo的写指针 | R |
| 3:2 | aw_fsm | 写地址总线状态机 | R |
| 1:0 | fsm_exi | DEC EXI状态机 | R |
JPEG_DEBUG_DEC_EXI_STAT1 寄存器(JPEG_DEC_DEBUG_EXI_STAT1, 0x0148)
JPEG_DEC_DEBUG_EXI_STAT1JPEG_DEC BASE + 0x0148
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31 | is_cross_4k | 是否进行跨4K | R |
| 30 | is_4k_data | 跨4K的数据 | R |
| 29 | exi_wr_uv | exi总线正在写uv数据 | R |
| 28 | ram_wr_v | 向ram中写v数据 | R |
| 27 | ram_rd_c | 读ram中c数据 | R |
| 26 | ram_wr_sel | 写哪个ram | R |
| 25 | buf_rd_sel | 读哪个buffer | R |
| 24 | buf_wr_sel | 写哪个buffer | R |
| 23:21 | Reserved | 保留位,无意义 | R |
| 20:16 | rd_ram_cnt | 写ram的个数 | R |
| 15:13 | Reserved | 保留位,无意义 | R |
| 12:8 | wr_ram_cnt | 写ram的个数 | R |
| 7:5 | Reserved | 保留位,无意义 | R |
| 4:0 | ewda_cnt | 写数据的个数 | R |
JPEG_DEC_DEBUG_RST_KEY_INFO 寄存器(JPEG_DEC_DEBUG_RST_KEY_INFO, 0x014C)
JPEG_DEC_DEBUG_RST_KEY_INFOJPEG_DEC BASE + 0x014C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:16 | Reserved | 写入无影响,读取为零。 | R |
| 15:8 | DEBUG_KEY_INFO | reset时所保存的关键信号 | R |
| 7 | Reserved | 写入无影响,读取为零。 | R |
| 6:4 | RESET_FSM | reset时所保存的RESET状态机信息 | R |
| 3 | Reserved | 写入无影响,读取为零。 | R |
| 2:0 | CTRL_FSM | reset时所保存的CTRL状态机信息 | R |
JPEG_DEC_DEBUG_BUS_STOP_INFO 寄存器(JPEG_DEC_DEBUG_BUS_STOP_INFO, 0x0150)
JPEG_DEC_DEBUG_BUS_STOP_INFOJPEG_DEC BASE + 0x0150
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:5 | Reserved | 写入无影响,读取为零。 | R |
| 4 | WRST_N | wclk reset | R |
| 3 | BUS_STOP_REQ_N | bus stop请求,低有效 | R |
| 2 | EXI_BUS_FREE | exi bus free状态,写地址通道和写数据通道idle | R |
| 1 | ETC_BUS_FREE | etc bus free状态,读地址通道和读数据通道idle | R |
| 0 | STOP_ACK_N | bus stop的响应,低有效 | R |
JPEG_DEC_DEBUG_ETC_OUT_CNT 寄存器(JPEG_DEC_DEBUG_ETC_OUT_CNT, 0x0154)
JPEG_DEC_DEBUG_ETC_OUT_CNTJPEG_DEC BASE + 0x0154
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | dec_etc_out_cnt | DEC ETC输出的码流个数 | R |
JPEG_DEC_DEBUG_EXI_RAWI_CNT 寄存器(JPEG_DEC_DEBUG_EXI_RAWI_CNT, 0x0158)
JPEG_DEC_DEBUG_EXI_RAWI_CNTJPEG_DEC BASE + 0x0158
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | dec_exi_rawi_cnt | DEC EXI输入的像素个数 | R |
JPEG_DEC_DEBUG_EXI_RAWO_CNT 寄存器(JPEG_DEC_DEBUG_EXI_RAWO_CNT, 0x015C)
JPEG_DEC_DEBUG_EXI_RAWO_CNTJPEG_DEC BASE + 0x015C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | dec_exi_rawo_cnt | DEC EXI输出的像素个数 | R |
JPEG_DEC_DEBUG_ETC_CNT 寄存器(JPEG_DEC_DEBUG_ETC_CNT, 0x0160)
JPEG_DEC_DEBUG_ETC_CNTJPEG_DEC BASE + 0x0160
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:22 | Reserved | 保留位,无意义 | R |
| 21 | earb_mask | AR通道是否mask | R |
| 20 | ar_req | AR请求 | R |
| 19 | arvalid | 读地址有效 | R |
| 18 | arready | 读地址ready | R |
| 17 | stp_ddr_acmd_empty | AR通道的个数是否与R通道的个数想等 | R |
| 16 | ddr_hstop_rsyn | arvalid发起时,arready是否为1 | R |
| 15:0 | bs_rdata_cnt | 读码流的个数,每次读8bytes码流 | R |
JPEG_DEC_DEBUG_EXI0_CNT 寄存器(JPEG_DEC_DEBUG_EXI0_CNT, 0x0164)
JPEG_DEC_DEBUG_EXI0_CNTJPEG_DEC BASE + 0x0164
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31 | Reserved | 保留位,无意义 | R |
| 30:27 | exi_line_wcnt | exi所写的行数 | R |
| 26:0 | stp_ddr_aw_cnt | AW通道的个数 | R |
JPEG_DEC_DEBUG_EXI1_CNT 寄存器(JPEG_DEC_DEBUG_EXI1_CNT, 0x0168)
JPEG_DEC_DEBUG_EXI1_CNTJPEG_DEC BASE + 0x0168
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31 | Reserved | 保留位,无意义 | R |
| 30 | awready | 写地址ready | R |
| 29 | awvalid | 写地址有效 | R |
| 28 | stp_ddr_acmd_empty | AW通道的个数是否与B通道的个数想等 | R |
| 27 | ddr_hstop_wsyn | awvalid发起时,awready是否为1 | R |
| 26:0 | stp_ddr_bend_cnt | B通道的个数 | R |
JPEG_DEC_DEBUG_EXI2_CNT 寄存器(JPEG_DEC_DEBUG_EXI2_CNT, 0x016C)
JPEG_DEC_DEBUG_EXI2_CNTJPEG_DEC BASE + 0x016C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:27 | Reserved | 保留位,无意义 | R |
| 26:0 | ddr_awlen_cnt | awlen的个数,写地址握手成功,每次加awlen+1 | ,R |
JPEG_DEC_QT_TAB 寄存器(JPEG_DEC_QT_TAB, 0x0300~0x03BC)
- JPEG 解码前,通过软件解析出待解码的码流中header 部分的qt 表(标志为DQT,对应码流值为0xFFDB)。如果DQT 有2 个,则UV 共用一个量化表;如果DQT 有3 个,则U 和V 各有1 个量化表。
- 每个量化表共有64 个8bits 数据,将每4 个数据组成一个32bits 数据配置给寄存器。
- 0x300~0x33c,为亮度量化表,共64 个8bits 数据。
- 0x340~0x37c,为U 分量基础表,共64 个8bits 数据。
- 0x380~0x3bc,为V 分量基础表,共64 个8bits 数据。
JPEG_DEC_HUFFMAN_TAB 寄存器(JPEG_DEC_HUFFMIN 0x0400~0x043C / JPEG_DEC_HUFFBASE 0x0500~0x05FC / JPEG_DEC_HUFFSYMB 0x0600~0x0B3C)
- JPEG 解码需要三张huffman 表,即huffmin/huffbase/huffsymb 表。解码前,通过软件tabgen 函数提取码流中header 部分的huffman 表(标志为DHT,对应码流值为0xFFC4),并转换成huffmin/huffbase/huffsymb 表配置给寄存器。
| Huffmin mapping offset | 说明 |
|---|---|
| 0x400~0x40C | MIN AC 0 value |
| 0x410~0x41C | MIN DC 0 value |
| 0x420~0x42C | MIN AC 1 value |
| 0x430~0x43C | MIN DC 1 value |
| Huffbase mapping offset | 说明 |
|---|---|
| 0x500~0x53C | BASE AC 0 value |
| 0x540~0x57C | BASE DC 0 value |
| 0x580~0x5BC | BASE AC 1 value |
| 0x5C0~0x5FC | BASE DC 1 value |
| Huffsymb mapping offset | 说明 |
|---|---|
| 0x600~0x884 | SYMB AC 0 value |
| 0x88C~0x8B4 | SYMB DC 0 and 1values |
| 0x8B8~0xB3C | SYMB AC 1 value |