YUV420保存文件

uint8_t* pYuvData=new uint8_t[m_pCodecCtx->width*m_pCodecCtx->height*3/2];


for (int i=0;iheight;i++)

{
memcpy(pYuvData+iYuvDataSize,m_pFrame->data[0]+i*m_pFrame->linesize[0],m_pCodecCtx->width);
iYuvDataSize+=m_pCodecCtx->width;
}
for (int i=0;iheight/2;i++)
{
memcpy(pYuvData+iYuvDataSize,m_pFrame->data[1]+i*m_pFrame->linesize[1],m_pCodecCtx->width/2);
iYuvDataSize+=m_pCodecCtx->width/2;
}
for (int i=0;iheight/2;i++)
{
memcpy(pYuvData+iYuvDataSize,m_pFrame->data[2]+i*m_pFrame->linesize[2],m_pCodecCtx->width/2);
iYuvDataSize+=m_pCodecCtx->width/2;
}

你可能感兴趣的:(YUV420保存文件)