diff options
author | Lyubomir Marinov <lyubomir.marinov@jitsi.org> | 2012-09-16 23:53:49 +0400 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-09-17 23:31:57 +0400 |
commit | 63951aec2b9d0f92f55c4229b9151d99026b82b6 (patch) | |
tree | 9dd828e50754f8ef7f7f20aa12074c08e7ddd4ca /libavcodec/libx264.c | |
parent | fd9cd8cd5ab6042731fa0fab3a5158e35dce773a (diff) |
libx264: feed x264_param_apply_profile from AVCodecContext.profile in absence of other information
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/libx264.c')
-rw-r--r-- | libavcodec/libx264.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c index 4435a2abb1..39a7d7db8e 100644 --- a/libavcodec/libx264.c +++ b/libavcodec/libx264.c @@ -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; |