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

区域通道联合体

【注意事项】

无。

【相关数据类型及接口】

无。