OSD创建OVERLAYEX_RGN 绑定到vi设备通道
来源:互联网 发布:网络推广有哪些方法 编辑:程序博客网 时间:2024/05/15 05:51
{
HI_S32 s32Ret = HI_FAILURE;
RGN_HANDLE coverHandle;
RGN_ATTR_S stCoverAttr;
MPP_CHN_S stCoverChn;
RGN_CHN_ATTR_S stCoverChnAttr;
/*******************************************************
step 2: create an cover region and attach it to vi chn0
********************************************************/
coverHandle = 0;
stCoverAttr.enType = OVERLAYEX_RGN;
stCoverAttr.unAttr.stOverlayEx.enPixelFmt = PIXEL_FORMAT_RGB_1555;
stCoverAttr.unAttr.stOverlayEx.stSize.u32Width = 128;
stCoverAttr.unAttr.stOverlayEx.stSize.u32Height = 128;
stCoverAttr.unAttr.stOverlayEx.u32BgColor = 0xfc;
s32Ret = HI_MPI_RGN_Create(coverHandle, &stCoverAttr);
if(HI_SUCCESS != s32Ret)
{
printf("1111failed with %#x!\n", s32Ret);
return HI_FALSE;
}
BITMAP_S stBitmap;
stBitmap.pData = new HI_U8[64*64*2];
stBitmap.u32Width = 64;
stBitmap.u32Height = 64;
stBitmap.enPixelFormat = PIXEL_FORMAT_RGB_1555;
memset(stBitmap.pData, 0xff, 64*32);
s32Ret = HI_MPI_RGN_SetBitMap(coverHandle, &stBitmap);
if (s32Ret != HI_SUCCESS)
{
printf("region set bitmap to pciv chn %d fail. value=0x%x.", coverHandle, s32Ret);
return HI_FALSE;
}
stCoverChn.enModId = HI_ID_VIU;
stCoverChn.s32ChnId = 12;
stCoverChn.s32DevId = 0;
stCoverChnAttr.bShow = HI_TRUE;
stCoverChnAttr.enType = OVERLAYEX_RGN;
stCoverChnAttr.unChnAttr.stOverlayExChn.stPoint.s32X = 128;
stCoverChnAttr.unChnAttr.stOverlayExChn.stPoint.s32Y = 128;
stCoverChnAttr.unChnAttr.stOverlayExChn.u32BgAlpha = 255;
stCoverChnAttr.unChnAttr.stOverlayExChn.u32FgAlpha = 255;
stCoverChnAttr.unChnAttr.stOverlayExChn.u32Layer = 0;
s32Ret = HI_MPI_RGN_AttachToChn(coverHandle, &stCoverChn, &stCoverChnAttr);
if(HI_SUCCESS != s32Ret)
{
printf("222failed with %#x!\n", s32Ret);
return HI_FALSE;
}
return HI_TRUE;
}
HI_S32 s32Ret = HI_FAILURE;
RGN_HANDLE coverHandle;
RGN_ATTR_S stCoverAttr;
MPP_CHN_S stCoverChn;
RGN_CHN_ATTR_S stCoverChnAttr;
/*******************************************************
step 2: create an cover region and attach it to vi chn0
********************************************************/
coverHandle = 0;
stCoverAttr.enType = OVERLAYEX_RGN;
stCoverAttr.unAttr.stOverlayEx.enPixelFmt = PIXEL_FORMAT_RGB_1555;
stCoverAttr.unAttr.stOverlayEx.stSize.u32Width = 128;
stCoverAttr.unAttr.stOverlayEx.stSize.u32Height = 128;
stCoverAttr.unAttr.stOverlayEx.u32BgColor = 0xfc;
s32Ret = HI_MPI_RGN_Create(coverHandle, &stCoverAttr);
if(HI_SUCCESS != s32Ret)
{
printf("1111failed with %#x!\n", s32Ret);
return HI_FALSE;
}
BITMAP_S stBitmap;
stBitmap.pData = new HI_U8[64*64*2];
stBitmap.u32Width = 64;
stBitmap.u32Height = 64;
stBitmap.enPixelFormat = PIXEL_FORMAT_RGB_1555;
memset(stBitmap.pData, 0xff, 64*32);
s32Ret = HI_MPI_RGN_SetBitMap(coverHandle, &stBitmap);
if (s32Ret != HI_SUCCESS)
{
printf("region set bitmap to pciv chn %d fail. value=0x%x.", coverHandle, s32Ret);
return HI_FALSE;
}
stCoverChn.enModId = HI_ID_VIU;
stCoverChn.s32ChnId = 12;
stCoverChn.s32DevId = 0;
stCoverChnAttr.bShow = HI_TRUE;
stCoverChnAttr.enType = OVERLAYEX_RGN;
stCoverChnAttr.unChnAttr.stOverlayExChn.stPoint.s32X = 128;
stCoverChnAttr.unChnAttr.stOverlayExChn.stPoint.s32Y = 128;
stCoverChnAttr.unChnAttr.stOverlayExChn.u32BgAlpha = 255;
stCoverChnAttr.unChnAttr.stOverlayExChn.u32FgAlpha = 255;
stCoverChnAttr.unChnAttr.stOverlayExChn.u32Layer = 0;
s32Ret = HI_MPI_RGN_AttachToChn(coverHandle, &stCoverChn, &stCoverChnAttr);
if(HI_SUCCESS != s32Ret)
{
printf("222failed with %#x!\n", s32Ret);
return HI_FALSE;
}
return HI_TRUE;
}
0 0
- OSD创建OVERLAYEX_RGN 绑定到vi设备通道
- OSD创建OVERLAYEX_RGN 绑定到vi设备通道
- 嵌入式 hi3518a平台多编码通道同时绑定OSD实现以及反色实现
- 嵌入式 hi3518a平台多编码通道同时绑定OSD实现以及反色实现
- 如何查看ubi绑定到哪个设备
- OSD叠加到视频流
- 通道绑定接口配置
- Linux Kernel设备驱动模型之绑定驱动到设备
- ceph 添加/移除osd 设备
- OSD
- OSD
- OSD
- 创建DataTable绑定到GridView后台程序
- sqlserver创建规则,绑定到字段,默认对象的创建,绑定到字段
- 设备中断绑定到特定CPU(SMP IRQ AFFINITY)
- 设备中断绑定到特定CPU(SMP IRQ Affinity)
- 设备中断绑定到特定CPU(SMP IRQ Affinity)
- 创建反向通道
- 【Android基础】Android代码混淆详解
- Date与String类型相互转化
- sybase 修改密码
- C#基本功修炼日记之重写与重载
- VJ 【队列】
- OSD创建OVERLAYEX_RGN 绑定到vi设备通道
- Java 自动装箱与拆箱(Autoboxing and unboxing)
- cdecl、stdcall、fastcall函数调用约定区别
- iOS调试—断点调试
- 记一次oracle表空间不足的错误
- Eclipse安装颜色主题
- qt3d中shader内置变量
- Java中重载和重写的区别
- 是该记录一下了