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 38CAE464D2 for ; Mon, 19 Jun 2023 17:57:12 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 248A968BFA1; Mon, 19 Jun 2023 20:57:10 +0300 (EEST) Received: from mail-vk1-f179.google.com (mail-vk1-f179.google.com [209.85.221.179]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6D2CC68A4A6 for ; Mon, 19 Jun 2023 20:57:03 +0300 (EEST) Received: by mail-vk1-f179.google.com with SMTP id 71dfb90a1353d-466422f271bso345652e0c.0 for ; Mon, 19 Jun 2023 10:57:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687197422; x=1689789422; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=pCtdoNBsrg95YjQQUSPrbfpda9BfsszlJJJWwqJbQ/0=; b=pHjwtNUj9htqyhHxygM1c8QTtO/s8LBgT8FpWpJB5ydz1v6rJIYbwmurrfJ6025Mp4 vL7U479N1Zyx5rgfLnvFmcVq11iqH1m6/fO/yoT5jFpZLL3844v98/6Ogtyvp9S1+DdE E9iHkpSAEEYWCvb/B78QhMH6d1REHAWM9AHIQkTvTPC6SMgbAsIqG7ysffR3lC3BUgWs qLtIoMe63Gy3SN8OEx3L0glARpLOqY9Ll3sv+vNPXHZQjU6I0MO3UkkWrmVTq1+TYRN5 kkecZZdveKLXMh7Q0XfXzRrY6ntfCUoSmp3GoW4kA5/dBQKMfbtsYPnMvZ6zwDnB0epp xn2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687197422; x=1689789422; 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=pCtdoNBsrg95YjQQUSPrbfpda9BfsszlJJJWwqJbQ/0=; b=Cg6zI+0xK/EWrVl2JX7iXLRFFzSipxKJ/YSHLhEUK1tn2C1o/M4Yfs8KA6EldvnJH9 LYciktB2XsHNL6dx9DyibU2sIzupyCmAuIj7vzs/3OCHIfPp2tZxVQlOURlP6L1LhCC+ 7klbu5NeILemzW8mPzCUs0u57MDWx0qoOO8Es6f2Uh9LDf72kk1BOzTYIUzl4jdR3SfB hEE3gRr1jpuR3nsYGRivYx6ZXbECqHaeYkpQej1EShF2nfBCVu4DIsiBTQ30Ye+B1hU3 1/hIIu4DdLru1h0Pk4UCzApTTD1mZ6po7MTCc8QQemMqrMOMx6IFjboak6mnUDyuO8JZ iMMA== X-Gm-Message-State: AC+VfDzX/xPxA6F6ASPix8YTemek05x+vSOVVieAOkXUzJwCRo8dh+5k ncr0Xl/iHHfGXEGv7+WnLfPlKlun+Xc3m+yn/zU= X-Google-Smtp-Source: ACHHUZ6XW6my2fjrJFdiffYa+1IfL/OcsQI5GpFYoDsuTyKDj3pv7kgqkKNhH+ZVr6hbT2mkqrhI63fVxRKavyvIVhE= X-Received: by 2002:a1f:fec8:0:b0:471:590d:2c8d with SMTP id l191-20020a1ffec8000000b00471590d2c8dmr3169905vki.0.1687197421833; Mon, 19 Jun 2023 10:57:01 -0700 (PDT) MIME-Version: 1.0 References: <20230619163347.1317-1-mark.ren77@gmail.com> In-Reply-To: From: Mark Ren Date: Mon, 19 Jun 2023 13:56:50 -0400 Message-ID: To: Paul B Mahol 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: FFmpeg development discussions and patches 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: QWggYWxyaWdodCBJIHNlZS4gV2hlbiBtaWdodCB0aGF0IHB1c2ggY29tZSB0aHJvdWdoIGFuZCBp cyB0aGVyZSBzb21ld2hlcmUKSSBjYW4gbG9vayBhdCB0aGUga2luZCBvZiBjaGFuZ2VzIGluIHRo ZSBtZWFudGltZT8KCk9uIE1vbiwgSnVuIDE5LCAyMDIzIGF0IDEyOjM54oCvUE0gUGF1bCBCIE1h aG9sIDxvbmVtZGFAZ21haWwuY29tPiB3cm90ZToKCj4KPgo+IE9uIE1vbiwgSnVuIDE5LCAyMDIz IGF0IDY6MzTigK9QTSBNYXJrIFJlbiA8bWFyay5yZW43N0BnbWFpbC5jb20+IHdyb3RlOgo+Cj4+ IFdoZW4gZW5hYmxlZCBpdCB3aWxsIGFkZCBwaXhlbHMgKG9yIHN1YnRyYWN0IGlmIGdpdmVuIGEg bmVnYXRpdmUgdmFsdWUpCj4+IGJldHdlZW4gZWFjaCBsZXR0ZXJzLAo+PiBzZXQgdXNlX2tlcm5p bmcgdG8gZmFsc2UsCj4+IGFuZCBhZGQgdGhlIHBpeGVscyB0byB0ZXh0X3cuCj4+Cj4KPiBDb25m bGljdHMgd2l0aCBiaWcgZHJhd3RleHQgZmlsdGVyIHNldCB0aGF0IHdpbGwgYmUgcHVzaGVkIHNv b24uCj4KPgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBNYXJrIFJlbiA8bWFyay5yZW43N0BnbWFpbC5j b20+Cj4+IC0tLQo+PiAgbGliYXZmaWx0ZXIvdmZfZHJhd3RleHQuYyB8IDI0ICsrKysrKysrKysr KysrKysrKysrLS0tLQo+PiAgMSBmaWxlIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDQgZGVs ZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92Zl9kcmF3dGV4dC5jIGIv bGliYXZmaWx0ZXIvdmZfZHJhd3RleHQuYwo+PiBpbmRleCA3MWFiODUxNDYyLi5lYzgzMTM4MjBk IDEwMDY0NAo+PiAtLS0gYS9saWJhdmZpbHRlci92Zl9kcmF3dGV4dC5jCj4+ICsrKyBiL2xpYmF2 ZmlsdGVyL3ZmX2RyYXd0ZXh0LmMKPj4gQEAgLTE4Myw2ICsxODMsNyBAQCB0eXBlZGVmIHN0cnVj dCBEcmF3VGV4dENvbnRleHQgewo+PiAgICAgIHVuc2lnbmVkIGludCBmb250c2l6ZTsgICAgICAg ICAgLy8vPCBmb250IHNpemUgdG8gdXNlCj4+ICAgICAgdW5zaWduZWQgaW50IGRlZmF1bHRfZm9u dHNpemU7ICAvLy88IGRlZmF1bHQgZm9udCBzaXplIHRvIHVzZQo+Pgo+PiArICAgIGludCBsZXR0 ZXJfc3BhY2luZzsgICAgICAgICAgICAgLy8vPCBsZXR0ZXIgc3BhY2luZyBpbiBwaXhlbHMKPj4g ICAgICBpbnQgbGluZV9zcGFjaW5nOyAgICAgICAgICAgICAgIC8vLzwgbGluZXMgc3BhY2luZyBp biBwaXhlbHMKPj4gICAgICBzaG9ydCBpbnQgZHJhd19ib3g7ICAgICAgICAgICAgIC8vLzwgZHJh dyBib3ggYXJvdW5kIHRleHQgLSB0cnVlIG9yCj4+IGZhbHNlCj4+ICAgICAgaW50IGJveGJvcmRl cnc7ICAgICAgICAgICAgICAgICAvLy88IGJveCBib3JkZXIgd2lkdGgKPj4gQEAgLTIwOCw2ICsy MDksOCBAQCB0eXBlZGVmIHN0cnVjdCBEcmF3VGV4dENvbnRleHQgewo+PiAgICAgIGNoYXIgICAq YV9leHByOwo+PiAgICAgIEFWRXhwciAqYV9wZXhwcjsKPj4gICAgICBpbnQgYWxwaGE7Cj4+ICsg ICAgY2hhciogbGV0dGVyX3NwYWNpbmdfZXhwcjsgICAgICAvLy88IGV4cHJlc3Npb24gZm9yIGxl dHRlciBzcGFjaW5nCj4+ICsgICAgQVZFeHByKiBsZXR0ZXJfc3BhY2luZ19wZXhwcjsgICAvLy88 IHBhcnNlZCBleHByZXNzaW9uIGZvciBsZXR0ZXIKPj4gc3BhY2luZwo+PiAgICAgIEFWTEZHICBw cm5nOyAgICAgICAgICAgICAgICAgICAgLy8vPCByYW5kb20KPj4gICAgICBjaGFyICAgICAgICp0 Y19vcHRfc3RyaW5nOyAgICAgIC8vLzwgc3BlY2lmaWVkIHRpbWVjb2RlIG9wdGlvbiBzdHJpbmcK Pj4gICAgICBBVlJhdGlvbmFsICB0Y19yYXRlOyAgICAgICAgICAgIC8vLzwgZnJhbWUgcmF0ZSBm b3IgdGltZWNvZGUKPj4gQEAgLTIzNyw2ICsyNDAsNyBAQCBzdGF0aWMgY29uc3QgQVZPcHRpb24g ZHJhd3RleHRfb3B0aW9uc1tdPSB7Cj4+ICAgICAgeyJzaGFkb3djb2xvciIsICJzZXQgc2hhZG93 IGNvbG9yIiwgICAgIE9GRlNFVChzaGFkb3djb2xvci5yZ2JhKSwKPj4gIEFWX09QVF9UWVBFX0NP TE9SLCAgey5zdHI9ImJsYWNrIn0sIDAsIDAsIEZMQUdTfSwKPj4gICAgICB7ImJveCIsICAgICAg ICAgInNldCBib3giLCAgICAgICAgICAgICAgT0ZGU0VUKGRyYXdfYm94KSwKPj4gIEFWX09QVF9U WVBFX0JPT0wsICAgey5pNjQ9MH0sICAgICAwLCAgICAgICAgMSAgICAgICAsIEZMQUdTfSwKPj4g ICAgICB7ImJveGJvcmRlcnciLCAgInNldCBib3ggYm9yZGVyIHdpZHRoIiwgT0ZGU0VUKGJveGJv cmRlcncpLAo+PiAgQVZfT1BUX1RZUEVfSU5ULCAgICB7Lmk2ND0wfSwgICAgIElOVF9NSU4sICBJ TlRfTUFYICwgRkxBR1N9LAo+PiArICAgIHsibGV0dGVyX3NwYWNpbmciLCAic2V0IGxldHRlciBz cGFjaW5nIGluIHBpeGVscyIsCj4+IE9GRlNFVChsZXR0ZXJfc3BhY2luZ19leHByKSwgQVZfT1BU X1RZUEVfU1RSSU5HLCB7LnN0cj0iMCJ9LCAwLCAwLCBGTEFHU30sCj4+ICAgICAgeyJsaW5lX3Nw YWNpbmciLCAgInNldCBsaW5lIHNwYWNpbmcgaW4gcGl4ZWxzIiwKPj4gT0ZGU0VUKGxpbmVfc3Bh Y2luZyksICAgQVZfT1BUX1RZUEVfSU5ULCAgICB7Lmk2ND0wfSwgICAgIElOVF9NSU4sCj4+IElO VF9NQVgsRkxBR1N9LAo+PiAgICAgIHsiZm9udHNpemUiLCAgICAic2V0IGZvbnQgc2l6ZSIsICAg ICAgICBPRkZTRVQoZm9udHNpemVfZXhwciksCj4+IEFWX09QVF9UWVBFX1NUUklORywgey5zdHI9 TlVMTH0sICAwLCAwICwgRkxBR1N9LAo+PiAgICAgIHsieCIsICAgICAgICAgICAic2V0IHggZXhw cmVzc2lvbiIsICAgICBPRkZTRVQoeF9leHByKSwKPj4gIEFWX09QVF9UWVBFX1NUUklORywgey5z dHI9IjAifSwgICAwLCAwLCBGTEFHU30sCj4+IEBAIC04MTIsNyArODE2LDcgQEAgc3RhdGljIGF2 X2NvbGQgaW50IGluaXQoQVZGaWx0ZXJDb250ZXh0ICpjdHgpCj4+ICAgICAgICAgICAgICAgICAg ICAgICAgIEZUX1NUUk9LRVJfTElORUpPSU5fUk9VTkQsIDApOwo+PiAgICAgIH0KPj4KPj4gLSAg ICBzLT51c2Vfa2VybmluZyA9IEZUX0hBU19LRVJOSU5HKHMtPmZhY2UpOwo+PiArICAgIHMtPnVz ZV9rZXJuaW5nID0gRlRfSEFTX0tFUk5JTkcocy0+ZmFjZSkgJiYgIXMtPmxldHRlcl9zcGFjaW5n Owo+Pgo+PiAgICAgIC8qIGxvYWQgdGhlIGZhbGxiYWNrIGdseXBoIHdpdGggY29kZSAwICovCj4+ ICAgICAgbG9hZF9nbHlwaChjdHgsIE5VTEwsIDApOwo+PiBAQCAtODU3LDggKzg2MSw5IEBAIHN0 YXRpYyBhdl9jb2xkIHZvaWQgdW5pbml0KEFWRmlsdGVyQ29udGV4dCAqY3R4KQo+PiAgICAgIGF2 X2V4cHJfZnJlZShzLT55X3BleHByKTsKPj4gICAgICBhdl9leHByX2ZyZWUocy0+YV9wZXhwcik7 Cj4+ICAgICAgYXZfZXhwcl9mcmVlKHMtPmZvbnRzaXplX3BleHByKTsKPj4gKyAgICBhdl9leHBy X2ZyZWUocy0+bGV0dGVyX3NwYWNpbmdfcGV4cHIpOwo+Pgo+PiAtICAgIHMtPnhfcGV4cHIgPSBz LT55X3BleHByID0gcy0+YV9wZXhwciA9IHMtPmZvbnRzaXplX3BleHByID0gTlVMTDsKPj4gKyAg ICBzLT54X3BleHByID0gcy0+eV9wZXhwciA9IHMtPmFfcGV4cHIgPSBzLT5mb250c2l6ZV9wZXhw ciA9Cj4+IHMtPmxldHRlcl9zcGFjaW5nX3BleHByID0gTlVMTDsKPj4KPj4gICAgICBhdl9mcmVl cCgmcy0+cG9zaXRpb25zKTsKPj4gICAgICBzLT5uYl9wb3NpdGlvbnMgPSAwOwo+PiBAQCAtOTAz LDEzICs5MDgsMTYgQEAgc3RhdGljIGludCBjb25maWdfaW5wdXQoQVZGaWx0ZXJMaW5rICppbmxp bmspCj4+ICAgICAgYXZfZXhwcl9mcmVlKHMtPnhfcGV4cHIpOwo+PiAgICAgIGF2X2V4cHJfZnJl ZShzLT55X3BleHByKTsKPj4gICAgICBhdl9leHByX2ZyZWUocy0+YV9wZXhwcik7Cj4+IC0gICAg cy0+eF9wZXhwciA9IHMtPnlfcGV4cHIgPSBzLT5hX3BleHByID0gTlVMTDsKPj4gKyAgICBhdl9l eHByX2ZyZWUocy0+bGV0dGVyX3NwYWNpbmdfcGV4cHIpOwo+PiArICAgIHMtPnhfcGV4cHIgPSBz LT55X3BleHByID0gcy0+YV9wZXhwciA9IHMtPmxldHRlcl9zcGFjaW5nX3BleHByID0KPj4gTlVM TDsKPj4KPj4gICAgICBpZiAoKHJldCA9IGF2X2V4cHJfcGFyc2UoJnMtPnhfcGV4cHIsIGV4cHIg PSBzLT54X2V4cHIsIHZhcl9uYW1lcywKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TlVMTCwgTlVMTCwgZnVuMl9uYW1lcywgZnVuMiwgMCwgY3R4KSkgPCAwCj4+IHx8Cj4+ICAgICAg ICAgIChyZXQgPSBhdl9leHByX3BhcnNlKCZzLT55X3BleHByLCBleHByID0gcy0+eV9leHByLCB2 YXJfbmFtZXMsCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwsIGZ1 bjJfbmFtZXMsIGZ1bjIsIDAsIGN0eCkpIDwgMAo+PiB8fAo+PiAgICAgICAgICAocmV0ID0gYXZf ZXhwcl9wYXJzZSgmcy0+YV9wZXhwciwgZXhwciA9IHMtPmFfZXhwciwgdmFyX25hbWVzLAo+PiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMLCBmdW4yX25hbWVzLCBmdW4y LCAwLCBjdHgpKSA8IDAKPj4gfHwKPj4gKyAgICAgICAgKHJldCA9IGF2X2V4cHJfcGFyc2UoJnMt PmxldHRlcl9zcGFjaW5nX3BleHByLCBleHByID0KPj4gcy0+bGV0dGVyX3NwYWNpbmdfZXhwciwg dmFyX25hbWVzLAo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMLCBm dW4yX25hbWVzLCBmdW4yLCAwLCBjdHgpKSA8IDApCj4+IHsKPj4gICAgICAgICAgYXZfbG9nKGN0 eCwgQVZfTE9HX0VSUk9SLCAiRmFpbGVkIHRvIHBhcnNlIGV4cHJlc3Npb246ICVzIFxuIiwKPj4g ZXhwcik7Cj4+ICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZBTCk7Cj4+IEBAIC0xNTI1LDYg KzE1MzMsOSBAQCBjb250aW51ZV9vbl9pbnZhbGlkMjoKPj4gICAgICAgICAgZHVtbXkuZm9udHNp emUgPSBzLT5mb250c2l6ZTsKPj4gICAgICAgICAgZ2x5cGggPSBhdl90cmVlX2ZpbmQocy0+Z2x5 cGhzLCAmZHVtbXksIGdseXBoX2NtcCwgTlVMTCk7Cj4+Cj4+ICsgICAgICAgIC8qIGxldHRlciBz cGFjaW5nICovCj4+ICsgICAgICAgIHggKz0gcy0+bGV0dGVyX3NwYWNpbmc7Cj4+ICsKPj4gICAg ICAgICAgLyoga2VybmluZyAqLwo+PiAgICAgICAgICBpZiAocy0+dXNlX2tlcm5pbmcgJiYgcHJl dl9nbHlwaCAmJiBnbHlwaC0+Y29kZSkgewo+PiAgICAgICAgICAgICAgRlRfR2V0X0tlcm5pbmco cy0+ZmFjZSwgcHJldl9nbHlwaC0+Y29kZSwgZ2x5cGgtPmNvZGUsCj4+IEBAIC0xNTM5LDcgKzE1 NTAsMTIgQEAgY29udGludWVfb25faW52YWxpZDI6Cj4+ICAgICAgICAgIGVsc2UgICAgICAgICAg ICAgIHggKz0gZ2x5cGgtPmFkdmFuY2U7Cj4+ICAgICAgfQo+Pgo+PiAtICAgIG1heF90ZXh0X2xp bmVfdyA9IEZGTUFYKHgsIG1heF90ZXh0X2xpbmVfdyk7Cj4+ICsgICAgcy0+bGV0dGVyX3NwYWNp bmcgPSBhdl9leHByX2V2YWwocy0+bGV0dGVyX3NwYWNpbmdfcGV4cHIsCj4+IHMtPnZhcl92YWx1 ZXMsICZzLT5wcm5nKTsKPj4gKyAgICBpZiAocy0+bGV0dGVyX3NwYWNpbmcgPCAwKSB7Cj4+ICsg ICAgICAgIG1heF90ZXh0X2xpbmVfdyA9IHgrIHMtPmxldHRlcl9zcGFjaW5nOwo+PiArICAgIH0g ZWxzZSB7Cj4+ICsgICAgICAgIG1heF90ZXh0X2xpbmVfdyA9IEZGTUFYKHgsIG1heF90ZXh0X2xp bmVfdykgKyBzLT5sZXR0ZXJfc3BhY2luZzsKPj4gKyAgICB9Cj4+Cj4+ICAgICAgcy0+dmFyX3Zh bHVlc1tWQVJfVFddID0gcy0+dmFyX3ZhbHVlc1tWQVJfVEVYVF9XXSA9IG1heF90ZXh0X2xpbmVf dzsKPj4gICAgICBzLT52YXJfdmFsdWVzW1ZBUl9USF0gPSBzLT52YXJfdmFsdWVzW1ZBUl9URVhU X0hdID0geSArCj4+IHMtPm1heF9nbHlwaF9oOwo+PiAtLQo+PiAyLjQwLjEKPj4KPj4gX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4gZmZtcGVnLWRldmVs IG1haWxpbmcgbGlzdAo+PiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwo+PiBodHRwczovL2ZmbXBl Zy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKPj4KPj4gVG8gdW5zdWJzY3JpYmUs IHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCj4+IGZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBl Zy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCj4+Cj4KX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApm Zm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5m by9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFp bApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3Jp YmUiLgo=