9.2. 设计概述¶
9.2.1. 系统架构¶
区域管理可以实现区域的创建,控制迭加到哪个视频,并可以控制暂时隐藏,或是改迭加到其他的视频中。
区域类型
Overlay: 视频迭加区域,支持Bitmap图片加载、背景色更新等功能
OverlayEx: 暂不支持
Cover: 视频遮挡区域,支持纯色块遮挡
CoverEx: 扩展视频遮挡区域,支持纯色块遮挡,与Cover不同处为支持区域层次
Mosaic: 马赛克遮挡区域
区域层次
区域层次表示区域的迭加级别,层次值越大,表示区域的显示级别越高。当发生重迭时,层次大的将会覆盖层次小的。
Bitmap图加载
这是指将Bitmap的数据填到区域的内存空间中,若是Bitmap和区域的格式有差异,例如Bitmap为ARGB8888,区域为ARGB1555,需要做些数据的转换。Bitmap会从内存的左上角开始填充,Bitmap不可大于区域内存。
Bitmap设置ARGB格式时颜色要按照标准的ARGB格式,如ARGB8888 [31:0] A:R:G:B 8:8:8:8 小端。
Bitmap图加载支持两种方式:
透过 CVI_RGN_SetBitMap 将Bitmap复制到区域画布内存。该函数会申请新的ION内存用于存放Bitmap数据。
透过 CVI_RGN_GetCanvasInfo 取得区域画布内存的地址,直接使用Bitmap数据更新在画布内存上。更新完成后,在由 CVI_RGN_UpdateCanvas 让此画布更新为显示的画布。
区域属性
创建一个区域时,需要设定该区域的属性。以OverLay为例,包含像素格式,大小和背景色等。
通道属性
通道属性定义区域在某个绑定通道上的显示特性。例如,Overlay的通道属性包含了显示位置。
9.2.2. 注意事项¶
region支援的模块信息(CV184x VO模块不支持RGN)
类型 |
支援模块 |
设备号范围 |
通道号范围 |
|---|---|---|---|
OVERLAY |
VPSS |
[0, VPSS_MAX_GRP_NUM -1] |
[0, VPSS_MAX_PHY_CHN_NUM -1] |
COVER |
VPSS |
[0, VPSS_MAX_GRP_NUM -1] |
[0, VPSS_MAX_PHY_CHN_NUM -1] |
COVEREX |
VPSS |
[0, VPSS_MAX_GRP_NUM -1] |
[0, VPSS_MAX_PHY_CHN_NUM -1] |
MOSAIC |
VPSS |
[0, VPSS_MAX_GRP_NUM -1] |
[0, VPSS_MAX_PHY_CHN_NUM -1] |
功能 |
OVERLAY |
COVER |
COVEREX |
MOSAIC |
模块 |
VPSS |
VPSS |
VPSS |
VPSS |
像素格式 |
ARGB1555
ARGB4444
ARGB8888
|
ARGB1555
ARGB4444
ARGB8888
|
ARGB1555
ARGB4444
ARGB8888
|
N/A
|
迭加层次 |
N/A |
N/A |
支持 |
N/A |
位图填充 |
支持 |
N/A |
N/A |
N/A |