YUV数据的几种采样格式以及保存方式

1.YUV数据的几种采样格式

4:4:4 这个不用解释了,这是每个像素占三个字节的内存.

4:2:2  Y0U0V0  Y1U1V1  Y2U2V2  Y3U3V3对于这四个像素,采样之后存放的码流为:Y0U0 Y1V1 Y2U2 Y3V3,占用的内存大小为4+4/2 +4/2=8

4:2:0并不意味着只有Y和U而没有V,他指的是对于每行扫描线来说,只有一种色度分量以2:1的抽样率存储,相邻的扫描行存储不同的色度分量,也就是说,如果一行是4:2:0的话,下一行就是4:0:2, 对于[Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3] [Y4 U4 V4] [Y5 U5 V5] [Y6 U6 V6] [Y7U7 V7] [Y8 U8 V8]。采样之后存放的码流为Y0 U0 Y1 Y2 U2 Y3 Y4 V4 Y5 Y6 V6 Y7.  占用的内存是width*height*3/2.

2.YUV数据的几种保存格式

通常有两大类,打包格式和平面格式,打包格式是指将YUV保存在一个数组里面,然后YUV交叉存放,平面格式是指将YUV分量分别保存在三个不同的数组中.

YUV422

对于YUV422来说,有三种保存方式分别是平面,半平面和交叉方式.

注意422交叉存放时的顺序是UYVY.

YUV420

420是应该是没有交叉模式的,只有平面模式和半平面模式.

HISI获取的YUV数据格式是YUV420的,保存格式一般是NV12或者NV21,就是UV交叉存放的那种。

原文地址:https://www.cnblogs.com/cumtchw/p/10224329.html

时间: 2024-10-12 22:34:20

YUV数据的几种采样格式以及保存方式的相关文章

(转) 从ffmpeg中提取出YUV数据

有时需要从ffmpeg中提取出YUV数据用作预览,另存什么的. ffmpeg是先解码成YUV, 再以这个YUV作为输入进行编码,所以YUV数据有两种:  解码后的YUV数据, 以及  编码重建的YUV数据.下面分别讲两个YUV数据从哪儿?以及如何取? 1. 解码后的YUV数据在ffmpeg/libavcodec/utils_codec.c的avcodec_decode_video2() 函数中: avcodec_decode_video2(...){  ...   ret = avctx->co

YUV主要采样格式理解

主要的采样格式有YCbCr 4:2:0.YCbCr 4:2:2.YCbCr 4:1:1和 YCbCr 4:4:4.其中YCbCr 4:1:1 比较常用,其含义为:每个点保存一个 8bit 的亮度值(也就是Y值), 每 2x2 个点保存一个 Cr 和Cb 值, 图像在肉眼中的感觉不会起太大的变化.所以, 原来用 RGB(R,G,B 都是 8bit unsigned) 模型, 1 个点需要 8x3=24 bites(如下图第一个图). 而现在仅需要 8+(8/4)+(8/4)=12bites, 平均

YUV采样格式及数据格式

参考资料: http://www.cnblogs.com/azraelly/archive/2013/01/01/2841269.html http://blog.csdn.net/sunnylgz/article/details/7580628 http://blog.csdn.net/jumper511/article/details/21719313 http://www.cnblogs.com/xkfz007/archive/2012/07/31/2616806.html YUV主要用于

Android用OpenGL ES2.0显示YUV数据,在手机上需要两种坐标系的解决方案

如题 ,不知道大家看懂了这个题目没有,给个链接:http://blog.csdn.net/wangchenggggdn/article/details/8896453(下称链接①), 里面评论有很多人提到了这个问题,我也是其中一员,但是问遍了所有人,自己也发帖(http://bbs.csdn.net/topics/390769358) 寻求解决方案,却终究没能得到一个可用的方案. 从2014年4月中旬遇到这个问题,纠结了两个多星期,终于在看了好多好多资料之后,于4月的最后一个周一,暂时解决了这么

YUV数据YUY2到I420

/* 主要的采样格式有YCbCr 4:2:0.YCbCr 4:2:2.YCbCr 4:1:1和 YCbCr 4:4:4.其中YCbCr 4:1:1 比较常用,其含义为:每个点保存一个 8bit 的亮度值(也就是Y值),每 2x2 个点保存一个 Cr 和Cb 值, 图像在肉眼中的感觉不会起太大的变化.所以, 原来用 RGB(R,G,B 都是 8bit unsigned) 模型, 1个点需要 8x3=24 bits(如下图第一个图),(全采样后,YUV仍各占8bit).按4:1:1采样后,而现在平均

ffmpeg最简单的解码保存YUV数据 <转>

video的raw data一般都是YUV420p的格式,简单的记录下这个格式的细节,如有不对希望大家能指出.   YUV图像通常有两种格式,一种是packet 还有一种是planar    从字面上就能理解packet的意思就是所有的yuv数据都是一股脑的放在一起,当然 内部的数据还是按照格式要求的,只是从外部来讲是一整个包包含了所有的yuv数据.最长见的YUV格式就是planar格式了.这个格式是讲yuv三个分量分别放在三个数组里.   如下图是个420p的格式图: YUV420格式是指,每

多媒体基础知识之YUV数据

1.什么是YUV格式 YUV,是一种颜色编码方法.Y表示明亮度(Luminance.Luma),也就是灰度值.U和V则是色度.浓度(Chrominance.Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色.与我们熟知的RGB类似,YUV也是一种颜色编码方法,主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像,只不过是黑白的,这样的设计很好地解决了彩色电视机与黑白电视的兼容问题.并且,YUV不像RGB那样要求三个独立的视频信

YUV数据详解

http://www.cnblogs.com/azraelly/archive/2013/01/01/2841269.html YUV格式有两大类:planar和packed.对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V.对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的. YUV,分为三个分量,"Y"表示明亮度(Luminance或Luma),也就是灰度值:而"U"和"V&quo

几种图片格式的简介

http://blog.ibireme.com/2015/11/02/mobile_image_benchmark/ 几种图片格式的简介 首先谈一下大家耳熟能详的几种老牌的图片格式吧: JPEG 是目前最常见的图片格式,它诞生于 1992 年,是一个很古老的格式.它只支持有损压缩,其压缩算法可以精确控制压缩比,以图像质量换得存储空间.由于它太过常见,以至于许多移动设备的 CPU 都支持针对它的硬编码与硬解码. PNG 诞生在 1995 年,比 JPEG 晚几年.它本身的设计目的是替代 GIF 格