有谁知道如何将英特尔媒体SDK(版本:Media SDK 2010)H.264视频帧解码输出NV12格式转换为RGB888(RGB24)位转换?
基本上Media SDK解码器输出将采用NV12格式,并且渲染需要RGB24位格式,因此,如果任何转换代码可用于转换NV12 - > RGB24将对我们有很大帮助。
答案 0 :(得分:5)
查看YUV to RGB Conversion,然后您可以使用有关YUV pixel formats(链接指向NV12)的信息作为第一个链接的输入并进行转换。
答案 1 :(得分:3)
查看此代码:https://github.com/andrechen/yuv2rgb 虽然它适用于NV21,但唯一的区别是UV(VU)字节的顺序。您需要做的就是颠倒顺序(loadvu函数):
static void loadvu(int& U, int& V, unsigned char const* &uv) {
U = (*uv++) - 128;
V = (*uv++) - 128;
}