C++ C+中的NV12到RGB24转换代码+;

C++ C+中的NV12到RGB24转换代码+;,c++,winapi,intel,codec,color-codes,C++,Winapi,Intel,Codec,Color Codes,有人知道如何将Intel Media SDK(版本:Media SDK 2010)H.264视频帧解码输出NV12格式转换为RGB888(RGB24)位转换吗 基本上,Media SDK解码器输出将采用NV12格式,渲染需要RGB24位格式,因此,如果有任何可用于转换NV12的转换代码-->RGB24将对我们有很大帮助。请看一看,然后您可以使用有关的信息(链接指向NV12)作为第一个链接的输入并进行转换。查看以下代码: 虽然它适用于NV21,但唯一的区别是UV(VU)字节的顺序。您只需颠倒顺序即

有人知道如何将Intel Media SDK(版本:Media SDK 2010)H.264视频帧解码输出NV12格式转换为RGB888(RGB24)位转换吗

基本上,Media SDK解码器输出将采用NV12格式,渲染需要RGB24位格式,因此,如果有任何可用于转换NV12的转换代码-->RGB24将对我们有很大帮助。

请看一看,然后您可以使用有关的信息(链接指向NV12)作为第一个链接的输入并进行转换。

查看以下代码: 虽然它适用于NV21,但唯一的区别是UV(VU)字节的顺序。您只需颠倒顺序即可(loadvu函数):


这如果你想看一些pesudo的源代码,你可以读一篇我写的关于YUV到RGB转换的文章(措辞糟糕)
static void loadvu(int& U, int& V, unsigned char const* &uv) {
    U = (*uv++) - 128;
    V = (*uv++) - 128;
}