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 F246144913 for ; Tue, 27 Sep 2022 15:23:53 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E27C568BA50; Tue, 27 Sep 2022 18:23:50 +0300 (EEST) Received: from mail.acc.umu.se (mail.acc.umu.se [130.239.18.156]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 12D8A68B014 for ; Tue, 27 Sep 2022 18:23:44 +0300 (EEST) Received: from localhost (localhost.localdomain [127.0.0.1]) by amavisd-new (Postfix) with ESMTP id F19D144B96 for ; Tue, 27 Sep 2022 17:23:42 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=acc.umu.se; s=mail1; t=1664292222; bh=TIglKywUbR0cY25JpoP3py3dd9hMzhgmtSR91z7PUDY=; h=Subject:From:To:Date:In-Reply-To:References:From; b=yDZO0aYDo6xSU41SkUEvYuzZonMRHSoFQL27cfGw1phId32Bg+DhPV3RZQqKiMH3i HihHur35gD3KrsscOOIKG7qIuGZDjTvnNv8h43A++fin+BMu2+cxLKy3VbGAKMpGrn zPexT8ecX8k6dxzN8YdDPoh3exeeEpXwymJcDvxqM4bbDO4m+7v6wxMvp4HAW9sAD8 wLV/2SJxLrrD/qqeej8Z+8YuYvhhDKn+hRoavJhhl5JTmfBXXh1MB7VzXcbdaeHTSP GayIXHnOE3OL45SV54EE+xri/andqjkN1r9bcrdBIiYI2+vVmAH4Igi0JOLef4hNyh 05z/Huo0Sd/vw== Received: from debian.lan (unknown [IPv6:2a00:66c0:a::72c]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: tjoppen) by mail.acc.umu.se (Postfix) with ESMTPSA id 3786F44B93 for ; Tue, 27 Sep 2022 17:23:42 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=acc.umu.se; s=mail1; t=1664292222; bh=TIglKywUbR0cY25JpoP3py3dd9hMzhgmtSR91z7PUDY=; h=Subject:From:To:Date:In-Reply-To:References:From; b=yDZO0aYDo6xSU41SkUEvYuzZonMRHSoFQL27cfGw1phId32Bg+DhPV3RZQqKiMH3i HihHur35gD3KrsscOOIKG7qIuGZDjTvnNv8h43A++fin+BMu2+cxLKy3VbGAKMpGrn zPexT8ecX8k6dxzN8YdDPoh3exeeEpXwymJcDvxqM4bbDO4m+7v6wxMvp4HAW9sAD8 wLV/2SJxLrrD/qqeej8Z+8YuYvhhDKn+hRoavJhhl5JTmfBXXh1MB7VzXcbdaeHTSP GayIXHnOE3OL45SV54EE+xri/andqjkN1r9bcrdBIiYI2+vVmAH4Igi0JOLef4hNyh 05z/Huo0Sd/vw== Message-ID: From: Tomas =?ISO-8859-1?Q?H=E4rdin?= To: FFmpeg development discussions and patches Date: Tue, 27 Sep 2022 17:23:41 +0200 In-Reply-To: <3324e761a5215915b99679c51a97c2f2ec5a2b05.camel@acc.umu.se> References: <165778644704.15564.15015584182496894872@lain.khirnov.net> <165804661780.15564.263905578360823358@lain.khirnov.net> <3324e761a5215915b99679c51a97c2f2ec5a2b05.camel@acc.umu.se> Content-Type: multipart/mixed; boundary="=-8EAJ8LQJBvRiMYfL52GZ" User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 Subject: Re: [FFmpeg-devel] [PATCH 3/8] avutil/mem: Add av_fast_realloc_array() 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: --=-8EAJ8LQJBvRiMYfL52GZ Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit mån 2022-09-26 klockan 16:24 +0200 skrev Tomas Härdin: > mån 2022-09-26 klockan 14:25 +0200 skrev Andreas Rheinhardt: > > Anton Khirnov: > > > Quoting Andreas Rheinhardt (2022-07-14 14:51:07) > > > > Anton Khirnov: > > > > > Quoting Andreas Rheinhardt (2022-07-12 16:12:16) > > > > > > Anton really dislikes the av_fast_* naming and instead > > > > > > wants > > > > > > this to be > > > > > > called av_realloc_array_reuse(). I don't care either way. > > > > > > Any > > > > > > more > > > > > > opinions on this (or on the patch itself)? > > > > > > > > > > If people dislike _reuse(), I am open to other reasonable > > > > > suggestions. > > > > > This 'fast' naming sucks because > > > > > - it tells you nothing about how this function is "fast" > > > > > - it is added at the beginning rather than the end, which is > > > > >   against standard namespacing conventions > > > > > > > > > > > > > Isn't reusing the basic modus operandi for a reallocation > > > > function? So > > > > your suggested name doesn't seem to fit either. > > > > > > Ordinary realloc just keeps the data, I wouldn't call that > > > "reuse" > > > since > > > it will often be a copy. This "fast" realloc OTOH reuses the > > > actual > > > buffer, same as all the other "fast" mem.h functions. > > > > > > But feel free to suggest another naming pattern if you can think > > > of > > > one. > > > > > > > I see two differences between this function and ordinary realloc: > > It > > never shrinks the buffer and it overallocates. These two properties > > make > > it more likely that these functions can avoid copies more often > > than > > plain realloc (but in contrast to realloc, we can not grow the > > buffer > > in > > case there is free space after it), but it is nevertheless the same > > as > > realloc. > > > > But I don't really care that much about the name and will therefore > > use > > your name as I can't come up with anything better. > > (Of course, I am still open to alternative suggestions.) > > > > - Andreas > > So this means av_realloc_array_reuse()? Eh, it works. I will add a > function that also zeroes the newly allocated space, what should we > call that? av_realloc_array_reusez()? > av_realloc_array_reuse_zerofill()? Here's a draft patch that calls it av_reallocz_array_reuse(). Needs a minor version bump of course /Tomas --=-8EAJ8LQJBvRiMYfL52GZ Content-Disposition: attachment; filename="0001-avutil-mem-Add-av_reallocz_array_reuse.patch" Content-Type: text/x-patch; name="0001-avutil-mem-Add-av_reallocz_array_reuse.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA3NWUwY2E3MWY3ODJiMmIxODI0MjgxNWIxZmJiMDc5YTdiZmRiNWJhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/VG9tYXM9MjBIPUMzPUE0cmRpbj89IDxnaXRA aGFlcmRpbi5zZT4KRGF0ZTogVHVlLCAyNyBTZXAgMjAyMiAxNTozNzo0MSArMDIwMApTdWJqZWN0 OiBbUEFUQ0hdIGF2dXRpbC9tZW06IEFkZCBhdl9yZWFsbG9jel9hcnJheV9yZXVzZSgpCgpMaWtl IGF2X3JlYWxsb2NfYXJyYXlfcmV1c2UoKSBidXQgemVyb2VzIHRoZSBuZXdseSBhbGxvY2F0ZWQg bWVtb3J5LgotLS0KIGxpYmF2dXRpbC9tZW0uYyB8IDI0ICsrKysrKysrKysrKysrKysrKysrKysr KwogbGliYXZ1dGlsL21lbS5oIHwgMzEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog MiBmaWxlcyBjaGFuZ2VkLCA1NSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGliYXZ1dGls L21lbS5jIGIvbGliYXZ1dGlsL21lbS5jCmluZGV4IGMzMTVhMzg2NzIuLjNkZDM0ZmNmMWIgMTAw NjQ0Ci0tLSBhL2xpYmF2dXRpbC9tZW0uYworKysgYi9saWJhdnV0aWwvbWVtLmMKQEAgLTU2NSw2 ICs1NjUsMzAgQEAgaW50IGF2X3JlYWxsb2NfYXJyYXlfcmV1c2Uodm9pZCAqcHRyLCBzaXplX3Qg Km5iX2FsbG9jYXRlZCwKICAgICByZXR1cm4gMDsKIH0KIAoraW50IGF2X3JlYWxsb2N6X2FycmF5 X3JldXNlKHZvaWQgKnB0ciwgc2l6ZV90ICpuYl9hbGxvY2F0ZWQsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2l6ZV90IG1pbl9uYiwgc2l6ZV90IG1heF9uYiwgc2l6ZV90IGVsc2l6ZSkK K3sKKyAgICBzaXplX3QgbmJfaW5pdGlhbCwgbmJfYWxsb2NhdGVkMiA9ICpuYl9hbGxvY2F0ZWQ7 CisgICAgdm9pZCAqYXJyYXk7CisgICAgaW50IHJldDsKKworICAgIC8vIGNoZWNrIGlmICpwdHIg aXMgTlVMTC4gbmJfYWxsb2NhdGVkIGlzIG5vdCBndWFyYW50ZWVkIHRvIGhhdmUgYW4gaW5pdGlh bCB2YWx1ZQorICAgIG1lbWNweSgmYXJyYXksIHB0ciwgc2l6ZW9mKGFycmF5KSk7CisgICAgbmJf aW5pdGlhbCA9IGFycmF5ID8gKm5iX2FsbG9jYXRlZCA6IDA7CisKKyAgICBpZiAoKHJldCA9IGF2 X3JlYWxsb2NfYXJyYXlfcmV1c2UocHRyLCAmbmJfYWxsb2NhdGVkMiwgbWluX25iLCBtYXhfbmIs IGVsc2l6ZSkpKQorICAgICAgICByZXR1cm4gcmV0OworCisgICAgaWYgKG5iX2FsbG9jYXRlZDIg PiBuYl9pbml0aWFsKSB7CisgICAgICAgIC8vIG5ldyBzcGFjZSBhbGxvY2F0ZWQgLSB6ZXJvIGl0 IQorICAgICAgICBtZW1jcHkoJmFycmF5LCBwdHIsIHNpemVvZihhcnJheSkpOworICAgICAgICBt ZW1zZXQoKGNoYXIqKWFycmF5ICsgbmJfaW5pdGlhbCplbHNpemUsIDAsIChuYl9hbGxvY2F0ZWQy IC0gbmJfaW5pdGlhbCkqZWxzaXplKTsKKyAgICAgICAgKm5iX2FsbG9jYXRlZCA9IG5iX2FsbG9j YXRlZDI7CisgICAgfQorCisgICAgcmV0dXJuIHJldDsKK30KKwogc3RhdGljIGlubGluZSB2b2lk IGZhc3RfbWFsbG9jKHZvaWQgKnB0ciwgdW5zaWduZWQgaW50ICpzaXplLCBzaXplX3QgbWluX3Np emUsIGludCB6ZXJvX3JlYWxsb2MpCiB7CiAgICAgc2l6ZV90IG1heF9zaXplOwpkaWZmIC0tZ2l0 IGEvbGliYXZ1dGlsL21lbS5oIGIvbGliYXZ1dGlsL21lbS5oCmluZGV4IDM2MzgzMjkxMDguLmNm Y2VjMzdlNzMgMTAwNjQ0Ci0tLSBhL2xpYmF2dXRpbC9tZW0uaAorKysgYi9saWJhdnV0aWwvbWVt LmgKQEAgLTQxMCw2ICs0MTAsMzcgQEAgdm9pZCAqYXZfZmFzdF9yZWFsbG9jKHZvaWQgKnB0ciwg dW5zaWduZWQgaW50ICpzaXplLCBzaXplX3QgbWluX3NpemUpOwogaW50IGF2X3JlYWxsb2NfYXJy YXlfcmV1c2Uodm9pZCAqcHRyLCBzaXplX3QgKm5iX2FsbG9jYXRlZCwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNpemVfdCBtaW5fbmIsIHNpemVfdCBtYXhfbmIsIHNpemVfdCBlbHNpemUp OwogCisvKioKKyAqIFJlYWxsb2NhdGUgdGhlIGdpdmVuIGFycmF5IGlmIGl0IGlzIG5vdCBsYXJn ZSBlbm91Z2ggYW5kIGZpbGwgdGhlIG5ld2x5CisgKiBhbGxvY2F0ZWQgc3BhY2Ugd2l0aCB6ZXJv ZXMsIG90aGVyd2lzZSBkbyBub3RoaW5nLgorICogSW4gb3RoZXIgd29yZHMsIGxpa2UgYXZfcmVh bGxvY19hcnJheV9yZXVzZSgpIGJ1dCB6ZXJvZXMgdGhlIG5ldyBzcGFjZS4KKyAqCisgKiBJZiBg cHRyYCBwb2ludHMgdG8gYE5VTExgLCB0aGVuIGEgbmV3IHplcm9lZCBhcnJheSBpcyBhbGxvY2F0 ZWQuCisgKgorICogQHBhcmFtW2luLG91dF0gcHRyICAgICAgICAgICBQb2ludGVyIHRvIGBOVUxM YCBvciBwb2ludGVyIHRvIGFuIGFscmVhZHkKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYWxsb2NhdGVkIGFycmF5LiBgKnB0cmAgd2lsbCBiZSBzZXQgdG8gcG9pbnQKKyAqICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdG8gdGhlIG5ldyBhcnJheSBvbiBzdWNjZXNzLgorICog QHBhcmFtW2luLG91dF0gbmJfYWxsb2NhdGVkICBQb2ludGVyIHRvIHRoZSBudW1iZXIgb2YgZWxl bWVudHMgb2YgdGhlIGFycmF5CisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAqcHRy YC4gYCpuYl9hbGxvY2F0ZWRgIGlzIHVwZGF0ZWQgdG8gdGhlIG5ldworICogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBudW1iZXIgb2YgYWxsb2NhdGVkIGVsZW1lbnRzLgorICogQHBhcmFt W2luXSAgICAgbWluX25iICAgICAgICBEZXNpcmVkIG1pbmltYWwgbnVtYmVyIG9mIGVsZW1lbnRz IGluIGFycmF5IGAqcHRyYAorICogQHBhcmFtW2luXSAgICAgbWF4X25iICAgICAgICBNYXhpbWFs IG51bWJlciBvZiBlbGVtZW50cyB0byBhbGxvY2F0ZS4KKyAqIEBwYXJhbVtpbl0gICAgIGVsc2l6 ZSAgICAgICAgU2l6ZSBvZiBhIHNpbmdsZSBlbGVtZW50IG9mIHRoZSBhcnJheS4KKyAqICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTXVzdCBub3QgYmUgemVyby4KKyAqIEByZXR1cm4gMCBv biBzdWNjZXNzLCA8IDAgb24gZmFpbHVyZS4gT24gZmFpbHVyZSwgYCpwdHJgIGlzIG5vdCBmcmVl ZCBhbmQKKyAqICAgICAgICAgYCpwdHJgIGFzIHdlbGwgYXMgYCpuYl9hbGxvY2F0ZWRgIGFyZSB1 bmNoYW5nZWQuCisgKiBAbm90ZSBgbWF4X25iYCBjYW4gYmUgdXNlZCB0byBsaW1pdCBhbGxvY2F0 aW9ucyBhbmQgbWFrZSB0aGlzIGZ1bmN0aW9uCisgKiAgICAgICB1c2FibGUgd2l0aCBjb3VudGVy cyBvZiB0eXBlcyBvdGhlciB0aGFuIHNpemVfdC4gSXQgY2FuIGFsc28gYmUgdXNlZAorICogICAg ICAgdG8gYXZvaWQgb3ZlcmZsb3cgY2hlY2tzIGluIGNhbGxlcnM6IEUuZy4gc2V0dGluZyBpdCB0 byBgVUlOVF9NQVggLSAxYAorICogICAgICAgbWVhbnMgdGhhdCBpbmNyZW1lbnRpbmcgYW4gdW5z aWduZWQgaW50IGluIHN0ZXBzIG9mIG9uZSBuZWVkIG5vdCBiZQorICogICAgICAgY2hlY2tlZCBm b3Igb3ZlcmZsb3cuCisgKiBAc2VlIGF2X2Zhc3RfcmVhbGxvYygpCisgKiBAc2VlIGF2X3JlYWxs b2MoKQorICogQHNlZSBhdl9mYXN0X21hbGxvYygpCisgKi8KK2ludCBhdl9yZWFsbG9jel9hcnJh eV9yZXVzZSh2b2lkICpwdHIsIHNpemVfdCAqbmJfYWxsb2NhdGVkLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNpemVfdCBtaW5fbmIsIHNpemVfdCBtYXhfbmIsIHNpemVfdCBlbHNpemUp OworCiAvKioKICAqIEFsbG9jYXRlIGEgYnVmZmVyLCByZXVzaW5nIHRoZSBnaXZlbiBvbmUgaWYg bGFyZ2UgZW5vdWdoLgogICoKLS0gCjIuMzAuMgoK --=-8EAJ8LQJBvRiMYfL52GZ 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". --=-8EAJ8LQJBvRiMYfL52GZ--