ffmpeg | branch: master | Linjie Fu <linjie...@intel.com> | Wed May 6 21:47:51 2020 +0800| [e3e2702d400e047d7a12b3c4f7ee666ffdafd090] | committer: Linjie Fu
lavc/libopenh264enc: Allow specifying the profile through AVCodecContext And determine the profile with following priority: 1. s->profile; then 2. avctx->profile; then 3. s->cabac; then 4. a default profile. This seems more natural in case user somehow sets both avctx->profile and s->profile. Reviewed-by: Martin Storsjö <mar...@martin.st> Signed-off-by: Linjie Fu <linjie...@intel.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e3e2702d400e047d7a12b3c4f7ee666ffdafd090 --- libavcodec/libopenh264enc.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/libavcodec/libopenh264enc.c b/libavcodec/libopenh264enc.c index 12c71ca0e9..4c57fa1c89 100644 --- a/libavcodec/libopenh264enc.c +++ b/libavcodec/libopenh264enc.c @@ -182,6 +182,21 @@ FF_ENABLE_DEPRECATION_WARNINGS param.iEntropyCodingModeFlag = 0; param.iMultipleThreadIdc = avctx->thread_count; + /* Allow specifying the libopenh264 profile through AVCodecContext. */ + if (FF_PROFILE_UNKNOWN == s->profile && + FF_PROFILE_UNKNOWN != avctx->profile) + switch (avctx->profile) { + case FF_PROFILE_H264_HIGH: + case FF_PROFILE_H264_MAIN: + case FF_PROFILE_H264_CONSTRAINED_BASELINE: + s->profile = avctx->profile; + break; + default: + av_log(avctx, AV_LOG_WARNING, + "Unsupported avctx->profile: %d.\n", avctx->profile); + break; + } + if (s->profile == FF_PROFILE_UNKNOWN) s->profile = !s->cabac ? FF_PROFILE_H264_CONSTRAINED_BASELINE : #if OPENH264_VER_AT_LEAST(1, 8) _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".