From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTPS id 95B224DC83
	for <ffmpegdev@gitmailbox.com>; Wed, 23 Apr 2025 23:55:02 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 868FA68B5C9;
	Thu, 24 Apr 2025 02:54:58 +0300 (EEST)
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11olkn2012.outbound.protection.outlook.com [40.92.18.12])
 by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1219B68AEA7
 for <ffmpeg-devel@ffmpeg.org>; Thu, 24 Apr 2025 02:54:52 +0300 (EEST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=MrGtbrvhT+x6vbgeQPBOSvFu3z2h0GyqrrS53M2sQ2dGh/hPVFlv/JdSXWlFzrEWqPnmd6Lz3BKBEkL1INfiT6Tk3zlNxdnAVghrlFbCJa/C2M2o6pPSFTtJracYmdq3AcqWR0ttlgeaufXRCjutzZskRtRypJXESQt83DFbfOvCWKBL/LFQk7q5J3Udobyj5l/SNiW2qr9wcPeRyWDkl6rQqKt28B2QCKtOZPeVPdNPda2dV7uRqA/Htql+Kwrrf2ZM9ZqObG0pIuR5fsx551VIqp6/sS+ex2wf4Py3DEImiz1qU6Ifukvb5U4/vui576qZo3Cm3/RlHcELK2A+YQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/IDcQ293M1Pz6O1V/9T4c6lhF7MwqJ7hYaPKX7G9kqY=;
 b=PaB+xV1h9rjMBOPoX+N9rnbb+yDWB1UhmfvGJLE99KOrtR79hpxeD6y6jnLiQ9fbwYLLM3nd84FyTWmfTPzaFCPlX+z/0Td6SnVAdUvgtldp+wjyz2svfDS9kuApTa9BAFunaMpvrbzlpQ9LO0IiRz/5V2SaiFny3Uu++tK+SFroOlTHxDUl6RBLgkWi7hJC1vpEXp5GR6buVXe+WByexau6I9/rZCkGP+GzFWk2BtTfbU8xWZ7JrsfRK5ARC7AxC7+3tirCRKxFOD4fbK+1ySp022KHwSoRysg5047/RK1tN9uG9xMZQzCmJlaW3dJyH8ZzwHmUWdJBsWKRy+Z0aw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/IDcQ293M1Pz6O1V/9T4c6lhF7MwqJ7hYaPKX7G9kqY=;
 b=hbIv9ZyLm2W5uN/3OeNPggu4ZE4hsMhwmD7fUQIJrw+GpWSfZwrMxrCEU9tfyp/2jeEr5ito+83XWwJQslm+NaC72CD7xJdIP9PhS+hzUWdj0Z3h2uTmIUZgnJD1yPDUSTM6wudPlJLmnETUXKWwzFIeD6VytpzmriKLJsVPR0SoR7Mahzjc22B0Ki4T/GTbCX0ZNz07LPgjhQMjcJEGS14bbYXa3Q9wNjo1vW6+A3nAdYmZ5dKWFjPxHVz3b3PIxIQx6z31Px/VZJ1wwofZ+pQNtZeMCvL+m611o/fWK3/oNLeDV9MigaTodi9c75TOqsX12gGqm9bKXUtse+xtVQ==
Received: from BN0P223MB0358.NAMP223.PROD.OUTLOOK.COM (2603:10b6:408:145::16)
 by BN0P223MB0213.NAMP223.PROD.OUTLOOK.COM (2603:10b6:408:146::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8678.22; Wed, 23 Apr
 2025 23:54:47 +0000
Received: from BN0P223MB0358.NAMP223.PROD.OUTLOOK.COM
 ([fe80::c63a:275a:b3f4:fae9]) by BN0P223MB0358.NAMP223.PROD.OUTLOOK.COM
 ([fe80::c63a:275a:b3f4:fae9%5]) with mapi id 15.20.8678.021; Wed, 23 Apr 2025
 23:54:47 +0000
From: "softworkz ." <softworkz-at-hotmail.com@ffmpeg.org>
To: Stefano Sabatini <stefasab@gmail.com>, FFmpeg development discussions and
 patches <ffmpeg-devel@ffmpeg.org>
Thread-Topic: [FFmpeg-devel] [PATCH v5 02/14] fftools/textformat: Apply
 quality improvements
Thread-Index: AQHbs9FXHIb23a30lESJ4MvnuQQ3i7Ox2CUAgAATMXA=
Date: Wed, 23 Apr 2025 23:54:47 +0000
Message-ID: <BN0P223MB03583CE2097B0746434B6E23BABA2@BN0P223MB0358.NAMP223.PROD.OUTLOOK.COM>
References: <pull.66.v4.ffstaging.FFmpeg.1745189954.ffmpegagent@gmail.com>
 <pull.66.v5.ffstaging.FFmpeg.1745358943.ffmpegagent@gmail.com>
 <1e312f4685e66a4d266beabd39b8a8530a090bda.1745358943.git.ffmpegagent@gmail.com>
 <aAlq/OjEAcIYsm1E@mariano>
In-Reply-To: <aAlq/OjEAcIYsm1E@mariano>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN0P223MB0358:EE_|BN0P223MB0213:EE_
x-ms-office365-filtering-correlation-id: 2a9910f4-a4a3-4e0f-e26d-08dd82c23a94
x-microsoft-antispam: BCL:0;
 ARA:14566002|461199028|8060799006|8062599003|19110799003|7092599003|15080799006|3412199025|440099028|41001999003|102099032;
x-microsoft-antispam-message-info: =?us-ascii?Q?OEyd2QDx+dG1I/1WW7Az8argW5aW1Z4x97taZ2fDSL4RVeV6DvYJLTuDyusj?=
 =?us-ascii?Q?ZcnfHJN4V+jfiShir5wNBwbMa+Jz/FsjU8pyPPaqxZlhLxgYk0G3PMSIvjhf?=
 =?us-ascii?Q?LWqNXX14cU6ZIbSluh4eZOimBcQDbEs81mv+apx3woWjbYx7AArwI3iz7CN4?=
 =?us-ascii?Q?Eux/0oagiF2KDUy2TiLwyg/ZQV2c/buHsS1LzlxGhVBgQihw9QKHPJxVq5YP?=
 =?us-ascii?Q?bfg8axCEBzHFZM0c5Q+zWEvZ//uBZIxRzT42I2w2N97iGganoKTghbKYd1/Z?=
 =?us-ascii?Q?u80F32yGzlt8RFX8xULIZAPtzHikg96KxgZg1BKAU2dIovU2J96sE/lD+Fnf?=
 =?us-ascii?Q?ySNwkLIaurdPX+ptRk6pMuSh5wrkTb/k9sc+fswrt6dSvVzp+iCXJlgyWJYc?=
 =?us-ascii?Q?75nrOkzf8HOA/g64gNe1gUosi809/mZmqv4410v9xGrfriUmdo2ZeeYt5nQO?=
 =?us-ascii?Q?hD7ZgSVG/VwGZmV9DxKo5hpR0YvY8v/HoaVf9hUvlAsP+83aG0WnPXrRSih5?=
 =?us-ascii?Q?RTiwtXXjQUMIlssuYT08KVz0O43qt02H9ZjZcGF/VbQX+TGMePWxytqG4Tao?=
 =?us-ascii?Q?n3kxnDp2yzWtFXoeZAr5U0AMpEyxdj0bzna+3OffB8lzWde0RWw24ML0lepF?=
 =?us-ascii?Q?hV+tBKwt2rxCwZ4NqN02Lqk56EkLv/nHx97eGdaAFZqFnj15ukSJyX9vb0q5?=
 =?us-ascii?Q?vc4jHUbIVN6uiAt8vsJ4VfRXxQfWjpN2pmyg9edDKEi1xoknSZEVYtw42c3I?=
 =?us-ascii?Q?pYbSQ6pP7UaF/PScHLlGE76DGoLy3hYcMb8ZykFT3rdVlfWf+NnfZDLv6Oy6?=
 =?us-ascii?Q?mYETx0MByhms0LF0AG1FZlYdLsYLkFtDyd0zNw0zFO87NurbVjSWrJz4sdaT?=
 =?us-ascii?Q?tc6HTq+VnOkoGFUqiVU/JPIAV6wJQwgSC/lezKkyRFDDkuhNzoua+kH+nR5K?=
 =?us-ascii?Q?1iD4i8AaBCkrPCbcgCqURu26pErC3Jw0HefYZa783gFvSBmHU2MqmvNY82RP?=
 =?us-ascii?Q?9zTBU54SxInEA4lSa8exNOtozTJhdp/VUfkt02HKD53t3AXFdQjoUdohnD5Y?=
 =?us-ascii?Q?PwP/cMqQ3JYU2xbpLcs0sNhXLUFnnt9s0VaPseyd1DIIh1Iya2OOOPLFi+cw?=
 =?us-ascii?Q?Ui1C8CVSTc/IxgzpCtVMzxJmCAVphLu5Kg=3D=3D?=
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?j0on6RPbhKReatdfWOJ8WFvnXfoaEyO0faV60B/JK7cUJXoUNBqDuEyLw0fS?=
 =?us-ascii?Q?Mt0AM0G8x8coU3DUGQ4WQksbhodglvcflvC9XsFqjAg9avN+u4rLADYrJpsp?=
 =?us-ascii?Q?C6EhtMViMKHbUzc3V38P4ahDfmiIGYI74DPSqRff7pjdgvZ5fWBBNgmOplX6?=
 =?us-ascii?Q?BtxowIM/KTWHJZo82+pn9QnsYuf7Cqci+3XKAaLL1IicvVCrqa9lfhVIlRWs?=
 =?us-ascii?Q?DnjXTMyGdDgSlxsDjD0A/qmxYrEbWmek+2hxErpIAHtqXjPsZu9CgCVlS6Qq?=
 =?us-ascii?Q?yTVNyqP8XJvrI1iDP9wdnLJvAc8jBq9hJXvmW86kaANcgwGmPit7fkyvHvYB?=
 =?us-ascii?Q?Ud4OvSs5znUdABogfam8Wc9N0osAgM2SOE/UsYod/pQz/G2xbGB7k0xGP8hb?=
 =?us-ascii?Q?n16WY514oMh0UJCi4nESG+Lt7PKHbdT+UrW1rBehg98GSlX3dIkELk+wRQVZ?=
 =?us-ascii?Q?GTsLGVBXlab8XSxr0mRTGf3B5l5p1aWPGdPlMh+2FhbY0qF0ThSgE0GF+j6l?=
 =?us-ascii?Q?r2ANA3nbjo8nDJ2y49L6JHITISUd6BKwrJsZwMQPXl2J0PFNz5gmgrKdrA55?=
 =?us-ascii?Q?DoA+k2TxdfGlUqqZBcfCAHQM0WC97r2yqgjucNsMbdlnvOXmWkvOKlDxqxjh?=
 =?us-ascii?Q?6T5x9DRA3GhOCJ+AMVpqt5oFzHHA6QeGI3Dxfa8ek2fktBHguF6p3m4Uv4di?=
 =?us-ascii?Q?TlzYY+R3GO6kNmjVgYlX4ZfGcWwO9uvqk/6E7LBT9gu5yyvkJwGx12gk+NtW?=
 =?us-ascii?Q?Mt8SakPBkMJLZMEay14lUE/eo9EzvI2FLs6u45VIkiMUvlZQJoCkQbyKMvbm?=
 =?us-ascii?Q?R7+rCo48jY9Bv/cwwd8qTYK/By9MP9oIsgBU64DCv+/gWwYkFNnhDtxxSb9S?=
 =?us-ascii?Q?ZSbE1JwPvO31MsS/3KS8xVG7zg+hS5Xvvd+H35hjgqOFOwdx9OZeprosjJeO?=
 =?us-ascii?Q?RgLqpmEKed8GazcQLmVMcv8NYQQHFT3f5+pKc5TGgHFQENAEVlX5exxQGQPn?=
 =?us-ascii?Q?rW6ogaU5VAr9st95zE0+bXvfRh+dQdkx/3BmeaTvE9EiNGNK4EJwJ9LDZa4u?=
 =?us-ascii?Q?NJtjodSNWZ3ELy2qE1tE5R+DlyyqpsP2OgjsQSeULkLo5HOcJn2yh7HmKw/H?=
 =?us-ascii?Q?eFwBuStrbB2xJ7dO30xUL8dLv0OCpMJBTZJq3IiBE7iF1VFwD5vm4K2WFTUf?=
 =?us-ascii?Q?jP/5xlAtKCVNwpI3QNlZmgNYSbvVu7T+Xw8r6TcmllHbYDsOK9xm5dMz6Sw?=
 =?us-ascii?Q?=3D?=
MIME-Version: 1.0
X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-92255.templateTenant
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN0P223MB0358.NAMP223.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: 2a9910f4-a4a3-4e0f-e26d-08dd82c23a94
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Apr 2025 23:54:47.4329 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0P223MB0213
Subject: Re: [FFmpeg-devel] [PATCH v5 02/14] fftools/textformat: Apply
 quality improvements
X-BeenThere: ffmpeg-devel@ffmpeg.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org>
List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe>
List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel>
List-Post: <mailto:ffmpeg-devel@ffmpeg.org>
List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help>
List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe>
Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/BN0P223MB03583CE2097B0746434B6E23BABA2@BN0P223MB0358.NAMP223.PROD.OUTLOOK.COM/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>



> -----Original Message-----
> From: Stefano Sabatini <stefasab@gmail.com>
> Sent: Donnerstag, 24. April 2025 00:35
> To: FFmpeg development discussions and patches <ffmpeg-
> devel@ffmpeg.org>
> Cc: softworkz <softworkz@hotmail.com>
> Subject: Re: [FFmpeg-devel] [PATCH v5 02/14] fftools/textformat: Apply
> quality improvements
> 
> On date Tuesday 2025-04-22 21:55:31 +0000, softworkz wrote:
> > From: softworkz <softworkz@hotmail.com>
> >
> > Perform multiple improvements to increase code robustness.
> > In particular:
> > - favor unsigned counters for loops
> > - add missing checks
> 
> > - avoid possibly leaks
> 
> my typo: possible leaks

Fixed!

> 
> > - move variable declarations to inner scopes when feasible
> > - provide explicit type-casting when needed
> >
> > Signed-off-by: softworkz <softworkz@hotmail.com>
> > ---
> 
> General nit about headline caseing: from the log most commit use
> all lowercase in headline (I personally only use that form and at some
> point everybody was using that).

Looking at the 250 most recent commit messages, about 60% have an uppercase
letter after the first colon.


> >  fftools/textformat/avtextformat.c | 85 ++++++++++++++++++++--------
> ---
> >  fftools/textformat/avtextformat.h |  6 +--
> >  fftools/textformat/tf_default.c   |  8 ++-
> >  fftools/textformat/tf_ini.c       |  2 +-
> >  fftools/textformat/tf_json.c      | 17 ++++---
> >  fftools/textformat/tf_xml.c       |  3 --
> >  fftools/textformat/tw_avio.c      | 11 +++-
> >  7 files changed, 83 insertions(+), 49 deletions(-)
> >
> > diff --git a/fftools/textformat/avtextformat.c
> b/fftools/textformat/avtextformat.c
> > index 74d179c516..1939a1f739 100644
> > --- a/fftools/textformat/avtextformat.c
> > +++ b/fftools/textformat/avtextformat.c
> > @@ -93,9 +93,8 @@ static const AVClass textcontext_class = {
> >
> >  static void bprint_bytes(AVBPrint *bp, const uint8_t *ubuf, size_t
> ubuf_size)
> >  {
> > -    int i;
> >      av_bprintf(bp, "0X");
> > -    for (i = 0; i < ubuf_size; i++)
> > +    for (unsigned i = 0; i < ubuf_size; i++)
> >          av_bprintf(bp, "%02X", ubuf[i]);
> >  }
> >
> > @@ -137,6 +136,9 @@ int avtext_context_open(AVTextFormatContext
> **ptctx, const AVTextFormatter *form
> >      AVTextFormatContext *tctx;
> >      int i, ret = 0;
> >
> > +    if (!ptctx || !formatter)
> > +        return AVERROR(EINVAL);
> > +
> >      if (!(tctx = av_mallocz(sizeof(AVTextFormatContext)))) {
> >          ret = AVERROR(ENOMEM);
> >          goto fail;
> > @@ -209,25 +211,26 @@ int avtext_context_open(AVTextFormatContext
> **ptctx, const AVTextFormatter *form
> >                      av_log(NULL, AV_LOG_ERROR, " %s", n);
> >                  av_log(NULL, AV_LOG_ERROR, "\n");
> >              }
> > -            return ret;
> > +            goto fail;
> >          }
> >
> >      /* validate replace string */
> >      {
> > -        const uint8_t *p = tctx->string_validation_replacement;
> > -        const uint8_t *endp = p + strlen(p);
> > +        const uint8_t *p = (uint8_t *)tctx-
> >string_validation_replacement;
> > +        const uint8_t *endp = p + strlen((const char *)p);
> >          while (*p) {
> >              const uint8_t *p0 = p;
> >              int32_t code;
> >              ret = av_utf8_decode(&code, &p, endp, tctx-
> >string_validation_utf8_flags);
> 
> >              if (ret < 0) {
> >                  AVBPrint bp;
> > -                av_bprint_init(&bp, 0, AV_BPRINT_SIZE_AUTOMATIC);
> > +                av_bprint_init(&bp, 0, AV_BPRINT_SIZE_UNLIMITED);
> >                  bprint_bytes(&bp, p0, p - p0),
> 
> Is this really needed? AUTOMATIC should be faster since it will avoid
> dynamic allocation and the need to finalize (although there is no
> practical need for such optimization, this still seems the simplest
> possible path). Besides, an UTF8 sequence cannot be longer than a few
> bytes, so possibly av_utf8_decode cannot decode more than a few bytes.

As replied earlier, AUTOMATIC is not faster or slower than UNLIMITED
as long as the stack-allocated memory is sufficient. Only when it grows
bigger: UNLIMITED will auto-allocate as needed and AUTOMATIC will 
truncate and you'd need to check for that.

UNLIMITED gives you a "no-brain-pain-always-fine" behavior at the 
small cost of calling avbp_finalize().

sw
_______________________________________________
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".