以前写的几个算法,希望对大家有用
1、RGB2 YUV420P不使用ffmpeg,直接写一段,测试和ffmpeg一样功能,但没有缩放,转yuv的时候使用整数算法,这样比浮点数性能要好
/*
//Author:钱波
//email: 418511899@qq.com
//wei: 18091589062
//func: nothing
//time: 2018年5月30日
*/
static inline void RGB_2_YUV420(unsigned char* RgbBuf, int nWidth, int nHeight, unsigned char*yuvBuf, int& len)
{
#define m_max(a,b) (((a) > (b)) ? (a) : (b))
#define m_min(a,b) (((a) > 8) + 128;
v = (unsigned char)((112 * r - 94 * g - 18 * b + 128) >> 8) + 128;
*(bufY++) = m_max(0, m_min(y, 255));
if (j % 2 == 0 && i % 2 == 0)
{
if (u>255)
{
u = 255;
}
if (u255)
{
v = 255;
}
if (v
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?