USER GUIDE / IMAGE INPUT & ENCODING / IPU / DATA FORMAT DESCRIPTION
数据格式说明
输入数据流
- OSD 大图通道输入格式:NV12、YUV422、ARGB8888。图像数据将通过DMA 突发性读取操作从外部存储器获取。
- OSD 小图通道输入格式:ARGB、RGB、NV12、NV21。RGB 数据可分为6 种类型:RGB、RBG、GRB、GBR、BRG、BGR。ARGB 可分为12 种类型ARGB、ARBG、AGRB、AGBR、ABRG、ABGR、RGB、RBGA、GRBA、GBRA、BRGA、BGRA 通道数据将通过DMA 突发性读取操作从外部存储器获取。
- 数据缓冲与同步(需配置IPU_TRIGGER(0x74).REFRESH_MODE 选择数据缓冲模式):
- 0:单帧模式:帧结束后,需要软件重新配置寄存器,IPU 才可以启动下一帧。
- 1:连续帧模式:软件需为大图通道分配两个BUFF,小图通道分配两个BUFF。IPU 为大图通道和小图通道总共4 个BUFF 提供了四个地址寄存器。在配置IPU_TRIGGER(0x74).RUN 之后,BK_DMA 可循环搬运大图两个BUFF 的帧数据,CH_DMA 可循环搬运小图两个BUFF 的帧数据。在该模式下,需配置IPU_TRIGGER(0x74).STOP 才可以关闭数据流。
输出数据流
- 通过配置寄存器IPU_TRIGGER(0x74).DPU_EN 选择输出方向,1 代表和DPU 直通,0 代表通过DMA burst 写操作存储到外部存储器。输出方向只能二选一,DPU 直通和写DMA 不能同时工作。
- 如果IPU 用于OSD 功能,输出数据格式与大图输入数据格式相同。
- 如果大图输入格式为NV12/YUV422 时,IPU 在做完OSD 后,将结果转换为YUV444 输出至DPU 模块,DPU 需要将数据做CSC 转换成RGB 格式后通过显示接口输出。
- 如果大图输入格式为ARGB8888,IPU 在做完OSD 后,将RGB888 数据输出至DPU 模块,DPU 可直接通过显示接口输出。
- 如果IPU 用于执行CSC 功能,如果输出方向为外部存储器,输出数据格式可以是ARGB、RGB、NV12、NV21、HSV;如果输出方向为DPU,输出数据格式只能是RGB。
ARGB/RGB 格式
| Format | Stored sequence | |||
|---|---|---|---|---|
| ARGB | Bit-3124 23 | 16 15 | 8 7 | 0 |
ARGB1555 格式
| Format | Stored sequence | |||
|---|---|---|---|---|
| BGRA | Bit-1514 | 10 9 | 5 4 | 0 |
YUV422 格式
| Format | Stored sequence | |||
|---|---|---|---|---|
| YUV422 | Bit-3124 23 | 16 15 | 8 7 | 0 |
NV 数据格式
| Format | data | Stored sequence | |||
|---|---|---|---|---|---|
| NV12 | Y data | Bit-3124 23 | 16 15 | 8 7 | 0 |
| UV data | Bit-3124 23 | 16 15 | 8 7 | 0 | |
| NV21 | Y data | Bit-3124 23 | 16 15 | 8 7 | 0 |
| UV data | Bit-3124 23 | 16 15 | 8 7 | 0 | |
HSV 数据格式
| Format | data | Stored sequence | |||
|---|---|---|---|---|---|
| HSV | H data | Bit-3116 15 | 0 | ||
| S data | Bit-3124 23 | 16 15 | 8 7 | 0 | |
| V data | Bit-3124 23 | 16 15 | 8 7 | 0 | |