0

我正在从流中解码视频帧,sws_scale 为我提供了一个解码后的 RGB 图像数据 (PIX_FMT_RGB24) 的缓冲区。我有一个需要输入为 DIB 的现有前端应用程序。所以我需要知道如何将此缓冲区转换为 DIB?

据我了解,Windows 上的 DIB 是 BGR,从下到上,需要一个标题。我希望这个问题已经得到解决,而不是手动执行。我也想知道也许 sws_scale 可以在本地做到这一点。

4

1 回答 1

1

这不是您要寻找的答案。但是,这就是我所拥有的一切。

DIB 代表 Device Independent Bitmap,它只是一个带有额外 (DIB) 标头的位图,指定有关图像数据的一些信息,以便多个设备/平台可以理解它。您可以轻松链接到免费的外部库(例如 DevIL)来生成位图,但我不知道有任何库会为您创建 DIB 标头。但是,在wiki 页面上有很多关于 DIB 标头的信息,而且看起来并不难自己做,让其他库(我建议使用 DevIL)进行图像转换。

我希望其他人想出一个很好的第三方库,它可以完全满足您的要求。祝你好运!

于 2011-11-18T22:38:14.213 回答