80,349
社区成员
发帖
与我相关
我的任务
分享
转换函数
void YUV420SPToYUV420P ( BYTE * yuv420sp, BYTE * yuv420, int width, int height )
{
int PixelsCount = width * height;
int i = 0, j= 0;
if (yuv420sp== NULL || yuv420 == NULL)
{
return;
}
//copy Y
for (i = 0; i < PixelsCount; i++)
{
*(yuv420 +i) = *(yuv420sp + i);
}
//copy Cb(U)
i = 0;
for (j = 0; j < PixelsCount / 2; j+=2)
{
*(yuv420 + (i + PixelsCount)) = *(yuv420sp + (j + PixelsCount));
i++;
}
//copy Cr(V)
i = 0;
for(j = 1; j < PixelsCount/2; j+=2)
{
*(yuv420 +(i+PixelsCount * 5/4)) = *(yuv420sp + (j + PixelsCount));
i++;
}
}