Nvidia Video Codec SDK——AppDecImageProvider解析
AppDecImageProvider实现将解码后得到的YUV格式转成RGB格式。
转换函数Nv12ToBgra32
本文研究将Nv12格式转成Bgra32格式
函数入口:
Nv12ToBgra32()
参数中,ppFrame
为解码后一帧的YUV数据,经过转换后数据存储在变量pTmpImage
中。
进入Nv12ToBgra32()
函数:
void Nv12ToBgra32(uint8_t *dpNv12, int nNv12Pitch, uint8_t *dpBgra, int nBgraPitch, int nWidth, int nHeight, int iMatrix) {
SetMatYuv2Rgb(iMatrix); //Nv12ToBgra32 iMatrix = 0
YuvToRgbKernel<uchar2, BGRA32, uint2>
<<<dim3((nWidth + 63) / 32 / 2, (nHeight + 3) / 2 / 2), dim3(32, 2)>>>
(dpNv12, nNv12Pitch, dpBgra, nBgraPitch,