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 5446C41422 for ; Mon, 1 May 2023 21:00:32 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B3DFB68C0D6; Tue, 2 May 2023 00:00:29 +0300 (EEST) Received: from mail-ej1-f41.google.com (mail-ej1-f41.google.com [209.85.218.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A4BF868BEC4 for ; Tue, 2 May 2023 00:00:23 +0300 (EEST) Received: by mail-ej1-f41.google.com with SMTP id a640c23a62f3a-94f3cd32799so604245966b.0 for ; Mon, 01 May 2023 14:00:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682974822; x=1685566822; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=XqLPho8JHVWSncg+38JZkt8CGshfwalKk/adCoiU8RY=; b=W0YP7+4pWI4XWXOjj5wi4GxZUDu5WQByrEOvcB8Lmlgg8+py7jeMm4uPuiNm4Kv4i8 Y2LE14pucPibXlc93yk3dTDWu0UZzbEHZJ3vcjwwNGJkk3aEBzxu0XMgv+HWDZWnmVcv woLsPdSSUhc0zSrpNF4gEtAmc0tzWyiey9KcGZAKCLWlUWQJNImbSucqvzfm7n51Jee8 K1hTmog2ihs9AKWg+vuj2ca42cTocJ5WRfnraTMgy5Kqsi6Lf7BCy0ka/Br+fmMImJOg qjsakSTzKWgVRtaSXXwUBmv5ghOYpmDaVPiHY6PzNw+OTEwy3Cz3+FK5zNsrVChcECTf LQ8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682974822; x=1685566822; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=XqLPho8JHVWSncg+38JZkt8CGshfwalKk/adCoiU8RY=; b=IY3pb/Kh7SE2GuofRderLh7W0QU6YEDTGoufnlnlN2R5fuCoS9+IV880t09qjjW6qX W0PPyvWe1qoIYpVWd9v13d4vAFyV6osxzWFs80msCxvGr2ZvKpIyZGFk+dZremRXXvt5 diGWQMlm1TfoFoXbRJ4tdEfSbmssPZnYOkFJiqBmmqOfvRK9FR+9Dp58EkeevTF7tYRo HwRMoELSGJynQhsdfVx92GbGYzoWUkWlG3qeyad+/m9wPAQ8Z0d5AETY1CZ9yP+8i6eh cPcD6dosdKQVZvrHf7218WVwPbRhV9i1wRUs4yWMSNcOWque80Id/+FAbVdsYZJrjCej ykvQ== X-Gm-Message-State: AC+VfDxbnX4n2U4bgeCYZZFoc2q1Jyn+S6HgFm7HCuvh5jR19yShrsI0 bh7FRG8OYrr8bm395s8ZT6Vvj6I7+jqBP7GpEFZxtwcW X-Google-Smtp-Source: ACHHUZ5xaPzqzvb+F+e2iy+UszH+aKYjkWzxUN1l+FZzarioHQ/qaHdAL5gGMZsadwdGMNQL/hmNCSU1078jYgGz/dw= X-Received: by 2002:a17:906:eec8:b0:93e:fa12:aa1a with SMTP id wu8-20020a170906eec800b0093efa12aa1amr14308333ejb.1.1682974821951; Mon, 01 May 2023 14:00:21 -0700 (PDT) MIME-Version: 1.0 From: Oleg Afanasyev Date: Mon, 1 May 2023 22:01:05 +0100 Message-ID: To: ffmpeg-devel@ffmpeg.org Content-Type: multipart/mixed; boundary="0000000000006dda6905faa81c89" Subject: [FFmpeg-devel] [PATCH] avfilter/setpts: add command support 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --0000000000006dda6905faa81c89 Content-Type: text/plain; charset="UTF-8" I'm using setpts to generate timelapses with slowdowns in the middle. Using setpts filter requires complicated expr to handle intervals. This patch allows commands to change expr and also adds a constant that provides time of last command applications to allow specifying gradual changes using difference between time and cmd time. ---------------------- with best regards Oleg Afanasyev --0000000000006dda6905faa81c89 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-avfilter-setpts-add-command-support.patch" Content-Disposition: attachment; filename="0001-avfilter-setpts-add-command-support.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lh5bndq70 RnJvbSBhNzE0YTA5NTdhNTdjMWQzOTJmZWNhMGJhNjc1YmE1YWM3Yzg3NWVlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBPbGVnIDxvYWZhbmFzaWV2QGdtYWlsLmNvbT4KRGF0ZTogU2F0 LCAyOSBBcHIgMjAyMyAxOTo1Njo0NiArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIGF2ZmlsdGVyL3Nl dHB0czogYWRkIGNvbW1hbmQgc3VwcG9ydAoKQWRkIHN1cHBvcnQgZm9yIGNoYW5naW5nIGV4cHIg b24gdGhlIGZseS4KClNpZ25lZC1vZmYtYnk6IE9sZWcgPG9hZmFuYXNpZXZAZ21haWwuY29tPgot LS0KIGRvYy9maWx0ZXJzLnRleGkgICAgIHwgIDcgKysrKysKIGxpYmF2ZmlsdGVyL3NldHB0cy5j IHwgNjggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIDIgZmls ZXMgY2hhbmdlZCwgNTggaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZG9jL2ZpbHRlcnMudGV4aSBiL2RvYy9maWx0ZXJzLnRleGkKaW5kZXggNTBlMTY4MjE0NC4u ZmJkYjFmOGVjZiAxMDA2NDQKLS0tIGEvZG9jL2ZpbHRlcnMudGV4aQorKysgYi9kb2MvZmlsdGVy cy50ZXhpCkBAIC0yOTM4NCw2ICsyOTM4NCw5IEBAIFRoZSB3YWxsY2xvY2sgKFJUQykgdGltZSBh dCB0aGUgc3RhcnQgb2YgdGhlIG1vdmllIGluIG1pY3Jvc2Vjb25kcy4KIEBpdGVtIFRCCiBUaGUg dGltZWJhc2Ugb2YgdGhlIGlucHV0IHRpbWVzdGFtcHMuCiAKK0BpdGVtIFRfQ0hBTkdFCitUaW1l IG9mIHRoZSBmaXJzdCBmcmFtZSBhZnRlciBjb21tYW5kIHdhcyBhcHBsaWVkIG9yIHRpbWUgb2Yg dGhlIGZpcnN0IGZyYW1lIGlmIG5vIGNvbW1hbmRzLgorCiBAZW5kIHRhYmxlCiAKIEBzdWJzZWN0 aW9uIEV4YW1wbGVzCkBAIC0yOTQzOSw2ICsyOTQ0MiwxMCBAQCBhc2V0cHRzPU4vU1IvVEIKIAog QGVuZCBpdGVtaXplCiAKK0BzdWJzZWN0aW9uIENvbW1hbmRzCisKK0JvdGggZmlsdGVycyBzdXBw b3J0IGFsbCBhYm92ZSBvcHRpb25zIGFzIEByZWZ7Y29tbWFuZHN9LgorCiBAc2VjdGlvbiBzZXRy YW5nZQogCiBGb3JjZSBjb2xvciByYW5nZSBmb3IgdGhlIG91dHB1dCB2aWRlbyBmcmFtZS4KZGlm ZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3NldHB0cy5jIGIvbGliYXZmaWx0ZXIvc2V0cHRzLmMKaW5k ZXggNWJjYzBjMmRjZi4uN2IwOWNlNzcwNyAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvc2V0cHRz LmMKKysrIGIvbGliYXZmaWx0ZXIvc2V0cHRzLmMKQEAgLTYzLDYgKzYzLDcgQEAgc3RhdGljIGNv bnN0IGNoYXIgKmNvbnN0IHZhcl9uYW1lc1tdID0gewogICAgICJTIiwgICAgICAgICAgIC8vICAg TnVtYmVyIG9mIHNhbXBsZXMgaW4gdGhlIGN1cnJlbnQgZnJhbWUKICAgICAiU1IiLCAgICAgICAg ICAvLyAgIEF1ZGlvIHNhbXBsZSByYXRlCiAgICAgIkZSIiwgICAgICAgICAgLy8vPCBkZWZpbmVk IG9ubHkgZm9yIGNvbnN0YW50IGZyYW1lLXJhdGUgdmlkZW8KKyAgICAiVF9DSEFOR0UiLCAgICAv Ly88IHRpbWUgb2YgZmlyc3QgZnJhbWUgYWZ0ZXIgbGF0ZXN0IGNvbW1hbmQgd2FzIGFwcGxpZWQK ICAgICBOVUxMCiB9OwogCkBAIC05MCw3ICs5MSw4IEBAIGVudW0gdmFyX25hbWUgewogICAgIFZB Ul9TLAogICAgIFZBUl9TUiwKICAgICBWQVJfRlIsCi0gICAgVkFSX1ZBUlNfTkIKKyAgICBWQVJf VF9DSEFOR0UsCisgICAgVkFSX1ZBUlNfTkIsCiB9OwogCiB0eXBlZGVmIHN0cnVjdCBTZXRQVFND b250ZXh0IHsKQEAgLTEyMCw2ICsxMjIsNyBAQCBzdGF0aWMgYXZfY29sZCBpbnQgaW5pdChBVkZp bHRlckNvbnRleHQgKmN0eCkKICAgICBzZXRwdHMtPnZhcl92YWx1ZXNbVkFSX1BSRVZfT1VUVF0g ICA9IE5BTjsKICAgICBzZXRwdHMtPnZhcl92YWx1ZXNbVkFSX1NUQVJUUFRTXSAgICA9IE5BTjsK ICAgICBzZXRwdHMtPnZhcl92YWx1ZXNbVkFSX1NUQVJUVF0gICAgICA9IE5BTjsKKyAgICBzZXRw dHMtPnZhcl92YWx1ZXNbVkFSX1RfQ0hBTkdFXSAgICA9IE5BTjsKICAgICByZXR1cm4gMDsKIH0K IApAQCAtMTYzLDYgKzE2Niw5IEBAIHN0YXRpYyBkb3VibGUgZXZhbF9wdHMoU2V0UFRTQ29udGV4 dCAqc2V0cHRzLCBBVkZpbHRlckxpbmsgKmlubGluaywgQVZGcmFtZSAqZnJhCiAgICAgICAgIHNl dHB0cy0+dmFyX3ZhbHVlc1tWQVJfU1RBUlRQVFNdID0gVFMyRChwdHMpOwogICAgICAgICBzZXRw dHMtPnZhcl92YWx1ZXNbVkFSX1NUQVJUVCAgXSA9IFRTMlQocHRzLCBpbmxpbmstPnRpbWVfYmFz ZSk7CiAgICAgfQorICAgIGlmIChpc25hbihzZXRwdHMtPnZhcl92YWx1ZXNbVkFSX1RfQ0hBTkdF XSkpIHsKKyAgICAgICAgc2V0cHRzLT52YXJfdmFsdWVzW1ZBUl9UX0NIQU5HRV0gPSBUUzJUKHB0 cywgaW5saW5rLT50aW1lX2Jhc2UpOworICAgIH0KICAgICBzZXRwdHMtPnZhcl92YWx1ZXNbVkFS X1BUUyAgICAgICBdID0gVFMyRChwdHMpOwogICAgIHNldHB0cy0+dmFyX3ZhbHVlc1tWQVJfVCAg ICAgICAgIF0gPSBUUzJUKHB0cywgaW5saW5rLT50aW1lX2Jhc2UpOwogI2lmIEZGX0FQSV9GUkFN RV9QS1QKQEAgLTI2OSwxNCArMjc1LDQwIEBAIHN0YXRpYyBhdl9jb2xkIHZvaWQgdW5pbml0KEFW RmlsdGVyQ29udGV4dCAqY3R4KQogICAgIHNldHB0cy0+ZXhwciA9IE5VTEw7CiB9CiAKK3N0YXRp YyBpbnQgcHJvY2Vzc19jb21tYW5kKEFWRmlsdGVyQ29udGV4dCAqY3R4LCBjb25zdCBjaGFyICpj bWQsIGNvbnN0IGNoYXIgKmFyZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKnJl cywgaW50IHJlc19sZW4sIGludCBmbGFncykKK3sKKyAgICBTZXRQVFNDb250ZXh0ICpzZXRwdHMg PSBjdHgtPnByaXY7CisgICAgaW50IHJldDsKKworICAgIHJldCA9IGZmX2ZpbHRlcl9wcm9jZXNz X2NvbW1hbmQoY3R4LCBjbWQsIGFyZywgcmVzLCByZXNfbGVuLCBmbGFncyk7CisKKyAgICBpZiAo cmV0IDwgMCkKKyAgICAgICAgcmV0dXJuIHJldDsKKworICAgIGlmICghc3RyY21wKGNtZCwgImV4 cHIiKSkgeworICAgICAgICBhdl9leHByX2ZyZWUoc2V0cHRzLT5leHByKTsKKyAgICAgICAgcmV0 ID0gYXZfZXhwcl9wYXJzZSgmc2V0cHRzLT5leHByLCBhcmcsIHZhcl9uYW1lcywgTlVMTCwgTlVM TCwgTlVMTCwgTlVMTCwgMCwgY3R4KTsKKyAgICAgICAgaWYgKHJldCA8IDApIHsKKyAgICAgICAg ICAgIGF2X2xvZyhjdHgsIEFWX0xPR19FUlJPUiwgIkVycm9yIHdoaWxlIHBhcnNpbmcgZXhwcmVz c2lvbiAnJXMnXG4iLCBhcmcpOworICAgICAgICB9CisgICAgICAgIHNldHB0cy0+dmFyX3ZhbHVl c1tWQVJfVF9DSEFOR0VdID0gTkFOOworICAgIH0gZWxzZSB7CisgICAgICAgIHJldCA9IEFWRVJS T1IoRUlOVkFMKTsKKyAgICB9CisKKyAgICByZXR1cm4gcmV0OworfQorCiAjZGVmaW5lIE9GRlNF VCh4KSBvZmZzZXRvZihTZXRQVFNDb250ZXh0LCB4KQogI2RlZmluZSBWIEFWX09QVF9GTEFHX1ZJ REVPX1BBUkFNCiAjZGVmaW5lIEEgQVZfT1BUX0ZMQUdfQVVESU9fUEFSQU0KKyNkZWZpbmUgUiBB Vl9PUFRfRkxBR19SVU5USU1FX1BBUkFNCiAjZGVmaW5lIEYgQVZfT1BUX0ZMQUdfRklMVEVSSU5H X1BBUkFNCiAKICNpZiBDT05GSUdfU0VUUFRTX0ZJTFRFUgogc3RhdGljIGNvbnN0IEFWT3B0aW9u IHNldHB0c19vcHRpb25zW10gPSB7Ci0gICAgeyAiZXhwciIsICJFeHByZXNzaW9uIGRldGVybWlu aW5nIHRoZSBmcmFtZSB0aW1lc3RhbXAiLCBPRkZTRVQoZXhwcl9zdHIpLCBBVl9PUFRfVFlQRV9T VFJJTkcsIHsgLnN0ciA9ICJQVFMiIH0sIC5mbGFncyA9IFZ8RiB9LAorICAgIHsgImV4cHIiLCAi RXhwcmVzc2lvbiBkZXRlcm1pbmluZyB0aGUgZnJhbWUgdGltZXN0YW1wIiwgT0ZGU0VUKGV4cHJf c3RyKSwgQVZfT1BUX1RZUEVfU1RSSU5HLCB7IC5zdHIgPSAiUFRTIiB9LCAuZmxhZ3MgPSBWfEZ8 UiB9LAogICAgIHsgTlVMTCB9CiB9OwogQVZGSUxURVJfREVGSU5FX0NMQVNTKHNldHB0cyk7CkBA IC0yOTcsMTIgKzMyOSwxMyBAQCBzdGF0aWMgY29uc3QgQVZGaWx0ZXJQYWQgYXZmaWx0ZXJfdmZf c2V0cHRzX291dHB1dHNbXSA9IHsKIH07CiAKIGNvbnN0IEFWRmlsdGVyIGZmX3ZmX3NldHB0cyA9 IHsKLSAgICAubmFtZSAgICAgID0gInNldHB0cyIsCi0gICAgLmRlc2NyaXB0aW9uID0gTlVMTF9J Rl9DT05GSUdfU01BTEwoIlNldCBQVFMgZm9yIHRoZSBvdXRwdXQgdmlkZW8gZnJhbWUuIiksCi0g ICAgLmluaXQgICAgICA9IGluaXQsCi0gICAgLmFjdGl2YXRlICA9IGFjdGl2YXRlLAotICAgIC51 bmluaXQgICAgPSB1bmluaXQsCi0gICAgLmZsYWdzICAgICA9IEFWRklMVEVSX0ZMQUdfTUVUQURB VEFfT05MWSwKKyAgICAubmFtZSAgICAgICAgICAgID0gInNldHB0cyIsCisgICAgLmRlc2NyaXB0 aW9uICAgICA9IE5VTExfSUZfQ09ORklHX1NNQUxMKCJTZXQgUFRTIGZvciB0aGUgb3V0cHV0IHZp ZGVvIGZyYW1lLiIpLAorICAgIC5pbml0ICAgICAgICAgICAgPSBpbml0LAorICAgIC5hY3RpdmF0 ZSAgICAgICAgPSBhY3RpdmF0ZSwKKyAgICAudW5pbml0ICAgICAgICAgID0gdW5pbml0LAorICAg IC5wcm9jZXNzX2NvbW1hbmQgPSBwcm9jZXNzX2NvbW1hbmQsCisgICAgLmZsYWdzICAgICAgICAg ICA9IEFWRklMVEVSX0ZMQUdfTUVUQURBVEFfT05MWSwKIAogICAgIC5wcml2X3NpemUgPSBzaXpl b2YoU2V0UFRTQ29udGV4dCksCiAgICAgLnByaXZfY2xhc3MgPSAmc2V0cHRzX2NsYXNzLApAQCAt MzE1LDcgKzM0OCw3IEBAIGNvbnN0IEFWRmlsdGVyIGZmX3ZmX3NldHB0cyA9IHsKICNpZiBDT05G SUdfQVNFVFBUU19GSUxURVIKIAogc3RhdGljIGNvbnN0IEFWT3B0aW9uIGFzZXRwdHNfb3B0aW9u c1tdID0gewotICAgIHsgImV4cHIiLCAiRXhwcmVzc2lvbiBkZXRlcm1pbmluZyB0aGUgZnJhbWUg dGltZXN0YW1wIiwgT0ZGU0VUKGV4cHJfc3RyKSwgQVZfT1BUX1RZUEVfU1RSSU5HLCB7IC5zdHIg PSAiUFRTIiB9LCAuZmxhZ3MgPSBBfEYgfSwKKyAgICB7ICJleHByIiwgIkV4cHJlc3Npb24gZGV0 ZXJtaW5pbmcgdGhlIGZyYW1lIHRpbWVzdGFtcCIsIE9GRlNFVChleHByX3N0ciksIEFWX09QVF9U WVBFX1NUUklORywgeyAuc3RyID0gIlBUUyIgfSwgLmZsYWdzID0gQXxGfFIgfSwKICAgICB7IE5V TEwgfQogfTsKIEFWRklMVEVSX0RFRklORV9DTEFTUyhhc2V0cHRzKTsKQEAgLTMzNiwxNCArMzY5 LDE1IEBAIHN0YXRpYyBjb25zdCBBVkZpbHRlclBhZCBhc2V0cHRzX291dHB1dHNbXSA9IHsKIH07 CiAKIGNvbnN0IEFWRmlsdGVyIGZmX2FmX2FzZXRwdHMgPSB7Ci0gICAgLm5hbWUgICAgICAgID0g ImFzZXRwdHMiLAotICAgIC5kZXNjcmlwdGlvbiA9IE5VTExfSUZfQ09ORklHX1NNQUxMKCJTZXQg UFRTIGZvciB0aGUgb3V0cHV0IGF1ZGlvIGZyYW1lLiIpLAotICAgIC5pbml0ICAgICAgICA9IGlu aXQsCi0gICAgLmFjdGl2YXRlICAgID0gYWN0aXZhdGUsCi0gICAgLnVuaW5pdCAgICAgID0gdW5p bml0LAotICAgIC5wcml2X3NpemUgICA9IHNpemVvZihTZXRQVFNDb250ZXh0KSwKLSAgICAucHJp dl9jbGFzcyAgPSAmYXNldHB0c19jbGFzcywKLSAgICAuZmxhZ3MgICAgICAgPSBBVkZJTFRFUl9G TEFHX01FVEFEQVRBX09OTFksCisgICAgLm5hbWUgICAgICAgICAgICA9ICJhc2V0cHRzIiwKKyAg ICAuZGVzY3JpcHRpb24gICAgID0gTlVMTF9JRl9DT05GSUdfU01BTEwoIlNldCBQVFMgZm9yIHRo ZSBvdXRwdXQgYXVkaW8gZnJhbWUuIiksCisgICAgLmluaXQgICAgICAgICAgICA9IGluaXQsCisg ICAgLmFjdGl2YXRlICAgICAgICA9IGFjdGl2YXRlLAorICAgIC51bmluaXQgICAgICAgICAgPSB1 bmluaXQsCisgICAgLnByb2Nlc3NfY29tbWFuZCA9IHByb2Nlc3NfY29tbWFuZCwKKyAgICAucHJp dl9zaXplICAgICAgID0gc2l6ZW9mKFNldFBUU0NvbnRleHQpLAorICAgIC5wcml2X2NsYXNzICAg ICAgPSAmYXNldHB0c19jbGFzcywKKyAgICAuZmxhZ3MgICAgICAgICAgID0gQVZGSUxURVJfRkxB R19NRVRBREFUQV9PTkxZLAogICAgIEZJTFRFUl9JTlBVVFMoYXNldHB0c19pbnB1dHMpLAogICAg IEZJTFRFUl9PVVRQVVRTKGFzZXRwdHNfb3V0cHV0cyksCiB9OwotLSAKMi40MC4wCgo= --0000000000006dda6905faa81c89 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ 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". --0000000000006dda6905faa81c89--