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

FormatStored sequence
ARGBBit-3124 2316 158 70
BGRA

ARGB1555 格式

FormatStored sequence
BGRABit-151410 95 40
ARGB

YUV422 格式

FormatStored sequence
YUV422Bit-3124 2316 158 70
VY1UY0

NV 数据格式

FormatdataStored sequence
NV12Y dataBit-3124 2316 158 70
Y3Y2Y1Y0
UV dataBit-3124 2316 158 70
V1U1V0U0
NV21Y dataBit-3124 2316 158 70
Y3Y2Y1Y0
UV dataBit-3124 2316 158 70
U1V1U0V0

HSV 数据格式

FormatdataStored sequence
HSVH dataBit-3116 150
H1H0
S dataBit-3124 2316 158 70
S3S2S1S0
V dataBit-3124 2316 158 70
V3V2V1V0