@@ -1344,7 +1344,7 @@ static void do_video_out(OutputFile *of,
if (ret < 0 && ret != AVERROR_EOF)
exit_program(1);
- ost->sync_opts++;
+ ost->sync_opts += av_rescale_q(1, av_inv_q(ost->frame_rate), ost->enc_ctx->time_base);
ost->vsync_frame_number++;
}
@@ -209,3 +209,8 @@ FATE_TIME_BASE-$(call PARSERDEMDEC, MPEGVIDEO, MPEGPS, MPEG2VIDEO, MPEGVIDEO_DEM
fate-time_base: CMD = md5 -i $(TARGET_SAMPLES)/mpeg2/dvd_single_frame.vob -an -sn -c:v copy -r 25 -time_base 1001:30000 -fflags +bitexact -f mxf
FATE_SAMPLES_FFMPEG-yes += $(FATE_TIME_BASE-yes)
+
+FATE_ENC_TIME_BASE-$(call ALLYES, LAVFI_INDEV COLOR_FILTER FRAMEMD5_MUXER) += fate-enc_time_base-vfr
+fate-enc_time_base-vfr: CMD = framemd5 -auto_conversion_filters -fflags +bitexact -flags +bitexact -f lavfi -i "color=r=30:d=1" -enc_time_base 1/600 -fps_mode vfr -r 15
+
+FATE_SAMPLES_FFMPEG-yes += $(FATE_ENC_TIME_BASE-yes)
new file mode 100644
@@ -0,0 +1,25 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1/600
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 320x240
+#sar 0: 1/1
+#stream#, dts, pts, duration, size, hash
+0, 0, 0, 40, 115200, 8e4dd5c5c31a54672e30503f6ee13321
+0, 40, 40, 40, 115200, 8e4dd5c5c31a54672e30503f6ee13321
+0, 80, 80, 40, 115200, 8e4dd5c5c31a54672e30503f6ee13321
+0, 120, 120, 40, 115200, 8e4dd5c5c31a54672e30503f6ee13321
+0, 160, 160, 40, 115200, 8e4dd5c5c31a54672e30503f6ee13321
+0, 200, 200, 40, 115200, 8e4dd5c5c31a54672e30503f6ee13321
+0, 240, 240, 40, 115200, 8e4dd5c5c31a54672e30503f6ee13321
+0, 280, 280, 40, 115200, 8e4dd5c5c31a54672e30503f6ee13321
+0, 320, 320, 40, 115200, 8e4dd5c5c31a54672e30503f6ee13321
+0, 360, 360, 40, 115200, 8e4dd5c5c31a54672e30503f6ee13321
+0, 400, 400, 40, 115200, 8e4dd5c5c31a54672e30503f6ee13321
+0, 440, 440, 40, 115200, 8e4dd5c5c31a54672e30503f6ee13321
+0, 480, 480, 40, 115200, 8e4dd5c5c31a54672e30503f6ee13321
+0, 520, 520, 40, 115200, 8e4dd5c5c31a54672e30503f6ee13321
+0, 560, 560, 40, 115200, 8e4dd5c5c31a54672e30503f6ee13321
+0, 600, 600, 40, 115200, 8e4dd5c5c31a54672e30503f6ee13321