YUV 格式

 

1. YUV比例

分三种:YUV44,YUV422,YUV420

 

2. YUV排布

分三种:YUV planar,YUV Semi-Plannar,YUV packed

以YUV422 8*4 为例

① 平面格式,3个plane:

Y0 Y1 Y2 Y3

U0 U1

V0 V1

② Semi-Plannar

半平面格式,Y和UV分别为一个plane,共两个plane:

Y0 Y1 Y2 Y3

U0 V0 U1 V1

③ YUV packed(YUV Interleaved)

打包格式,或称为交叉格式,一个plane:

Y0 U0 Y1 V0 Y2 U1 Y3 V1

 

3. YUV顺序

根据具体顺序还可以分为:YUYV、YVYU、UYVY等

 

4. align,占位和存储

align会分为width align和height align,一般height align不做要求,设置为1;

align指的是字节对齐,因为其主要目的是为了方便存取;

YUV储存的时候是以行为单位的,不同行的数据绝对不会直接混放在一起,对齐也是以行为单位的;

比如YUV420sp_888_1920x1080_width_align_256_height_align_1:

1920pixel * (1 bytes/pixel) / 256 = 7.5,每行256 * 8 = 2048 bytes —— 对齐只是针对Y的width计算;

semi-plannar格式,Y有1080行,UV有1080 / 2 行 —— Y补0的地方UV也会补零,其他地方UV填满,没有行的概念;

所以整个照片size = 256 * 8 * (1 + 0.5)。

写到DDR里面和传输的时候占用字节是否相同,中间是否有空白字节,这些也是有规定的,需要结合实际情况判断,否则无法解析。

 

 

参考:

https://www.cnblogs.com/cumtchw/p/10224329.html

 

posted @ 2024-05-11 15:39  moonのsun  阅读(3)  评论(0编辑  收藏  举报