3571
- 收藏
- 点赞
- 分享
- 举报
原始帧 通过DMA叠加 会有横条的闪烁
参考论坛一位朋友的视频叠加代码
[url=http://bbs.ebaina.com/forum.php?mod=viewthread&tid=56122&highlight=%B5%FE%BC%D3]两路sensor怎么实现图像叠加编码[/url]
原来的代码如下:
[code]
static int AF_ImageOverlay(VIDEO_FRAME_INFO_S *pstSrc1, VIDEO_FRAME_INFO_S *pstSrc2, VIDEO_FRAME_INFO_S *pstDst, unsigned int nOffsetX, unsigned int nOffsetY)
{
if ((pstSrc1->stVFrame.u32Width < pstSrc2->stVFrame.u32Width) || (pstSrc1->stVFrame.u32Height < pstSrc2->stVFrame.u32Height))
return -1;
if ((nOffsetX > (pstSrc1->stVFrame.u32Width - pstSrc2->stVFrame.u32Width)) || (nOffsetY > (pstSrc1->stVFrame.u32Height - pstSrc2->stVFrame.u32Height)))
return -1;
IVE_HANDLE hIveHandle;
IVE_SRC_DATA_S stDataSrc;
IVE_DST_DATA_S stDataDst;
IVE_DMA_CTRL_S stCtrl = {IVE_DMA_MODE_DIRECT_COPY, 0};
HI_BOOL bFinish = HI_FALSE;
memset(&stDataSrc, 0, sizeof(stDataSrc));
memset(&stDataDst, 0, sizeof(stDataDst));
// Src1的Y分量
stDataSrc.pu8VirAddr = (HI_U8*)pstSrc1->stVFrame.pVirAddr[0];
stDataSrc.u32PhyAddr = pstSrc1->stVFrame.u32PhyAddr[0];
stDataSrc.u16Width = (HI_U16)pstSrc1->stVFrame.u32Width;
stDataSrc.u16Height = (HI_U16)pstSrc1->stVFrame.u32Height;
stDataSrc.u16Stride = (HI_U16)pstSrc1->stVFrame.u32Stride[0];
stDataDst.pu8VirAddr = (HI_U8*)pstDst->stVFrame.pVirAddr[0];
stDataDst.u32PhyAddr = pstDst->stVFrame.u32PhyAddr[0];
stDataDst.u16Width = (HI_U16)pstDst->stVFrame.u32Width;
stDataDst.u16Height = (HI_U16)pstDst->stVFrame.u32Height;
stDataDst.u16Stride = (HI_U16)pstDst->stVFrame.u32Stride[0];
HI_S32 s32Ret = HI_MPI_IVE_DMA(&hIveHandle, &stDataSrc, &stDataDst, &stCtrl, HI_TRUE);
if (HI_SUCCESS != s32Ret) {
AFWARN("HI_MPI_IVE_DMA failed s32Ret[%#x]\n", s32Ret);
}
do {
s32Ret = HI_MPI_IVE_Query(hIveHandle, &bFinish, HI_TRUE);
if (bFinish == HI_FALSE)
usleep(100);
} while (bFinish == HI_FALSE);
// Src1的UV分量
unsigned int nOffsetSrc = pstSrc1->stVFrame.u32Stride[0] * pstSrc1->stVFrame.u32Height;
unsigned int nOffsetDst = pstDst->stVFrame.u32Stride[0] * pstDst->stVFrame.u32Height;
stDataSrc.pu8VirAddr = (HI_U8*)pstSrc1->stVFrame.pVirAddr[0] + nOffsetSrc;
stDataSrc.u32PhyAddr = pstSrc1->stVFrame.u32PhyAddr[0] + nOffsetSrc;
stDataSrc.u16Height = (HI_U16)pstSrc1->stVFrame.u32Height / 2;
stDataDst.pu8VirAddr = (HI_U8*)pstDst->stVFrame.pVirAddr[0] + nOffsetDst;
stDataDst.u32PhyAddr = pstDst->stVFrame.u32PhyAddr[0] + nOffsetDst;
stDataDst.u16Height = (HI_U16)pstDst->stVFrame.u32Height / 2;
s32Ret = HI_MPI_IVE_DMA(&hIveHandle, &stDataSrc, &stDataDst, &stCtrl, HI_TRUE);
if (HI_SUCCESS != s32Ret) {
AFWARN("HI_MPI_IVE_DMA failed s32Ret[%#x]\n", s32Ret);
}
do {
s32Ret = HI_MPI_IVE_Query(hIveHandle, &bFinish, HI_TRUE);
if (bFinish == HI_FALSE)
usleep(100);
} while (bFinish == HI_FALSE);
// Src2的Y分量
nOffsetDst = nOffsetY * pstDst->stVFrame.u32Stride[0] + nOffsetX;
stDataSrc.pu8VirAddr = (HI_U8*)pstSrc2->stVFrame.pVirAddr[0];
stDataSrc.u32PhyAddr = pstSrc2->stVFrame.u32PhyAddr[0];
stDataSrc.u16Width = (HI_U16)pstSrc2->stVFrame.u32Width;
stDataSrc.u16Height = (HI_U16)pstSrc2->stVFrame.u32Height;
stDataSrc.u16Stride = (HI_U16)pstSrc2->stVFrame.u32Stride[0];
stDataDst.pu8VirAddr = (HI_U8*)pstDst->stVFrame.pVirAddr[0] + nOffsetDst;
stDataDst.u32PhyAddr = pstDst->stVFrame.u32PhyAddr[0] + nOffsetDst;
stDataDst.u16Width = (HI_U16)pstSrc2->stVFrame.u32Width;
stDataDst.u16Height = (HI_U16)pstSrc2->stVFrame.u32Height;
stDataDst.u16Stride = (HI_U16)pstDst->stVFrame.u32Stride[0];
s32Ret = HI_MPI_IVE_DMA(&hIveHandle, &stDataSrc, &stDataDst, &stCtrl, HI_TRUE);
if (HI_SUCCESS != s32Ret) {
AFWARN("HI_MPI_IVE_DMA failed s32Ret[%#x]\n", s32Ret);
}
do {
s32Ret = HI_MPI_IVE_Query(hIveHandle, &bFinish, HI_TRUE);
if (bFinish == HI_FALSE)
usleep(100);
} while (bFinish == HI_FALSE);
// Src2的UV分量
nOffsetSrc = pstSrc2->stVFrame.u32Stride[0] * pstSrc2->stVFrame.u32Height;
nOffsetDst = pstDst->stVFrame.u32Stride[0] * pstDst->stVFrame.u32Height + nOffsetY * pstDst->stVFrame.u32Stride[0] / 2 + nOffsetX;
stDataSrc.pu8VirAddr = (HI_U8*)pstSrc2->stVFrame.pVirAddr[0] + nOffsetSrc;
stDataSrc.u32PhyAddr = pstSrc2->stVFrame.u32PhyAddr[0] + nOffsetSrc;
stDataSrc.u16Height = (HI_U16)pstSrc2->stVFrame.u32Height / 2;
stDataDst.pu8VirAddr = (HI_U8*)pstDst->stVFrame.pVirAddr[0] + nOffsetDst;
stDataDst.u32PhyAddr = pstDst->stVFrame.u32PhyAddr[0] + nOffsetDst;
stDataDst.u16Height = (HI_U16)pstSrc2->stVFrame.u32Height / 2;
s32Ret = HI_MPI_IVE_DMA(&hIveHandle, &stDataSrc, &stDataDst, &stCtrl, HI_TRUE);
if (HI_SUCCESS != s32Ret) {
AFWARN("HI_MPI_IVE_DMA failed s32Ret[%#x]\n", s32Ret);
}
do {
s32Ret = HI_MPI_IVE_Query(hIveHandle, &bFinish, HI_TRUE);
if (bFinish == HI_FALSE)
usleep(100);
} while (bFinish == HI_FALSE);
return 0;
}
[code]
VPSS获取的图像 图像是yuv420 semi-planar 通过DMA叠加 叠加部分会有横条的闪烁,不重合的地方正常 具体代码如下:
[code]
static int AF_ImageOverlay(VIDEO_FRAME_INFO_S *pstSrc1, VIDEO_FRAME_INFO_S *pstDst, unsigned int nOffsetX, unsigned int nOffsetY)
{
IVE_HANDLE hIveHandle;
IVE_SRC_DATA_S stDataSrc;
IVE_DST_DATA_S stDataDst;
IVE_DMA_CTRL_S stCtrl = {IVE_DMA_MODE_DIRECT_COPY, 0};
HI_BOOL bFinish = HI_FALSE;
memset(&stDataSrc, 0, sizeof(stDataSrc));
memset(&stDataDst, 0, sizeof(stDataDst));
// Src1的Y分量
stDataSrc.pu8VirAddr = (HI_U8*)pstSrc1->stVFrame.pVirAddr[0];
stDataSrc.u32PhyAddr = pstSrc1->stVFrame.u32PhyAddr[0];
stDataSrc.u16Width = (HI_U16)pstSrc1->stVFrame.u32Width;
stDataSrc.u16Height = (HI_U16)pstSrc1->stVFrame.u32Height;
stDataSrc.u16Stride = (HI_U16)pstSrc1->stVFrame.u32Stride[0];
stDataDst.pu8VirAddr = (HI_U8*)pstDst->stVFrame.pVirAddr[0];
stDataDst.u32PhyAddr = pstDst->stVFrame.u32PhyAddr[0];
stDataDst.u16Width = (HI_U16)pstDst->stVFrame.u32Width;
stDataDst.u16Height = (HI_U16)pstDst->stVFrame.u32Height;
stDataDst.u16Stride = (HI_U16)pstDst->stVFrame.u32Stride[0];
HI_S32 s32Ret = HI_MPI_IVE_DMA(&hIveHandle, &stDataSrc, &stDataDst, &stCtrl, HI_TRUE);
if (HI_SUCCESS != s32Ret) {
AFWARN("HI_MPI_IVE_DMA failed s32Ret[%#x]\n", s32Ret);
}
do {
s32Ret = HI_MPI_IVE_Query(hIveHandle, &bFinish, HI_TRUE);
if (bFinish == HI_FALSE)
usleep(100);
} while (bFinish == HI_FALSE);
// Src1的UV分量
unsigned int nOffsetSrc = pstSrc1->stVFrame.u32Stride[0] * pstSrc1->stVFrame.u32Height;
unsigned int nOffsetDst = pstDst->stVFrame.u32Stride[0] * pstDst->stVFrame.u32Height;
stDataSrc.pu8VirAddr = (HI_U8*)pstSrc1->stVFrame.pVirAddr[0] + nOffsetSrc;
stDataSrc.u32PhyAddr = pstSrc1->stVFrame.u32PhyAddr[0] + nOffsetSrc;
stDataSrc.u16Height = (HI_U16)pstSrc1->stVFrame.u32Height / 2;
stDataDst.pu8VirAddr = (HI_U8*)pstDst->stVFrame.pVirAddr[0] + nOffsetDst;
stDataDst.u32PhyAddr = pstDst->stVFrame.u32PhyAddr[0] + nOffsetDst;
stDataDst.u16Height = (HI_U16)pstDst->stVFrame.u32Height / 2;
s32Ret = HI_MPI_IVE_DMA(&hIveHandle, &stDataSrc, &stDataDst, &stCtrl, HI_TRUE);
if (HI_SUCCESS != s32Ret) {
AFWARN("HI_MPI_IVE_DMA failed s32Ret[%#x]\n", s32Ret);
}
do {
s32Ret = HI_MPI_IVE_Query(hIveHandle, &bFinish, HI_TRUE);
if (bFinish == HI_FALSE)
usleep(100);
} while (bFinish == HI_FALSE);
}
[/code]
pstDst 是使用VB单独分配内存, pstSrc1往psdDst上面叠加
求助大佬 @zhuangweiye
[url=http://bbs.ebaina.com/forum.php?mod=viewthread&tid=56122&highlight=%B5%FE%BC%D3]两路sensor怎么实现图像叠加编码[/url]
原来的代码如下:
[code]
static int AF_ImageOverlay(VIDEO_FRAME_INFO_S *pstSrc1, VIDEO_FRAME_INFO_S *pstSrc2, VIDEO_FRAME_INFO_S *pstDst, unsigned int nOffsetX, unsigned int nOffsetY)
{
if ((pstSrc1->stVFrame.u32Width < pstSrc2->stVFrame.u32Width) || (pstSrc1->stVFrame.u32Height < pstSrc2->stVFrame.u32Height))
return -1;
if ((nOffsetX > (pstSrc1->stVFrame.u32Width - pstSrc2->stVFrame.u32Width)) || (nOffsetY > (pstSrc1->stVFrame.u32Height - pstSrc2->stVFrame.u32Height)))
return -1;
IVE_HANDLE hIveHandle;
IVE_SRC_DATA_S stDataSrc;
IVE_DST_DATA_S stDataDst;
IVE_DMA_CTRL_S stCtrl = {IVE_DMA_MODE_DIRECT_COPY, 0};
HI_BOOL bFinish = HI_FALSE;
memset(&stDataSrc, 0, sizeof(stDataSrc));
memset(&stDataDst, 0, sizeof(stDataDst));
// Src1的Y分量
stDataSrc.pu8VirAddr = (HI_U8*)pstSrc1->stVFrame.pVirAddr[0];
stDataSrc.u32PhyAddr = pstSrc1->stVFrame.u32PhyAddr[0];
stDataSrc.u16Width = (HI_U16)pstSrc1->stVFrame.u32Width;
stDataSrc.u16Height = (HI_U16)pstSrc1->stVFrame.u32Height;
stDataSrc.u16Stride = (HI_U16)pstSrc1->stVFrame.u32Stride[0];
stDataDst.pu8VirAddr = (HI_U8*)pstDst->stVFrame.pVirAddr[0];
stDataDst.u32PhyAddr = pstDst->stVFrame.u32PhyAddr[0];
stDataDst.u16Width = (HI_U16)pstDst->stVFrame.u32Width;
stDataDst.u16Height = (HI_U16)pstDst->stVFrame.u32Height;
stDataDst.u16Stride = (HI_U16)pstDst->stVFrame.u32Stride[0];
HI_S32 s32Ret = HI_MPI_IVE_DMA(&hIveHandle, &stDataSrc, &stDataDst, &stCtrl, HI_TRUE);
if (HI_SUCCESS != s32Ret) {
AFWARN("HI_MPI_IVE_DMA failed s32Ret[%#x]\n", s32Ret);
}
do {
s32Ret = HI_MPI_IVE_Query(hIveHandle, &bFinish, HI_TRUE);
if (bFinish == HI_FALSE)
usleep(100);
} while (bFinish == HI_FALSE);
// Src1的UV分量
unsigned int nOffsetSrc = pstSrc1->stVFrame.u32Stride[0] * pstSrc1->stVFrame.u32Height;
unsigned int nOffsetDst = pstDst->stVFrame.u32Stride[0] * pstDst->stVFrame.u32Height;
stDataSrc.pu8VirAddr = (HI_U8*)pstSrc1->stVFrame.pVirAddr[0] + nOffsetSrc;
stDataSrc.u32PhyAddr = pstSrc1->stVFrame.u32PhyAddr[0] + nOffsetSrc;
stDataSrc.u16Height = (HI_U16)pstSrc1->stVFrame.u32Height / 2;
stDataDst.pu8VirAddr = (HI_U8*)pstDst->stVFrame.pVirAddr[0] + nOffsetDst;
stDataDst.u32PhyAddr = pstDst->stVFrame.u32PhyAddr[0] + nOffsetDst;
stDataDst.u16Height = (HI_U16)pstDst->stVFrame.u32Height / 2;
s32Ret = HI_MPI_IVE_DMA(&hIveHandle, &stDataSrc, &stDataDst, &stCtrl, HI_TRUE);
if (HI_SUCCESS != s32Ret) {
AFWARN("HI_MPI_IVE_DMA failed s32Ret[%#x]\n", s32Ret);
}
do {
s32Ret = HI_MPI_IVE_Query(hIveHandle, &bFinish, HI_TRUE);
if (bFinish == HI_FALSE)
usleep(100);
} while (bFinish == HI_FALSE);
// Src2的Y分量
nOffsetDst = nOffsetY * pstDst->stVFrame.u32Stride[0] + nOffsetX;
stDataSrc.pu8VirAddr = (HI_U8*)pstSrc2->stVFrame.pVirAddr[0];
stDataSrc.u32PhyAddr = pstSrc2->stVFrame.u32PhyAddr[0];
stDataSrc.u16Width = (HI_U16)pstSrc2->stVFrame.u32Width;
stDataSrc.u16Height = (HI_U16)pstSrc2->stVFrame.u32Height;
stDataSrc.u16Stride = (HI_U16)pstSrc2->stVFrame.u32Stride[0];
stDataDst.pu8VirAddr = (HI_U8*)pstDst->stVFrame.pVirAddr[0] + nOffsetDst;
stDataDst.u32PhyAddr = pstDst->stVFrame.u32PhyAddr[0] + nOffsetDst;
stDataDst.u16Width = (HI_U16)pstSrc2->stVFrame.u32Width;
stDataDst.u16Height = (HI_U16)pstSrc2->stVFrame.u32Height;
stDataDst.u16Stride = (HI_U16)pstDst->stVFrame.u32Stride[0];
s32Ret = HI_MPI_IVE_DMA(&hIveHandle, &stDataSrc, &stDataDst, &stCtrl, HI_TRUE);
if (HI_SUCCESS != s32Ret) {
AFWARN("HI_MPI_IVE_DMA failed s32Ret[%#x]\n", s32Ret);
}
do {
s32Ret = HI_MPI_IVE_Query(hIveHandle, &bFinish, HI_TRUE);
if (bFinish == HI_FALSE)
usleep(100);
} while (bFinish == HI_FALSE);
// Src2的UV分量
nOffsetSrc = pstSrc2->stVFrame.u32Stride[0] * pstSrc2->stVFrame.u32Height;
nOffsetDst = pstDst->stVFrame.u32Stride[0] * pstDst->stVFrame.u32Height + nOffsetY * pstDst->stVFrame.u32Stride[0] / 2 + nOffsetX;
stDataSrc.pu8VirAddr = (HI_U8*)pstSrc2->stVFrame.pVirAddr[0] + nOffsetSrc;
stDataSrc.u32PhyAddr = pstSrc2->stVFrame.u32PhyAddr[0] + nOffsetSrc;
stDataSrc.u16Height = (HI_U16)pstSrc2->stVFrame.u32Height / 2;
stDataDst.pu8VirAddr = (HI_U8*)pstDst->stVFrame.pVirAddr[0] + nOffsetDst;
stDataDst.u32PhyAddr = pstDst->stVFrame.u32PhyAddr[0] + nOffsetDst;
stDataDst.u16Height = (HI_U16)pstSrc2->stVFrame.u32Height / 2;
s32Ret = HI_MPI_IVE_DMA(&hIveHandle, &stDataSrc, &stDataDst, &stCtrl, HI_TRUE);
if (HI_SUCCESS != s32Ret) {
AFWARN("HI_MPI_IVE_DMA failed s32Ret[%#x]\n", s32Ret);
}
do {
s32Ret = HI_MPI_IVE_Query(hIveHandle, &bFinish, HI_TRUE);
if (bFinish == HI_FALSE)
usleep(100);
} while (bFinish == HI_FALSE);
return 0;
}
[code]
VPSS获取的图像 图像是yuv420 semi-planar 通过DMA叠加 叠加部分会有横条的闪烁,不重合的地方正常 具体代码如下:
[code]
static int AF_ImageOverlay(VIDEO_FRAME_INFO_S *pstSrc1, VIDEO_FRAME_INFO_S *pstDst, unsigned int nOffsetX, unsigned int nOffsetY)
{
IVE_HANDLE hIveHandle;
IVE_SRC_DATA_S stDataSrc;
IVE_DST_DATA_S stDataDst;
IVE_DMA_CTRL_S stCtrl = {IVE_DMA_MODE_DIRECT_COPY, 0};
HI_BOOL bFinish = HI_FALSE;
memset(&stDataSrc, 0, sizeof(stDataSrc));
memset(&stDataDst, 0, sizeof(stDataDst));
// Src1的Y分量
stDataSrc.pu8VirAddr = (HI_U8*)pstSrc1->stVFrame.pVirAddr[0];
stDataSrc.u32PhyAddr = pstSrc1->stVFrame.u32PhyAddr[0];
stDataSrc.u16Width = (HI_U16)pstSrc1->stVFrame.u32Width;
stDataSrc.u16Height = (HI_U16)pstSrc1->stVFrame.u32Height;
stDataSrc.u16Stride = (HI_U16)pstSrc1->stVFrame.u32Stride[0];
stDataDst.pu8VirAddr = (HI_U8*)pstDst->stVFrame.pVirAddr[0];
stDataDst.u32PhyAddr = pstDst->stVFrame.u32PhyAddr[0];
stDataDst.u16Width = (HI_U16)pstDst->stVFrame.u32Width;
stDataDst.u16Height = (HI_U16)pstDst->stVFrame.u32Height;
stDataDst.u16Stride = (HI_U16)pstDst->stVFrame.u32Stride[0];
HI_S32 s32Ret = HI_MPI_IVE_DMA(&hIveHandle, &stDataSrc, &stDataDst, &stCtrl, HI_TRUE);
if (HI_SUCCESS != s32Ret) {
AFWARN("HI_MPI_IVE_DMA failed s32Ret[%#x]\n", s32Ret);
}
do {
s32Ret = HI_MPI_IVE_Query(hIveHandle, &bFinish, HI_TRUE);
if (bFinish == HI_FALSE)
usleep(100);
} while (bFinish == HI_FALSE);
// Src1的UV分量
unsigned int nOffsetSrc = pstSrc1->stVFrame.u32Stride[0] * pstSrc1->stVFrame.u32Height;
unsigned int nOffsetDst = pstDst->stVFrame.u32Stride[0] * pstDst->stVFrame.u32Height;
stDataSrc.pu8VirAddr = (HI_U8*)pstSrc1->stVFrame.pVirAddr[0] + nOffsetSrc;
stDataSrc.u32PhyAddr = pstSrc1->stVFrame.u32PhyAddr[0] + nOffsetSrc;
stDataSrc.u16Height = (HI_U16)pstSrc1->stVFrame.u32Height / 2;
stDataDst.pu8VirAddr = (HI_U8*)pstDst->stVFrame.pVirAddr[0] + nOffsetDst;
stDataDst.u32PhyAddr = pstDst->stVFrame.u32PhyAddr[0] + nOffsetDst;
stDataDst.u16Height = (HI_U16)pstDst->stVFrame.u32Height / 2;
s32Ret = HI_MPI_IVE_DMA(&hIveHandle, &stDataSrc, &stDataDst, &stCtrl, HI_TRUE);
if (HI_SUCCESS != s32Ret) {
AFWARN("HI_MPI_IVE_DMA failed s32Ret[%#x]\n", s32Ret);
}
do {
s32Ret = HI_MPI_IVE_Query(hIveHandle, &bFinish, HI_TRUE);
if (bFinish == HI_FALSE)
usleep(100);
} while (bFinish == HI_FALSE);
}
[/code]
pstDst 是使用VB单独分配内存, pstSrc1往psdDst上面叠加
求助大佬 @zhuangweiye
我来回答
回答45个
时间排序
认可量排序
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
加载中···
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
02019-03-19 10:59:58
-
52015-12-03 20:53:48
-
2016-09-20 09:40:16
-
2014-12-29 15:17:48
-
2015-06-25 14:24:13
-
2019-05-09 19:51:14
-
2019-05-09 19:52:23
-
2020-01-06 18:04:50
-
2020-10-19 15:06:56
-
2023-12-04 15:06:47
-
2020-06-10 10:32:47
-
2016-09-12 10:52:10
-
2019-12-18 18:00:08
-
52019-04-01 17:59:14
-
92017-12-09 15:45:28
-
2018-10-25 14:15:19
-
2018-11-04 08:28:48
-
02020-10-14 15:25:22
-
2018-11-04 08:24:34
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认