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 1CF204DC51
	for <ffmpegdev@gitmailbox.com>; Wed, 23 Apr 2025 22:56:09 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 81A2768B461;
	Thu, 24 Apr 2025 01:56:06 +0300 (EEST)
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11olkn2085.outbound.protection.outlook.com [40.92.18.85])
 by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 16F2A687DE8
 for <ffmpeg-devel@ffmpeg.org>; Thu, 24 Apr 2025 01:56:00 +0300 (EEST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=RWVZ+xxDHBS1jBwspo2aJAKKCBQmigiKg97AeXSxY6s1n2TPolU4R6O59Jhcuish9mbVXskZe03p4IeeF+9X8U8J2mqDnbCz7YdllzxdwiwZwLVgzN9MtGGlN+xliNlEhtuwvBv2QnxCMNPJZDE9e5XNVwKCuJMVtOYB6wafdiYMWx0rwtdPkehgQR8Yw5ni2HUC/rGunOYTRjFhcHxIImPdQULBLgXa9iCmeKQyJt82/AmN1nU2eDpoAUwFXOFKyBUOEQdRmP8Uf2zLWMTUURAiNVVXMMMi02NFDwFYKVyS5LPKyxs9zDmswlaxnQZEbqvqYrBMjK0KW4RL4qd2EA==
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=tu5UZZbdiPO8gx1gESSaugPtEwXXi6FHnBN2MNIHXuM=;
 b=uSim9krU9K3fcP1Shfn7aYqy9dd+gblIoiFdivi2olggcul7lD2vnYOB9bqlpUfQeO4AgdVI4tNRixyDpK/bZg1ZmE3XWnLTsoPRylh8Fn68Ws+6flm7oo7ePLsGjT+SDQUGkW+9VdevjU5q/IJ4NjBVgZVM/typnGjtc0HR3oNy9iIbSwT35KpEz1Kd5cn2xXEANR7xBElb3NqrjzeBdL6f9N2/XHVk2nDn1hQnh5EB0gvIFHBm3FblUKN3Ui8vCgRKh0U2ZnFY8AL7fcB9C1D6r1HA3TEwF+u5HU5XqLUAxK42MawX30yb+JJG4hkatYWVvS6/+zPDye3m1D3vhQ==
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=tu5UZZbdiPO8gx1gESSaugPtEwXXi6FHnBN2MNIHXuM=;
 b=IVWBZlFVtlxSkFuTt/SOIg4yzvXS19IU1LPEEAB0hVryo9IXQa+2JjWiiQpkw0kAarkhuvmmYcQ/iNd+5mPxmgvRmffe7lA6R16IvXegT8rVF5GlV9lAQPc38Wq2qrB4HfEV5SuxQCCfaAU2RjYPdKkYaO8tnfM3lB/0L2IxQaJ9cznzCL8JHAqY0Ae15gIycU1Gmpd1S5Hc0f6HnFQT4s59/F2JTwAiRtfWK3epPy4IbseQn4rxBx6zLDADXoBdCvOK/7KJMH7wl64RtHk3kz7vFPhwL546Oee9uFesQG3oDvoOMKoGtERavpP1jUa4f0DT7oKMEqrpx49ewVdJZw==
Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by
 LV8P223MB0963.NAMP223.PROD.OUTLOOK.COM (2603:10b6:408:1c7::8) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8655.35; Wed, 23 Apr 2025 22:55:56 +0000
Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM
 ([fe80::bf09:8e9:b07f:98a7]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM
 ([fe80::bf09:8e9:b07f:98a7%4]) with mapi id 15.20.8655.033; Wed, 23 Apr 2025
 22:55:55 +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 04/14] fftools/textformat: Introduce
 AVTextFormatOptions for avtext_context_open()
Thread-Index: AQHbs9FeK9XyRZ26mEOaT3oMVp/UyLOx3CGAgAABuoA=
Date: Wed, 23 Apr 2025 22:55:55 +0000
Message-ID: <DM8P223MB03658ED5AC64EB230A523396BABA2@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM>
References: <pull.66.v4.ffstaging.FFmpeg.1745189954.ffmpegagent@gmail.com>
 <pull.66.v5.ffstaging.FFmpeg.1745358943.ffmpegagent@gmail.com>
 <26be409371cab3a946c6b28dcab1ac185a264e0c.1745358943.git.ffmpegagent@gmail.com>
 <aAluUwl7VX9QhF7u@mariano>
In-Reply-To: <aAluUwl7VX9QhF7u@mariano>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM8P223MB0365:EE_|LV8P223MB0963:EE_
x-ms-office365-filtering-correlation-id: 04654f2b-68d4-4e3c-150e-08dd82ba01a1
x-microsoft-antispam: BCL:0;
 ARA:14566002|7092599003|8062599003|19110799003|8060799006|461199028|15080799006|440099028|3412199025|12091999003|102099032;
x-microsoft-antispam-message-info: =?us-ascii?Q?t+YvaC0vaBgVpMx9Pm+xM7yXTdjai5TAhJRWKeFK8tkuzL5jJPn8g1R9xzE8?=
 =?us-ascii?Q?BsbjyPArRUosrU0nto8GrxBVefFS2KWJa2SpiErZIwKk0zKH6Z7DJuupMH5m?=
 =?us-ascii?Q?sPf/6j28rEqsUBCmbqy9CEjhH7qWYNK+jwYPabsuYqCMJcsZhj+63I75aQ5+?=
 =?us-ascii?Q?7XImagV4RFmSoE2pTagB3irddKv+PL0Ej30iPdOHu+aRU9iueKq0PtjatL9h?=
 =?us-ascii?Q?TpjLX82sbn62SIYYEIZPaRiyu4RCNiyZbLIZXJhlhnyZ5MqXz03zG2X6YZz3?=
 =?us-ascii?Q?OAvvDODo1J6CyloSswXiZIH5ogHN48S3RiQfyI89oAaf/arqOPHA5QUUUJv2?=
 =?us-ascii?Q?B98U34PL847S7Qn1ndOzccbdi6fg1R2Z0PQBG1MwKtVEiOgjrnj0byaoiTGU?=
 =?us-ascii?Q?9taqn7jVf3Mp1T0w6tI9QgFWQl1/rqgUG+5dPMJsRwI6vERei2sRkDz2zoyW?=
 =?us-ascii?Q?DI1JWZ7OO+fTZsCoC2+xp0eSk/D1AWzeNGqwbF8pZvzQb9K6uTmYQi+29LFb?=
 =?us-ascii?Q?eFY83I24MQmFIZnklnYq/f3FXR/1I9ss2xCpbl9Xw+gbd5WXBEyakxDUz5pc?=
 =?us-ascii?Q?BjOkAmYYtl0FpefWOHMu8qS+yoHPgz3prA7wbaM5pRX1B8/nm2Wsf/H9WDg0?=
 =?us-ascii?Q?L9N5K5cgugStFSqEBuo2zfKLq7v0v/vDnk5cLzsb8f6/s380GFz4f772RWO4?=
 =?us-ascii?Q?f1JXlx/HIWJM8tUKLJpg3SfLo8frGJog48rgSRTh++Duxp6x76yEOBgQt4Vx?=
 =?us-ascii?Q?DDHw8zipAvVNHQX6ZNmpgODglKOZoiRDo/lWIdgQPw1K7Z08fXCw7g+w5FFb?=
 =?us-ascii?Q?ulNF+pUcQpz3luxo4zX70sUFIdd7vFgddXMQBnbYsxJmcXhM1wjA7N9BiJIp?=
 =?us-ascii?Q?XN2oxQAaZDhKBWYl74+pwyALx1a5D0MTHE2svCA0iPXD8BtIyqCwRA56j2GL?=
 =?us-ascii?Q?0zeznc5JYVBtT5k0GD/TEaCB5WiNwYFXuLDnkFQsjaoccqdTuv5KXgGGzkRR?=
 =?us-ascii?Q?SSVdF4PQVNJeBRAdalZiOkpO/v+kXsjNiBZAIVl3r5sLgvYnb62EIjz29DS3?=
 =?us-ascii?Q?VpIf/Txx1+mI+akSmtW+335lhL1Li89EH+p9xgHed5NFi18PrZM/pzvxWpjy?=
 =?us-ascii?Q?MmU6PmycvNM2EZ1FC1gi7YAsCM9kNp7rwQ=3D=3D?=
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?pgmpsBAGXEuAOG5MMMXHJDwQSJ4AlzgjH2SsacqtkK+w4JMgaQyi/0NkDqmf?=
 =?us-ascii?Q?Z3RcFXNa8wBifCK6HJTL4i5Ds5obFax9ABDpZlxE9NckS5ot2P+nyT77kMf6?=
 =?us-ascii?Q?f3/symyLJioYXKyEMB/Y5kxX0oXbJEgPxP6ZHzaPN5AWEEUZwGAANvbJ8oz2?=
 =?us-ascii?Q?rIjvF/tDebGhKPmkROEiVHz1Z1UkgQB7SzIl44pJSxAlGmr0GlJW3RFPLySZ?=
 =?us-ascii?Q?3ULEmOgHJxUanUgl8O8uE5muIWj+laT9RdsazRc/M++yfBkesLocJWrahzl7?=
 =?us-ascii?Q?BgQLN+8Y8JEBzgFYA1iSNlSonuFYReqp0PyBUWJt6tit+oBw5WJJrYWRBXtS?=
 =?us-ascii?Q?meeLUcelxxfsaazVSPA5UU0dEoBEYQGHE9g+/fVaBOjtJWxqrKWNSqLIGy66?=
 =?us-ascii?Q?FiyHb2qfqlTfBxIgZOMhnuggjCiOB9xm+i6ymDf7nhfKhiZyB7v67++tKF7C?=
 =?us-ascii?Q?4eKzNTu7M8HnPcCs5epnFgpypb8CRgcRy0ObgXqtlDWkvz6+YigotWQ5Ipwu?=
 =?us-ascii?Q?CweDsnshJLoRwFA16isOSw9Pzb5E+8aTLhVZe+vTX7X0QrEmVTsdHA8iX8gY?=
 =?us-ascii?Q?9FfXJkFntNg+JLKrPVv6gtxAmeFHeOzRA90RLcAdPl6OK+/tzUkQ407ZMY1X?=
 =?us-ascii?Q?Cy5g7goC0Z2pVsUOdf3kJhC2iqMm5Z9+mg6Kqsq3ix+nyAYiXcZQMJtjfxZl?=
 =?us-ascii?Q?F7AhoeiYfVTgynHPfd3fHvW0xuxOGyfCtnWVAgr0dmL7hRThWLRbf8VUc9GP?=
 =?us-ascii?Q?LgifKANckSTLj8OtszElJVhSEfYOL6YLilvHBMPh3saVP64fvKz3O8dlemo8?=
 =?us-ascii?Q?2WUIQewt+aCCdauzQfDq8seJve3N5p7uCwSeib/pRBSJ0I/CKyf7pKPa8/x8?=
 =?us-ascii?Q?HwHx0kECB1Y9bewTyVaHDNLkxt0G3mX27CRl/9SSqmdshMcG+t048gqPa80A?=
 =?us-ascii?Q?BOUSUZfnDqvmrmcV4v4fluMJUSN/c36lb7/4Sc1UWqvS0AJT0P8s0KQ8NpIH?=
 =?us-ascii?Q?v/QfKQ/4on9eYrcTGs63NdVLKbCcXpuB/S6vk/vpKUynM5QXk0CklrqvQQzb?=
 =?us-ascii?Q?C0U56Q5+yYDNEeWPRPC5CjnSkmlh7vKrhpqwacS+B3dwGP3RxvV098l53X3Y?=
 =?us-ascii?Q?rD6USZ8nfYjclIIFNxvEohI0pXzQSSLstUMxv735fikXdv1g4DwpDl17qGnq?=
 =?us-ascii?Q?14ld6nmIgUNWVaNa1T5i81QLnUwzM+V7CTGktePhsG9m/B2d27+33emBOEY?=
 =?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: DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: 04654f2b-68d4-4e3c-150e-08dd82ba01a1
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Apr 2025 22:55:55.9282 (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: LV8P223MB0963
Subject: Re: [FFmpeg-devel] [PATCH v5 04/14] fftools/textformat: Introduce
 AVTextFormatOptions for avtext_context_open()
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/DM8P223MB03658ED5AC64EB230A523396BABA2@DM8P223MB0365.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:49
> To: FFmpeg development discussions and patches <ffmpeg-
> devel@ffmpeg.org>
> Cc: softworkz <softworkz@hotmail.com>
> Subject: Re: [FFmpeg-devel] [PATCH v5 04/14] fftools/textformat:
> Introduce AVTextFormatOptions for avtext_context_open()
> 
> On date Tuesday 2025-04-22 21:55:33 +0000, softworkz wrote:
> > From: softworkz <softworkz@hotmail.com>
> >
> > This allows future addition of options without
> > changes to the signature of avtext_context_open().
> >
> > Signed-off-by: softworkz <softworkz@hotmail.com>
> > ---
> >  fftools/ffprobe.c                 | 13 +++++++++----
> >  fftools/textformat/avtextformat.c | 21 ++++++++-------------
> >  fftools/textformat/avtextformat.h | 22 +++++++++++++++-------
> >  3 files changed, 32 insertions(+), 24 deletions(-)
> >
> > diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c
> > index f5c83925b9..1277b1e4f9 100644
> > --- a/fftools/ffprobe.c
> > +++ b/fftools/ffprobe.c
> > @@ -3168,10 +3168,15 @@ int main(int argc, char **argv)
> >      if (ret < 0)
> >          goto end;
> >
> > -    if ((ret = avtext_context_open(&tctx, f, wctx, f_args,
> > -                           sections, FF_ARRAY_ELEMS(sections),
> show_value_unit,
> > -                            use_value_prefix,
> use_byte_value_binary_prefix, use_value_sexagesimal_format,
> > -                            show_optional_fields, show_data_hash))
> >= 0) {
> > +    AVTextFormatOptions tf_options = {
> > +        .show_optional_fields = show_optional_fields,
> > +        .show_value_unit = show_value_unit,
> > +        .use_value_prefix = use_value_prefix,
> > +        .use_byte_value_binary_prefix =
> use_byte_value_binary_prefix,
> > +        .use_value_sexagesimal_format =
> use_value_sexagesimal_format,
> > +    };
> > +
> > +    if ((ret = avtext_context_open(&tctx, f, wctx, f_args,
> sections, FF_ARRAY_ELEMS(sections), tf_options, show_data_hash)) >= 0)
> {
> >          if (f == &avtextformatter_xml)
> >              tctx->string_validation_utf8_flags |=
> AV_UTF8_FLAG_EXCLUDE_XML_INVALID_CONTROL_CODES;
> >
> > diff --git a/fftools/textformat/avtextformat.c
> b/fftools/textformat/avtextformat.c
> > index 0a221f4a9a..217d9da25e 100644
> > --- a/fftools/textformat/avtextformat.c
> > +++ b/fftools/textformat/avtextformat.c
> > @@ -125,13 +125,7 @@ void avtext_context_close(AVTextFormatContext
> **ptctx)
> >
> >
> >  int avtext_context_open(AVTextFormatContext **ptctx, const
> AVTextFormatter *formatter, AVTextWriterContext *writer_context, const
> char *args,
> > -                        const AVTextFormatSection *sections, int
> nb_sections,
> > -                        int show_value_unit,
> > -                        int use_value_prefix,
> > -                        int use_byte_value_binary_prefix,
> > -                        int use_value_sexagesimal_format,
> > -                        int show_optional_fields,
> > -                        char *show_data_hash)
> > +                        const AVTextFormatSection *sections, int
> nb_sections, AVTextFormatOptions options, char *show_data_hash)
> >  {
> >      AVTextFormatContext *tctx;
> >      int i, ret = 0;
> > @@ -155,11 +149,11 @@ int avtext_context_open(AVTextFormatContext
> **ptctx, const AVTextFormatter *form
> >          goto fail;
> >      }
> >
> > -    tctx->show_value_unit = show_value_unit;
> > -    tctx->use_value_prefix = use_value_prefix;
> > -    tctx->use_byte_value_binary_prefix =
> use_byte_value_binary_prefix;
> > -    tctx->use_value_sexagesimal_format =
> use_value_sexagesimal_format;
> > -    tctx->show_optional_fields = show_optional_fields;
> > +    tctx->show_value_unit = options.show_value_unit;
> > +    tctx->use_value_prefix = options.use_value_prefix;
> > +    tctx->use_byte_value_binary_prefix =
> options.use_byte_value_binary_prefix;
> > +    tctx->use_value_sexagesimal_format =
> options.use_value_sexagesimal_format;
> > +    tctx->show_optional_fields = options.show_optional_fields;
> >
> >      if (nb_sections > SECTION_MAX_NB_SECTIONS) {
> >          av_log(tctx, AV_LOG_ERROR, "The number of section
> definitions (%d) is larger than the maximum allowed (%d)\n",
> nb_sections, SECTION_MAX_NB_SECTIONS);
> > @@ -202,7 +196,7 @@ int avtext_context_open(AVTextFormatContext
> **ptctx, const AVTextFormatter *form
> >          av_dict_free(&opts);
> >      }
> >
> > -    if (show_data_hash)
> > +    if (show_data_hash) {
> >          if ((ret = av_hash_alloc(&tctx->hash, show_data_hash)) < 0)
> {
> >              if (ret == AVERROR(EINVAL)) {
> >                  const char *n;
> > @@ -213,6 +207,7 @@ int avtext_context_open(AVTextFormatContext
> **ptctx, const AVTextFormatter *form
> >              }
> >              goto fail;
> >          }
> > +    }
> >
> >      /* validate replace string */
> >      {
> > diff --git a/fftools/textformat/avtextformat.h
> b/fftools/textformat/avtextformat.h
> > index aea691f351..05a358132e 100644
> > --- a/fftools/textformat/avtextformat.h
> > +++ b/fftools/textformat/avtextformat.h
> > @@ -118,17 +118,25 @@ struct AVTextFormatContext {
> >      unsigned int string_validation_utf8_flags;
> >  };
> >
> > +typedef struct AVTextFormatOptions {
> > +    int show_optional_fields;
> > +    int show_value_unit;
> > +    int use_value_prefix;
> > +    int use_byte_value_binary_prefix;
> > +    int use_value_sexagesimal_format;
> > +} AVTextFormatOptions;
> > +
> >  #define AV_TEXTFORMAT_PRINT_STRING_OPTIONAL 1
> >  #define AV_TEXTFORMAT_PRINT_STRING_VALIDATE 2
> >
> > +#define AV_TEXTFORMAT_OPEN_SHOW_VALUE_UNIT               1
> > +#define AV_TEXTFORMAT_OPEN_USE_VALUE_PREFIX              2
> > +#define AV_TEXTFORMAT_OPEN_USE_BYTE_BINARY_PREFIX        4
> > +#define AV_TEXTFORMAT_OPEN_USE_VALUE_SEXAGESIMAL_FORMAT  8
> > +#define AV_TEXTFORMAT_OPEN_SHOW_OPTIONAL_FIELDS         16
> 
> Since this is a bitmap shouldn't we use a flags field directly?

Oops, forgot to remove that. I replaced this by the AVTextFormatOptions
right above....

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