video/x-raw-yuv啥用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了video/x-raw-yuv啥用相关的知识,希望对你有一定的参考价值。

参考技术A RAW、YUV、RGB、 RGB,JPEG都是sensor输出的四种类型,简单来说:1、RAW RGB: sensor的每一像素对应一个彩色滤光片,滤光片按Bayer pattern分布。将每一个像素的数据直接输出,即RAW RGB data;2、YUV: luma (Y) + chroma (UV) 格式, 一般情况下sensor支持YUV422格式,即数据格式是按Y-U-Y-V次序输出的;3、RGB: 传统的红绿蓝格式,比如RGB565,其16-bit数据格式为5-bit R + 6-bit G + 5-bit B。G多一位,原因是人眼对绿色比较敏感;4、JPEG: 有些sensor,特别是低分辨率的,其自带JPEG engine,可以直接输出压缩后的jpg格式的数据。

UnmanagedMemoryStream 有啥用?

【中文标题】UnmanagedMemoryStream 有啥用?【英文标题】:What is the UnmanagedMemoryStream for?UnmanagedMemoryStream 有什么用? 【发布时间】:2012-01-13 06:41:44 【问题描述】:

谁能告诉我UnmanagedMemoryStream 类的用途是什么?

我不知道这个类如何以及何时有用?

【问题讨论】:

【参考方案1】:

使用 UnmanagedMemoryStream 可以让您读取非托管流,而无需先将所有内容复制到托管堆中,因此在处理非托管流时内存占用较少。如果您要处理大量数据,这也可以让您绕过内存限制。这是一篇关于UnmanagedMemoryStream 的短文。

编辑:请注意,MemoryStream 有 2GB 的限制,因此如果超出此限制,则必须使用 UnmanagedMemoryStream。

【讨论】:

您好,我已经阅读了您上面提到的文章。只是我想知道这是否真的是真正的好处。非常感谢您的 cmets :)【参考方案2】:

UnmanagedMemoryStream 允许您访问尚未由公共语言运行时分配的内存,这主要在您想通过Stream 接口访问由非托管代码分配的内存时很有用(例如,因为您已经有代码对流进行操作)。

当然,没有什么可以阻止您通过 Marshal 类从 C# 中分配非托管内存并将其包装在 UnmanagedMemoryStream 中,但这只会让生活变得更加困难,因为您可以使用 MemoryStream ,假设手动控制支持流的内存不太可能带来任何好处。

【讨论】:

以上是关于video/x-raw-yuv啥用的主要内容,如果未能解决你的问题,请参考以下文章

video是啥意思

Laravel踩坑汇总

H5新特性:video与audio的使用

video.js播放rtmp

如何将 youtube 字幕放入列表中?

html5 webkit-playsinline干啥用的