From: Anton Khirnov <anton@khirnov.net> To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH 1/2] lavf/vf_setpts: unset output framerate Date: Wed, 27 Mar 2024 16:08:40 +0100 Message-ID: <20240327150841.8311-1-anton@khirnov.net> (raw) This filter produces VFR output in general. Avoids dropping frames in the setpts test. --- libavfilter/setpts.c | 17 ++++++- tests/ref/fate/filter-setpts | 89 +++++++++++++++++++++--------------- 2 files changed, 67 insertions(+), 39 deletions(-) diff --git a/libavfilter/setpts.c b/libavfilter/setpts.c index 88a8d6af86..4f02a9a617 100644 --- a/libavfilter/setpts.c +++ b/libavfilter/setpts.c @@ -150,6 +150,13 @@ static int config_input(AVFilterLink *inlink) return 0; } +static int config_output_video(AVFilterLink *outlink) +{ + outlink->frame_rate = (AVRational){ 1, 0 }; + + return 0; +} + #define BUF_SIZE 64 static inline char *double2int64str(char *buf, double v) @@ -322,6 +329,14 @@ static const AVFilterPad avfilter_vf_setpts_inputs[] = { }, }; +static const AVFilterPad outputs_video[] = { + { + .name = "default", + .type = AVMEDIA_TYPE_VIDEO, + .config_props = config_output_video, + }, +}; + const AVFilter ff_vf_setpts = { .name = "setpts", .description = NULL_IF_CONFIG_SMALL("Set PTS for the output video frame."), @@ -335,7 +350,7 @@ const AVFilter ff_vf_setpts = { .priv_class = &setpts_class, FILTER_INPUTS(avfilter_vf_setpts_inputs), - FILTER_OUTPUTS(ff_video_default_filterpad), + FILTER_OUTPUTS(outputs_video), }; #endif /* CONFIG_SETPTS_FILTER */ diff --git a/tests/ref/fate/filter-setpts b/tests/ref/fate/filter-setpts index efdcf6a16e..8aa7a1e6a0 100644 --- a/tests/ref/fate/filter-setpts +++ b/tests/ref/fate/filter-setpts @@ -1,42 +1,55 @@ -#tb 0: 1/25 +#tb 0: 1/1000 #media_type 0: video #codec_id 0: rawvideo #dimensions 0: 352x288 #sar 0: 0/1 -0, 0, 0, 1, 152064, 0x05b789ef -0, 1, 1, 1, 152064, 0x4bb46551 -0, 2, 2, 1, 152064, 0x9dddf64a -0, 3, 3, 1, 152064, 0x2a8380b0 -0, 4, 4, 1, 152064, 0x4de3b652 -0, 5, 5, 1, 152064, 0xedb5a8e6 -0, 6, 6, 1, 152064, 0x5ab58bac -0, 7, 7, 1, 152064, 0x1f1b8026 -0, 8, 8, 1, 152064, 0x91373915 -0, 9, 9, 1, 152064, 0x30f5fcd5 -0, 10, 10, 1, 152064, 0xc711ad61 -0, 11, 11, 1, 152064, 0x52a48ddd -0, 12, 12, 1, 152064, 0xa91c0f05 -0, 13, 13, 1, 152064, 0x8e364e18 -0, 14, 14, 1, 152064, 0xf25f6acc -0, 15, 15, 1, 152064, 0xf34ddbff -0, 16, 16, 1, 152064, 0x9dc72412 -0, 17, 17, 1, 152064, 0x445d1d59 -0, 18, 18, 1, 152064, 0x2f2768ef -0, 19, 19, 1, 152064, 0x95579936 -0, 20, 20, 1, 152064, 0x43d796b5 -0, 21, 21, 1, 152064, 0x76d2a455 -0, 22, 22, 1, 152064, 0x6dc3650e -0, 23, 23, 1, 152064, 0x0f9d6aca -0, 24, 24, 1, 152064, 0xd766fc8d -0, 25, 25, 1, 152064, 0xe22f7a30 -0, 26, 26, 1, 152064, 0xfa8d94fb -0, 27, 27, 1, 152064, 0x4c9737ab -0, 28, 28, 1, 152064, 0xa50d01f8 -0, 29, 29, 1, 152064, 0x88734edd -0, 30, 30, 1, 152064, 0xd2735925 -0, 31, 31, 1, 152064, 0x20cebfa9 -0, 32, 32, 1, 152064, 0x575c20ec -0, 33, 33, 1, 152064, 0x61b47e73 -0, 34, 34, 1, 152064, 0x09ef53ff -0, 35, 35, 1, 152064, 0x6e88c5c2 -0, 36, 36, 1, 152064, 0x4bbad8ea +0, 0, 0, 40, 152064, 0x05b789ef +0, 28, 28, 40, 152064, 0x4bb46551 +0, 57, 57, 40, 152064, 0x9dddf64a +0, 86, 86, 40, 152064, 0x2a8380b0 +0, 115, 115, 40, 152064, 0x4de3b652 +0, 144, 144, 40, 152064, 0xedb5a8e6 +0, 172, 172, 40, 152064, 0xe20f7c23 +0, 201, 201, 40, 152064, 0x5ab58bac +0, 229, 229, 40, 152064, 0x1f1b8026 +0, 258, 258, 40, 152064, 0x91373915 +0, 286, 286, 40, 152064, 0x02344760 +0, 314, 314, 40, 152064, 0x30f5fcd5 +0, 343, 343, 40, 152064, 0xc711ad61 +0, 371, 371, 40, 152064, 0x24eca223 +0, 399, 399, 40, 152064, 0x52a48ddd +0, 427, 427, 40, 152064, 0xa91c0f05 +0, 456, 456, 40, 152064, 0x8e364e18 +0, 484, 484, 40, 152064, 0xb15d38c8 +0, 512, 512, 40, 152064, 0xf25f6acc +0, 541, 541, 40, 152064, 0xf34ddbff +0, 570, 570, 40, 152064, 0xfc7bf570 +0, 598, 598, 40, 152064, 0x9dc72412 +0, 627, 627, 40, 152064, 0x445d1d59 +0, 656, 656, 40, 152064, 0x2f2768ef +0, 685, 685, 40, 152064, 0xce09f9d6 +0, 714, 714, 40, 152064, 0x95579936 +0, 743, 743, 40, 152064, 0x43d796b5 +0, 772, 772, 40, 152064, 0xd780d887 +0, 800, 800, 40, 152064, 0x76d2a455 +0, 829, 829, 40, 152064, 0x6dc3650e +0, 858, 858, 40, 152064, 0x0f9d6aca +0, 887, 887, 40, 152064, 0xe295c51e +0, 915, 915, 40, 152064, 0xd766fc8d +0, 944, 944, 40, 152064, 0xe22f7a30 +0, 972, 972, 40, 152064, 0x7fea4378 +0, 1000, 1000, 40, 152064, 0xfa8d94fb +0, 1029, 1029, 40, 152064, 0x4c9737ab +0, 1057, 1057, 40, 152064, 0xa50d01f8 +0, 1085, 1085, 40, 152064, 0x0b07594c +0, 1113, 1113, 40, 152064, 0x88734edd +0, 1142, 1142, 40, 152064, 0xd2735925 +0, 1170, 1170, 40, 152064, 0xd4e49e08 +0, 1198, 1198, 40, 152064, 0x20cebfa9 +0, 1227, 1227, 40, 152064, 0x575c20ec +0, 1255, 1255, 40, 152064, 0xfd500471 +0, 1284, 1284, 40, 152064, 0x61b47e73 +0, 1313, 1313, 40, 152064, 0x09ef53ff +0, 1341, 1341, 40, 152064, 0x6e88c5c2 +0, 1370, 1370, 40, 152064, 0xbb87b483 +0, 1399, 1399, 40, 152064, 0x4bbad8ea -- 2.43.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next reply other threads:[~2024-03-27 15:09 UTC|newest] Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top 2024-03-27 15:08 Anton Khirnov [this message] 2024-03-27 15:08 ` [FFmpeg-devel] [PATCH 2/2] lavfi/setpts: unset frame durations Anton Khirnov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20240327150841.8311-1-anton@khirnov.net \ --to=anton@khirnov.net \ --cc=ffmpeg-devel@ffmpeg.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git