From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id EF8D849A12 for ; Wed, 27 Mar 2024 15:09:07 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DDEDF68D6A2; Wed, 27 Mar 2024 17:08:53 +0200 (EET) Received: from mail1.khirnov.net (quelana.khirnov.net [94.230.150.81]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 70BF368D66C for ; Wed, 27 Mar 2024 17:08:46 +0200 (EET) Authentication-Results: mail1.khirnov.net; dkim=pass (2048-bit key; unprotected) header.d=khirnov.net header.i=@khirnov.net header.a=rsa-sha256 header.s=mail header.b=bH3G3qFK; dkim-atps=neutral Received: from localhost (mail1.khirnov.net [IPv6:::1]) by mail1.khirnov.net (Postfix) with ESMTP id B45A24D61 for ; Wed, 27 Mar 2024 16:08:45 +0100 (CET) Received: from mail1.khirnov.net ([IPv6:::1]) by localhost (mail1.khirnov.net [IPv6:::1]) (amavis, port 10024) with ESMTP id KJPsYWocN1UZ for ; Wed, 27 Mar 2024 16:08:43 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=khirnov.net; s=mail; t=1711552123; bh=DCTycVfltcFkm72uhZZv+VlwY+ZHH0sxjfPKNt6ePgc=; h=From:To:Subject:Date:From; b=bH3G3qFKXlgFsJb9E0qKQyI1RtPTzcKptcYtoX/YuxZAIhc3g40HCZmgvB8nY7YCL y7ajT6Enn18AJOrdBaSwhOajizmHQDeelX9PdMVNfuI8pkdRwUmgexqc9dhZ11JbkX aqZJUTdxDPuxlCH7uyKqRf3XyHRxVnBaSauYmJ60aLHUaVLiNpZzdFzi95wzzmHykW GOUrAVzDu8W6RFm3l6GI/uh5N9LWevqORKE8kkhXz4JaCEucWCW9IIHSZVU8yocpvn zkE8OXObe37tVS+ruojfBCcIO7NkL4nT9852SKy+l0K4hc/F4uResPUjtqu5qJl6e4 zztg03kUUOtbA== Received: from libav.khirnov.net (libav.khirnov.net [IPv6:2a00:c500:561:201::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "libav.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail1.khirnov.net (Postfix) with ESMTPS id 481A34462 for ; Wed, 27 Mar 2024 16:08:43 +0100 (CET) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id 24B8A3A0357 for ; Wed, 27 Mar 2024 16:08:43 +0100 (CET) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Mar 2024 16:08:40 +0100 Message-ID: <20240327150841.8311-1-anton@khirnov.net> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/2] lavf/vf_setpts: unset output framerate X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: 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".