ljr13141503189

ljr13141503189

0个粉丝

32

问答

0

专栏

0

资料

ljr13141503189  发布于  2019-02-25 11:24:53
采纳率 0%
32个问答
2266

3531d解码问题

 
各位前辈,现在本人使用3531d实现解码功能。基本功能已经全部实现(在样例代码上进行的修改)。在解码结束后需要跳回到当前前端sensor的图像,代码如下。
配置VDEC,并将VDEC绑定到VPSS

然后VO绑定到VPSS:

vdec发送解码数据,然后等待VDEC线程结束:

发送参数配置如下:

发送线程:




当pthread_join执行后,VO解绑当前VPSS,结束VDEC,然后VO绑定到前端sensor的图像通道上。
功能已经基本实现,但是在验证过程中,整个流程没有任何的问题和报错,但是解码回放的图像总会缺失一部分(经测34秒视频丢失10秒,1分10秒的视频丢失18秒)。
经验证,VO解绑VPSS的时候,VO通道中的内容并没有完全播放完毕,测试代码中不进行VO的解绑操作,这时VDEC解码的影像可以播放完全。
请问各位前辈,这个问题该如何解决?希望可以提供一些思路。
我来回答
回答4个
时间排序
认可量排序

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2019-02-25 12:35:11
认可0
很正常, 不过不是vo有东西没播, 是vdec根本就没有解

楼主从文件里面读出来码流,然后塞给vdec,实际上由于vdec的码流buffer比较大,码流送得快,解得慢,会缓存很多帧在那里

其实楼主做个控制即可, 用HI_MPI_VDEC_Query() 来看一下解完没有, 解完了再结束线程

ljr13141503189

0个粉丝

32

问答

0

专栏

0

资料

ljr13141503189 2019-02-25 13:33:29
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=124332&ptid=57958]zhuangweiye 发表于 2019-2-25 12:35[/url]
很正常, 不过不是vo有东西没播, 是vdec根本就没有解

楼主从文件里面读出来码流,然后塞给vdec,实际上由于 ...[/quote]

谢谢您的指点,我去试一下。
能否再请教一个问题?
在我贴的发送线程的代码中,while(1)中:
如果格式为H265,且模式是按帧,则先读取文件的MinBufSize大小放到数组中,然后对其进行拆包(拆包的意思个人认为是按照265格式,寻找开始点与结束点)
然后执行s32Ret=HI_MPI_VDEC_SendStream(pstVdecThreadParam->s32ChnId, &stStream, pstVdecThreadParam->s32MilliSec);
在while(1)中持续的进行sendstream知道读取完该文件。不知道该叙述是否正确?
按照您的说法,我是不是可以这样理解:

以265格式为例:
1.将数组的中的内容发送的到解码器中,当该文件完全发送完后,它就是完全不理会解码器是否完成了解码工作,该线程就会直接运行至return退出?
2.发送线程中的所有操作是否全部都是非阻塞的?

望得到您的指点

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2019-02-25 14:23:57
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=124333&ptid=57958]ljr13141503189 发表于 2019-2-25 13:33[/url]
谢谢您的指点,我去试一下。
能否再请教一个问题?
在我贴的发送线程的代码中,while(1)中:
[/quote]

sendstream只是把码流送到解码器的码流buffer中, 这里阻塞是指如果码流buffer满了才阻塞, 和解不解码没有关系, 只是解码会解阻塞而已
举例来说:
假定vdec的码流buffer是1M, I帧500k, P帧100k, 假定码流是IPPP...
开始可以送一个Iframe+5个Pframe, 不管是否阻塞方式都一样立刻返回正确
当送第六个Pframe时
假定解码器没有解完,那么阻塞方式的函数就会阻塞住直道解码器buffer空出>100k才返回, 非阻塞方式直接返回错误
假定解码器解完, 不管是否阻塞方式都一样立刻返回正确


楼主的代码,根本没有检查解码器是否解完, 只是看码流是否送完, 这是两件事情,不要搞混了.

对于单路解码阻塞不阻塞都可以, 不是问题

ljr13141503189

0个粉丝

32

问答

0

专栏

0

资料

ljr13141503189 2019-02-25 15:14:23
认可0
明白了  谢谢您  我自己去尝试一下
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区