Merge pull request #4235 from akallabeth/avcodec_encode_video_fix
Added encoder path for libavcodec versions <1.0
This commit is contained in:
commit
88ce5aa5fe
@ -144,10 +144,8 @@ static BOOL libavcodec_create_encoder(H264_CONTEXT* h264)
|
||||
{
|
||||
1, h264->FrameRate
|
||||
};
|
||||
|
||||
av_opt_set(sys->codecEncoderContext, "preset", "veryfast", AV_OPT_SEARCH_CHILDREN);
|
||||
av_opt_set(sys->codecEncoderContext, "tune", "zerolatency", AV_OPT_SEARCH_CHILDREN);
|
||||
|
||||
sys->codecEncoderContext->flags |= CODEC_FLAG_LOOP_FILTER;
|
||||
sys->codecEncoderContext->me_cmp |= 1;
|
||||
sys->codecEncoderContext->me_subpel_quality = 3;
|
||||
@ -296,7 +294,7 @@ static int libavcodec_compress(H264_CONTEXT* h264, BYTE** ppDstData, UINT32* pDs
|
||||
}
|
||||
|
||||
gotFrame = (status == 0);
|
||||
#else
|
||||
#elif LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(54, 59, 100)
|
||||
|
||||
do
|
||||
{
|
||||
@ -306,6 +304,20 @@ static int libavcodec_compress(H264_CONTEXT* h264, BYTE** ppDstData, UINT32* pDs
|
||||
}
|
||||
while ((status >= 0) && (gotFrame == 0));
|
||||
|
||||
#else
|
||||
sys->packet.size = avpicture_get_size(sys->codecDecoderContext->pix_fmt,
|
||||
sys->codecDecoderContext->width,
|
||||
sys->codecDecoderContext->height);
|
||||
sys->packet.data = av_malloc(sys->packet.size);
|
||||
|
||||
if (!sys->packet.data)
|
||||
status = -1;
|
||||
else
|
||||
{
|
||||
status = avcodec_encode_video(sys->codecDecoderContext, sys->packet.data,
|
||||
sys->packet.size, sys->videoFrame);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
if (status < 0)
|
||||
|
Loading…
Reference in New Issue
Block a user