视频帧占用内存计算

如果想知道原理,请参看Android Camera 采样和存储常见数据格式
以下计算都是基于分辨率为width * hight
RGB采样格式
RGB_888 24位 内存暂用大小为width * hight3 字节
RGB_8888 32 位 内存暂用大小为width * hight
4 字节
RGB_888 格式中 一个像素点对应R(占用1个字节),G(占用1个字节),B (占用1个字节),所以一个像素对应3个字节,RGB_8888多了一个透明度,一个像素多用一个字节

YUV422 格式
内存大小计算 10248003/2 字节
在YUV420中,一个像素点对应一个Y,2个Y对应一个U和V。 width * hight =Y(总和) U = Y / 2 V = Y / 2所以YUV420 数据在内存中的长度是 width * hight (Y+Y/2+Y/2)=width * hight *2

YUV420格式
内存大小计算 10248003/2 字节
在YUV420中,一个像素点对应一个Y,4个Y对应一个U和V。 width * hight =Y(总和) U = Y / 4 V = Y / 4所以YUV420 数据在内存中的长度是 width * hight (Y+Y/4+Y/4)=width * hight*3/2

你可能感兴趣的:(视频帧占用内存计算)