(转)YV12,I420,YUV420P的区别

 

YV12和I420的区别

一般来说,直接采集到的视频数据是RGB24的格式,RGB24一帧的大小size=width×heigth×3 Bit,RGB32的size=width×heigth×4,如果是I420(即YUV标准格式4:2:0)的数据量是 size=width×heigth×1.5 Bit。
在采集到RGB24数据后,需要对这个格式的数据进行第一次压缩。即将图像的颜色空间由RGB2YUV。因为,X264在进行编码的时候需要标准的YUV(4:2:0)。但是这里需要注意的是,虽然YV12也是(4:2:0),但是YV12和I420的却是不同的,在存储空间上面有些区别。如下:
YV12 : 亮度(行×列) + V(行×列/4) + U(行×列/4)
I420 : 亮度(行×列) + U(行×列/4) + V(行×列/4)
可以看出,YV12和I420基本上是一样的,就是UV的顺序不同。

yuv420p就是I420格式,使用极其广泛,它的示意图:

转自:http://blog.chinaunix.net/uid-28458801-id-4638708.html

时间: 2024-10-07 01:25:16

(转)YV12,I420,YUV420P的区别的相关文章

YV12和I420的区别 yuv420和yuv420p的区别(转)

原文转自 https://blog.csdn.net/dgyanyong/article/details/44491253 YV12和I420的区别        一般来说,直接采集到的视频数据是RGB24的格式,RGB24一帧的大小size=width×heigth×3 Bit,RGB32的size=width×heigth×4,如果是I420(即YUV标准格式4:2:0)的数据量是 size=width×heigth×1.5 Bit.       在采集到RGB24数据后,需要对这个格式的数

YUV摘要格式

始终保持视频数据YUV联系,因为基于其产品的组织不同的公司格不同的类型定义,派生出多种不同YUV格公式. 大体,YUV从在点的形式的像素组织中,有两个:1.planer状态.2.packet状态. planar模式示例: Y0Y1....Yn  U0U1...Um  V0V1..Vm,YUV三个通道分别连续存储: packet模式举例: Y0U0V0 + Y1U1V1 + ... + YnUnVn,YUV三个通道混合存储. planar模式有利于编解码的输入输出:packet模式有利于视频数据採

YUV格式总结

视频数据总要跟YUV打交道,由于不同公司组织基于对各自产品格式的定义不同,派生出各种各样不同的YUV格式. 总的来说,YUV从像素组织形式上来分有两种:1.planer模式,2.packet模式. planar模式举例: Y0Y1....Yn  U0U1...Um  V0V1..Vm,YUV三个通道分别连续存储: packet模式举例: Y0U0V0 + Y1U1V1 + ... + YnUnVn,YUV三个通道混合存储. planar模式有利于编解码的输入输出:packet模式有利于视频数据采

YUV存储格式:YU12_I420_YV12_NV12_NV21

1.YUV420P(YU12和YV12)格式 YUV420P又叫plane平面模式, YUV分别在不同平面,也就是有三个平面,它是YUV标准格式4:2:0,主要分为:YU12和YV12,YV12格式与YU12基本相同,首先是所有Y值,然后是所有V值,最后是所有U值,它们的方式如下: YU12(I420): yyyyyyyy yyyyyyyy yyyyyyyy yyyyyyyy yyyyyyyy yyyyyyyy yyyyyyyy yyyyyyyy (w*h)uuuuuuuu uuuuuuuu (

常用视频编码解码器

视频部分 Working video codecs codec name fourcc codecfile out comments MPEG-PES output (.mpg or DXR3/DVB card) - - MPES for hardware decoding MPEG-1 or 2 (libmpeg2) - DVR hdv2 mpg1 PIM1 VCR2 mpg2 - YV12 I420 IYUV 422P with postprocessing FFmpeg MPEG-1 -

libyuv库的使用

libyuv是Google开源的实现各种YUV与RGB之间相互转换.旋转.缩放的库.它是跨平台的,可在Windows.Linux.Mac.Android等操作系统,x86.x64.arm架构上进行编译运行,支持SSE.AVX.NEON等SIMD指令加速. 下面说一下libyuv在Windows7VS2013 x64上的编译步骤及使用: 1.        从https://code.google.com/p/libyuv/source/checkout或者https://github.com/l

vlc 详细使用方法:libvlc_media_add_option 函数中的参数设置

[转载自]tinyle的专栏 [原文链接地址]http://blog.csdn.net/myaccella/article/details/7027962 [手记] 下面列出的参数可以在命令行中执行,也可以在VLC界面中填写.当然,更重要的是能在 程序中调用. 程序中调用的时候要注意,什么是全局参数,什么是会话参数.例如: RTP over TCP的选项,必须用冒号.用双减号则没有效果. 正确写法:libvlc_media_add_option(m_media, “:rtsp-tcp”); 错误

Camera HAL3学习

Android Camera System Android Camera硬件抽象层(HAL,Hardware Abstraction Layer)主要用于把底层camera drive与硬件和位于android.hardware中的framework APIs连接起来.Camera子系统主要包含了camera pipeline components 的各种实现,而camera HAL提供了这些组件的使用接口. 注:camera HAL起着承上启下的作用.在camera HAL层实现中,芯片厂商一

YUV420(I420)与YV12的区别,YUV420p与YUV420区别

YUV420, I420 意义:每像素12bit 或表示为IYUV,数码摄像机专用表示法. 这里需要注意的是,虽然YV12也是(4:2:0),但是YV12和I420的却是不同的,在存储空间上面有些区别.如下: YV12 : 亮度(行×列) + V(行×列/4) + U(行×列/4) YUV420 : 亮度(行×列) + U(行×列/4) + V(行×列/4) 可以看出,YV12和I420基本上是一样的,就是UV的顺序不同. 摘自:http://baike.baidu.com/view/70813