做windows视频采集时需要将yuy2格式转换为I420格式,
void YUY2toI420(int inWidth, int inHeight, uint8_t* pSrc, uint8_t* pDest)
{
int i, j;
uint8_t* u = pDest + (inWidth * inHeight);
uint8_t* v = u + (inWidth * inHeight) / 4;
for (i = 0; i < inHeight / 2; i++) {
uint8_t* src_l1 = pSrc + inWidth * 2 * 2 * i;
uint8_t* src_l2 = src_l1 + inWidth * 2;
uint8_t* y_l1 = pDest + inWidth * 2 * i;
uint8_t* y_l2 = y_l1 + inWidth;
for (j = 0; j < inWidth / 2; j++) {
*y_l1++ = src_l1[0];
*u++ = src_l1[1];
*y_l1++ = src_l1[2];
*v++ = src_l1[3];
*y_l2++ = src_l2[0];
*y_l2++ = src_l2[2];
src_l1 += 4;
src_l2 += 4;
}
}
}