YUYV(YUV422)转I420(YUV420)C++代码

news/2024/11/17 9:56:22/
int YUV422To420(unsigned char yuv422[], unsigned char yuv420[], int width, int height)
{int ynum = width * height;int i, j, k = 0;//得到Y分量for (i = 0; i < ynum; i++) {yuv420[i] = yuv422[i * 2];}//得到U分量for (i = 0; i < height; i++) {if ((i % 2) != 0)continue;for (j = 0; j < (width / 2); j++) {if ((4 * j + 1) > (2 * width))break;yuv420[ynum + k * 2 * width / 4 + j] = yuv422[i * 2 * width + 4 * j + 1];}k++;}k = 0;//得到V分量for (i = 0; i < height; i++) {if ((i % 2) == 0)continue;for (j = 0; j < (width / 2); j++) {if ((4 * j + 3) > (2 * width))break;yuv420[ynum + ynum / 4 + k * 2 * width / 4 + j] = yuv422[i * 2 * width + 4 * j + 3];}k++;}return 1;
}

亲测有效

代码完全复制于:

论YUV422(YUYV)与YUV420相互转换 - CodeAntenna


http://www.ppmy.cn/news/144427.html

相关文章

vc++6.0(Visual C++)中文企业版

名称;vc6.0(Visual C)中文企业版 版本&#xff1a;6.0 软件大小&#xff1a;234M 软件语言&#xff1a;简体中文 软件授权&#xff1a;免费版 应用平台&#xff1a;Win2000/WinXP/Win2003/Vista/Win7/Win8 Visual C是一个功能强大的可视化软件开发工具。自1993年Microsoft公司…

联想V470C 禁用触摸板

联想V470C 禁用触摸板 去联想官网下载对应型号的驱动&#xff1a;驱动链接 解压安装包后&#xff1a;删除解压文件的Synaptics文件夹 进入ELAN文件夹&#xff0c;双击Setup文件 进入“控制面板->硬件和声音->鼠标”&#xff0c;选择ELAN &#xff0c;选择停滞设备&#…

ov7740 vl4c驱动

ov7740 vl4c驱动 cmos_ov7740_drv 部分代码cmos_ov7740_dev 部分代码 cmos_ov7740_drv 部分代码 #include <linux/kernel.h> #include <linux/module.h> #include <linux/platform_device.h> #include <linux/i2c.h> #include <linux/err.h> #i…

错误 C2440

错误 C2440 错误 C2440 “初始化”: 无法从“char”转换为“char *” 错误 C2440 “初始化”: 无法从“char”转换为“char *” 从整型强制转换为指针类型要求 reinterpret_cast、C 样式强制转换或函数样式强制转换 错误 C2440 “初始化”: 无法从“char”转换为“char *” …

error C2470 错误原因及解决方法

封装的Dll类需要使用dllexport导出&#xff0c; 为明确功能&#xff0c;定义 #define BASE_SHARE_API __declspec(dllexport)在Dll中新添加功能类后&#xff0c;习惯性的在类前添加 class BASE_SHARE_API CMyclass 编译时&#xff0c;系统报错 error C2470: “CMyclas…

Ubuntu下安装myeclipse10.7.1

1、首先到官网下载myeclipse&#xff1a; myeclipse-10.7.1-offline-installer-linux.run。 要先配置好jdk环境&#xff0c;不然会报错。 2、终端输入&#xff08;为该run文件添加可执行属性&#xff0c;我的放在了主文件目录里&#xff09;&#xff1a; htthtt-Lenovo-V470c:~…

彻底解决兼容问题:Windows 7下载安装 Visual C++ 6.0(VC6) 全程图解

说实话我也一直没有试过&#xff0c;所以也想当然的认为Win7下就不能安装VC6&#xff0c;压根就100%不兼容&#xff1f;一直使用高版本的VS&#xff08;如VS2008和现在用的VS2010&#xff09;的我今天亲身在Win7下安装一次试试。 注&#xff1a;文中有大量图片附件&#xff0c…

s3c2440 LCD CONTROLLER

显示在日常生活中必不可少&#xff0c;电视电脑手机这三个屏幕天天都会看。。。 研究一下s3c2440中的LCD CONTROLLER&#xff0c;了解linux下Framebuffer的构成&#xff0c;可以巩固对LDM的学习。而且&#xff0c;进一步可以看一下bmp等格式的解析&#xff0c;可以通过一个很…