yuv420

来源:互联网 发布:win10怎么升级软件 编辑:程序博客网 时间:2024/06/08 16:15

以320*240分辨率图像为例
RGB24的排列方式:
BGRBGRBGRBGRBGRBGRBGRBGRBGRBGRBGR……
¦---------------320*240*3------- ¦
每个像素点有三个字节组成分别表示R,G,B分量上的颜色值。在数据中的表示方式为一个像素一个像素表示。每一个字母表示一个字节,也就是该颜色分量的数值,相邻的三个BGR字节表示一个像素点。在我们做计算时,通常一次取三个字节,也就是一个像素点。

YV12的排列方式:(YV12和YUV420的区别在于U分量和V分量存放的位置互换)
YYYYYYYYYYYYY……VVVVVVVV……UUUU……
¦-----320*240---- ¦-320*240/4- ¦-320*240/4- ¦
每个像素点都有一个Y分量,每隔一列就有一个U或者V分量,U和V交替出现。YV12的字节流表示方式和RGB24有很大区别,YV12并不是按照像素依次排列的,而是先放置Y空间,然后放置整个V空间,最后放置U空间。
单纯从数据大小来看,RGB24的数据大小为320*240*3Bytes,而YV12为320*240*1.5Bytes,可见YV12的数据量为RGB24的一半。

 

 

640x480_420.yuv:
-------------------------640x480 point
Y(0,0) Y(0,1)... Y(0,639)
...
Y(479,0) Y(479,1)... Y(479,639)
-------------------------640x480 point

-------------------------320x240 point
U(0,0) U(0,1)... U(0,319)
...
U((239,0) U((239,1)... U((239,319)
-------------------------320x240 point

-------------------------320x240 point
V(0,0) V(0,1)... V(0,319)
...
V((239,0) V((239,1)... V((239,319)
-------------------------320x240 point

原创粉丝点击