0

新しい 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) ;
4

1 に答える 1