libx264: feed x264_param_apply_profile from AVCodecContext.profile in absence of other information

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Lyubomir Marinov 2012-09-16 22:53:49 +03:00 committed by Michael Niedermayer
parent fd9cd8cd5a
commit 63951aec2b

View File

@ -457,6 +457,30 @@ static av_cold int X264_init(AVCodecContext *avctx)
if (x4->fastfirstpass)
x264_param_apply_fastfirstpass(&x4->params);
/* Allow specifying the x264 profile through AVCodecContext. */
if (!x4->profile)
switch (avctx->profile) {
case FF_PROFILE_H264_BASELINE:
x4->profile = av_strdup("baseline");
break;
case FF_PROFILE_H264_HIGH:
x4->profile = av_strdup("high");
break;
case FF_PROFILE_H264_HIGH_10:
x4->profile = av_strdup("high10");
break;
case FF_PROFILE_H264_HIGH_422:
x4->profile = av_strdup("high422");
break;
case FF_PROFILE_H264_HIGH_444:
x4->profile = av_strdup("high444");
break;
case FF_PROFILE_H264_MAIN:
x4->profile = av_strdup("main");
break;
default:
break;
}
if (x4->profile)
if (x264_param_apply_profile(&x4->params, x4->profile) < 0) {
int i;