YUV422 YUV420 Planar Semi-Planar详解
前言
YUV 格式通常有两大类:打包(packed)格式和平面(planar)格式。前者将 YUV 分量存放在同一个数组中,
通常是几个相邻的像素组成一个宏像素(macro-pixel);而后者使用三个数组分开存放 YUV 三个分量,就像
是一个三维平面一样。
一、YUV420、YUV420P和YUV420SP区别
- YUV420: 即打包格式的YUV420
- YUV420P: 即YUV420 Planar,Y\U\V数据是分开存放的
- YUV420SP:即YUV420 semi planar, 这个格式的数据量跟YUV420 Planar的一样,但是U、V是交叉存放的
YUV420P
YUV420SP
二、几种常见的yuv格式
1.YUV422 Planar
这里,Y\U\V数据是分开存放的,每两个水平Y采样点,有一个Cb和一个Cr采样点,如下图
ffmpeg 中的定义 PIX_FMT_YUV422P, ///< planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples) android OMX 中的定义 OMX_COLOR_FormatYUV422Planar //* YUV422Planar : Three arrays Y,U,V.
2. YUV420 Planar
这个格式跟YUV422 Planar 类似,但对于Cb和Cr的采样在水平和垂直方向都减少为2:1,如下图
ffmpeg 中定义 PIX_FMT_YUV420P //< planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)android OMX 中定义 OMX_COLOR_FormatYUV420Planar // * YUV420Planar : Three arrays Y,U,V
3.YUV422 Semi-Planar
Semi 是’半‘的意思 我的理解这个半平面模式,这个格式的数据量跟YUV422 Planar的一样,但是U、V是交叉存放的,如下图。
ffmpeg 中 未找到定义android OMX 中 OMX_COLOR_FormatYUV422SemiPlanar YUV422SemiPlanar : Two arrays, one is all Y, the other is U and V
4.YUV420 Semi-Planar
这个格式的数据量跟YUV420 Planar的一样,但是U、V是交叉存放的,如下图。
ffmpeg 中定义 PIX_FMT_NV12, ///< planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (first byte U and the following byte V)android OMX 中定义 OMX_COLOR_FormatYUV420SemiPlanar //YUV420SemiPlanar : Two arrays, one is all Y, the other is U and V
5.YUV422 Interleaved Interleaved – 交错
这个格式的数据量跟YUV422 Planar的一样,但是Y、U、V是交叉存放的,如下图。 这个是打包(packed)模式的
ffmpeg 中 PIX_FMT_UYVY422 ///< packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1android OMX 中 OMX_COLOR_FormatCbYCrY //CbYCrY : Organized as 16bit UYVY (i.e. CbYCrY)
YUV422 YUV420 Planar Semi-Planar详解相关推荐
- mysql semi join详解_MySQL中的semi-join
http://www.linuxidc.com/Linux/2015-05/117523.htm 1. 背景介绍 什么是semi-join? 所谓的semi-join是指semi-join子查询. 当 ...
- html5拖放详解,HTML5拖拽/拖放(drag drop)详解
H5中拖拽属性: draggable: auto | true | false 拖动事件: - dragstart 在元素开始被拖动时触发 - dragend 在拖动操作完成时触发 - drag 在元 ...
- 全志 android 编译,全志Android SDK编译详解(二)
注意要确定安装了jdk) 第一步: cd lichee; ./build.sh -p sun5i_elite -k 3.0 (apt-get install uboot-mkimage需要安装m ...
- gray code java_格雷码Gray Code详解
格雷码简介 在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code),另外由于最大数与最小数之间也仅一位数不同,即"首尾相连",因此又 ...
- YUV420 Planar 和YUV420 Semi-Planar详解
参考:https://blog.csdn.net/qq_25005909/article/details/79480935 前言 YUV 格式通常有两大类:打包(packed)格式和平面(planar ...
- 图文详解YUV420/YUV422数据格式(转)
一.YUV格式与RGB格式的换算 以下是标准公式 RGB 转换成 YUV Y = (0.257 * R) + (0.504 * G) + (0.098 * B) + 16 Cr = V = (0.43 ...
- 图像和流媒体 -- 详解YUV数据格式
如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/78283369 我们在讲 FFmpeg 系列的时候,有提到 YUV 的.其中包 ...
- FFmpeg入门详解之121:颜色空间转换RGB和YUV的原理与实战
5.颜色空间转换RGB和YUV的原理与实战 三种颜色空间模型:RGB.YUV.HSV 一.概述 颜色通常用三个独立的属性来描述,三个独立变量综合作用,自然就构成一个空间坐标,这就是颜色空间. 但被描述 ...
- 安卓camera2 API获取YUV420_888格式详解
安卓音视频开发中的一个环节是摄像头采集数据,Android平台上摄像头采集的API有两套,camera1和camera2.本文主要讲的是camera2这套API采集数据,并指明YUV420_888格式 ...
最新文章
- php百合网,来百合网直播,做最真实的自己
- 001——数组(一)数组知识及foreach函数应用
- 石化总部java面试题_中国石化面试经验
- Wise Package Studio介绍
- [xcode]instruments来检验你的app
- docker harbor 域名_docker 安装Harbor
- 懒人的小技巧, 批处理修改IP
- python创建学生类和教师类_python基础知识 ——类
- 关于Google Instant 你必须知道的6件事情,互联网营销
- pycharm设置工程运行环境
- win10 更新后任务栏问题及如何关闭windows自动更新
- 计算机通识必修课程学什么内容,计算机通识课程教学平台研究与探索.doc
- WPF字体图标——FontAwesom
- 机器学习训练过程中常见问题
- 6-OG488 acid,195136-53-9,6-OG488羧酸与OregonGreen488羧酸,6-异构体是相同的分子
- Android修改ro.debuggable 的四种方法
- 寄生感知共质心 FinFET 布局和布线以实现电流比匹配
- 在OpenCV里实现内旋轮线
- 微服务架构实践心得小结
- 【通俗易懂】现场总线与工业以太网