![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
YUV
皮皮#2500
这个作者很懒,什么都没留下…
展开
-
Nvidia硬解码AppDecImageProvider.cpp例程输出bgra格式文件颜色不正确
Nvidia硬解码AppDecImageProvider.cpp例程输出bgra格式文件颜色不正确例程AppDecImageProvider.cpp中输出格式为bgra(32位)RGB32图像每个像素用32比特位表示,占4个字节,R,G,B分量分别用8个bit表示,存储顺序为B,G,R,最后8个字节保留。注意:在内存中RGB各分量的排列顺序为:BGRA BGRA BGRA …。在内存中的分...原创 2020-03-31 11:51:14 · 628 阅读 · 1 评论 -
Initialize Texture2D[ ]
Initialize Texture2D[ ]初始化数组长度初始化元素参考代码参考链接 在Unity中播放YUV视频时,采用每帧播放时再将YUV转化成RGB然后传入着色器的方式不仅会造成大量的内存开销,而且会造成播放卡顿的现象。 为了解决这个问题笔者尝试将视频源在Start()中先全部转化成RGB存放在Texture2D[ ]数组中,然后在每帧渲染时直接从数组中索引对应的纹理即可,...原创 2020-03-18 10:57:59 · 450 阅读 · 0 评论 -
Unity3D全景视频渲染
Unity3D全景视频渲染Unity3D中创建场景SphereMaterialShaderRender Texture编写CS脚本进行渲染创建脚本完整代码实现效果参考链接 实现在Unity3D中渲染YUV420P文件,可以渲染一帧(即全景图片),也可以渲染多帧(即全景视频)。Unity3D中创建场景Sphere首先在Sence中创建一个Sphere注意sphere中Scale的Z...原创 2020-02-22 22:51:14 · 2249 阅读 · 4 评论 -
过采样将YUV420P图像展宽一倍
过采样将YUV420P图像展宽一倍YUV420P的数据格式完整代码实现效果参考链接想要完成平面纹理与球面纹理的映射,平面纹理图像比例必须是width:height=2:1,因为这个比例的全景图片刚好可以还原成一张球形全景图。如果拿到的图像源宽高比是1:1,需要将其过采样到宽高比2:1才能完成映射。YUV420P的数据格式YUV由Y、U、V这三个分量组成,Y分量主管亮度的(其实就是灰度图),U...原创 2020-02-22 18:47:36 · 326 阅读 · 0 评论 -
输出yuv420p文件的灰度数值
完整代码#include <stdio.h>#include<stdlib.h>#include<malloc.h>void separate(char* url, int w, int h){ int k = 0, count = 0; int frame, size; FILE* fp1 = fopen(url, "rb+"); FILE*...转载 2020-02-20 11:30:21 · 300 阅读 · 0 评论 -
分离yuv420p的Y、U、V分量
完整代码#include <stdio.h>#include<stdlib.h>#include<malloc.h>int simplest_yuv420_split(char* url, int w, int h, int num) { FILE* fp = fopen(url, "rb+"); FILE* fp1 = fopen("DownSa...转载 2020-02-20 10:27:20 · 923 阅读 · 0 评论 -
yuv420_10bitle格式转yuv420p
在cmd中将目录定位到ffmpeg的bin文件夹下输入指令:ffmpeg -s 1920x1080 -pix_fmt yuv444p10le -i test_444p_10bit.yuv -pix_fmt yuv420p test_420p_8bit.yuv实现将一个分辨率为1920x1080,名字为“test_444p_10bit.yuv”转换为420p 8bit的格式。参考链接:htt...转载 2020-02-19 10:07:38 · 3076 阅读 · 0 评论