前段时间搞x264编码测试,传参的时候需要告诉编码器我的原始数据格式是什么,其中在x264.h头文件中定义了如下一堆类型。

/* Colorspace type */
#define X264_CSP_MASK           0x00ff  /* */
#define X264_CSP_NONE           0x0000  /* Invalid mode     */
#define X264_CSP_I400           0x0001  /* monochrome 4:0:0 */
#define X264_CSP_I420           0x0002  /* yuv 4:2:0 planar */
#define X264_CSP_YV12           0x0003  /* yvu 4:2:0 planar */
#define X264_CSP_NV12           0x0004  /* yuv 4:2:0, with one y plane and one packed u+v */
#define X264_CSP_NV21           0x0005  /* yuv 4:2:0, with one y plane and one packed v+u */
#define X264_CSP_I422           0x0006  /* yuv 4:2:2 planar */
#define X264_CSP_YV16           0x0007  /* yvu 4:2:2 planar */
#define X264_CSP_NV16           0x0008  /* yuv 4:2:2, with one y plane and one packed u+v */
#define X264_CSP_YUYV           0x0009  /* yuyv 4:2:2 packed */
#define X264_CSP_UYVY           0x000a  /* uyvy 4:2:2 packed */
#define X264_CSP_V210           0x000b  /* 10-bit yuv 4:2:2 packed in 32 */
#define X264_CSP_I444           0x000c  /* yuv 4:4:4 planar */
#define X264_CSP_YV24           0x000d  /* yvu 4:4:4 planar */
#define X264_CSP_BGR            0x000e  /* packed bgr 24bits */
#define X264_CSP_BGRA           0x000f  /* packed bgr 32bits */
#define X264_CSP_RGB            0x0010  /* packed rgb 24bits */
#define X264_CSP_MAX            0x0011  /* end of list */
#define X264_CSP_VFLIP          0x1000  /* the csp is vertically flipped */
#define X264_CSP_HIGH_DEPTH     0x2000  /* the csp has a depth of 16 bits per pixel component */

 但是这个定义只是对于这个应用而言,对于其他的应用或者场景中,相同的数据格式却有着不同的名字,于是为了弄懂他们的差别关系,检索了一大堆信息,整理了一个图文出来如下。

首先要介绍的是YUV444,这种格式占用空间最大,每个像素点有一个Y分量+一个U分量+一个V分量所以和rgb一样每个像素点占用3个字节!

但是根据UV存储顺序不一样,又有两种不同的格式。

接下来是YUV422 每两个Y分量公用一个UV分量,所以一个像素占用两个字节,根据存储顺序不同又分为四种不同的格式。

还有一种变态的V210格式,好像是苹果搞出来的。

——————————————————————————————————————————————————————————

————————————————————————————————————————————————————————————————

接下来是YUV420 每四个y分量公用一个UV分量,所以每个像素点占用1.5个字节空间,根据存储顺序不一样又分为四个不同的类型。

——————————————————————————————————————————————————————————————————

 

转载于:https://www.cnblogs.com/tid-think/p/10616789.html

图像原始格式(YUV444 YUV422 YUV420)一探究竟相关推荐

  1. 音视频编解码: YUV采样格式中的YUV444,YUV422,YUV420理解

    YUV各种采样格式的说明 通常我们用RGB表示一种彩色.计算机系统里的LCD显示的数据就是RGB来表示每个像素的颜色. 而在我们生活里,有黑白电视机与彩色电视机两种,拍摄节目源时不可以用两种不同的摄像 ...

  2. YUV图解 (YUV444, YUV422, YUV420, YV12, NV12, NV21)

    如果你认为本系列文章对你有所帮助,请大家有钱的捧个钱场,点击此处赞助,赞助额1元起步,多少随意 锋影 email:174176320@qq.com YUV图解 (YUV444, YUV422, YUV ...

  3. YUV图解 (YUV444, YUV422, YUV420, YV12, NV12, NV21)-- 转

    YUV图解 (YUV444, YUV422, YUV420, YV12, NV12, NV21)

  4. YUV图解 (YUV444, YUV422, YUV420, YV12, NV12, NV21)

    YUV格式有两大类:planar和packed. 对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V. 对于packed的YUV格式,每个像素点的Y ...

  5. yuv图解(YUV444,YUV422,YUV420,YV12,NV12,NV21)

    参考文章 图解YUV YUV是什么 YUV(444,422,420) And YUV(Packed,Planar,Semi-Planar) 知识点 YUV是用一个称为Y(相当于灰度)的亮度分量和两个色 ...

  6. YUV422 YUV420 Planar \ Semi-Planar \ Interleaved格式详解

    很多人对YUV数据格式不清楚,以至于在做视频的时候出现了一些不可预知的错误(比如说图像带有点.颜色不对等).今晚是周末放假,我就抽点时间来给大家介绍一下. 提示: 读下面的文字时,希望大家结合图片看, ...

  7. RGBYUV图像视频格式

    一.参考资料 对于YUV420sp格式图像的copy and paste RGB 与YUV颜色模型及存储格式 二.相关介绍 2.1 问题引入 OpenCV中如果是单通道或者三通道一样的大的图像,直接使 ...

  8. 【第二季】图像像素格式RGB和YUV的理解

    目录 图像像素格式理解 RGB与YUV 图像像素格式理解 1.颜色的学问 (1)颜色是主观还是客观存在?颜色的本质是光的波长,但是因为有人去看才有了颜色这个概念,所以本质上来说,颜色是主观存在的. ( ...

  9. 图像bayer格式介绍以及bayer插值原理CFA

    1 图像bayer格式介绍 bayer格式图片是伊士曼·柯达公司科学家Bryce Bayer发明的,Bryce Bayer所发明的拜耳阵列被广泛运用数字图像. 对于彩色图像,需要采集多种最基本的颜色, ...

最新文章

  1. Linux-4.查看网卡信息,状态
  2. 将一个数字划分成树状
  3. 搜狗拼音输入法大头贴新增几个新的模板,欢迎使用.
  4. 理论基础 —— 排序 —— 逆序对问题
  5. CentOS 7.3 关闭默认防火墙远程登录
  6. 这届互联网公司月饼:阿里卡哇伊,百度酷炫风,京东乾隆审美……
  7. javaweb不同用户登录不同页面的页面_Java Web轻松学36 - 第二个Servlet应用租房网(1)...
  8. XX 公司网络信息系统的安全方案设计书
  9. Eclipse 中设置编辑器字体,包括 Java 编辑器,XML 编辑器和 Property 编辑器的字体都可以设置
  10. matlab 线性分析,线性系统稳定性分析的MATLAB分析方法.doc
  11. Java——1. 安装
  12. 下载并安装Pandoc
  13. 「CTS2019 | CTSC2019」氪金手游 解题报告
  14. java作业Scanner收银
  15. 神奇女侠计算机技术,神奇女侠代言 华硕灵耀X轻薄本及双屏AI概念机亮相
  16. 学生id号码是什么意思_学生学籍中的ID号是学籍号吗?
  17. 土耳其计划出台国家网络安全新战略
  18. cppcheck代码检查工具安装与使用技巧
  19. 三万五千字长文!让你懂透编译原理(六)——第六章 属性文法和语法制导翻译
  20. python 发送邮件 163_python练习-使用163邮箱发送邮件

热门文章

  1. 专利申请与专利授权的区别?
  2. mac上VScode如何配置C++使用(方法出自于官网,很傻瓜,也很明白)
  3. MFC关于进程使用:创建、关闭及查询进程
  4. 6、XPOSED二、叉叉助手框架--用XPOSED实现
  5. 计算机语言属于生物学,西安交通大学19年3月课程考试《药物信息学》作业考核试题【标准答案】...
  6. Oracle19c安装(4) - Oracle Sql developer连接数据库
  7. 远程控制公司电脑真的很简单
  8. TypeError: not all arguments converted during string formatting报错解决
  9. (附源码)计算机毕业设计Java基于的电商平台的设计与实现
  10. 爬虫:b站(bilibili)电影《鹰猎长空》短评