新しい x264 API を使用する権利はありますか?フレームを取得し、x264 でエンコードしてから、.264 ファイルに保存しますか? しかし、私はこれが正しいかどうかわかりませんか?
picIn.img.plane[0] = pInBuffer ;
picIn.img.plane[1] = pInBuffer +m_VideoEncParam.nWidth*m_VideoEncParam.nHeight ;
picIn.img.plane[2] = pInBuffer +m_VideoEncParam.nWidth*m_VideoEncParam.nHeight*5/4 ;
picIn.img.i_stride[0] = m_VideoEncParam.nWidth ;
picIn.img.i_stride[1] = m_VideoEncParam.nWidth /2 ;
picIn.img.i_stride[2] = m_VideoEncParam.nWidth /2 ;
nRet = x264_encoder_encode(
m_pX264Handle,
&pNal,
&nNalCount,
&picIn,
&picOut);
if (nRet<0)
{
return -1 ;
}
for (int i = 0 ;i<nNalCount ; i++)
{
//memcpy(pOut+nLenOut,&pNal[i],pNal[i].i_payload) ;
x264_nal_encode(m_pX264Handle,pOutBuffer+nLenOut,&pNal[i]);
nLenOut += pNal[i].i_payload ;
}
int nSize = 0 ;
FILE *pFile = fopen(pchFileName,"w") ;
if (!pFile)
{
return -1 ;
}
nSize = fwrite(pOutBuffer,1,nLenOut,pFile) ;
fclose(pFile) ;