YUV422转BGR
void Yuv2Bgr(uint8_t *bgr24, uint8_t *yuv422, int width, int height)
{
unsigned char Y, U, V;
int x, y, i = 0;
for (y = 0; y < height; y++)
{
for (x = 0; x < width*2; x+=4)
{
int y1 = yuv422[y*width*2+x];
int y2 = yuv422[y*width*2+x+2];
U = yuv422[y*width*2+x+1];
V = yuv422[y*width*2+x+3];
bgr24[i++] = clip((int)(y1 + 1.772 * (U - 128)));
bgr24[i++] = clip((int)(y1 - 0.34414 * (U - 128) - 0.71414 * (V - 128)));
bgr24[i++] = clip((int)(y1 + 1.402 * (V - 128)));
bgr24[i++] = clip((int)(y2 + 1.772 * (U - 128)));
bgr24[i++] = clip((int)(y2 - 0.34414 * (U - 128) - 0.71414 * (V - 128)));
bgr24[i++] = clip((int)(y2 + 1.402 * (V - 128)));
}
}
}