Edit online

H.264 寄存器描述

24 Apr 2024
Read time: 18 minute(s)

0x0100 AVC_RESET

默认值:0x00000000 AVC 软复位 (AVC RESET)
位域 类型 默认值 描述
31:1 - - -
0 R/W 0x0 VE_RESET
  • 0:软复位完成
  • 1:软复位进行中

由软件对本寄存器置位,硬件就会对 AVC 模块寄存器软复位。由于硬件复位需要一定时间,软件配置该寄存器后,需要等到该 bit 为 0 后,才能继续配置其他寄存器。

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 和 B_Direct_8x8 块的亮度运动向量的生成方法。如果 FRAME_MBS_ONLY_FLAG 为 0, 则 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

0x0108 AVC_PPS

默认值:0x00000000 AVC 图像参数集信息 (AVC Picture Parameter Set)
位域 类型 默认值 描述
31:21 - - -
20:16 R/W 0x000 NUM_REF_IDX_L0_ACTIVE_MINUS1_PIC

指定参考图像列表 0 的最大参考图像个数。

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 变换

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]。

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]

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

0x0118 AVC_WP

注:

此寄存器是一个端口寄存器,通过连续配置该寄存器把预测权重参数写入 VE 中的 SRAM。

一组预测权重参数由 8 bits 的 offset 和 9 bits 的 weight 组成。

先写前向参考 L0 预测参数,再写后向参考 L1 预测参数。

先存 Y 分量 32 组参数,再存 Cb 分量 32 组参数,最后存 Cr 分量 32 组参数。

默认值: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
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]

0x011C AVC_Scaling_Matrix

注: AVC_Scaling_Matrix 是端口寄存器,通过连续配置该寄存器可把量化参数写入 VE 中的 SRAM。 当所有数据都写入 SRAM 后,需要把 AVC_Scaling_Matrix 寄存器设置为 0,关闭 access,否则 VE 内部模块无法读该数据。
默认值: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

量化矩阵参数数值

数据排列方式如下:

类型 地址范围
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

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]

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

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 状态。

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 硬件逻辑不会自动清零。

0x0130 AVC_DATA_VALID

注: 当 DATA_FIRST 为 1,DATA_LAST 为 0 时,软件需要保证 BIT_LENGTH 大于 64bit。
默认值: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:当前配置的数据不是一个完整解码的第一笔数据,当前解码任务需要承接前一次的解码继续完成一个完整解码。

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

0x0138 AVC_BITBUF_END_ADDR

默认值:0x0000000F 码流数据结束 DRAM 地址 (Bit Buffer End Address)
位域 类型 默认值 描述
31:8 R/W 0x000_0000 BITBUF_END_ADDR[31:8],原始码流缓冲区在外部 DRAM 中的结束位置。
7:0 R 0xF 固定为全 1

0x013C AVC_BIT_OFFSET

默认值:0x00000000 码流数据偏移 (Bit Stream Offset)
位域 类型 默认值 描述
31:30 - - -
29:0 R/W 0x0000_0000 BIT_OFFSET

当前有效配置数据开始的位置,相对于 ADDR 计算的,以 bit 为单位。

最大 128 MB,即码流缓冲区最大 128 MB。

0x0140 AVC_BIT_LENGTH

默认值:0x00000000 码流数据长度 (Bit Stream Length)
位域 类型 默认值 描述
31:30 - - -
29:0 R/W 0x0000_0000 BIT_LENGTH

当前配置的有效数据长度,以位为单位,起始位置为 OFFSET。

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:底场

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。

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 字节对齐。

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。

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。

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。

0x01F8 AVC_CYCLES

默认值:0x00000000 AVC 解码时钟数 (AVC Cycle)
位域 类型 默认值 描述
31:0 RO 0x000 CYCLES

获取 VE 工作 cycle 数。

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:顶场

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

图像的真实高度,以像素为单位。

0x0240 AVC_DBLK_EN_REG

默认值:0x00000000 AVC 去块滤波使能 (AVC Deblocking Enable)
位域 类型 默认值 描述
31:1 - - -
0 R/W 0x0 Dblk_enable
  • 1: dblk 模块使能
  • 0: dblk 模块不使能

0x0244 AVC_DBLK_Y_BUF_REG

默认值:0x00000000 AVC 去块滤波亮度分量缓存地址 (Deblocking Y Buffer Address)
位域 类型 默认值 描述
31:0 R/W 0x0 DBLK_BUF_Ydblk

使用的亮度分量临时 buffer 在 DRAM 中的基地址。

0x0248 AVC_DBLK_C_BUF_REG

默认值:0x00000000 AVC 去块滤波色度分量缓存地址 (Deblocking C Buffer Address)
位域 类型 默认值 描述
31:0 R/W 0x0 DBLK_BUF_C

dblk 使用的色度分量临时 buffer 在 DRAM 中的基地址。

0x024C AVC_DEC_CONFIG_REG

默认值:0x00000000 解码图像配置 (Decode Picture Configuration)
位域 类型 默认值 描述
31:9 - - -
8 R/W 0x0 DEC_WR_EN,写 1
7 - - -
6 R/W 0x0 DEC_LUMA_ONLY
  • 0:有亮度分量和色度分量
  • 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 小端

0x0250 AVC_DEC_FRAME_IDX_REG

默认值:0x00000000 AVC 解码帧索引 (Decode Frame Index)
位域 类型 默认值 描述
31:0 R/W 0x0 FRAME_IDX

指定解码输出的 frame_idx。

0x040C AVC_INTERP_DMA_MODE

默认值:0x00000000 AVC 帧间预测 DMA 方式 (Inter-Pred DMA Mode)
位域 类型 默认值 描述
31:1 - - -
0 R/W 0x0 MODE

配置为 0

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:使用隐式加权预测,当前 slice 为 B slice 并且 weighted_bipred_idc 为 2

0x0484 AVC_INTERP_WP_LOGWD

默认值:0x00000000 加权预测 LOGWD 参数 (Weighted Pred LOGWD Parameter)
位域 类型 默认值 描述
31:6 - - -
5:3 R/W 0x0 LOGWD_C

色度分量的加权预测参数 LOGWD

2:0 R/W 0x0 LOGWD_Y

亮度分量的加权预测参数 LOGWD