9.4. 数据类型¶
9.4.1. RGN_TYPE_E¶
【说明】
定义区域类型。
【定义】
typedef enum _RGN_TYPE_E {
OVERLAY_RGN = 0,
COVER_RGN,
COVEREX_RGN,
OVERLAYEX_RGN,
MOSAIC_RGN,
RGN_BUTT
} RGN_TYPE_E;
【成员】
成员名称 |
描述 |
---|---|
OVERLAY_RGN |
视频迭加区域。 |
COVER_RGN |
视频遮挡区域。 |
COVEREX_RGN |
扩充视频遮挡区域。 |
OVERLAYEX_RGN |
扩充视频迭加区域。 |
MOSAIC_RGN |
Mosaic视频区域 |
【注意事项】
无。
【相关数据类型及接口】
无。
9.4.2. RGN_AREA_TYPE_E¶
【说明】
定义COVER、COVEREX区域类型。
【定义】
typedef enum _RGN_AREA_TYPE_E {
AREA_RECT = 0,
AREA_QUAD_RANGLE,
AREA_BUTT
} RGN_AREA_TYPE_E;
【成员】
成员名称 |
描述 |
---|---|
AREA_RECT |
矩形区域。 |
AREA_QUAD_RANGLE |
任意四边形区域,尚未支持。 |
【注意事项】
无。
【相关数据类型及接口】
无。
9.4.3. OSD_COMPRESS_MODE_E¶
【说明】
定义OSD压缩模式类型。
【定义】
typedef enum _OSD_COMPRESS_MODE_E {
OSD_COMPRESS_MODE_NONE = 0,
OSD_COMPRESS_MODE_SW,
OSD_COMPRESS_MODE_HW,
OSD_COMPRESS_MODE_BUTT
} OSD_COMPRESS_MODE_E;
【成员】
成员名称 |
描述 |
---|---|
OSD_COMPRESS_MODE_NONE |
不使用压缩模式。 |
OSD_COMPRESS_MODE_SW |
使用软件压缩模式。 |
OSD_COMPRESS_MODE_HW |
使用硬件压缩模式。 |
【注意事项】
仅CV181x/CV180x支持OSD压缩。
【相关数据类型及接口】
无。
9.4.4. OSD_COMPRESS_INFO_S¶
【说明】
定义OSD压缩模式属性。
【定义】
typedef struct _OSD_COMPRESS_INFO_S {
OSD_COMPRESS_MODE_E enOSDCompressMode;
CVI_U32 u32EstCompressedSize;
CVI_U32 u32CompressedSize;
} OSD_COMPRESS_INFO_S;
【成员】
成员名称 |
描述 |
---|---|
enOSDCompressMode |
定义OSD压缩模式类型。 |
u32EstCompressedSize |
预估软件压缩模式下需要分配在内存大小。 |
u32CompressedSize |
硬件压缩模式下需要分配在内存大小。 |
【注意事项】
仅CV181x/CV180x支持OSD压缩。
【相关数据类型及接口】
无。
9.4.5. COVER_CHN_ATTR_S¶
【说明】
定义COVER区域的通道属性。
【定义】
typedef struct _COVER_CHN_ATTR_S {
RGN_AREA_TYPE_E enCoverType;
union {
RECT_S stRect;
RGN_QUADRANGLE_S stQuadRangle;
};
CVI_U32 u32Color;
CVI_U32 u32Layer;
RGN_COORDINATE_E enCoordinate;
} COVER_CHN_ATTR_S;
【成员】
成员名称 |
描述 |
---|---|
enCoverType |
COVER区域类型。 |
stRect |
区域位置和宽高。
位置可为负数,矩形在通道的范围以外的部分会看不到。
宽高不可超过通道的大小。
|
stQuadRangle |
任意四边形区域,尚未支持。 |
u32Color |
COVER区域颜色。
格式为24bit RGB888。
|
u32Layer |
区域层次。
目前不支持
|
enCoordinate |
区域坐标类型。 |
【注意事项】
无。
【相关数据类型及接口】
无。
9.4.6. COVEREX_CHN_ATTR_S¶
【说明】
定义COVEREX区域的通道属性。
【定义】
typedef struct _COVEREX_CHN_ATTR_S {
RGN_AREA_TYPE_E enCoverType;
union {
RECT_S stRect;
RGN_QUADRANGLE_S stQuadRangle;
};
CVI_U32 u32Color;
CVI_U32 u32Layer;
} COVEREX_CHN_ATTR_S;
【成员】
成员名称 |
描述 |
---|---|
enCoverType |
COVEREX区域类型。 |
stRect |
区域位置和宽高。
位置可为负数,矩形在通道的范围以外的部分会看不到。
宽高不可超过通道的大小。
|
stQuadRangle |
任意四边形区域,尚未支持。 |
u32Color |
COVEREX区域颜色。
格式为24bit RGB888。
|
u32Layer |
区域层次。 |
【注意事项】
无。
【相关数据类型及接口】
无。
9.4.7. OVERLAY_ATTR_S¶
【说明】
定义视频迭加区域的属性。
【定义】
typedef struct _OVERLAY_ATTR_S {
PIXEL_FORMAT_E enPixelFormat;
CVI_U32 u32BgColor;
SIZE_S stSize;
CVI_U32 u32CanvasNum;
OSD_COMPRESS_INFO_S stCompressInfo;
} OVERLAY_ATTR_S;
【成员】
成员名称 |
描述 |
---|---|
enPixelFormat |
像素格式。
PIXEL_FORMAT_ARGB_1555,
PIXEL_FORMAT_ARGB_4444,
PIXEL_FORMAT_ARGB_8888。
|
u32BgColor |
区域背景色。
根据enPixelFormat定义。
|
stSize |
区域宽高。 |
u32CanvasNum |
区域内存数量。 |
stCompressInfo |
OSD压缩模式结构体。 |
【注意事项】
stSize会影响区域分配的内存大小,建议不要大于最终链接通道的宽高,以免浪费内存。
- u32CanvasNum根据使用情况决定。若使用 CVI_RGN_SetBitMap,为1即可。若使用 CVI_RGN_GetCanvasInfo,希望double buffer避免更新过程中的瞬时,则建议为2。
【相关数据类型及接口】
无。
9.4.8. OVERLAY_CHN_ATTR_S¶
【说明】
定义视频迭加区域的通道属性。
【定义】
typedef struct _OVERLAY_CHN_ATTR_S {
POINT_S stPoint;
CVI_U32 u32Layer;
OVERLAY_INVERT_COLOR_S stInvertColor;
} OVERLAY_CHN_ATTR_S;
【成员】
成员名称 |
描述 |
---|---|
stPoint |
区域位置和宽高。
位置可为负数,矩形在通道的范围以外的部分会看不到。
宽高不可超过通道的大小。
|
u32Layer |
区域层次。
目前不支持。
|
stInvertColor |
颜色反转结构体。 |
【注意事项】
无。
【相关数据类型及接口】
无。
9.4.9. OVERLAYEX_ATTR_S¶
【说明】
定义扩展视频迭加区域的属性。
【定义】
typedef struct _OVERLAYEX_ATTR_S {
PIXEL_FORMAT_E enPixelFormat;
CVI_U32 u32BgColor;
SIZE_S stSize;
CVI_U32 u32CanvasNum;
OSD_COMPRESS_INFO_S stCompressInfo;
} OVERLAYEX_ATTR_S;
【成员】
成员名称 |
描述 |
---|---|
enPixelFormat |
像素格式。
PIXEL_FORMAT_ARGB_1555,
PIXEL_FORMAT_ARGB_4444,
PIXEL_FORMAT_ARGB_8888。
|
u32BgColor |
区域背景色。
根据enPixelFormat定义。
|
stSize |
区域宽高。 |
u32CanvasNum |
区域内存数量。 |
stCompressInfo |
OSD压缩模式结构体。 |
【注意事项】
stSize会影响区域分配的内存大小,建议不要大于最终链接通道的宽高,以免浪费内存。
- u32CanvasNum根据使用情况决定。若使用 CVI_RGN_SetBitMap,为1即可。若使用 CVI_RGN_GetCanvasInfo,希望double buffer避免更新过程中的瞬时,则建议为2。
【相关数据类型及接口】
无。
9.4.10. OVERLAYEX_CHN_ATTR_S¶
【说明】
定义扩展视频迭加区域的通道属性。
【定义】
typedef struct _OVERLAYEX_CHN_ATTR_S {
POINT_S stPoint;
CVI_U32 u32Layer;
OVERLAY_INVERT_COLOR_S stInvertColor;
} OVERLAYEX_CHN_ATTR_S;
【成员】
成员名称 |
描述 |
---|---|
stPoint |
区域位置和宽高。
位置可为负数,矩形在通道的范围以外的部分会看不到。
宽高不可超过通道的大小。
|
u32Layer |
区域层次。 |
stInvertColor |
颜色反转结构体。 |
【注意事项】
无。
【相关数据类型及接口】
无。
9.4.11. RGN_ATTR_U¶
【说明】
定义区域联合体。
【定义】
typedef union _RGN_ATTR_U {
OVERLAY_ATTR_S stOverlay;
OVERLAYEX_ATTR_S stOverlayEx;
} RGN_ATTR_U;
【成员】
成员名称 |
描述 |
---|---|
stOverlay |
视频迭加区域属性。 |
stOverlayEx |
扩展视频迭加区域属性。 |
【注意事项】
仅有RGN_TYPE_E为Overlay/OverlayEx时,需设置此属性。
【相关数据类型及接口】
无。
9.4.12. RGN_CHN_ATTR_U¶
【说明】
定义区域通道联合体。
【定义】
typedef union _RGN_CHN_ATTR_U {
OVERLAY_CHN_ATTR_S stOverlayChn;
COVER_CHN_ATTR_S stCoverChn;
COVEREX_CHN_ATTR_S stCoverExChn;
OVERLAYEX_CHN_ATTR_S stOverlayExChn;
MOSAIC_CHN_ATTR_S stMosaicChn;
} RGN_CHN_ATTR_U;
【成员】
成员名称 |
描述 |
---|---|
stOverlayChn |
视频迭加区域通道属性。 |
stCoverChn |
遮挡区域通道属性。 |
stCoverExChn |
扩充遮挡区域通道属性。 |
stOverlayExChn |
扩充视频迭加区域通道属性。 |
stMosaicChn |
Mosaic区域通道属性。 |
【注意事项】
无。
【相关数据类型及接口】
无。
9.4.13. RGN_ATTR_S¶
【说明】
定义区域属性。
【定义】
typedef struct _RGN_ATTR_S {
RGN_TYPE_E enType;
RGN_ATTR_U unAttr;
} RGN_ATTR_S;
【成员】
成员名称 |
描述 |
---|---|
enType |
区域类型。 |
unAttr |
区域属性联合体。 |
【注意事项】
无。
【相关数据类型及接口】
无。
9.4.14. RGN_CHN_ATTR_S¶
【说明】
定义区域通道属性。
【定义】
typedef struct _RGN_CHN_ATTR_S {
CVI_BOOL bShow;
RGN_TYPE_E enType;
RGN_CHN_ATTR_U unChnAttr;
} RGN_CHN_ATTR_S;
【成员】
成员名称 |
描述 |
---|---|
bShow |
区域是否显示。 |
enType |
区域类型。 |
unChnAttr |
区域通道联合体 |
【注意事项】
无。
【相关数据类型及接口】
无。