小宾

小宾

0个粉丝

2

问答

0

专栏

0

资料

小宾  发布于  2020-12-08 16:54:34
采纳率 0%
2个问答
1811

vdec通道添加vgs划线任务有问题

 
我在单通道vdec解码然后送到venc编码时,如果不加划线/osd任务时,直接通过HI_MPI_VDEC_GetFrame获取解码数据,然后通过HI_MPI_VENC_SendFrame发送数据,功能正常;但是一旦使用HI_MPI_VGS_BeginJob添加划线任务,直接就在VGS那卡住了,在/dev/logmpp中看到错误:Vgs:0 err interrupt, reset logic! VGS这块看不出啥问题
我来回答
回答8个
时间排序
认可量排序

小宾

0个粉丝

2

问答

0

专栏

0

资料

小宾 2020-12-08 16:57:22
认可0
各位有谁见过这样的情况?麻烦帮忙看一下?

易百纳用户79822

0个粉丝

30

问答

18

专栏

17

资料

易百纳用户79822 2020-12-10 09:04:14
认可0
仔细看下你代码2的那张图片,你调用的函数时HI_MPI_VENC_SendFrame, 是编码,代码3里面的用的是vdec_release, 所以你的代码是不是又问题?

luskyey

0个粉丝

2

问答

0

专栏

0

资料

luskyey 2020-12-10 21:12:34
认可0
本帖最后由 luskyey 于 2020-12-10 21:18 编辑

看错了      

小宾

0个粉丝

2

问答

0

专栏

0

资料

小宾 2020-12-11 10:06:37
认可0
[quote]goodman 发表于 2020-12-10 09:04
仔细看下你代码2的那张图片,你调用的函数时HI_MPI_VENC_SendFrame, 是编码,代码3里面的用的是vdec_relea ...[/quote]

我是从vdec获取图像,加个划线任务,然后发送到venc,现在有问题,直接从vdec获取图像,发送到venc是没问题,就是加vgs任务有问题。我把vdec和vpss绑定,从vpss获取不到图像,所以才直接从vdec获取的

qn1573283653

0个粉丝

1

问答

0

专栏

0

资料

qn1573283653 2020-12-11 10:21:12
认可0
发送给VGS的输入输出VB是同一个
可以这么操作吗
我感觉不可以,你可以试试申请一个VB当做输出,试试

qn1573283653

0个粉丝

1

问答

0

专栏

0

资料

qn1573283653 2020-12-11 10:22:55
认可0
还有注意一点,你的解码输出是压缩格式的,要看下VGS是否支持

小宾

0个粉丝

2

问答

0

专栏

0

资料

小宾 2020-12-13 13:10:55
认可0
[quote]qn1573283653 发表于 2020-12-11 10:22
还有注意一点,你的解码输出是压缩格式的,要看下VGS是否支持[/quote]

哥们,非常感谢你的回复,当前这块的问题已经解决了,我按照当时开发解决问题顺序说一下。1.调试时发现,在vdec start的函数中有个地方要设置压缩模式,默认是tile模式,当前3559只支持tile和none两种,我把格式改成none模式后,不会再报vgs的超时错误,但是视频上划线不太正常。2.因为我当前程序另外一路视频是从vi进来的,这一路视频从vi获取,添加vgs任务,然后发送给vpss,venc,正常工作,就对比了一下,发现那个模式在linear时是正常的,但是vdec不支持这种模式,想着是不是需要把vdec出来的视频送到vpss,从vpss出来后获取,然后加vgs任务,然后就测试,把vdec和vpss绑定,在vpss通过getchnframe和getgrpframe两种方式都获取不到视频,查看错误报告,说是缓冲队列为空,那就是前端没送视频,可是前段确实应该有视频,不知道为啥在vpss获取不到(vpss已经设置了user和深度)。3.后来又想了视频肯定要在vpss出来才能加vgs任务,既然vdec能直接过去,能不能先从vdec过去然后send到vpss,然后从vpss再get,再send给venc,串行尝试后发现果然可以至少视频能从vpss获取到了,后来把这改成了两个线程,阻塞获取视频。然后在vpss获取视频后加vgs任务,就正常了。

小宾

0个粉丝

2

问答

0

专栏

0

资料

小宾 2020-12-13 13:14:31
认可0
[quote]qn1573283653 发表于 2020-12-11 10:21
发送给VGS的输入输出VB是同一个
可以这么操作吗
我感觉不可以,你可以试试申请一个VB当做输出,试试
[/quote]

同一块缓冲区是可以的,在那个mpp的文档中说可以用同一块缓冲区
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区