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