9.3.7. H264寄存器描述
9.3.7.1. 0x0100 AVC_RESET
默认值:0x00000000 |
AVC软复位 (AVC RESET) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:1 |
- |
- |
-
|
0 |
R/W |
0x0 |
VE_RESET
0:软复位完成
1:软复位进行中
由软件对本寄存器置位,硬件就会对AVC模块寄存器软复位。由于
硬件复位需要一定时间,软件配置该寄存器后,需要等到该bit为
0后,才能继续配置其他寄存器。
|
9.3.7.2. 0x0104 AVC_SPS
默认值:0x00000000 |
AVC序列参数集信息 (AVC Sequence PArameter Set) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
R/W |
0x0 |
PIC_INIT
1:VE内部图像初始化,只在图像的第一个slice才需要配置
|
30:23 |
- |
- |
-
|
22:21 |
- |
- |
-
|
20 |
R/W |
0x0 |
UV_ALTER
0:U分量存放在V分量之前
1:V分量存放在U分量之前
|
19 |
R/W |
0x0 |
UV_INTERLEAVE
0:UV分量不交错
1:UV分量交错
控制MC模块是否按交错方式读参考帧数据,
需要与dblk寄存器0x24C中的交错值一致
|
18 |
R/W |
0x0 |
FRAME_MBS_ONLY_FLAG
0: 编码序列里可能有帧结构、也可能有场结构。
1: 编码序列的所有编码帧只有帧结构、帧MB。
|
17 |
R/W |
0x0 |
MB_ADAPTIVE_FRAME_FIELD_FLAG
0: 不允许编码中出现帧MB与场MB切换。
1: 允许编码中出现帧MB与场MB切换。
|
16 |
R/W |
0x0 |
DIRECT_8X8_INFERENCE_FLAG
指定了B_Skip, B_Direct_16x16 and B_Direct_8x8块的亮度
运动向量的生成方法。如果frame_mbs_only_flag为0, 则
direct_8x8_inference_flag 应为1.
|
15 |
- |
- |
-
|
14:8 |
R/W |
0x000 |
PIC_WIDTH_IN_MBS_MINUS1
图像编码宽度,单位是MB。如果以像素为单位,实际图像编码
宽度为PIC_WIDTH_IN_MBS * 16。
|
7 |
/ |
/ |
/
|
6:0 |
R/W |
0x000 |
PIC_HEIGHT_IN_MBS_MINUS1
图像编码高度,单位是MB。如果以像素为单位,实际图像编码
高度为PIC_HEIGHT_IN_MBS * 16。
PIC_HEIGHT_IN_MAP_UNITS_MINUS1
仅对H.264有效, 解码帧/场中slice头中解码出来的图像高度。
注意:FrameHeightInMbs = (2 – frame_mbs_only_flag) *
PicHeightInMapUnits
|
9.3.7.3. 0x0108 AVC_PPS
默认值:0x00000000 |
AVC图像参数集信息 (AVC Picture Parameter Set) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:21 |
- |
- |
-
|
20:16 |
R/W |
0x000 |
NUM_REF_IDX_L0_ACTIVE_MINUS1_PIC
指定参考图像列表0的最大参考index
|
15:13 |
- |
- |
-
|
12:8 |
R/W |
0x000 |
NUM_REF_IDX_L1_ACTIVE_MINUS1_PIC
指定参考图像列表1的最大参考
|
7:6 |
- |
- |
-
|
5 |
R/W |
0x0 |
ENTROPY_CODING_MODE_FLAG
0: Exp-Golomb编码以及CAVLC
1: CABAC
|
4 |
R/W |
0x0 |
WEIGHTED_PRED_FLAG
0: 加权预测可以不按照P/SP slices的方式进行。
1: 加权预测需按照P/SP slices的方式进行。
|
3:2 |
R/W |
0x0 |
WEIGHTED_BIPRED_IDC
00: 默认模式
01: explicit模式
10: implicit模式
11: reserved
仅对B slice有效
|
1 |
R/W |
0x0 |
CONSTRAINED_INTRA_PRED_FLAG
0: 帧内、帧间预测模式都允许
1: 固定只能有帧内预测模式
|
0 |
R/W |
0x0 |
TRANSFROM_8X8_MODE_FLAG
0: 解码过程中不使用8x8变换
1: 解码过程中可使用8x8变换
|
9.3.7.4. 0x010C AVC_SH1
默认值:0x00000000 |
AVC Slice头信息1 (AVC Slice Header1) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
- |
- |
-
|
30:24 |
R/W |
0x0_0000 |
FIRST_MB_X
当前slice第一个宏块在图像中的水平方向坐标值
|
23 |
- |
- |
-
|
22:16 |
R/W |
0x0_0000 |
FIRST_MB_Y
当前slice第一个宏块在图像中的垂直方向坐标值
|
15:13 |
- |
- |
-
|
12 |
R/W |
0x0 |
NAL_REF_FLAG
0: 当前slice不用作后续参考图
1: 当前slice可用做后续参考图
|
11:8 |
R/W |
0x0 |
SLICE_TYPE
0000: P slice
0001: B slice
0010: I slice
0011: SP slice
0100: SI slice
0101: P slice
0110: B slice
0111: I slice
1000: SP slice
1001: SI slice
其它:保留
|
7:6 |
- |
- |
-
|
5 |
R/W |
0x0 |
FIRST_SLICE_IN_PIC
0: 当前slice不是当前编码图的第一个slice
1: 当前slice是当前编码图的第一个slice
|
4 |
R/W |
0x0 |
FIELD_PIC_FLAG
0: 当前slice是帧结构方式编码
1: 当前slice是场结构方式编码
|
3 |
R/W |
0x0 |
BOTTOM_FIELD_FLAG
0: 当前slice是顶场
1: 当前slice是底场
|
2 |
R/W |
0x0 |
DIRECT_SPATIAL_MV_PRED_FLAG
0: 采取时间direct模式预测
1: 采取空间direct模式预测
|
1:0 |
R/W |
0x0 |
CABAC_INIT_IDC
参数cabac_init_idc的值范围[0,2]。
|
9.3.7.5. 0x0110 AVC_SH2
默认值:0x00000000 |
AVC Slice头信息2 (AVC Slice Header2) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:29 |
- |
- |
-
|
28:24 |
R/W |
0x00 |
NUM_REF_IDX_L0_ACTIVE_MINUS1
当前slice使用参考图列表0时的最大参考index-1
|
23:21 |
- |
- |
-
|
20:16 |
R/W |
0x00 |
NUM_REF_IDX_L1_ACTIVE_MINUS1
当前slice使用参考图列表1时的最大参考index-1
|
15:13 |
- |
- |
-
|
12 |
R/W |
0x0 |
NUM_REF_IDX_ACTIVE_OVERRIDE_FLAG
0: 有效参考图个数不能被重写
1: 有效参考图个数可被重写
如果该位为1,则表示参考图个数可能与PPS中设置的不同
|
11:10 |
- |
- |
-
|
9:8 |
R/W |
0x0 |
DISABLE_DEBLOCKING_FILTER_IDC
有效值范围[0,2]
|
7:4 |
R/W |
0x0 |
SLICE_ALPHA_C0_OFFSET_DIV2
FilterOffsetA = slice_alpha_c0_offset_div2 << 1
有效值范围[-6,+6]
|
3:0 |
R/W |
0x0 |
SLICE_BETA_OFFSET_DIV2
FilterOffsetB = slice_beta_offset_div2 << 1
有效值范围[-6,+6]
|
9.3.7.6. 0x0114 AVC_SH_WP
默认值:0x00000000 |
AVC Slice头加权预测参数信息 (AVC Weighted Pred Info) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
- |
- |
-
|
30:28 |
R/W |
0x000 |
LUMA_LOG2_WEIGHT_DENOM
所有亮度加权因子的分母,以2为基的对数表示
有效范围为[0,7]
|
27 |
- |
- |
-
|
26:24 |
R/W |
0x000 |
CHROMA_LOG2_WEIGHT_DENOM
所有色度加权因子的分母,以2为基的对数表示
有效范围为[0,7]
|
23:0 |
- |
- |
-
|
9.3.7.7. 0x0118 AVC_WP
默认值:0x00000000 |
AVC 加权预测权重参数 (AVC Weighted Pred Data) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:24 |
R/W |
0x0 |
WEIGHT_PRED_SRAM_ADDR
0x00-0x1F是Luma_L0的地址;
0x20-0x3F是Chroma_Cb_L0的地址;
0x40-0x5F是Chroma_Cr_L0的地址;
0x60-0x7F是Luma_L1的地址;
0x80-0x9F是Chroma_Cb_L1的地址;
0xA0-0xBF是Chroma_Cr_L1的地址;
|
23:17 |
- |
- |
-
|
16:0 |
R/W |
0x000 |
WEIGHT_PRED_DATA
[16:8]:weight; [7:0]:offset
|
此寄存器是一个端口寄存器,通过连续配置该寄存器把预测权重参数写入VE中的SRAM。
一组预测权重参数由8bit的offset和9bit的weight组成。
先写前向参考L0预测参数,再写后向参考L1预测参数;
先存Y分量32组参数,再存Cb分量32组参数,最后存Cr分量32组参数
bit[7:0] |
bit[16:8] |
Luma_offset_L0[0] |
Luma_weight_L0[0] |
Luma_offset_L0[1] |
Luma_weight_L0[1] |
…… |
…… |
Luma_offset_L0[31] |
Luma_weight_L0[31] |
Chroma_Cb_offset_L0[0] |
Chroam_Cb_weight_L0[0] |
Chroma_Cb_offset_L0[1] |
Chroam_Cb_weight_L0[1] |
…… |
…… |
Chroma_Cb_offset_L0[31] |
Chroam_Cb_weight_L0[31] |
Chroma_Cr_offset_L0[0] |
Chroam_Cr_weight_L0[0] |
Chroma_Cr_offset_L0[1] |
Chroam_Cr_weight_L0[1] |
…… |
…… |
Chroma_Cr_offset_L0[31] |
Chroam_Cr_weight_L0[31] |
Luma_offset_L1[0] |
Luma_weight_L1[0] |
Luma_offset_L1[1] |
Luma_weight_L1[1] |
…… …… |
|
Luma_offset_L1[31] |
Luma_weight_L1[31] |
Chroma_Cb_offset_L1[0] |
Chroam_Cb_weight_L1[0] |
Chroma_Cb_offset_L1[1] |
Chroam_Cb_weight_L1[1] |
…… |
…… |
Chroma_Cb_offset_L1[31] |
Chroam_Cb_weight_L1[31] |
Chroma_Cr_offset_L1[0] |
Chroam_Cr_weight_L1[0] |
Chroma_Cr_offset_L1[1] |
Chroam_Cr_weight_L1[1] |
…… |
…… |
Chroma_Cr_offset_L1[31] |
Chroam_Cr_weight_L1[31] |
9.3.7.8. 0x011C AVC_Scaling_Matrix
默认值:0x00000000 |
AVC 量化矩阵参数 (AVC Scaling Matrix) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
R/W |
0x0 |
SCALING_MATRIX_ACCESS
1:请求写
|
30 |
R/W |
0x0 |
SCALING_WRITE_ENABLE
1: 写使能
|
29:24 |
- |
- |
-
|
23:16 |
R/W |
0x0 |
SCALING_MATRIX_ADDR
量化参数地址
|
15:9 |
- |
- |
-
|
8:0 |
R/W |
0x000 |
SCALING_MATRIX_VALUE
量化矩阵参数数值
|
此寄存器是一个端口寄存器,通过连续配置该寄存器把量化参数写入VE中的SRAM。 当所有数据都写入SRAM后,需要把该寄存器设置为0,关闭access,否则VE内部模块无法读该数据。
数据排列方式如下:
类型 |
地址范围 |
---|---|
Sl_4x4_intra_Y |
0x00-0x0f
|
Sl_4x4_intra_Cb |
0x10-0x1f
|
Sl_4x4_intra_Cr |
0x20-0x2f
|
Sl_4x4_inter_Y |
0x30-0x3f
|
Sl_4x4_inter_Cb |
0x40-0x4f
|
Sl_4x4_inter_Cr |
0x50-0x5f
|
Sl_8x8_intra_Y |
0x60-0x9f
|
Sl_8x8_inter_Y |
0xA0-0xdf
|
9.3.7.9. 0x0120 AVC_SH_QP
默认值:0x00000000 |
AVC Slice头量化参数 (AVC Slice Header QP) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:22 |
- |
- |
-
|
21:16 |
R/W |
0x0 |
SECOND_CHROMA_QP_INDEX_OFFSET
如果语法里不包含该参数,则默认等于CHROMA_QP_INDEX_OFFSET
|
15:14 |
- |
- |
-
|
13:8 |
R/W |
0x000 |
CHROMA_QP_INDEX_OFFSET
有效值范围[-12,12]
|
7:6 |
- |
- |
-
|
5:0 |
R/W |
0x000 |
SLICE_QPY
Slice头解码的qp_y, 有效值范围[0,51]
|
9.3.7.10. 0x0124 AVC_CTRL
默认值:0x00000000 |
AVC 控制参数 (AVC Control) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
R/W |
0x0 |
Slice start
|
30:15 |
- |
- |
-
|
14 |
R/W |
0x0 |
StartCode_Detect_En
0: 不检测startcode
1: 检测startcode
|
13 |
R/W |
0x0 |
EPTB_Detection_Bypass
0: 检测防竞争字节
1: 不检测防竞争字节
|
12:6 |
- |
- |
-
|
5 |
R/W |
0x0 |
BIT_REQ_INT_EN
0:不使能
1:使能
DEC_REQ_INT_EN用于控制VE所需要的原始码流不够需要请求下笔
数据时是否向CPU发出中断请求。当DEC_REQ_INT_EN为1时,产生
中断请求,否则不产生中断请求。是否产生中断请求,不影响相
应状态标志位的产生。
|
4 |
R/W |
0x0 |
DEC_ERR_INT_EN
0:不使能
1:使能
DEC_ERR_INT_EN用于控制VE错误解码结束后是否向CPU发出中断请
求。当DEC_ERR_INT_EN为1时,产生中断请求,否则不产生中断请
求。是否产生中断请求,不影响相应状态标志位的产生。
|
3 |
R/W |
0x0 |
DEC_FINISH_INT_EN
0:不使能
1:使能
DEC_FINISH_INT_EN用于控制VE正常解码结束后是否向CPU发出中
断请求。当DEC_FINISH_INT_EN为1时,产生中断请求,否则不产
生中断请求。是否产生中断请求,不影响相应状态标志位的产生。
|
2:0 |
- |
- |
-
|
9.3.7.11. 0x0128 AVC_STATUS
默认值:0x00000000 |
AVC 解码状态 (AVC Satus) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
R |
0x0 |
BITSTREAM_ERROR
码流出错
|
30 |
R |
0x0 |
COEFF_ERROR
宏块DCT系数解析出错
|
29 |
R |
0x0 |
MB_HEADER_ERROR
宏块头解析出错
|
28 |
R |
0x0 |
MB_PREFIX_ERROR
宏块前缀解析出错
|
27:19 |
- |
- |
-
|
18 |
R/W1C |
0x0 |
VE_Error
当VE执行当前任务过程中发现码流错误,则停止当前任务并向主
控发送中断信号后,该位置1。主控向该位写1则清除相应中断。
|
17 |
R/W1C |
0x0 |
BIT_Req
当VE执行当前任务过程中发现码流不够,且当前正在处理的码流
不是最后一笔码流,则暂停当前任务并向主控发送中断信号后,
该位置1。主控向该位写1则清除相应中断。
|
16 |
R/W1C |
0x0 |
VE_Finish
当VE完成当前任务并向主控发送中断信号后,该位置1。
主控向该位写1则清除相应中断。
|
15:9 |
- |
- |
-
|
8:0 |
R |
0x0 |
Busy
内部子模块的busy状态。
|
9.3.7.12. 0x012C AVC_DEC_MB_NUM
默认值:0x00000000 |
AVC 正确解码宏块数 (AVC Correct Decode MB Number) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:24 |
- |
- |
-
|
23:0 |
R/W |
0x000_0000 |
Crt_MB_Number
表示对一帧/场/GOB来说,被正常解码的MB/MCU数量。
注:在开始解码一帧/场/GOB之前,软件应对该寄存器清零,
除此之外,VE硬件逻辑不会自动清零。
|
9.3.7.13. 0x0130 AVC_DATA_VALID
默认值:0x00000000 |
码流数据有有效标记 (Data Valid Flag) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
R/W |
0x0 |
DATA_VALID
如果该位置1,则表示当前配置的码流数据已经有效写入原始码流
缓冲区,VE可以预取码流数据到内部的缓冲区,等待启动解码;
如果该位置0,则表示码流数据还没有正确写入原始码流缓冲区。
|
30:2 |
- |
- |
-
|
1 |
R/W |
0x0 |
DATA_LAST
该位为1表示当前配置的数据是一个完整解码的最后一笔数据;
该位为0则表示当前配置的数据不是一个完整解码的最后一笔数
据,当前解码任务完成后需要硬件保持状态,待下笔数据配置
后继续完成一个完整解码。
|
0 |
R/W |
0x0 |
DATA_FIRST
该位为1表示当前配置的数据是一个完整解码的第一笔数据;
该位为0则表示当前配置的数据不是一个完整解码的第一笔数
据,当前解码任务需要承接前一次的解码继续完成一个完整解码。
|
注意: 当DATA_FIRST为1,DATA_LAST为0时,软件需要保证BIT_LENGTH大于64bit。
9.3.7.14. 0x0134 AVC_BITBUF_START_ADDR
默认值:0x00000000 |
码流数据起始DRAM地址 (Bit Buffer Start Address) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
R/W |
0x00 |
BITBUF_START_ADDR[31:8],
原始码流缓冲区在外部DRAM中的起始位置,低8位固定为0。
|
7:0 |
R/W |
0x000_0000 |
固定为0
|
9.3.7.15. 0x0138 AVC_BITBUF_END_ADDR
默认值:0x00000000 |
码流数据结束DRAM地址 (Bit Buffer End Address) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
R/W |
0x000_0000 |
BITBUF_END_ADDR[31:8],
原始码流缓冲区在外部DRAM中的结束位置
|
7:0 |
R |
0xF |
固定为全1
|
9.3.7.16. 0x013C AVC_BIT_OFFSET
默认值:0x00000000 |
码流数据偏移 (Bit Stream Offset) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:30 |
- |
- |
-
|
29:0 |
R/W |
0x0000_0000 |
BIT_OFFSET
当前有效配置数据开始的位置,该位置是相对于
BITBUF_START_ADDR计算的,以bit为单位。最大128MB,
也就是说码流缓冲区最大128MB。
|
9.3.7.17. 0x0140 AVC_BIT_LENGTH
默认值:0x00000000 |
码流数据长度 (Bit Stream Length) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:30 |
- |
- |
-
|
29:0 |
R/W |
0x0000_0000 |
BIT_LENGTH
当前配置的有效数据长度,以位为单位,起始位置为
BIT_OFFSET。
|
9.3.7.18. 0x0144 AVC_REF_LIST
默认值:0x00000000 |
AVC参考帧队列信息 (AVC Refrence List) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
R/W |
0x0 |
REF_IDX_RW
0:从内部SRAM读数据
1:写数据到SRAM
|
30:21 |
- |
- |
-
|
20:16 |
R/W |
0x0 |
REF_IDX
参考队列中的索引,取值范围为0-31.
|
15:14 |
- |
- |
-
|
13:9 |
R/W |
0x0 |
BUF_IDX_LIST1
后向参考帧对应的buf idx
|
8 |
R/W |
0x0 |
BUF_INFO_SEL_LIST1
当前后向参考帧时顶场还是底场;
0表示顶场,1表示底场
|
7:6 |
- |
- |
-
|
5:1 |
R/W |
0x0 |
BUF_IDX_LIST0
前向参考帧对应的buf idx
|
0 |
R/W |
0x0 |
BUF_INFO_SEL_LIST0
当前前向参考帧时顶场还是底场;
0表示顶场,1表示底场
|
9.3.7.19. 0x0148 AVC_FB_INFO
默认值:0x00000000 |
AVC 解码输出图像信息 (AVC FrameBuffer Info) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
R/W |
0x0 |
BUF_INFO_RW
1:写使能
|
30:19 |
- |
- |
-
|
18:16 |
R/W |
0x0 |
CONTENT_SELECT
选择frame buffer的内容,具体见下表
|
15:13 |
- |
- |
-
|
12:8 |
R/W |
0x0 |
BUF_IDX
当前frame buffer的索引,取值范围0-17
|
7:5 |
- |
- |
-
|
4:0 |
R/W |
0x0 |
CURR_STORAGE_BUF_IDX
当前解码帧的frame idx
|
9.3.7.20. 0x014C AVC_FB_INFO_CONT
默认值:0x00000000 |
AVC 解码输出图像内容 (AVC FrameBuffer Info Content) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:0 |
R/W |
0x0 |
BUF_INFO_CONTENT
内容见下表
|
每个帧缓冲区信息包括POC、图像类型、图像数据存放地址、colocated信息存放地址等,如下表所示。 如果格式中的某些信息不存在,默认为0。相邻两个帧缓冲区信息连续存放,共支持存放18个帧缓冲区信息。
CONTENT_SELECT |
BUF_INFO_CONTENT |
---|---|
0 |
[31:0]:场格式顶场POC或帧格式POC
|
1 |
[31:0]:场格式底场POC
|
2 |
[31:10]:reserved
[9:8]: 图像类型(0: 帧格式;1: 场格式;2: mbaff)
[7:6]: reserved
[5:4]: 底场参考帧类型(0: 短期参考帧;1: 长期参考帧;2: 非参考帧)
[3:2]: reserved
[1:0]: 顶场参考帧类型(0: 短期参考帧;1: 长期参考帧;2: 非参考帧)
|
5 |
[31:0]:顶场或帧格式共同位置信息存放的DRAM地址,需1024字节对齐
|
6 |
[31:0]:底场共同位置信息存放的DRAM地址,需1024字节对齐
|
9.3.7.21. 0x0150 AVC_COL_BUF_ADDR
默认值:0x00000000 |
AVC 共同位置宏块信息地址 (Colocated MB Info Buffer Address) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
R/W |
0x00_0000 |
MB_COL_BUF_ADDR
用于存放B slice direct预测时用到的colocated宏块信息。
需要分配64K byte地址空间
|
7:0 |
RO |
0x000 |
Colocated宏块缓冲区DRAM地址低8位,固定为0。
|
9.3.7.22. 0x0154 AVC_MBINFO_BUF_ADDR
默认值:0x00000000 |
AVC 宏块信息数据地址 (MB Info Buffer Address) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
R/W |
0x00_0000 |
MBINFO_BUF_ADDR
MB信息缓冲区DRAM地址高24位。此缓冲区位于外部DRAM中,
适用于H.264等标准,用于存放当前帧的MB头信息。
需要分配12K byte地址空间。
|
7:0 |
RO |
0x000 |
MB信息缓冲区DRAM地址低8位,固定为0。
|
9.3.7.23. 0x01D4 AVC_INTRAP_BUF_ADDR
默认值:0x00000000 |
AVC 帧内预测数据缓存地址 (AVC Intrapred Buffer Address) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
R/W |
0x00_0000 |
INTRAP_BUF_ADDR
帧内预测缓冲区DRAM地址高24位。此缓冲区位于外部DRAM中,
用于存放帧内预测需要的上一个MB行的部分像素数据。
分配地址空间为(width*2)byte,width表示图像宽
|
7:0 |
RO |
0x000 |
帧内预测缓冲区DRAM地址低8位,固定为0。
|
9.3.7.24. 0x01F8 AVC_CYCLES
默认值:0x00000000 |
AVC 解码时钟数 (AVC Cycle) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:0 |
RO |
0x000 |
CYCLES
获取VE工作cycle数
|
9.3.7.25. 0x0210 AVC_PIC_TYPE_REG
默认值:0x00000000 |
AVC 图像类型 (AVC Picture Type) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:3 |
- |
- |
-
|
2 |
R/W |
0x0 |
Mbaff
1:当前图像为帧场自适应帧格式
0:当前图像不是帧场自适应帧格式
|
1 |
R/W |
0x0 |
Field
1:当前图像为场格式
0:当前图像为帧格式
|
0 |
R/W |
0x0 |
Bottom_field_flag
1:底场
0:顶场
|
9.3.7.26. 0x0214 AVC_PIC_SIZE_REG
默认值:0x00000000 |
AVC 解码输出图像大小 (AVC Picture Size) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:28 |
- |
- |
-
|
27:16 |
R/W |
0x0 |
Pic_xsize
图像的真实宽度,以像素为单位
|
15:12 |
- |
- |
-
|
11:0 |
R/W |
0x0 |
Pic_ysize
图像的真实高度,以像素为单位
|
9.3.7.27. 0x0240 AVC_DBLK_EN_REG
默认值:0x00000000 |
AVC 去块滤波使能 (AVC Deblocking Enable) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:1 |
- |
- |
-
|
0 |
R/W |
0x0 |
Dblk_enable
1:dblk模块使能
0:dblk模块不使能
|
9.3.7.28. 0x0244 AVC_DBLK_Y_BUF_REG
默认值:0x00000000 |
AVC 去块滤波亮度分量缓存地址 (Deblocking Y Buffer Address) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:0 |
R/W |
0x0 |
DBLK_BUF_Y
dblk使用的亮度分量临时buffer在DRAM中的基地址
|
9.3.7.29. 0x0248 AVC_DBLK_C_BUF_REG
默认值:0x00000000 |
AVC 去块滤波色度分量缓存地址 (Deblocking C Buffer Address) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:0 |
R/W |
0x0 |
DBLK_BUF_C
dblk使用的色度分量临时buffer在DRAM中的基地址
|
9.3.7.30. 0x024C AVC_DEC_CONFIG_REG
默认值:0x00000000 |
解码图像配置 (Decode Picture Configuration) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:1 |
- |
- |
-
|
8 |
R/W |
0x0 |
dec_wr_en,
写1
|
7 |
- |
- |
-
|
6 |
R/W |
0x0 |
dec_luma_only,是否只有亮度分量
1:只有亮度分量
|
5:4 |
R/W |
0x0 |
dec_chroma_idc
颜色格式
00-YUV420
01-YUV400
|
3 |
R/W |
0x0 |
uv_alternative
1:crcb方式存放,先存cr分量再存cb分量
0:cbcr方式存放
|
2 |
R/W |
0x0 |
uv_interleave
1:uv交错存放
0:uv分开存放
|
1:0 |
R/W |
0x0 |
Endian
1:64 bit大端
0:64 bit小端
|
9.3.7.31. 0x0250 AVC_DEC_FRAME_IDX_REG
默认值:0x00000000 |
AVC 解码帧索引 (Decode Frame Index) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:0 |
R/W |
0x0 |
Frame_idx
指定解码输出的frame_idx
|
9.3.7.32. 0x040C AVC_INTERP_DMA_MODE
默认值:0x00000000 |
AVC 帧间预测DMA方式 (Inter-Pred DMA Mode) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:1 |
- |
- |
-
|
0 |
R/W |
0x0 |
MODE
配置为0
|
9.3.7.33. 0x0480 AVC_INTERP_WP_ENABLE
默认值:0x00000000 |
加权预测使能 (Weighted Pred Enable) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:2 |
- |
- |
-
|
1 |
R/W |
0x0 |
WEIGHTED_EN
1:开启加权预测
0:使用默认加权预测
|
0 |
R/W |
0x0 |
IMPILITED_EN
1:使用隐式加权预测,B slice并且weighted_bipred_idc为2时
|
9.3.7.34. 0x0484 AVC_INTERP_WP_LOGWD
默认值:0x00000000 |
加权预测LOGWD参数 (Weighted Pred LOGWD Parameter) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:1 |
- |
- |
-
|
5:3 |
R/W |
0x0 |
LOGWD_C
色度分量的加权预测参数LOGWD
|
2:0 |
R/W |
0x0 |
LOGWD_Y
亮度分量的加权预测参数LOGWD
|