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 A5EDD4BBB1
	for <ffmpegdev@gitmailbox.com>; Sat,  3 May 2025 08:24:05 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B726B68B6AC;
	Sat,  3 May 2025 11:23:23 +0300 (EEST)
Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com
 [209.85.214.177])
 by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9CE8F68B6AC
 for <ffmpeg-devel@ffmpeg.org>; Sat,  3 May 2025 11:23:21 +0300 (EEST)
Received: by mail-pl1-f177.google.com with SMTP id
 d9443c01a7336-2254e0b4b79so44459365ad.2
 for <ffmpeg-devel@ffmpeg.org>; Sat, 03 May 2025 01:23:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1746260600; x=1746865400; darn=ffmpeg.org;
 h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date
 :references:in-reply-to:message-id:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=HLHdmuYLBigLG/L5oNuU9BFEgjbrze5MpGL1E7+ASsk=;
 b=fNQM7d8twC+RhMTyHeYtWqjhX2bdWKAsM3qjQP6uBQYb7OUDv+ns2/JGg6TrD2BS2c
 QvKRkpHm+Wi1iQ/IhuzLHPqbVLO1JZoHVZuBY8KoRdlpmz+zjQOwd24ybNzJ+/LpzURn
 4eNmnJuLzuqr0UKI79Br7ZHNGHIJdWKvQQobR9udPQ6lw9UT8jhwCnV+A5bxZOK5XNOZ
 B2eUivEC8jVSRxnd2Bcqa5ryw7GEkpRJDGfy9wKaxq316BsFUzTWbDqeKRC8cGWwH7v3
 4ej75bUThjMFWzh/cYf8V6T+OSRgmeXXnVPmK0dzfjqfGLhLIEYScz5B4mdYRSCOL3MS
 LKbQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1746260600; x=1746865400;
 h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date
 :references:in-reply-to:message-id:from:x-gm-message-state:from:to
 :cc:subject:date:message-id:reply-to;
 bh=HLHdmuYLBigLG/L5oNuU9BFEgjbrze5MpGL1E7+ASsk=;
 b=JWipKEYuSaV54ZoP96JgI5lRdJzM7XFsB3pbo+D+9a75C98aP1JQllRmB1ZllNdzpb
 vVLb/8XJxZeqPlNxxtdwIKruzKFhWogDyHYtkgp38Dq/0P6E2qlK7BSIkSAQsEwTsp3O
 WFaeHxgVx73EYGHMOCzY8qUakK8pMoJTHSN1aV389qT1Fpwi3RdJRC8t9nUYmw5+ePgr
 bW56bBldPktsG0IKXBPQyFJuN8ybOJ/m1oGLhI67RBzVu7TLV8owjubrLcwwf+DM9Ogq
 K6IeJ05zu8bPRSaN1aAjRNLFrSyOAlYAXjtuNov9U0MkgAdcpdudQF4aB7XYOpY20I6r
 FM8g==
X-Gm-Message-State: AOJu0YyDkvrSur7hJ+PxDoXcKWDAEHVNmWnG609UjdyDeNJX9IBMRjZv
 2n4sTymnLb1PZeyZYk6Wea2TR6zcmOwkzO7TgUZTXDNNvz0s7HKtOKDu4Q==
X-Gm-Gg: ASbGncu+FnfrRcWgi23q6Eugdha1qHK6bD2ZVPV/orye1A0WokGcQsp8asRABFQcnr7
 tdjI4p6FPn5StttgWa61PEVMERnT0XONt3B9/p5A7WHo2tS6I+3Fc8MRhIHfsuPZ5xat/gADor+
 VdYD27qNq8Hm+a22obR4XFCFLGLvA2DzdjLBYArE+Sy4ktwZHetPKhwEKQ14vi/7+LQQiVPZi/u
 RDjHDbhfTOXKhpGsaayMZ8oqr1xp8LVBrUllPaa+FTemS+hfeJBAcg2TpKuaq0gHMT7CvQzyV01
 wybuRv8EU3D3B/0LKQPsLe1BpUfs/mMaZWeTg5G0tnKobvfgO+zHSW+hyMY=
X-Google-Smtp-Source: AGHT+IGVLOm/5HugvpezwMlIcUUCq6AswXyYwxH0rQNWXyCVXiMU7Q2CCPrBOZsq11cRhhXTQK/eUA==
X-Received: by 2002:a17:903:41c4:b0:223:52fc:a15a with SMTP id
 d9443c01a7336-22e1eaab925mr2807215ad.33.1746260599660; 
 Sat, 03 May 2025 01:23:19 -0700 (PDT)
Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50])
 by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-74058d7adc9sm2874545b3a.30.2025.05.03.01.23.19
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Sat, 03 May 2025 01:23:19 -0700 (PDT)
From: softworkz <ffmpegagent@gmail.com>
X-Google-Original-From: softworkz <softworkz@hotmail.com>
Message-Id: <26af65e6f2f513b9bdee8fe5d924cab83dc26450.1746260566.git.ffmpegagent@gmail.com>
In-Reply-To: <pull.66.v9.ffstaging.FFmpeg.1746260565.ffmpegagent@gmail.com>
References: <pull.66.v8.ffstaging.FFmpeg.1745888404.ffmpegagent@gmail.com>
 <pull.66.v9.ffstaging.FFmpeg.1746260565.ffmpegagent@gmail.com>
Date: Sat, 03 May 2025 08:22:35 +0000
Fcc: Sent
MIME-Version: 1.0
To: ffmpeg-devel@ffmpeg.org
Subject: [FFmpeg-devel] [PATCH v9 05/15] fftools/avtextformat: Re-use BPrint
 in loop
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>
Cc: softworkz <softworkz@hotmail.com>
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/26af65e6f2f513b9bdee8fe5d924cab83dc26450.1746260566.git.ffmpegagent@gmail.com/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>

From: softworkz <softworkz@hotmail.com>

Instead of initializing a new BPrint in each iteration of
the loop, re-use the same BPrint struct and just clear it
for each iteration.

Signed-off-by: softworkz <softworkz@hotmail.com>
---
 fftools/textformat/avtextformat.c | 23 ++++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

diff --git a/fftools/textformat/avtextformat.c b/fftools/textformat/avtextformat.c
index 1cd9555ca8..b2c3aa3fc7 100644
--- a/fftools/textformat/avtextformat.c
+++ b/fftools/textformat/avtextformat.c
@@ -311,24 +311,28 @@ void avtext_print_integer(AVTextFormatContext *tctx, const char *key, int64_t va
 
 static inline int validate_string(AVTextFormatContext *tctx, char **dstp, const char *src)
 {
-    const uint8_t *p, *endp;
+    const uint8_t *p, *endp, *srcp = (const uint8_t *)src;
     AVBPrint dstbuf;
+    AVBPrint bp_invalid_seq;
     int invalid_chars_nb = 0, ret = 0;
 
+    *dstp = NULL;
     av_bprint_init(&dstbuf, 0, AV_BPRINT_SIZE_UNLIMITED);
+    av_bprint_init(&bp_invalid_seq, 0, AV_BPRINT_SIZE_UNLIMITED);
 
-    endp = src + strlen(src);
-    for (p = src; *p;) {
-        uint32_t code;
+    endp = srcp + strlen(src);
+    for (p = srcp; *p;) {
+        int32_t code;
         int invalid = 0;
         const uint8_t *p0 = p;
 
         if (av_utf8_decode(&code, &p, endp, tctx->string_validation_utf8_flags) < 0) {
-            AVBPrint bp;
-            av_bprint_init(&bp, 0, AV_BPRINT_SIZE_AUTOMATIC);
-            bprint_bytes(&bp, p0, p-p0);
-            av_log(tctx, AV_LOG_DEBUG,
-                   "Invalid UTF-8 sequence %s found in string '%s'\n", bp.str, src);
+
+            av_bprint_clear(&bp_invalid_seq);
+
+            bprint_bytes(&bp_invalid_seq, p0, p - p0);
+
+            av_log(tctx, AV_LOG_DEBUG, "Invalid UTF-8 sequence %s found in string '%s'\n", bp_invalid_seq.str, src);
             invalid = 1;
         }
 
@@ -358,6 +362,7 @@ static inline int validate_string(AVTextFormatContext *tctx, char **dstp, const
 
 end:
     av_bprint_finalize(&dstbuf, dstp);
+    av_bprint_finalize(&bp_invalid_seq, NULL);
     return ret;
 }
 
-- 
ffmpeg-codebot

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