[FFmpeg-cvslog] libx264: feed x264_param_apply_profile from AVCodecContext. profile in absence of other information
Lyubomir Marinov
git at videolan.org
Mon Sep 17 21:40:26 CEST 2012
ffmpeg | branch: master | Lyubomir Marinov <lyubomir.marinov at jitsi.org> | Sun Sep 16 22:53:49 2012 +0300| [63951aec2b9d0f92f55c4229b9151d99026b82b6] | committer: Michael Niedermayer
libx264: feed x264_param_apply_profile from AVCodecContext.profile in absence of other information
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=63951aec2b9d0f92f55c4229b9151d99026b82b6
---
libavcodec/libx264.c | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c
index 4435a2a..39a7d7d 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;
More information about the ffmpeg-cvslog
mailing list