From 63951aec2b9d0f92f55c4229b9151d99026b82b6 Mon Sep 17 00:00:00 2001 From: Lyubomir Marinov Date: Sun, 16 Sep 2012 22:53:49 +0300 Subject: libx264: feed x264_param_apply_profile from AVCodecContext.profile in absence of other information Signed-off-by: Michael Niedermayer --- libavcodec/libx264.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'libavcodec') 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; -- cgit v1.2.3