24,854
社区成员
发帖
与我相关
我的任务
分享
int Encode_frame( x264_t *h, hnd_t hout, x264_picture_t *pic )
{
x264_picture_t pic_out; //待编码真
x264_nal_t *nal; //nal打包指针
int i_nal, i, i_nalu_size; //nal包数目 大小
int i_file = 0;
if( x264_encoder_encode( h, &nal, &i_nal, pic, &pic_out ) < 0 )
{
fprintf( stderr, "x264 [error]: x264_encoder_encode failed\n" );
return -1;
}
for( i = 0; i < i_nal; i++ ) //是否是在这里面发送帧,源码是写入文件
{
i_nalu_size = write_nalu_bsf( hout, nal[i].p_payload, nal[i].i_payload );
if( i_nalu_size < 0 )
return -1;
i_file += i_nalu_size;
}
if (i_nal)
set_eop_bsf( hout, &pic_out );//!< 存储当前帧编码码流结束标记eop
return i_file;
}