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 DB6B646820 for ; Mon, 19 Jun 2023 16:39:58 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9AAA868BF13; Mon, 19 Jun 2023 19:39:55 +0300 (EEST) Received: from mail-vs1-f43.google.com (mail-vs1-f43.google.com [209.85.217.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2DCC768A210 for ; Mon, 19 Jun 2023 19:39:49 +0300 (EEST) Received: by mail-vs1-f43.google.com with SMTP id ada2fe7eead31-440ad8ea514so355776137.2 for ; Mon, 19 Jun 2023 09:39:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687192787; x=1689784787; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=YU8JPJJxfO7kP/JkG5+YYH2PqybK17XljxFOWDBn4e8=; b=mr9CXcNDMwRGE+mYVWDtWqvFj6Clg9zNon0wcKKPP8ViCLUZtszwCbBhl2eUpT2BO/ YpFztvjwnFPgN1j9iS2jUde/8/GzTQdWroUuT8TiXK7e+TU67iVLxLHaAs6PJsuj/yBd T8rLf0CoXFoPOy1CPIy18x0qzYh0L0PF4e+wGGt8KblWR82APK46KczRQdMSeZ5zMuHU YU0WxaWKVsS6UaqIJbieo4AgOS08fJk42rY/h3Ooam4O9jHd7alIIwR3n5MgRqLJhSE+ CSqbR5mkCMevShwencnMM2Y1k3cgId117bwHursZ0MlsgQz7KeUPhTY+nYfHldpsT0rR /0tA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687192787; x=1689784787; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=YU8JPJJxfO7kP/JkG5+YYH2PqybK17XljxFOWDBn4e8=; b=WEMTq4NJtdKE3KMhZb7n4SL/tK7a4m8TAsdLn2aPq1cwK5vGZHty+uAvjxnVsaqkbh VHAcKZGpVFh4Cxc76B1UTP0TukUCEM5OboVG3pKqw3MN4ltE0+JUIxQXZ73VajMvN/6M VKELilpF6L5TYbSAaMLbjbqKsIhp882s1jGYe19xt4ldrZStgLFbJXS71D+uyerUK6vC G+zZzsK7zXixjrjwLP28+7lvvE4pHo0pTgaVvdP/Rc+KAtlGEIQKmQebYR5cMxoo4Kxd DQKA1BOcu9zxujn8iSoiIc7X3G9Wc6BKpYBbyHcnNTa0ubQXCr0l4qH6JsMrS5sQwZnN kWhQ== X-Gm-Message-State: AC+VfDxQ86cmY5mAecBZdjClneSw4yKRU7u7bXD+sj7cWl3hJOJnGkyV cXhO1pl7I9+6fstsLffPYZP33ZJfamzztJSY/7iVNb7B X-Google-Smtp-Source: ACHHUZ7lNYTa86VnD6AwgNQ1n81c25/ZRiY0/fQdVpJbGh541y2TeLxjCYnsOrMobGrG7XcRRnRpWruEwCGjVMhBpkg= X-Received: by 2002:a67:d087:0:b0:438:d4bd:f1f2 with SMTP id s7-20020a67d087000000b00438d4bdf1f2mr2675174vsi.22.1687192787645; Mon, 19 Jun 2023 09:39:47 -0700 (PDT) MIME-Version: 1.0 References: <20230619163347.1317-1-mark.ren77@gmail.com> In-Reply-To: <20230619163347.1317-1-mark.ren77@gmail.com> From: Paul B Mahol Date: Mon, 19 Jun 2023 18:39:21 +0200 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH] libavfilter/vf_drawtext: add letter_spacing as an evaluated parameter 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 Cc: Mark Ren Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: T24gTW9uLCBKdW4gMTksIDIwMjMgYXQgNjozNOKAr1BNIE1hcmsgUmVuIDxtYXJrLnJlbjc3QGdt YWlsLmNvbT4gd3JvdGU6Cgo+IFdoZW4gZW5hYmxlZCBpdCB3aWxsIGFkZCBwaXhlbHMgKG9yIHN1 YnRyYWN0IGlmIGdpdmVuIGEgbmVnYXRpdmUgdmFsdWUpCj4gYmV0d2VlbiBlYWNoIGxldHRlcnMs Cj4gc2V0IHVzZV9rZXJuaW5nIHRvIGZhbHNlLAo+IGFuZCBhZGQgdGhlIHBpeGVscyB0byB0ZXh0 X3cuCj4KCkNvbmZsaWN0cyB3aXRoIGJpZyBkcmF3dGV4dCBmaWx0ZXIgc2V0IHRoYXQgd2lsbCBi ZSBwdXNoZWQgc29vbi4KCgo+Cj4gU2lnbmVkLW9mZi1ieTogTWFyayBSZW4gPG1hcmsucmVuNzdA Z21haWwuY29tPgo+IC0tLQo+ICBsaWJhdmZpbHRlci92Zl9kcmF3dGV4dC5jIHwgMjQgKysrKysr KysrKysrKysrKysrKystLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCA0 IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX2RyYXd0ZXh0LmMg Yi9saWJhdmZpbHRlci92Zl9kcmF3dGV4dC5jCj4gaW5kZXggNzFhYjg1MTQ2Mi4uZWM4MzEzODIw ZCAxMDA2NDQKPiAtLS0gYS9saWJhdmZpbHRlci92Zl9kcmF3dGV4dC5jCj4gKysrIGIvbGliYXZm aWx0ZXIvdmZfZHJhd3RleHQuYwo+IEBAIC0xODMsNiArMTgzLDcgQEAgdHlwZWRlZiBzdHJ1Y3Qg RHJhd1RleHRDb250ZXh0IHsKPiAgICAgIHVuc2lnbmVkIGludCBmb250c2l6ZTsgICAgICAgICAg Ly8vPCBmb250IHNpemUgdG8gdXNlCj4gICAgICB1bnNpZ25lZCBpbnQgZGVmYXVsdF9mb250c2l6 ZTsgIC8vLzwgZGVmYXVsdCBmb250IHNpemUgdG8gdXNlCj4KPiArICAgIGludCBsZXR0ZXJfc3Bh Y2luZzsgICAgICAgICAgICAgLy8vPCBsZXR0ZXIgc3BhY2luZyBpbiBwaXhlbHMKPiAgICAgIGlu dCBsaW5lX3NwYWNpbmc7ICAgICAgICAgICAgICAgLy8vPCBsaW5lcyBzcGFjaW5nIGluIHBpeGVs cwo+ICAgICAgc2hvcnQgaW50IGRyYXdfYm94OyAgICAgICAgICAgICAvLy88IGRyYXcgYm94IGFy b3VuZCB0ZXh0IC0gdHJ1ZSBvcgo+IGZhbHNlCj4gICAgICBpbnQgYm94Ym9yZGVydzsgICAgICAg ICAgICAgICAgIC8vLzwgYm94IGJvcmRlciB3aWR0aAo+IEBAIC0yMDgsNiArMjA5LDggQEAgdHlw ZWRlZiBzdHJ1Y3QgRHJhd1RleHRDb250ZXh0IHsKPiAgICAgIGNoYXIgICAqYV9leHByOwo+ICAg ICAgQVZFeHByICphX3BleHByOwo+ICAgICAgaW50IGFscGhhOwo+ICsgICAgY2hhciogbGV0dGVy X3NwYWNpbmdfZXhwcjsgICAgICAvLy88IGV4cHJlc3Npb24gZm9yIGxldHRlciBzcGFjaW5nCj4g KyAgICBBVkV4cHIqIGxldHRlcl9zcGFjaW5nX3BleHByOyAgIC8vLzwgcGFyc2VkIGV4cHJlc3Np b24gZm9yIGxldHRlcgo+IHNwYWNpbmcKPiAgICAgIEFWTEZHICBwcm5nOyAgICAgICAgICAgICAg ICAgICAgLy8vPCByYW5kb20KPiAgICAgIGNoYXIgICAgICAgKnRjX29wdF9zdHJpbmc7ICAgICAg Ly8vPCBzcGVjaWZpZWQgdGltZWNvZGUgb3B0aW9uIHN0cmluZwo+ICAgICAgQVZSYXRpb25hbCAg dGNfcmF0ZTsgICAgICAgICAgICAvLy88IGZyYW1lIHJhdGUgZm9yIHRpbWVjb2RlCj4gQEAgLTIz Nyw2ICsyNDAsNyBAQCBzdGF0aWMgY29uc3QgQVZPcHRpb24gZHJhd3RleHRfb3B0aW9uc1tdPSB7 Cj4gICAgICB7InNoYWRvd2NvbG9yIiwgInNldCBzaGFkb3cgY29sb3IiLCAgICAgT0ZGU0VUKHNo YWRvd2NvbG9yLnJnYmEpLAo+ICBBVl9PUFRfVFlQRV9DT0xPUiwgIHsuc3RyPSJibGFjayJ9LCAw LCAwLCBGTEFHU30sCj4gICAgICB7ImJveCIsICAgICAgICAgInNldCBib3giLCAgICAgICAgICAg ICAgT0ZGU0VUKGRyYXdfYm94KSwKPiAgQVZfT1BUX1RZUEVfQk9PTCwgICB7Lmk2ND0wfSwgICAg IDAsICAgICAgICAxICAgICAgICwgRkxBR1N9LAo+ICAgICAgeyJib3hib3JkZXJ3IiwgICJzZXQg Ym94IGJvcmRlciB3aWR0aCIsIE9GRlNFVChib3hib3JkZXJ3KSwKPiAgQVZfT1BUX1RZUEVfSU5U LCAgICB7Lmk2ND0wfSwgICAgIElOVF9NSU4sICBJTlRfTUFYICwgRkxBR1N9LAo+ICsgICAgeyJs ZXR0ZXJfc3BhY2luZyIsICJzZXQgbGV0dGVyIHNwYWNpbmcgaW4gcGl4ZWxzIiwKPiBPRkZTRVQo bGV0dGVyX3NwYWNpbmdfZXhwciksIEFWX09QVF9UWVBFX1NUUklORywgey5zdHI9IjAifSwgMCwg MCwgRkxBR1N9LAo+ICAgICAgeyJsaW5lX3NwYWNpbmciLCAgInNldCBsaW5lIHNwYWNpbmcgaW4g cGl4ZWxzIiwKPiBPRkZTRVQobGluZV9zcGFjaW5nKSwgICBBVl9PUFRfVFlQRV9JTlQsICAgIHsu aTY0PTB9LCAgICAgSU5UX01JTiwKPiBJTlRfTUFYLEZMQUdTfSwKPiAgICAgIHsiZm9udHNpemUi LCAgICAic2V0IGZvbnQgc2l6ZSIsICAgICAgICBPRkZTRVQoZm9udHNpemVfZXhwciksCj4gQVZf T1BUX1RZUEVfU1RSSU5HLCB7LnN0cj1OVUxMfSwgIDAsIDAgLCBGTEFHU30sCj4gICAgICB7Ingi LCAgICAgICAgICAgInNldCB4IGV4cHJlc3Npb24iLCAgICAgT0ZGU0VUKHhfZXhwciksCj4gIEFW X09QVF9UWVBFX1NUUklORywgey5zdHI9IjAifSwgICAwLCAwLCBGTEFHU30sCj4gQEAgLTgxMiw3 ICs4MTYsNyBAQCBzdGF0aWMgYXZfY29sZCBpbnQgaW5pdChBVkZpbHRlckNvbnRleHQgKmN0eCkK PiAgICAgICAgICAgICAgICAgICAgICAgICBGVF9TVFJPS0VSX0xJTkVKT0lOX1JPVU5ELCAwKTsK PiAgICAgIH0KPgo+IC0gICAgcy0+dXNlX2tlcm5pbmcgPSBGVF9IQVNfS0VSTklORyhzLT5mYWNl KTsKPiArICAgIHMtPnVzZV9rZXJuaW5nID0gRlRfSEFTX0tFUk5JTkcocy0+ZmFjZSkgJiYgIXMt PmxldHRlcl9zcGFjaW5nOwo+Cj4gICAgICAvKiBsb2FkIHRoZSBmYWxsYmFjayBnbHlwaCB3aXRo IGNvZGUgMCAqLwo+ICAgICAgbG9hZF9nbHlwaChjdHgsIE5VTEwsIDApOwo+IEBAIC04NTcsOCAr ODYxLDkgQEAgc3RhdGljIGF2X2NvbGQgdm9pZCB1bmluaXQoQVZGaWx0ZXJDb250ZXh0ICpjdHgp Cj4gICAgICBhdl9leHByX2ZyZWUocy0+eV9wZXhwcik7Cj4gICAgICBhdl9leHByX2ZyZWUocy0+ YV9wZXhwcik7Cj4gICAgICBhdl9leHByX2ZyZWUocy0+Zm9udHNpemVfcGV4cHIpOwo+ICsgICAg YXZfZXhwcl9mcmVlKHMtPmxldHRlcl9zcGFjaW5nX3BleHByKTsKPgo+IC0gICAgcy0+eF9wZXhw ciA9IHMtPnlfcGV4cHIgPSBzLT5hX3BleHByID0gcy0+Zm9udHNpemVfcGV4cHIgPSBOVUxMOwo+ ICsgICAgcy0+eF9wZXhwciA9IHMtPnlfcGV4cHIgPSBzLT5hX3BleHByID0gcy0+Zm9udHNpemVf cGV4cHIgPQo+IHMtPmxldHRlcl9zcGFjaW5nX3BleHByID0gTlVMTDsKPgo+ICAgICAgYXZfZnJl ZXAoJnMtPnBvc2l0aW9ucyk7Cj4gICAgICBzLT5uYl9wb3NpdGlvbnMgPSAwOwo+IEBAIC05MDMs MTMgKzkwOCwxNiBAQCBzdGF0aWMgaW50IGNvbmZpZ19pbnB1dChBVkZpbHRlckxpbmsgKmlubGlu aykKPiAgICAgIGF2X2V4cHJfZnJlZShzLT54X3BleHByKTsKPiAgICAgIGF2X2V4cHJfZnJlZShz LT55X3BleHByKTsKPiAgICAgIGF2X2V4cHJfZnJlZShzLT5hX3BleHByKTsKPiAtICAgIHMtPnhf cGV4cHIgPSBzLT55X3BleHByID0gcy0+YV9wZXhwciA9IE5VTEw7Cj4gKyAgICBhdl9leHByX2Zy ZWUocy0+bGV0dGVyX3NwYWNpbmdfcGV4cHIpOwo+ICsgICAgcy0+eF9wZXhwciA9IHMtPnlfcGV4 cHIgPSBzLT5hX3BleHByID0gcy0+bGV0dGVyX3NwYWNpbmdfcGV4cHIgPSBOVUxMOwo+Cj4gICAg ICBpZiAoKHJldCA9IGF2X2V4cHJfcGFyc2UoJnMtPnhfcGV4cHIsIGV4cHIgPSBzLT54X2V4cHIs IHZhcl9uYW1lcywKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMLCBm dW4yX25hbWVzLCBmdW4yLCAwLCBjdHgpKSA8IDAgfHwKPiAgICAgICAgICAocmV0ID0gYXZfZXhw cl9wYXJzZSgmcy0+eV9wZXhwciwgZXhwciA9IHMtPnlfZXhwciwgdmFyX25hbWVzLAo+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwsIGZ1bjJfbmFtZXMsIGZ1bjIsIDAs IGN0eCkpIDwgMCB8fAo+ICAgICAgICAgIChyZXQgPSBhdl9leHByX3BhcnNlKCZzLT5hX3BleHBy LCBleHByID0gcy0+YV9leHByLCB2YXJfbmFtZXMsCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTlVMTCwgTlVMTCwgZnVuMl9uYW1lcywgZnVuMiwgMCwgY3R4KSkgPCAwIHx8Cj4gKyAg ICAgICAgKHJldCA9IGF2X2V4cHJfcGFyc2UoJnMtPmxldHRlcl9zcGFjaW5nX3BleHByLCBleHBy ID0KPiBzLT5sZXR0ZXJfc3BhY2luZ19leHByLCB2YXJfbmFtZXMsCj4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwgZnVuMl9uYW1lcywgZnVuMiwgMCwgY3R4KSkgPCAw KSB7Cj4gICAgICAgICAgYXZfbG9nKGN0eCwgQVZfTE9HX0VSUk9SLCAiRmFpbGVkIHRvIHBhcnNl IGV4cHJlc3Npb246ICVzIFxuIiwKPiBleHByKTsKPiAgICAgICAgICByZXR1cm4gQVZFUlJPUihF SU5WQUwpOwo+IEBAIC0xNTI1LDYgKzE1MzMsOSBAQCBjb250aW51ZV9vbl9pbnZhbGlkMjoKPiAg ICAgICAgICBkdW1teS5mb250c2l6ZSA9IHMtPmZvbnRzaXplOwo+ICAgICAgICAgIGdseXBoID0g YXZfdHJlZV9maW5kKHMtPmdseXBocywgJmR1bW15LCBnbHlwaF9jbXAsIE5VTEwpOwo+Cj4gKyAg ICAgICAgLyogbGV0dGVyIHNwYWNpbmcgKi8KPiArICAgICAgICB4ICs9IHMtPmxldHRlcl9zcGFj aW5nOwo+ICsKPiAgICAgICAgICAvKiBrZXJuaW5nICovCj4gICAgICAgICAgaWYgKHMtPnVzZV9r ZXJuaW5nICYmIHByZXZfZ2x5cGggJiYgZ2x5cGgtPmNvZGUpIHsKPiAgICAgICAgICAgICAgRlRf R2V0X0tlcm5pbmcocy0+ZmFjZSwgcHJldl9nbHlwaC0+Y29kZSwgZ2x5cGgtPmNvZGUsCj4gQEAg LTE1MzksNyArMTU1MCwxMiBAQCBjb250aW51ZV9vbl9pbnZhbGlkMjoKPiAgICAgICAgICBlbHNl ICAgICAgICAgICAgICB4ICs9IGdseXBoLT5hZHZhbmNlOwo+ICAgICAgfQo+Cj4gLSAgICBtYXhf dGV4dF9saW5lX3cgPSBGRk1BWCh4LCBtYXhfdGV4dF9saW5lX3cpOwo+ICsgICAgcy0+bGV0dGVy X3NwYWNpbmcgPSBhdl9leHByX2V2YWwocy0+bGV0dGVyX3NwYWNpbmdfcGV4cHIsCj4gcy0+dmFy X3ZhbHVlcywgJnMtPnBybmcpOwo+ICsgICAgaWYgKHMtPmxldHRlcl9zcGFjaW5nIDwgMCkgewo+ ICsgICAgICAgIG1heF90ZXh0X2xpbmVfdyA9IHgrIHMtPmxldHRlcl9zcGFjaW5nOwo+ICsgICAg fSBlbHNlIHsKPiArICAgICAgICBtYXhfdGV4dF9saW5lX3cgPSBGRk1BWCh4LCBtYXhfdGV4dF9s aW5lX3cpICsgcy0+bGV0dGVyX3NwYWNpbmc7Cj4gKyAgICB9Cj4KPiAgICAgIHMtPnZhcl92YWx1 ZXNbVkFSX1RXXSA9IHMtPnZhcl92YWx1ZXNbVkFSX1RFWFRfV10gPSBtYXhfdGV4dF9saW5lX3c7 Cj4gICAgICBzLT52YXJfdmFsdWVzW1ZBUl9USF0gPSBzLT52YXJfdmFsdWVzW1ZBUl9URVhUX0hd ID0geSArCj4gcy0+bWF4X2dseXBoX2g7Cj4gLS0KPiAyLjQwLjEKPgo+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gZmZtcGVnLWRldmVsIG1haWxpbmcg bGlzdAo+IGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCj4gaHR0cHM6Ly9mZm1wZWcub3JnL21haWxt YW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCj4KPiBUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBh Ym92ZSwgb3IgZW1haWwKPiBmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3Vi amVjdCAidW5zdWJzY3JpYmUiLgo+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBl Zy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpU byB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJl cXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K