【场景】 为安卓应用增加解码h264和显示YUV的功能。解码用的是AMediacodec,此处不展开。 渲染用的是GLES 2.0,网上很多方案,包括webRTC的渲染都是针对I420(YUV420 三平面数据),比较少针对NV12的(可能我搜索能力比较辣鸡), 花了两天时间才找到正确的办法,特此记 ...
分类:
移动开发 时间:
2019-12-02 21:58:13
阅读次数:
139
1.YUV420P(YU12和YV12)格式 YUV420P又叫plane平面模式, YUV分别在不同平面,也就是有三个平面,它是YUV标准格式4:2:0,主要分为:YU12和YV12,YV12格式与YU12基本相同,首先是所有Y值,然后是所有V值,最后是所有U值,它们的方式如下: YU12(I42 ...
分类:
其他好文 时间:
2019-06-16 14:16:14
阅读次数:
171
最近一直在处理图片,从H264解码后得到的图片是YUV图片,而且很多都是NV12的,不是YUV420P(它们的差别是NV12格式为YYY...Y UV UV UV ... UV,而420P格式为 YYY...YY UUU..U VVV...V),一张1920x1080的图片大小为3.1M,为了节省空 ...
分类:
其他好文 时间:
2018-11-12 13:19:53
阅读次数:
196
NV12和NV21属于YUV420格式,是一种two-plane模式,即Y和UV分为两个Plane,但是UV(CbCr)为交错存储,而不是分为三个plane。其提取方式与上一种类似,即Y'00、Y'01、Y'10、Y'11共用Cr00、Cb00 YUV420 planar数据存储, 以720×488 ...
分类:
其他好文 时间:
2018-06-24 17:00:49
阅读次数:
1125
NV12格式是yuv420格式的一种,NV12格式的u,v排布顺序为交错排布,假如一幅图像尺寸为W*H,则先Y分量有W*H个,然后U分量和V分量交错排布,U分量和V分量各有W*H/4个,U,V加起来总数是Y分量的一半。 下面是CUDA实现的NV12格式到BGR格式的转换代码。StepY,StepUV ...
分类:
其他好文 时间:
2017-10-25 01:00:30
阅读次数:
287
一、现象 ReplayKit2 适配中 UPLOAD进程被系统杀掉 日志中显示原因:exceeded mem limit: ActiveHard 50 MB (fatal) 二、内存占用分析 1)系统回调YUV数据(NV12类型)给到UPLOAD进程,回调方法运行在多线程中 上述在多线程中带来两个问 ...
分类:
其他好文 时间:
2017-09-25 21:52:13
阅读次数:
227
我想说不台的平台,如tiny210和x210。它们的头文件是有稍微区别的。我这个是x210下的代码。但都须要注意的是NV12T与NV12的问题,默认要求输入的图片是NV12T,经过调整之后,能够同意用NV12。 即便如此。NV12格式的图片也不好拿到啊。 #include <stdio.h> #in ...
分类:
其他好文 时间:
2017-07-25 22:29:12
阅读次数:
168
一、 背景 用QuickSync VPP模块做RGBA到NV12的颜色空间转换导致文字显示蒙上一层颜色的问题, 暂时怀疑是VPP自身的问题,因为参数设置都是按官方demo设置的。所以尝试使用IPP来做RGBA到NV12的转化。 二、IPP 探索历程 1. 下载IPP安装包, google “IPP” ...
分类:
其他好文 时间:
2017-06-19 18:35:06
阅读次数:
202