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 1EA5746065 for ; Tue, 2 May 2023 15:53:18 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BED3D68C189; Tue, 2 May 2023 18:53:15 +0300 (EEST) Received: from ursule.remlab.net (vps-a2bccee9.vps.ovh.net [51.75.19.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1321868C13D for ; Tue, 2 May 2023 18:53:10 +0300 (EEST) Received: from ursule.remlab.net (localhost [IPv6:::1]) by ursule.remlab.net (Postfix) with ESMTP id A78A0C00BE for ; Tue, 2 May 2023 18:53:09 +0300 (EEST) Received: from basile.remlab.net ([2001:14ba:a080:a501:23a6:ebae:8f2a:4d73]) by ursule.remlab.net with ESMTPSA id 7P7dJeUxUWQ1yigAwZXkwQ (envelope-from ) for ; Tue, 02 May 2023 18:53:09 +0300 From: =?ISO-8859-1?Q?R=E9mi?= Denis-Courmont To: ffmpeg-devel@ffmpeg.org Date: Tue, 02 May 2023 18:53:09 +0300 Message-ID: <3106500.VeKRRRbgAb@basile.remlab.net> Organization: Remlab In-Reply-To: <20230428095508.221826-2-george@nsup.org> References: <20230428095508.221826-1-george@nsup.org> <20230428095508.221826-2-george@nsup.org> MIME-Version: 1.0 Subject: Re: [FFmpeg-devel] [PATCH 2/8] lavu: new AVWriter API 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="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: TGUgcGVyamFudGFpbmEgMjguIGh1aHRpa3V1dGEgMjAyMywgMTIuNTUuMDIgRUVTVCBOaWNvbGFz IEdlb3JnZSBhIMOpY3JpdCA6Cj4gKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgo+ICogKyAqIEdlbmVyaWMg QVBJCj4gKwo+ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKgo+IC8gKwo+ICsjZGVmaW5lIEZJRUxET0soc3Qs IGYpICgoY2hhciAqKSgmKHN0KS0+ZiArIDEpIDw9IChjaGFyICopKHN0KSArCj4gKHN0KS0+c2Vs Zl9zaXplKSArCj4gKyNkZWZpbmUgbWV0aG9kc19hc3NlcnRfYWJpKG1ldGhvZHMpIGF2X2Fzc2Vy dDAoRklFTERPSyhtZXRob2RzLCBmbHVzaCkpCj4gKwo+ICtzdGF0aWMgdm9pZCBwcmludGZfdW5j aGVja2VkKEFWV3JpdGVyIHdyLCBjb25zdCBjaGFyICpmbXQsIC4uLikKPiArewo+ICsgICAgdmFf bGlzdCB2YTsKPiArCj4gKyAgICB2YV9zdGFydCh2YSwgZm10KTsKPiArICAgIHdyLm1ldGhvZHMt PnZwcmludGYod3IsIGZtdCwgdmEpOwo+ICsgICAgdmFfZW5kKHZhKTsKPiArfQoKSW5kaXJlY3Rp bmcgdGhlIHByaW50ZiBmdW5jdGlvbiBzZWVtcyBwcmV0dHkgcG9pbnRsZXNzLiBUaGUgbGFzdCB0 aGluZyB5b3UgCndhbnQgYXJlIGRpZmZlcmVudCBpbXBsZW1lbnRhdGlvbnMgb2YgcHJpbnRmKCkg d2l0aCBkaWZmZXJlbnQgbGltaXRhdGlvbnMuIEFuZCAKaXQgbWFrZXMgd3JpdGluZyBkaWZmZXJl bnQgYmFja2VuZHMgbmVlZGxlc3NseSBjb21wbGV4LCB3aGlsZSB5b3UgY291bGQganVzdCAKdXNl IHZhc3ByaW50ZigpLgoKVHlwaWNhbGx5LCB3aXRoIHRoaXMga2luZCBvZiBhYnN0cmFjdGlvbiwg b25seSB0aGUgcmF3IGJ5dGVzIHdyaXRpbmcgaXMgCmFic3RyYWN0ZWQgYXdheS4gRXhhbXBsZXMg aW5jbHVkZSBmdW5vcGVuKCkgYW5kIGZvcGVuY29va2llKCkuCgpBcyBmb3IgaHlwb3RoZXRpY2Fs IHVzZSBjYXNlcyB3aGVuY2UgdmFzcHJpbnRmKCkgd291bGRiIGUgInRvbyBzbG93IiwgdGhlbiAK c2hvdWxkIG5vdCB1c2UgcHJpbnRmKCktc3R5bGUgb3IgZnVuY3Rpb24gcG9pbnRlcnMgdG8gYmVn aW4gd2l0aC4gQmVzaWRlcyBpZiAKeW91IF9yZWFsbHlfIHdhbnQgdG8gYXZvaWQgdGhlIGhlYXAg YWxsb2NhdGlvbiwgeW91IGNhbiBhbHNvIHVzZSBmb3BlbmNvb2tpZSgpIApvbiBzeXN0ZW1zIHRo YXQgcHJvdmlkZSBpdCBvciBlcXVpdmFsZW50LgoKPiArdm9pZCBhdl93cml0ZXJfd3JpdGUoQVZX cml0ZXIgd3IsIGNvbnN0IGNoYXIgKmRhdGEsIHNpemVfdCBzaXplKQo+ICt7Cj4gKyAgICBtZXRo b2RzX2Fzc2VydF9hYmkod3IubWV0aG9kcyk7Cj4gKyAgICBpZiAod3IubWV0aG9kcy0+d3JpdGUp IHsKPiArICAgICAgICB3ci5tZXRob2RzLT53cml0ZSh3ciwgZGF0YSwgc2l6ZSk7Cj4gKyAgICB9 IGVsc2UgaWYgKHdyLm1ldGhvZHMtPmdldF9idWZmZXIpIHsKPiArICAgICAgICBzaXplX3QgYnVm X3NpemU7Cj4gKyAgICAgICAgY2hhciAqYnVmID0gd3IubWV0aG9kcy0+Z2V0X2J1ZmZlcih3ciwg c2l6ZSwgJmJ1Zl9zaXplKTsKPiArICAgICAgICBpZiAoYnVmX3NpemUgPiAwKQo+ICsgICAgICAg ICAgICBtZW1jcHkoYnVmLCBkYXRhLCBGRk1JTihzaXplLCBidWZfc2l6ZSkpOwo+ICsgICAgICAg IHdyaXRlX29yX2Rpc2NhcmQod3IsIGJ1Zl9zaXplLCBzaXplKTsKClRoYXQgc291bmRzIGxpa2Ug aXQgYmVsb25ncyBpbiB3aGljaGV2ZXIgYmFja2VuZCBhY3R1YWxseSB3YW50cyB0byBoZWFwLQph bGxvY2F0ZSB0aGUgb3V0cHV0IGJ1ZmZlciwgbm90IHRoZSBmcm9udGVuZC4KCj4gKyAgICB9IGVs c2UgaWYgKHdyLm1ldGhvZHMtPnZwcmludGYpIHsKPiArICAgICAgICBzaXplX3QgaTsKPiArICAg ICAgICBmb3IgKGkgPSAwOyBpIDwgc2l6ZTsgaSsrKQo+ICsgICAgICAgICAgICBwcmludGZfdW5j aGVja2VkKHdyLCAiJWMiLCBkYXRhW2ldKTsKClRoaXMgaXMgYW4gYWJzdHJhY3Rpb24gaW52ZXJz aW9uIChhbmQgYWxzbyBoaWdobHkgaW5lZmZpY2llbnQpICsgd2hhdCBJIG5vdGVkIAphYm92ZS4K Cj4gKyAgICB9IGVsc2Ugewo+ICsgICAgICAgIGF2X3dyaXRlcl9pbXBvc3NpYmxlKHdyLCAiYXZf d3JpdGVyX3dyaXRlKCkiKTsKPiArICAgIH0KPiArfQo+ICsKPiArdm9pZCBhdl93cml0ZXJfcHJp bnQoQVZXcml0ZXIgd3IsIGNvbnN0IGNoYXIgKnN0cikKPiArewoKVGhpcyBpcyBhbiBhbmFsb2d1 ZSBvZiBwdXRzL2ZwdXRzLCBub3QgInByaW50Ii4KCj4gKyAgICBhdl93cml0ZXJfd3JpdGUod3Is IHN0ciwgc3RybGVuKHN0cikpOwo+ICt9Cj4gKwo+ICt2b2lkIGF2X3dyaXRlcl9wcmludGYoQVZX cml0ZXIgd3IsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQo+ICt7Cj4gKyAgICB2YV9saXN0IHZhOwo+ ICsKPiArICAgIHZhX3N0YXJ0KHZhLCBmbXQpOwo+ICsgICAgYXZfd3JpdGVyX3ZwcmludGYod3Is IGZtdCwgdmEpOwo+ICsgICAgdmFfZW5kKHZhKTsKPiArfQo+ICsKPiArdm9pZCBhdl93cml0ZXJf dnByaW50ZihBVldyaXRlciB3ciwgY29uc3QgY2hhciAqZm10LCB2YV9saXN0IHZhKQo+ICt7Cj4g KyAgICBtZXRob2RzX2Fzc2VydF9hYmkod3IubWV0aG9kcyk7Cj4gKyAgICBpZiAod3IubWV0aG9k cy0+dnByaW50Zikgewo+ICsgICAgICAgIHdyLm1ldGhvZHMtPnZwcmludGYod3IsIGZtdCwgdmEp Owo+ICsgICAgfSBlbHNlIGlmICh3ci5tZXRob2RzLT5nZXRfYnVmZmVyKSB7Cj4gKyAgICAgICAg c2l6ZV90IGJ1Zl9zaXplOwo+ICsgICAgICAgIGNoYXIgKmJ1ZiA9IHdyLm1ldGhvZHMtPmdldF9i dWZmZXIod3IsIDEyOCwgJmJ1Zl9zaXplKTsKPiArICAgICAgICB2YV9saXN0IHZhMjsKPiArICAg ICAgICBpbnQgcmV0Owo+ICsgICAgICAgIHZhX2NvcHkodmEyLCB2YSk7Cj4gKyAgICAgICAgcmV0 ID0gdnNucHJpbnRmKGJ1ZiwgYnVmX3NpemUsIGZtdCwgdmEyKTsKPiArICAgICAgICB2YV9lbmQo dmEyKTsKPiArICAgICAgICBpZiAocmV0IDwgMCkKPiArICAgICAgICAgICAgcmV0dXJuOwo+ICsg ICAgICAgIGlmICgoc2l6ZV90KXJldCArIDEgPiBidWZfc2l6ZSkgewo+ICsgICAgICAgICAgICBi dWYgPSB3ci5tZXRob2RzLT5nZXRfYnVmZmVyKHdyLCByZXQgKyAxLCAmYnVmX3NpemUpOwo+ICsg ICAgICAgICAgICByZXQgPSB2c25wcmludGYoYnVmLCBidWZfc2l6ZSwgZm10LCB2YSk7Cj4gKyAg ICAgICAgICAgIGlmIChyZXQgPCAwKQo+ICsgICAgICAgICAgICAgICAgcmV0dXJuOwo+ICsgICAg ICAgIH0KPiArICAgICAgICB3cml0ZV9vcl9kaXNjYXJkKHdyLCBidWZfc2l6ZSwgcmV0KTsKPiAr ICAgIH0gZWxzZSBpZiAod3IubWV0aG9kcy0+d3JpdGUpIHsKPiArICAgICAgICBBVkJQcmludCBi cDsKPiArICAgICAgICBhdl9icHJpbnRfaW5pdCgmYnAsIDAsIEFWX0JQUklOVF9TSVpFX1VOTElN SVRFRCk7Cj4gKyAgICAgICAgYXZfdmJwcmludGYoJmJwLCBmbXQsIHZhKTsKPiArICAgICAgICBp ZiAoYXZfYnByaW50X2lzX2NvbXBsZXRlKCZicCkpIHsKPiArICAgICAgICAgICAgd3IubWV0aG9k cy0+d3JpdGUod3IsIGJwLnN0ciwgYnAubGVuKTsKPiArICAgICAgICB9IGVsc2Ugewo+ICsgICAg ICAgICAgICB3ci5tZXRob2RzLT53cml0ZSh3ciwgYnAuc3RyLCBicC5zaXplIC0gMSk7Cj4gKyAg ICAgICAgICAgIGlmICh3ci5tZXRob2RzLT5ub3RpZnlfZGlzY2FyZCkKPiArICAgICAgICAgICAg ICAgIHdyLm1ldGhvZHMtPm5vdGlmeV9kaXNjYXJkKHdyLCBicC5sZW4gLSBicC5zaXplICsgMSk7 Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGF2X2JwcmludF9maW5hbGl6ZSgmYnAsIE5VTEwpOwo+ ICsgICAgfSBlbHNlIHsKPiArICAgICAgICBhdl93cml0ZXJfaW1wb3NzaWJsZSh3ciwgImF2X3dy aXRlcl92cHJpbnRmKCkiKTsKPiArICAgIH0KPiArfQoKU2FtZSBwcm9ibGVtcyBhbmQgb3ZlcmVu Z2luZWVyaW5nIGFzIGFib3ZlLgoKPiArCj4gK3ZvaWQgYXZfd3JpdGVyX2FkZF9jaGFycyhBVldy aXRlciB3ciwgY2hhciBjLCBzaXplX3QgbikKPiArewo+ICsgICAgY2hhciBidWZbNTEyXTsKPiAr ICAgIHNpemVfdCBtOwo+ICsKPiArICAgIG0gPSBGRk1JTihuLCBzaXplb2YoYnVmKSAtIDEpOwo+ ICsgICAgbWVtc2V0KGJ1ZiwgYywgbSk7Cj4gKyAgICB3aGlsZSAobikgewo+ICsgICAgICAgIGF2 X3dyaXRlcl93cml0ZSh3ciwgYnVmLCBtKTsKPiArICAgICAgICBuIC09IG07Cj4gKyAgICAgICAg bSA9IEZGTUlOKG4sIHNpemVvZihidWYpIC0gMSk7Cj4gKyAgICB9Cj4gK30KPiArCj4gK3ZvaWQg YXZfd3JpdGVyX2ZsdXNoKEFWV3JpdGVyIHdyKQo+ICt7Cj4gKyAgICBtZXRob2RzX2Fzc2VydF9h Ymkod3IubWV0aG9kcyk7Cj4gKyAgICBpZiAod3IubWV0aG9kcy0+Zmx1c2gpCj4gKyAgICAgICAg d3IubWV0aG9kcy0+Zmx1c2god3IpOwo+ICt9Cj4gKwo+ICtpbnQgYXZfd3JpdGVyX2dldF9lcnJv cihBVldyaXRlciB3ciwgaW50IHNlbGZfb25seSkKPiArewo+ICsgICAgbWV0aG9kc19hc3NlcnRf YWJpKHdyLm1ldGhvZHMpOwo+ICsgICAgaWYgKHdyLm1ldGhvZHMtPmdldF9lcnJvcikKPiArICAg ICAgICByZXR1cm4gd3IubWV0aG9kcy0+Z2V0X2Vycm9yKHdyLCBzZWxmX29ubHkpOwo+ICsgICAg cmV0dXJuIDA7Cj4gK30KPiArCgotLSAK44Os44Of44O744OH44OLLeOCr+ODvOODq+ODouODswpo dHRwOi8vd3d3LnJlbWxhYi5uZXQvCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZm bXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVs CgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVs LXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K