《周星星教你学ffmpeg》技巧
libyuv源码:
static void Resize_YV12(BYTE* pIn, BYTE* pOut, LONG nInWidth, LONG nInHeight, LONG nOutWidth, LONG nOutHeight)
{
BYTE *inY=pIn;
BYTE *inU=pIn+nInWidth*nInHeight;
BYTE *inV=pIn+nInWidth*nInHeight*5/4;
BYTE *outY=pOut;
BYTE *outU=pOut+nOutWidth*nOutHeight;
BYTE *outV=pOut+nOutWidth*nOutHeight*5/4;
//libyuv::FilterModeEnum fmode = libyuv::kFilterNone;
libyuv::FilterModeEnum fmode = libyuv::kFilterBox;
libyuv::I420Scale(inY, nInWidth,
inU, nInWidth >> 1,
inV, nInWidth >> 1,
nInWidth, nInHeight,
outY, nOutWidth,
outU, nOutWidth >> 1,
outV, nOutWidth >> 1,
nOutWidth, nOutHeight,
fmode);
}
调用Resize_YV12(pIn, pOut, 1920, 1080, 1280, 720);//将YUV420P颜色空间的图像:1080P缩放为720P
有问题联系作者QQ:35744025