yv12和nv12

转载 2015年07月07日 17:59:21

转载自:http://blog.csdn.net/fanbird2008/article/details/8232673


用videoCapture和IAMStreamConfig拿到的支持的格式列表。

发现支持2中图像格式,YV12和NV12。
具体是怎么样的内存分布不知道。查了些文档。自己修改了几个图。看出了点端倪

YV12
先看看 http://www.fourcc.org/yuv.php 上比较标准的定义:

YV12

This is the format of choice for many software MPEG codecs. It comprises an NxM Y plane followed by (N/2)x(M/2) V and U planes.

  Horizontal Vertical
Y Sample Period 1 1
V Sample Period 2 2
U Sample Period 2 2

Positive biHeight implies top-down image (top line first)

这种图片其实不是很清楚的, 搞了一个非常明白的



这个wiki上面的图片示例非常明了,第一个图标识了图片真正像素的表示。
可 以看到Y1, Y2, Y7, Y8这些物理上相近的4个像素公用了同样的U1和V1,相似的Y3,Y4,Y9,Y10用的就是U2和V2。这里不同的颜色把这个特性刻画的非常形象,一 目了然。Impressive!!一直觉得教育,或者说基础的教育一定要以这样的模式来阐述这样才能知其所以然,那种盲目的抄了一本国外的教材或者合并了 几本破书的教材不是教人是毁人。 说远了,言归正传。之前说的是物理像素的表示,在内存中的分布则是一个数组,顺序就是YUV。所以如果知道所要表现的取悦的大小的话很容易查找到具体的YUV在数组中的位置。

NV12
NV12和YV12稍有不同,区别就在UV的位置。再看一张图就很明了了!

在YV12中U和V都是连续排布的,而在NV12中,U和V就交错排布的。看到内存中的排布很清楚,先开始都是Y,之后的都是U1V1U2V2的交错式排布。对于像素的压缩的效果是一样的。但是可能是硬件加速的支持与否。

NV12与YV12,YUV的主要格式

YV12是常用的CODEC格式,它的格式如下:    NV12
  • Evankaka
  • Evankaka
  • 2014年07月27日 19:43
  • 3395

yuv中yv12与nv12的转换

YV12 与 NV12 的简单区别如图: ffmpeg解码得到的YUV420P格式YV12写BUFFER保存: for( j=0; jheight; j++){ ...
  • u010257992
  • u010257992
  • 2016年01月14日 21:33
  • 1088

YUV 中 YV21图像格式的旋转

YUV YV12 旋转90°
  • wu_th0818
  • wu_th0818
  • 2017年06月11日 15:41
  • 219

【Android】直播必备之YUV使用总结 —— 常用的几种格式:NV21/NV12/YV12/YUV420P的区别

说明  因工作方面接触到图像处理这一块,需要对手机摄像头采集的原始帧做Rotate或者Scale,但无奈对此的了解少之又少,于是网上搜了一顿,完事后将最近所学总结一下,以方便之后的人别踩太多坑。  首...
  • gitzzp
  • gitzzp
  • 2016年06月15日 12:38
  • 4047

【Android】YUV使用总结 —— Android常用的几种格式:NV21/NV12/YV12/YUV420P的区别

工作问题接触到图像这一块,需要对手机摄像头采集的原始帧做Rotate或者scale,但无奈对此的了解少之又少,于是网上搜了一顿,完事后将最近所学总结一下,以方便之后的人别踩太多坑。       ...
  • z923966545
  • z923966545
  • 2017年01月05日 10:35
  • 527

Android直播必备之YUV使用总结 —— Android常用的几种格式:NV21/NV12/YV12/YUV420P的区别

说明   因工作方面接触到图像处理这一块,需要对手机摄像头采集的原始帧做Rotate或者Scale,但无奈对此的了解少之又少,于是网上搜了一顿,完事后将最近所学总结一下,以方便之后的人别踩太多坑。  ...
  • zxccxzzxz
  • zxccxzzxz
  • 2016年08月23日 00:08
  • 1848

YUV格式学习:YUV420P、YV12、NV12、NV21格式转换成RGB24

对于YUV420的格式,网上有一大堆资料,这里就不说了。直奔主题,给出如何转换的函数,一如既往,只用代码说事。...
  • subfate
  • subfate
  • 2015年08月05日 22:30
  • 3581

X264支持输入NV12格式

X264支持输入NV12格式 一般编码器(例如JM)输入格式是YUV420(YV12),H.264标准也介绍的是YUV420的输入。X264编码器的输入也一般是YUV420格式,但是在内部帧的存...
  • huibailingyu
  • huibailingyu
  • 2015年01月23日 17:35
  • 3655

基于libyuv库的NV12格式图片的缩放

使用libyuv库在Linux下对NV12格式进行缩放
  • sinat_36684217
  • sinat_36684217
  • 2017年07月14日 16:01
  • 1205

Android YUV使用总结之Android常用的几种格式:NV21/NV12/YV12/YUV420P的区别

工作问题接触到图像这一块,需要对手机摄像头采集的原始帧做Rotate或者scale,但无奈对此的了解少之又少,于是网上搜了一顿,完事后将最近所学总结一下,以方便之后的人别踩太多坑。         ...
  • zxccxzzxz
  • zxccxzzxz
  • 2015年10月31日 08:11
  • 2448
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:yv12和nv12
举报原因:
原因补充:

(最多只允许输入30个字)