中野真尋

中野真尋

0个粉丝

1

问答

0

专栏

0

资料

中野真尋  发布于  2025-03-18 11:21:01
采纳率 0%
1个问答
64

海思3559的VGS模块在VI上画线问题

悬赏金¥ 10
问题最晚将于2025-03-25结题
     

想要实现的功能是:在DIS稳像前实现VGS画框问题
目前实现的是在VPSS通道进行画线,没有问题。但是为了在DIS之前画框,想的是获取VI图像
但是这样画出来的框有问题,显示不全面和闪烁问题,具体为图像上半部分的框没有显示,中间部分闪烁,下半部分较为稳定。
请问该如何解决这种问题,或者想实现在DIS稳像前画框是否有其它办法。

代码中有关vi部分代码如下,
流程为

  1. 获取视频帧信息
  2. memcpy(&stVgsTaskAttr.stImgIn, &stVideoFrame_check, sizeof(VIDEO_FRAME_INFO_S));
    stVgsTaskAttr.stImgOut = stVgsTaskAttr.stImgIn;
  3. 添加job和task
  4. 释放视频帧信息
//初始化
VI_PIPE ViPipe = 0;
VI_DUMP_ATTR_S astBackUpDumpAttr;
VI_DUMP_ATTR_S stDumpAttr;
HI_U32 u32Depth = 4;
vgs_s32Ret = HI_MPI_VI_GetPipeDumpAttr(ViPipe, &astBackUpDumpAttr);
if (HI_SUCCESS != vgs_s32Ret)
{
    printf("Get ViPipe %d dump attr failed!\n", ViPipe);
    return ;
}
memcpy(&stDumpAttr, &astBackUpDumpAttr, sizeof(VI_DUMP_ATTR_S));
stDumpAttr.bEnable = HI_TRUE;
stDumpAttr.u32Depth = u32Depth;

vgs_s32Ret = HI_MPI_VI_SetPipeDumpAttr(ViPipe, &stDumpAttr);
if (HI_SUCCESS != vgs_s32Ret)
{
    printf("Set Pipe %d dump attr failed!\n", ViPipe);
    return ;
}
    stVideoFrame_check.u32PoolId = VB_INVALID_POOLID;

//获取vi/vpss帧信息
HI_S32 get_vpss_chn(VIDEO_FRAME_INFO_S* stVideoFrame_info) {
HI_S32 tmp;
VI_PIPE ViPipe;
// if(group == 0){
//     vgs_s32Ret = HI_MPI_VPSS_GetChnFrame(0, 0, stVideoFrame_info,100);
// }
// else if(group == 1){
//     vgs_s32Ret = HI_MPI_VPSS_GetChnFrame(1, 0, stVideoFrame_info,100);
// }
tmp = HI_MPI_VI_GetPipeFrame(VI_PIPE(0), stVideoFrame_info, 100);
if(tmp != HI_SUCCESS){
    log_e("HI_MPI_VPSS_GetChnFrame failed %X \n", tmp);
}

return tmp;
}
//释放vi/vpss帧信息
void release_vpss_chn(VIDEO_FRAME_INFO_S* stVideoFrame_info) {
// if(group == 0){
//     HI_MPI_VPSS_ReleaseChnFrame(0, 0, stVideoFrame_info);
// }
// else if(group == 1){
//     HI_MPI_VPSS_ReleaseChnFrame(1, 0, stVideoFrame_info);
// }
HI_S32 tmp;
tmp = HI_MPI_VI_ReleasePipeFrame(VI_PIPE(0), stVideoFrame_info);
if(tmp != HI_SUCCESS){
    log_e("HI_MPI_VI_ReleasePipeFrame failed %X \n", tmp);
}`
我来回答
回答1个
时间排序
认可量排序

mylx2010

5个粉丝

6

问答

1

专栏

5

资料

mylx2010 2025-03-19 11:48:39
认可0
  1. 先看看cat /dev/logmpp有没有明显报错
  2. 再看看vi和vpss的yuv格式是不是一致的,如果一致理论上就没问题
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区