⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rgb2yuv444.c

📁 华为 HI3510 BOOTLOADER HIBOOT 源码包
💻 C
字号:
#include <config.h>#if defined(CONFIG_HI3510_LOGO)#include "hi_inc.h"#include "hi_common/hi.h"/*globe variable*/ UINT32 imgWidth; UINT32 imgHeight;/****************//*memory copy and change the dst address*/UINT8* memcpyTbb ( UINT8 *pDst,  UINT8 *pSrc,  UINT32 length){        while (length--) *pDst++ = *pSrc++;		return pDst;} // 获取图像数据 void GetBMDataFromBuff(IN UINT8 * pSrc, OUT UINT8 *pBuff) {     UINT8    lineSize  = 0;      int i = 0;    pSrc += 54;    lineSize = imgWidth * 3;          for (i = imgHeight- 1; i >= 0; --i)    {           pBuff = memcpyTbb(pBuff,&(pSrc[imgWidth * i * 3]),lineSize);       }   } // 转换色彩空间BGR-YUV,111采样 void BGR2YUV111(UINT8* pBuf, UINT8* pDst) {  double tmpY   = 0;           double tmpU   = 0;  double tmpV   = 0;  UINT8 tmpB   = 0;         UINT8 tmpG   = 0;  UINT8 tmpR   = 0;  UINT32 i    = 0;  UINT32 elemNum = imgHeight * imgWidth;   for (i = 0; i < elemNum; i++)  {   tmpB = *pBuf++;   tmpG = *pBuf++;   tmpR = *pBuf++;   tmpY = 0.299 * tmpR + 0.587 * tmpG + 0.114 * tmpB;   tmpU = -0.1687 * tmpR - 0.3313 * tmpG + 0.5 * tmpB + 128;   tmpV = 0.5 * tmpR - 0.4187 * tmpG - 0.0813 * tmpB + 128;   if(tmpY > 255){tmpY = 255;}       if(tmpU > 255){tmpU = 255;}   if(tmpV > 255){tmpV = 255;}   if(tmpY < 0){tmpY = 0;}     if(tmpU < 0){tmpU = 0;}     if(tmpV < 0){tmpV = 0;}   *pDst++ = (UINT8)tmpY;              *pDst++ = (UINT8)tmpU;   *pDst++ = (UINT8)tmpV;  } } void YUV2JPEG444 ( UINT8 *pSrc,  UINT8 *pDst, UINT8 *pMiddle, UINT16 height,UINT16 width){    imgWidth = width;    imgHeight = height;    GetBMDataFromBuff(pSrc, pMiddle);       BGR2YUV111(pMiddle,pDst);}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -