D3D处理2D图像: NV12格式及其转换(1)
1. NV12格式介绍
YUV 4:2:0是视频和图片编码和解码最常用的输入和输出格式。而在D3D中NV12是支持最广泛的YUV 4:2:0格式,主要因为它在GPU中处理的效率最高,只有两个plane, 而且UVplane和Luminance(Y) plane的pitch(stride)相等,高度为前者一半,所以在很多场景都是可以一起处理,而不需要分为两个或者三个plane来分别进行操作,不管是渲染,拷贝,还是在graphic pipeline中通过映射成其他格式,都非常方便和高效。
反观其他的YUV格式,I420/IYUV, YV12/等,虽然在编码的时候是首选格式,但是在D3D中不支持,或者有很多限制,比如不能映射到CPU中进行操作。
图一
2. NV12在GPU中的布局
GPU为了处理数据的高效率,往往每次操作的内存可能需要对齐,比如2KB/16KB/32KB或者64KB等,这样数据传输和拷贝的速度更快,所以实际NV12格式的图像在显存中存放的布局和实际的大小可能不一样,比如一个HD视频解出来一帧图像,分辨率为1920x1080, Y和UV plane每行1920个byte,Y plane高为1080,而UV plane高为540,但是在不同的GPU中,实际存放布局可能完全不同,比如在AMD的GPU中,Y/UV plane的宽一般存为2048 byte(2K
D3D处理2D图像: NV12格式及其转换(1)相关推荐
- [SheRO]用D3D绘制2D图像
置顶声明:本文版权归shallway所有,如有转载,请按如下方式于文章明显位置标明原创作者及原文出处,以示尊重!! ========================================== ...
- 图像常见格式及转换(BGR,YUV,NV12,YUV444)
常见格式 RGB RGB 是最常用于显示器的色彩空间,R(red)是红色通道,G(green)是绿色,B(blue)是蓝色通道.这三种颜色以不同的量进行叠加,就可以显示出五彩缤纷的色彩.RGB 格式里 ...
- D3D绘制2D图像例子
2014/09/25 (转载自:http://blog.csdn.net/pizi0475/article/details/6268240) 原文出处: http://www.cppblog.com/ ...
- 移动设备是一种口袋大小的计算机设备,移动设备视频格式如何转换?
移动设备,就是手机,很多人外出在旅途中都会观看事先下载好的视频电影,不同移动设备的视频格式间略有所不同,可以通过迅捷视频转换器来转换移动设备的视频格式. 移动设备:也被称为行动装置(英语:Mobile ...
- 【nv12 格式转换】不同图像数据格式之间转换代码实操
文章目录 1 问题先行 2 nv12介绍 2.1 YUV格式 2.2 NV12排布 3 不同数据格式之间转换实操 4 参考链接 1 问题先行 nv12是什么格式?和常见的rgb/bgr有什么关系吗?他 ...
- dataset中获取图像的名字_GDAL与OpenCV的图像像素读取格式互相转换
前言 任务原因,遇到了一个需要GDAL图像像素格式与OpenCV相互转换的问题,解决之后顺便记录一下. 正文 OpenCV(Open Source Computer Vision Library)是一 ...
- python图片保存jpg、show变成bmp_Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中...
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中 我就废话不多说了,直接上代码吧! import Image from datetime import datetime impor ...
- JPG图像转存为NV12格式
使用opencv函数 将JPG图像转存为NV12格式分为两步: 将BGR格式转为I420: 将I420格式转为NV12或NV21: 其中,I420.NV12.NV21格式如下: I422 属于 YUV ...
- 数字媒体概论——2D图像图形
一:色彩基础 1.1:色彩认知 色彩是能引起我们共同的审美愉悦的.最为敏感的形式要素.色彩是最有表现力的要素之一,因为它的性质直接影响人们的感情. 丰富多样的颜色可以分成两个大类:无彩色系和有彩色系. ...
- 图片YUV格式与RGB格式的转换
YUV格式与RGB格式的转换 YUV格式介绍 YUV420.YUV422.YUV444 (1) YUV4:2:0 (2) YUV4:2:2 (3) YUV4:4:4 内存排列方式 YUV与RGB转换 ...
最新文章
- 干货!我的计算机网络怎么考了 100 分的?
- 张雨生林志炫高音对比
- 排序算法二:归并排序(Merge sort)
- 【C/C++11】天气APP:txt/xml文件处理入库(psurfdata.cpp,_shqx.h),数据结构设计(PowerDesigner)
- Spray + Akka高性能异步IO并发
- 【51NOD】1486 大大走格子
- .Net TCP/UDP 编程 【一】【原创】
- 下拉选择_在管理Excel中实现联动下拉选择
- mysql的char和varchar_MySQL的char和varchar
- WPF中直接打开网页方法总结
- eyoucms使用入门 一
- 计算机三级数据库应用题设计题,计算机考试三级数据库练习题
- mysql查询出现ambiguous的问题
- spire.doc 让java操作word文档更简单优雅
- PTA_数据结构与算法_7-38 寻找大富翁 (25分)
- websphere使用_使用WebSphere sMash为Google小工具提供动力
- 004.了解Excel宏
- 并发编程四:深入理解java线程
- 创业好,还是上班好?你觉得呢
- 【重识云原生】第六章容器基础6.4.7.1节——K8S Job组件