void yuv422_to_yuv420_planner(unsigned char * pyuv422 ,unsigned char * pyuv420y ,int width ,int height)
{
unsigned char * pyuv420u=pyuv420y+width*height;
unsigned char * pyuv420v=pyuv420u+(width*height)/4;
int uv_count=0;
int i,j;
for(i=0;i<height;i+=2)
for(j=0;j<width;j+=2)
{
memcpy(pyuv420y+i*width+j,pyuv422+i*width*2+j*2,1);
memcpy(pyuv420y+(i+1)*width+j,pyuv422+(i+1)*width*2+j*2,1);
memcpy(pyuv420y+i*width+(j+1),pyuv422+i*width*2+(j+1)*2,1);
memcpy(pyuv420y+(i+1)*width+(j+1),pyuv422+(i+1)*width*2+(j+1)*2,1);
//保留U 分量
memcpy(pyuv420u+uv_count,pyuv422+i*width*2+j*2+1,1);
//保留V分量;
memcpy(pyuv420v+uv_count,pyuv422+(i+1)*width*2+(j+1)*2+1,1);
uv_count++;
}
}
{
unsigned char * pyuv420u=pyuv420y+width*height;
unsigned char * pyuv420v=pyuv420u+(width*height)/4;
int uv_count=0;
int i,j;
for(i=0;i<height;i+=2)
for(j=0;j<width;j+=2)
{
memcpy(pyuv420y+i*width+j,pyuv422+i*width*2+j*2,1);
memcpy(pyuv420y+(i+1)*width+j,pyuv422+(i+1)*width*2+j*2,1);
memcpy(pyuv420y+i*width+(j+1),pyuv422+i*width*2+(j+1)*2,1);
memcpy(pyuv420y+(i+1)*width+(j+1),pyuv422+(i+1)*width*2+(j+1)*2,1);
//保留U 分量
memcpy(pyuv420u+uv_count,pyuv422+i*width*2+j*2+1,1);
//保留V分量;
memcpy(pyuv420v+uv_count,pyuv422+(i+1)*width*2+(j+1)*2+1,1);
uv_count++;
}
}