1、颜色空间I420和NV12说明
I420即常用的YUV420P格式,YUV存储按照Y\U\V三个平面顺序存放。
NV12是YUV420sp的格式,Y分量占用一个平面,UV分量交错存放占用一个平面。
2、I420转NV12实现
I420toNV12.c
#include
#include
#include
int main(int argc, char** argv)
{
int width, height;
int frame_size;
FILE *fin, *fou;
char *y, *uv, *u, *v;
int i;
char outname[512] = { 0, };
printf("\nUsage:I420toNV12.exe input.yuv width height\n\n");
if (argc != 4)
{
return -1;
}
fin = fopen(argv[1], "rb");
if (fin == NULL)
{
printf("error:open %s fail\n", argv[1]);
return -1;
}
width = atoi(argv[2]);
height = atoi(argv[3]);
frame_size = width*height * 3 / 2;//++YUV420
y