前言 在上一篇理论文章中我们介绍了YUV到RGB之间转换的几种公式与一些优化算法,今天我们再来介绍一下RGB到YUV的转换,顺便使用Opengl ES做个实践,将一张RGB的...
前言 在上一篇理论文章中我们介绍了YUV到RGB之间转换的几种公式与一些优化算法,今天我们再来介绍一下RGB到YUV的转换,顺便使用Opengl ES做个实践,将一张RGB的...
YUV回顾 记得在音视频基础知识介绍中,笔者专门介绍过YUV的相关知识,可以参考:《音视频基础知识-YUV图像》[https://mp.weixin.qq.com/s/YBj...
叨叨一句几句 关于Opengl的系列已经有较长的一段时间没有更新了,然而这个系列还远没有到完毕地步,后续至少还有关于Opengl矩阵变换、YUV与RGB互转、Opengl水印...
最近忙于开发一款基于Camera2 API的相机应用,部分功能涉及到广角镜头,因此踩了不少坑,在此与大家分享下以作记录交流... 经过查阅资料发现在安卓上所谓的广角镜头切换其...
FBO介绍 FBO帧缓冲对象,它的主要作用一般就是用作离屏渲染,例如做Camera相机图像采集进行后期处理时就可能会用到FBO。假如相机出图的是OES纹理,为了方便后期处理,...
纹理可以理解为一个二维数组,它可以存储大量的数据,这些数据可以发送到着色器上。一般情况下我们所说的纹理是表示一副2D图,此时纹理存储的数据就是这个图的像素数据。 所谓的纹理贴...
前面我们介绍了VBO与VAO等缓冲对象,今天我们来介绍一下EBO。 对于VBO或VAO可以查看之前的文章:Opengl ES之VBO和VAO[https://mp.weixi...
前言 本文主要介绍了什么是VBO/VAO,为什么需要使用VBO/VAO以及如何使用VBO和VAO。 VBO 什么是VBO VBO(vertex Buffer Object):...
四边形的绘制在Opengl ES是很重要的一项技巧,比如做视频播放器时视频的渲染就需要使用到Opengl ES绘制四边形的相关知识。然而在Opengl ES却没有直接提供绘制...
前言 在前面我们介绍了 OpenglEs之EGL环境搭建 ,在后面的例子中,我们将无可避免地需要使用到着色器。而着色器才是Opengl的灵魂所在,有了着色器才有了Opengl...
前言 前面我们发布了一系列的入门教程,例如C++系列的指针扫盲、多线程的使用等,JNI入门系列,ffmpeg入门系列等,有感兴趣的童鞋们可以关注往回自行查阅。 今天我们的主题...
有了左值引用为什么还需要右值引用? 在平时编码过程为了减少数据的拷贝,提高性能,我们一般通过引用的方式来传递参数,例如: 如果在上面的程序中我们将函数func中的const修...
const作用 const关键字在C++中真是无处不在,无论是函数参数,还是函数返回值,还是函数末尾都经常会看到const关键字,这表明C++中的const关键字是非常灵活的...
导读 在《C++之指针扫盲》[https://mp.weixin.qq.com/s/zkjHSMj43qHRODfgCQkENQ]一文中我们对指针进行了讲解,虽然原始指针是几...
指针和引用的区别? 在C++的编码中我们发现很多地方都大量地使用引用,能用指针实现的功能改用引用几乎也能实现,甚至因为引用不需要拷贝的特性,使用起来比指针性能更高。那么指针和...
前言 指针对于学习C/C++的人来说是一道必须迈过去的坎,就像学习九阳神功必须要打通任督二脉一样的道理。虽然说随着智能指针的普及,很少需要程序员再手动操作原始指针,但是如果你...
什么是RVO优化 RVO的全称是Return Value Optimization。RVO是一种编译器优化技术,可以把通过函数返回创建的临时对象给”去掉”,然后可以达到少调用...
@Smiley栗子 时间没做同步
Android使用OpenGL渲染ffmpeg解码的YUV视频数据在《安卓使用SurfaceView绘制ffmpeg解码的视频数据》虽然我们成功地实现了视频的渲染,但是在YUV转换成RGB的时候,我们调用了ffmpeg内部的转换函数,这里面...
前言 在前面《WebRTC之服务器搭建》[https://mp.weixin.qq.com/s/E_nU89cdzvezZT6MfQKO6A] 我们已经搭建好了WebRTC所...