图解YUV444、YUV422、YUV420
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图解YUV444、YUV422、YUV420相关的知识,希望对你有一定的参考价值。
参考技术A 前段时间搞x264编码测试,传参的时候需要告诉编码器我的原始数据格式是什么,其中在x264.h头文件中定义了如下一堆类型。/* Colorspace ``type */
#define X264_CSP_MASK 0x00ff /* */
#define X264_CSP_NONE 0x0000 /* Invalid mode */
#define X264_CSP_I400 0x0001 /* monochrome 4:0:0 */
#define X264_CSP_I420 0x0002 /* yuv 4:2:0 planar */
#define X264_CSP_YV12 0x0003 /* yvu 4:2:0 planar */
#define X264_CSP_NV12 0x0004 /* yuv 4:2:0, with one y plane and one packed u+v */
#define X264_CSP_NV21 0x0005 /* yuv 4:2:0, with one y plane and one packed v+u */
#define X264_CSP_I422 0x0006 /* yuv 4:2:2 planar */
#define X264_CSP_YV16 0x0007 /* yvu 4:2:2 planar */
#define X264_CSP_NV16 0x0008 /* yuv 4:2:2, with one y plane and one packed u+v */
#define X264_CSP_YUYV 0x0009 /* yuyv 4:2:2 packed */
#define X264_CSP_UYVY 0x000a /* uyvy 4:2:2 packed */
#define X264_CSP_V210 0x000b /* 10-bit yuv 4:2:2 packed in 32 */
#define X264_CSP_I444 0x000c /* yuv 4:4:4 planar */
#define X264_CSP_YV24 0x000d /* yvu 4:4:4 planar */
#define X264_CSP_BGR 0x000e /* packed bgr 24bits */
#define X264_CSP_BGRA 0x000f /* packed bgr 32bits */
#define X264_CSP_RGB 0x0010 /* packed rgb 24bits */
#define X264_CSP_MAX 0x0011 /* end of list */
#define X264_CSP_VFLIP 0x1000 /* the csp is vertically flipped */
#define X264_CSP_HIGH_DEPTH 0x2000 /* the csp has a depth of 16 bits per pixel component */
|
但是这个定义只是对于这个应用而言,对于其他的应用或者场景中,相同的数据格式却有着不同的名字,于是为了弄懂他们的差别关系,检索了一大堆信息,整理了一个图文出来如下。
首先要介绍的是YUV444,这种格式占用空间最大,每个像素点有一个Y分量+一个U分量+一个V分量所以和rgb一样每个像素点占用3个字节!
但是根据UV存储顺序不一样,又有两种不同的格式。
接下来是YUV422 每两个Y分量公用一个UV分量,所以一个像素占用两个字节,根据存储顺序不同又分为四种不同的格式。
还有一种变态的V210格式,好像是苹果搞出来的。
——————————————————————————————————————————————————————————
————————————————————————————————————————————————————————————————
接下来是YUV420 每四个y分量公用一个UV分量,所以每个像素点占用1.5个字节空间,根据存储顺序不一样又分为四个不同的类型。
——————————————————————————————————————————————————————————————————
Camera学习笔记:基础概念之YUV
什么是YUV格式?
YUV模型是根据一个亮度(Y分量)和两个色度(UV分量)来定义颜色空间。常见的模型还有RGB模型等。
这里有一篇不错的文章,我就不再赘述了:
《图解YU12、I420、YV12、NV12、NV21、YUV420P、YUV420SP、YUV422P、YUV444P的区别》
分析工具:
yuvplayer.exe 这个工具小而好用,亲测可用。
一边学习,一边记录。
以上是关于图解YUV444、YUV422、YUV420的主要内容,如果未能解决你的问题,请参考以下文章