图像处理算法大全(基于libyuv或IPP)----RGB24转YV12

《周星星教你学ffmpeg》技巧

ipp源码:

static void RGB_2_YUV420_YV12(BYTE* pRGB24Ptr, BYTE* pYUYVPtr, int width,int height)//yuv420 //3/2:1+1/4+1/4----YU12
{
//libyuv::RGB24ToI420(pRGB24Ptr,width*3,pYUYVPtr,width,pYUYVPtr+height*width*5/4,width/2,pYUYVPtr+height*width,width/2,width,height);
DWORD dwTime=::GetTickCount();
IppiSize imgSize;
imgSize.width=width;
imgSize.height=height;
const Ipp8u* pSour[3]={pRGB24Ptr,pRGB24Ptr+height*width,pRGB24Ptr+height*width*2};
Ipp8u* pDes[3]={pYUYVPtr,pYUYVPtr+height*width*5/4,pYUYVPtr+height*width};
int Des[3]={width,width*1/2,width*1/2};//YUV420->1,1/4,1/4


int *pInt=Des;
IppStatus is =ippiBGRToYCbCr420_8u_C3P3R(pRGB24Ptr,width*3,pDes,Des,imgSize);
//IppStatus is =ippiRGBToYUV420_8u_C3P3(pRGB24Ptr,pDes,imgSize);
if(is != ippStsNoErr)
{
return;
//convert error
}
//TRACE("RGB_2_YUV422所需时间:%dms\n",::GetTickCount()-dwTime);

}


有问题联系作者QQ:35744025

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周星星的星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值