From: Jun Zhao <barryjz...@tencent.com> Respecting the framerate in the libopenh264enc codec context.
Both the libx264 and libx264 encoders already contain similar logic to first check the framerate before falling back to the timebase. Signed-off-by: Jun Zhao <barryjz...@tencent.com> --- libavcodec/libopenh264enc.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libavcodec/libopenh264enc.c b/libavcodec/libopenh264enc.c index f63aa52..cf48566 100644 --- a/libavcodec/libopenh264enc.c +++ b/libavcodec/libopenh264enc.c @@ -156,7 +156,16 @@ static av_cold int svc_encode_init(AVCodecContext *avctx) (*s->encoder)->GetDefaultParams(s->encoder, ¶m); - param.fMaxFrameRate = 1/av_q2d(avctx->time_base); + if (avctx->framerate.num > 0 && avctx->framerate.den > 0) { + param.fMaxFrameRate = av_q2d(avctx->framerate); + } else { + if (avctx->ticks_per_frame > INT_MAX / avctx->time_base.num) { + av_log(avctx, AV_LOG_ERROR, + "Could not set framerate for libopenh264enc: integer overflow\n"); + return AVERROR(EINVAL); + } + param.fMaxFrameRate = 1.0 / av_q2d(avctx->time_base) / FFMAX(avctx->ticks_per_frame, 1); + } param.iPicWidth = avctx->width; param.iPicHeight = avctx->height; param.iTargetBitrate = avctx->bit_rate > 0 ? avctx->bit_rate : TARGET_BITRATE_DEFAULT; -- 2.7.4 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".