目前我制作了一段视频 经过OSD可以叠加一个logo图片在视频上,现在我想将一张同样分辨率大小的图片插入视频当作背景图片 ,和之前不一样的是,之前是将图片叠加到视频帧上,现在想将视频帧叠加在这张图片上 怎么实现,贴上添加logo图片到视频帧上的部分代码 ,求大神指点后者改如何实现,谢谢了!
osdBufSize[i] = pdynamicFont->nLengthfontY;//获取到要插入图片的大小
status = Vsys_allocBuf(1, osdBufSize[i], bufAlign, &bufInfo[i]);
if(status == -1)
{
printf("ERR :%s|%d| Vsys_allocBuf failed!!! \n",__func__,__LINE__);
}
chWinPrm->winPrm[i].addr[0][0] = (bufInfo[i].physAddr);//这里的三个地址关系不是很明白
curVirtAddr = bufInfo[i].virtAddr;
if(curVirtAddr != NULL && pdynamicFont->fontY != NULL && chWinPrm->winPrm[i].addr[0][0] != NULL)
{
memcpy(curVirtAddr, pdynamicFont->fontY, pdynamicFont->nLengthfontY);将获取到的要插入的图片YUV数据写道上面的地址就实现在视频上添加logo
//memcpy(pdynamicFont->fontY, curVirtAddr, pdynamicFont->nLengthfontY);
}
如何反过来 将视频帧加到要插入的图片上面,实现以插入的图片作为背景层的效果 ,求指导!!