如何将rgb图像数组从sws_scale转换为DIB(在内存位图中)

时间:2011-11-18 22:26:21

标签: c bitmap libav dib

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

根据我的理解,Windows上的DIB是BGR,从下到上需要一个标题。而不是手动,我希望这个问题已经解决。我也想知道sws_scale可以原生地做到这一点。

1 个答案:

答案 0 :(得分:1)

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

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

我希望别人能找到一个不错的第三方库来完成你所要求的。祝你好运!