首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows媒体基础2D缓冲区

Windows媒体基础2D缓冲区
EN

Stack Overflow用户
提问于 2020-03-17 18:25:25
回答 1查看 195关注 0票数 1

我很难理解在什么情况下可以使用IMF2DBuffer。在QueryInterface上使用IMFMediaBuffer会导致No such interface supported中的结果。(我正在使用Windows 10。)

我找到了这句话,但很模糊:

这个接口是专门为图像数据设计的。若要获取指向此接口的指针,请在媒体缓冲区上调用QueryInterface。并不是所有的媒体缓冲区对象都公开这个接口。,但是如果媒体缓冲区确实公开了IMF2DBuffer接口,您应该使用该接口来访问数据,如果可能的话,而不是使用IMFMediaBuffer。您仍然可以使用IMFMediaBuffer接口,但它可能效率较低。

我找不到任何信息,在什么情况下,它做或不揭露这一点。它依赖媒体吗?输出格式?编解码器?操作系统版本?它真的没说。

EN

回答 1

Stack Overflow用户

发布于 2020-03-17 21:54:54

引用的语言暗示了你应该如何使用这个界面。您不应依赖媒体、输出格式、编解码器或操作系统版本。

其思想是,“有时”您可以拥有这个接口,以便更有效地访问数据。因此,如果您想微调处理,您可以有一个执行IMF2DBuffer的代码路径和用于一般IMFMediaBuffer的回退编解码路径。

这是文档信息,这是合理的。

IMF2DBuffer的可用性是特定于实现的。当它可用时没有直接提到,因为它是一个承诺:如果它被记录下来,那么就有一个承诺遵循它,没有理由采取这样的限制。

接口本身的文档说明,当数据以非标准的方式有效存储时,这个接口会有所帮助。IMFMediaBuffer访问将不得不重新排列数据,这可能并不是那么高效的性能。IMF2DBuffer方法反过来帮助完成某些任务/数据访问,而无需“昂贵”的数据重新安排。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60728202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档