ISVP-SDK  3.12.0
Ingenic Smart Video Platform SDK
imp_osd.h
浏览该文件的文档.
1 /*
2  * IMP OSD header file.
3  *
4  * Copyright (C) 2015 Ingenic Semiconductor Co.,Ltd
5  */
6 
7 #ifndef __IMP_OSD_H__
8 #define __IMP_OSD_H__
9 
10 #include "imp_common.h"
11 
12 #ifdef __cplusplus
13 #if __cplusplus
14 extern "C"
15 {
16 #endif
17 #endif /* __cplusplus */
18 
64 #define INVHANDLE (-1)
65 
69 typedef int IMPRgnHandle;
70 
74 typedef enum {
75  OSD_BLACK = 0xff000000,
76  OSD_WHITE = 0xffffffff,
77  OSD_RED = 0xffff0000,
78  OSD_GREEN = 0xff00ff00,
79  OSD_BLUE = 0xff0000ff,
81 
85 typedef enum {
93 
97 typedef struct {
98  uint32_t color;
99  uint32_t linewidth;
100 } lineRectData;
101 
105 typedef struct {
106  uint32_t color;
107 } coverData;
108 
109 
113 typedef struct {
114  void *pData;
115 } picData;
116 
120 typedef union {
121  void *bitmapData;
126 
130 typedef struct {
135 } IMPOSDRgnAttr;
136 
140 typedef struct {
141  uint64_t ts;
142  uint64_t minus;
143  uint64_t plus;
145 
149 typedef struct {
150  int show;
152  float scalex;
153  float scaley;
154  int gAlphaEn;
155  int fgAlhpa;
156  int bgAlhpa;
157  int layer;
159 
160 
175 int IMP_OSD_CreateGroup(int grpNum);
176 
191 int IMP_OSD_DestroyGroup(int grpNum);
192 
209 int IMP_OSD_AttachToGroup(IMPCell *from, IMPCell *to);
210 
225 IMPRgnHandle IMP_OSD_CreateRgn(IMPOSDRgnAttr *prAttr);
226 
240 void IMP_OSD_DestroyRgn(IMPRgnHandle handle);
241 
258 int IMP_OSD_RegisterRgn(IMPRgnHandle handle, int grpNum, IMPOSDGrpRgnAttr *pgrAttr);
259 
275 int IMP_OSD_UnRegisterRgn(IMPRgnHandle handle, int grpNum);
276 
292 int IMP_OSD_SetRgnAttr(IMPRgnHandle handle, IMPOSDRgnAttr *prAttr);
293 
310 int IMP_OSD_SetRgnAttrWithTimestamp(IMPRgnHandle handle, IMPOSDRgnAttr *prAttr, IMPOSDRgnTimestamp *prTs);
311 
327 int IMP_OSD_GetRgnAttr(IMPRgnHandle handle, IMPOSDRgnAttr *prAttr);
328 
344 int IMP_OSD_UpdateRgnAttrData(IMPRgnHandle handle, IMPOSDRgnAttrData *prAttrData);
345 
362 int IMP_OSD_SetGrpRgnAttr(IMPRgnHandle handle, int grpNum, IMPOSDGrpRgnAttr *pgrAttr);
363 
380 int IMP_OSD_GetGrpRgnAttr(IMPRgnHandle handle, int grpNum, IMPOSDGrpRgnAttr *pgrAttr);
381 
398 int IMP_OSD_ShowRgn(IMPRgnHandle handle, int grpNum, int showFlag);
399 
414 int IMP_OSD_Start(int grpNum);
415 
430 int IMP_OSD_Stop(int grpNum);
431 
436 #ifdef __cplusplus
437 #if __cplusplus
438 }
439 #endif
440 #endif /* __cplusplus */
441 
442 #endif /* __IMP_OSD_H__ */
IMPPoint offPos
显示起始坐标
Definition: imp_osd.h:151
void * pData
图片数据指针
Definition: imp_osd.h:114
矩形遮挡
Definition: imp_osd.h:90
float scalex
缩放x参数
Definition: imp_osd.h:152
矩形
Definition: imp_osd.h:88
OSD组区域属性
Definition: imp_osd.h:149
float scaley
缩放y参数
Definition: imp_osd.h:153
int IMP_OSD_SetRgnAttrWithTimestamp(IMPRgnHandle handle, IMPOSDRgnAttr *prAttr, IMPOSDRgnTimestamp *prTs)
设置区域属性和生效时间
coverData coverData
遮挡数据
Definition: imp_osd.h:123
uint32_t linewidth
线宽
Definition: imp_osd.h:99
int IMP_OSD_SetGrpRgnAttr(IMPRgnHandle handle, int grpNum, IMPOSDGrpRgnAttr *pgrAttr)
设置OSD组区域属性
IMPOsdRgnType type
OSD区域类型
Definition: imp_osd.h:131
蓝色
Definition: imp_osd.h:79
OSD区域图片数据
Definition: imp_osd.h:113
IMPOSDRgnAttrData data
OSD区域属性数据
Definition: imp_osd.h:134
红色
Definition: imp_osd.h:77
线
Definition: imp_osd.h:87
绿色
Definition: imp_osd.h:78
OSD区域属性
Definition: imp_osd.h:130
OSD区域属性数据
Definition: imp_osd.h:120
int IMP_OSD_Stop(int grpNum)
设置停止OSD组的显示
int IMP_OSD_UnRegisterRgn(IMPRgnHandle handle, int grpNum)
注销OSD区域
IMPPixelFormat fmt
点格式
Definition: imp_osd.h:133
int IMP_OSD_GetRgnAttr(IMPRgnHandle handle, IMPOSDRgnAttr *prAttr)
获取区域属性
uint32_t color
颜色,只支持bgra颜色格式
Definition: imp_osd.h:106
未定义区域类型
Definition: imp_osd.h:86
uint64_t ts
时间戳
Definition: imp_osd.h:141
int IMP_OSD_Start(int grpNum)
设置开始OSD组的显示
int IMP_OSD_DestroyGroup(int grpNum)
销毁OSD组
int gAlphaEn
Alpha开关
Definition: imp_osd.h:154
OSD区域线和矩形数据
Definition: imp_osd.h:97
IMPOsdRgnType
OSD区域类型
Definition: imp_osd.h:85
int IMP_OSD_ShowRgn(IMPRgnHandle handle, int grpNum, int showFlag)
设置组区域是否显示
白色
Definition: imp_osd.h:76
int IMPRgnHandle
OSD 区域句柄
Definition: imp_osd.h:69
IMPRgnHandle IMP_OSD_CreateRgn(IMPOSDRgnAttr *prAttr)
创建OSD区域
int IMP_OSD_SetRgnAttr(IMPRgnHandle handle, IMPOSDRgnAttr *prAttr)
设置区域属性
uint32_t color
颜色,只支持OSD_WHITE,OSD_BLACK,OSD_RED三种格式
Definition: imp_osd.h:98
uint64_t plus
上限
Definition: imp_osd.h:143
OSD区域生效时间戳
Definition: imp_osd.h:140
picData picData
图片数据
Definition: imp_osd.h:124
int fgAlhpa
前景Alpha
Definition: imp_osd.h:155
int IMP_OSD_RegisterRgn(IMPRgnHandle handle, int grpNum, IMPOSDGrpRgnAttr *pgrAttr)
注册OSD区域
void * bitmapData
点阵数据
Definition: imp_osd.h:121
int layer
显示层
Definition: imp_osd.h:157
int IMP_OSD_CreateGroup(int grpNum)
创建OSD组
int IMP_OSD_UpdateRgnAttrData(IMPRgnHandle handle, IMPOSDRgnAttrData *prAttrData)
更新区域数据属性,只针对OSD_REG_BITMAP和OSD_REG_PIC的区域类型
IMP点坐标信息.
Definition: imp_common.h:143
int IMP_OSD_GetGrpRgnAttr(IMPRgnHandle handle, int grpNum, IMPOSDGrpRgnAttr *pgrAttr)
获取OSD组区域属性
lineRectData lineRectData
线、矩形数据
Definition: imp_osd.h:122
int show
是否显示
Definition: imp_osd.h:150
IMPRect rect
矩形数据
Definition: imp_osd.h:132
void IMP_OSD_DestroyRgn(IMPRgnHandle handle)
销毁OSD区域
IMPPixelFormat
IMP图像格式定义.
Definition: imp_common.h:90
IMPCell枚举定义.
Definition: imp_common.h:45
图片,适合用作Logo或时间戳
Definition: imp_osd.h:91
点阵图片
Definition: imp_osd.h:89
OSD区域遮挡数据
Definition: imp_osd.h:105
SDK-T15公共数据结构头文件
uint64_t minus
下限
Definition: imp_osd.h:142
IMPOsdColour
OSD颜色类型,颜色格式为bgra.
Definition: imp_osd.h:74
黑色
Definition: imp_osd.h:75
int bgAlhpa
背景Alpha
Definition: imp_osd.h:156
int IMP_OSD_AttachToGroup(IMPCell *from, IMPCell *to)
将OSD组加入到系统中
IMP 矩形区域信息.
Definition: imp_common.h:162