YUV 格式
1. YUV比例
分三种:YUV44,YUV422,YUV420
2. YUV排布
分三种:YUV planar,YUV Semi-Plannar,YUV packed
以YUV422 8*4 为例
① 平面格式,3个plane:
Y0 Y1 Y2 Y3
U0 U1
V0 V1
② Semi-Plannar
半平面格式,Y和UV分别为一个plane,共两个plane:
Y0 Y1 Y2 Y3
U0 V0 U1 V1
③ YUV packed(YUV Interleaved)
打包格式,或称为交叉格式,一个plane:
Y0 U0 Y1 V0 Y2 U1 Y3 V1
3. YUV顺序
根据具体顺序还可以分为:YUYV、YVYU、UYVY等
4. align,占位和存储
align会分为width align和height align,一般height align不做要求,设置为1;
align指的是字节对齐,因为其主要目的是为了方便存取;
YUV储存的时候是以行为单位的,不同行的数据绝对不会直接混放在一起,对齐也是以行为单位的;
比如YUV420sp_888_1920x1080_width_align_256_height_align_1:
1920pixel * (1 bytes/pixel) / 256 = 7.5,每行256 * 8 = 2048 bytes —— 对齐只是针对Y的width计算;
semi-plannar格式,Y有1080行,UV有1080 / 2 行 —— Y补0的地方UV也会补零,其他地方UV填满,没有行的概念;
所以整个照片size = 256 * 8 * (1 + 0.5)。
写到DDR里面和传输的时候占用字节是否相同,中间是否有空白字节,这些也是有规定的,需要结合实际情况判断,否则无法解析。
参考:
https://www.cnblogs.com/cumtchw/p/10224329.html
YUV 格式的更多相关文章
- YUV格式介绍
原文链接:http://www.cnblogs.com/azraelly/archive/2013/01/01/2841269.html YUV格式有两大类:planar和packed.对于plana ...
- YUV格式分析
转自:http://www.cnblogs.com/armlinux/archive/2012/02/15/2396763.html Andrew Huang <bluedrum@163.com ...
- 关于yuv格式
首先,内存分布 1:YUV420 (1):I420: YYYYYYYY UU VV =>YUV420P (2): ...
- 【视频处理】YUV格式说明
YUV,是一种颜色编码方法,Y表示明亮度(Luminance.Luma),U和V则是色度.浓度(Chrominance.Chroma). YUV,Y`UV,YCbCr,YPbPr等都可以称为YUV,彼 ...
- YUV格式&像素
一幅彩色图像的基本要素是什么? 说白了,一幅图像包括的基本东西就是二进制数据,其容量大小实质即为二进制数据的多少.一幅1920x1080像素的YUV422的图像,大小是1920X1080X2=4147 ...
- 关于YUV格式数据
(1) YUV格式有两大类:planar和packed.对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V.对于packed的YUV格式,每个像素点 ...
- 图文详解YUV420, yuv格式2
YUV格式有两大类:planar和packed. 对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V. 对于packed的YUV格式,每个像素点的Y ...
- 【转】YUV格式&像素
一幅彩色图像的基本要素是什么? 说白了,一幅图像包括的基本东西就是二进制数据,其容量大小实质即为二进制数据的多少.一幅1920x1080像素的YUV422的图像,大小是1920X1080X2=4147 ...
- YUV格式具体解释
YUV是指亮度參量和色度參量分开表示的像素格式,而这样分开的优点就是不但能够避免相互干扰,还能够减少色度的採样率而不会对图像质量影响太大.YUV是一个比較笼统地说法,针对它的详细排列方式,能够分为非常 ...
- 使用X264编码yuv格式的视频帧使用ffmpeg解码h264视频帧
前面一篇博客介绍在centos上搭建点击打开链接ffmpeg及x264开发环境.以下就来问个样例: 1.利用x264库将YUV格式视频文件编码为h264格式视频文件 2.利用ffmpeh库将h264格 ...
随机推荐
- Python启动一个本地服务器文件下载
日常工作中需要给同事分享下载链接,快速启动一个WebServer即可满足日常需求~ #安装软件 yum install screen -y #启动服务 python -m SimpleHTTPServ ...
- 记录:coding持续集成之自动发布项目
把一个SpringBoot项目在DevOps一站式研发平台coding编译成jar远程部署到服务器分为几步?答:3步. 1.编译生成构建产物-jar包: 2.SCP 上传到远端服务器: 3.远程执行s ...
- postcss-px-to-viewport 移动端适配
以前做移动端项目的时候都是用rem来做适配,现在基本上都是通过viewport单位来做. postcss-px-to-viewport就是一个将px单位转换为视口单位的 (vw, vh, vmin, ...
- 学英语工具集KindleVocab和WordSaver
学英语坚持不下去是因为没选好工具. 我现在用的工具是Kindle+网页读新闻 生词点按之后导出到Anki背诵 借助工具,整个过程几乎无痛 1.Kindle生词及所在句子导出软件 KindleVocab ...
- 5、oracle内存及进程操作讲解
内存结构 1.shared pool 缓存着sql.sql执行计划 查询shared pool大小: select * from v$sga_dynamic_components; 2.buffer ...
- 29、undo_2_1(事务槽、延迟块清除、构造CR块、ora-01555)
事务槽(不同于事务表里面的槽位(这个事务槽在数据块的头部)) 图解: 一个事务开始,要做的事情: 第一,事务表里面找槽位(undo段的段头块里有事务表,事务表有槽位,每一个槽位记录一个事务): 事务表 ...
- Golang verifying module: xxx: initializing sumdb.Client: reading tree note: malformed note
问题描述 在使用 go mod 拉取github上的一些包时碰到了一个非常令人头疼的问题,想使用一个包却拉不下来报了以下错误: go: finding module for package githu ...
- Impala学习--Impala概述,Impala系统架构
Imapla概述 Impala是Cloudera公司的一个实时海量查询产品.是对于已有Hive产品的补充.Impala采用了和Hive相同的类SQL接口,但并没有采用MapRed框架执行任务,而是采用 ...
- NOIP 备赛:CF 2E 板刷
从 \(2024.11.05\) 之前的比赛排着刷. CF2028 E 这道题主要考察的是手玩能力和转移技巧. 给定一棵树,根为 \(1\).爱丽丝的起点位于某个顶点 \(v\) .她想走出洞口,但不 ...
- C++顺序结构(3)、数据类型_____教学
一.设置域宽setw() 输出的内容所占的总宽度成为域宽,有些高级语言中称为场宽. 使用setw()前,必须包含头文件iomanip,即#include<iomanip> 头文件ioman ...