[FFmpeg-devel] [PATCH] Fix wrong time_base bug
Donough Liu
donoughliu at gmail.com
Mon Mar 15 14:06:09 EET 2021
Set time_base to inv of frame rate is only valid when input video have fixed frame rate.
Signed-off-by: Donough Liu <donoughliu at gmail.com>
---
doc/examples/transcoding.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/doc/examples/transcoding.c b/doc/examples/transcoding.c
index 5aff08c135..49ae32c719 100644
--- a/doc/examples/transcoding.c
+++ b/doc/examples/transcoding.c
@@ -170,7 +170,7 @@ static int open_output_file(const char *filename)
else
enc_ctx->pix_fmt = dec_ctx->pix_fmt;
/* video time_base can be set to whatever is handy and supported by encoder */
- enc_ctx->time_base = av_inv_q(dec_ctx->framerate);
+ enc_ctx->time_base = av_inv_q(av_mul_q(dec_ctx->framerate, (AVRational){dec_ctx->ticks_per_frame, 1}));
} else {
enc_ctx->sample_rate = dec_ctx->sample_rate;
enc_ctx->channel_layout = dec_ctx->channel_layout;
--
2.25.1
More information about the ffmpeg-devel
mailing list