gpt4 book ai didi

c++ - Sample Grabber 过滤数据中奇怪的垃圾行

转载 作者:太空宇宙 更新时间:2023-11-04 12:57:31 27 4
gpt4 key购买 nike

我正在使用 Sample Grabber Filter 从视频文件 (mov,h264) 中提取帧的原始数据。我使用 BufferCB 回调选项来接收数据。

除了几个文件,我在文件中发现了一条奇怪的线(几乎穿过对角线),一切对我来说都很顺利。我尝试调试数据并注意到在每一行数据中都有 2 个零,它们应该是 255,并且它们逐行更改它们的列位置。

这是图片:

image

这是前 8 x 5 像素的原始数据:

enter image description here

文件中的所有帧都会发生这种情况。这只是第一帧,所以它是全白的。

但是,Windows Media Player 不会显示这一行。

知道是什么原因导致的吗?有什么办法可以解决吗?

最佳答案

这不太可能是 Sample Grabber 错误,更有可能是媒体类型处理不正确,部分步幅对齐,或者忽略了 Sample Grabber 连接上已更改的媒体类型/步幅。视觉效果对于预期和实际图像在某些属性上不同的问题类别是典型的。

首先要做的是在图表运行时检查引脚连接上的媒体类型。媒体类型可能与预期不同,也可能与运行图形时的媒体类型不同。此外,媒体类型跟踪可让您计算步幅并与代码中的步幅进行比较。

请注意,RGB 媒体类型通常具有与 32 位边界对齐的图像步长。然后有时过滤器更喜欢分配更大的缓冲区,尤其是。比视频的像素宽度更宽,尤其是。出于性能原因,并在右侧填充视频。您应该在处理数据时处理此问题。

关于c++ - Sample Grabber 过滤数据中奇怪的垃圾行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45883543/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com