1、YUV格式划分
YUV按照空间-间可以划分为YUV444,YUV422,YUV420三种格式
YUV444中Y U V 分量的比例是1:1:1
YUV422中每2个Y共用一对UV分量
YUV420中每4个Y共用一对UV分量
YUV按照空间-内可以划分为packet,planar,simi-planar三种
packet:打包格式,即先存储一个yuv,再存储下一个yuv
planar:平面格式,即先存储Y分量,再存储U分量,再存储V分量
simi-planar:先存储Y分量,再存储UV分量
2、YUV大小计算
假设图片格式为:1920*1080,
YUV所占空间的大小:
YUV444:(size = 1920*1080*3):
YUV422:(size = 1920*1080 + 1920*1080*0.5 + 1920*1080*0.5)
YUV420:(size = 1920*1080 + 1920*1080*0.25 + 1920*1080*0.25) = (1920*1080*1.5)
3、YUV420又分为YUV420P(YU12),YUV420P(YV12)和YUV420SP(NV12),YUV420SP(NV21)
假设对于8X4分辨率来说:
YUV420P(YU12)格式如下:
YUV420P(YV12)就是Y分量之后是V分量,然后才是U分量
YUV420SP(NV12)格式如下:
YUV420SP(NV21)就是第4,5行为:
V1 U1 V2 U2 V3 U3 V4 U4
V5 U5 V6 U6 V7 U7 V8 U8
可以准确的计算出一个YUV420在内存中存放的大小。
Y = width * hight
U = Y / 4
V = Y / 4
所以一张YUV图像他的存储空间就是:
size = width * height + width * height / 4 + width * height / 4
化简后就是 size = width * height *3 /2