hugo

hugo

0个粉丝

1

问答

0

专栏

0

资料

hugo  发布于  2023-06-01 15:46:08
采纳率 0%
1个问答
1364

3516dv300 解码YUV马赛克

   

c++,完全用出厂固件系统,我把2段h264视频中的第1段,首先通过SDK(Hi3516CV500_SDK_V2.0.2.0)直接编译的sample_vdec解码,然后通过SDK直接编译的vpss_chn_dump保存为yuv视频1,然后关闭sample_vdec 和vpss_chn_dump;接着,再把另外一段h264视频保存为yuv2。结果yuv2中有yuv1的帧,这就是为何yuv解码后播放的视频有马赛克.

我来回答
回答4个
时间排序
认可量排序

Marc

77个粉丝

0

问答

21

专栏

0

资料

Marc 2023-06-01 16:21:09
认可0

你可以考虑在退出应用的时候记得打扫战场, 把内存释放掉, 具体做法参考sample code里面.
我倒是不太觉得你第二段视频里面会有前面的残留, 因为内存就那么大, 放不了几帧的数据, 算一下就知道, 一帧yuv数据有好几M呢, 3516内存才多少, 可用的32M左右..

UncleRoderick

28个粉丝

14

问答

1

专栏

14

资料

UncleRoderick 2023-06-01 16:27:02
认可0

关闭vdec之前调用HI_MPI_VDEC_ResetChn试试?或者开启第二段视频创建解码通道之后调用

农夫_Perhaps.Love

0个粉丝

2

问答

0

专栏

0

资料

农夫_Perhaps.Love 2023-06-01 16:31:36
认可0

可能是由于音视频编码时使用了相同的时间戳(PTS)和帧序号(Frame Number)导致的。
第一段 H264 视频的解码得到的帧的 PTS 和帧序号可能与第二段 H264 视频中的帧的 PTS 和帧序号重复了,才可能在播放时会出现马赛克。

醉藻

33个粉丝

0

问答

2

专栏

128

资料

醉藻 2023-06-01 16:59:40
认可0

可能是由于两段h264视频的解码和保存过程中出现了重叠的帧导致的

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区