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 9EEA14C655
	for <ffmpegdev@gitmailbox.com>; Sun,  9 Mar 2025 18:55:41 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 24B0568E68A;
	Sun,  9 Mar 2025 20:55:37 +0200 (EET)
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10olkn2046.outbound.protection.outlook.com [40.92.40.46])
 by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C24CF68E4AC
 for <ffmpeg-devel@ffmpeg.org>; Sun,  9 Mar 2025 20:55:25 +0200 (EET)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=RhKAHZUiDvvialhPZ1F9EXvLaFRio8ehMkfPKMy5PO2RpDy7ULRnMMT9RCeYnf+6742iNC5gX1z9HuoizhG2qSPPgNt/7xzaWDvjIeHgw8N+EZo5C5QzZ91648SOrt8kzSrTTdceRHBF9tWRMZTc5Mloh7VlDm0BGnb5kzHv+N77mXc9Ha8NHyNYe3uFsSJpOo5EZMQfCtFse3mVGU/hQwIgXvWX+JTu4F0tMKqTzyhy2plc0e3/Ah1gD1xip64j7Cb7vvflgvNbnY5WV8VA2A8wG10nTQoVezHLQBqqQc8dcGjuiSdUpipb8KYpj39MuTADGV15bGtdedcFQhzGgw==
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=TJm6+ZDhWc4Vw5UZyHllMqJKlWm6D1YpM7K1ZjjLQqs=;
 b=aBvLKso8lZ8o/EWCGx1kiPW7MQHtFCW4T4CiClTuQsZZYx9+xE3KdG/YADZJfxAEKLeu9aQA8UaXybuIi2dVXgUBw2kf9NW34ObgCap4cBI+PelyvRGO+aJKu89aEeYQUf1TVE9k6m6LciKL+UuO0tiOdpLSTvuYzllIT9vgBcGIh4UavokQWD1Tj217fzyM8+PuiZ3UL6/7U4iSaxeMCPG6uW7eHqnmMCezsoNXX5PqJYGeQiC8LPGcs3ztgvS8uNNDzlDLIdLtuVLZSb1SWMpRyNUD0UDZ4cMpvM2rPZf3zZqO3mbXsK+ubmPcNwkAsEN6gvWmSJLgHqmgKuHNvA==
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=TJm6+ZDhWc4Vw5UZyHllMqJKlWm6D1YpM7K1ZjjLQqs=;
 b=D5YNRH9wfqqXPcCChF9hOeRB6oFeu13Qji7iEk7ACFymb3avyekC8kn9/UO4cjZ/tA2r1++xp5KWypQBYqjO0zm8rvj0I5vxE2tUa2HGLyh38undBXRXgSfIz0pyiagLbQa28qfIdgowcZRyUUtQ7kBLf5jXTc3zLw3JtTetx2ZM4BIyzWZZjMN5flAmD8Bqq5/fUAWZhqEoCQejIjUDuUxBDMIqjSGoKRkIrcVVW4aRUx3X/8e8K9rK8Cr26GpwKp5rxEvVyDIOgAlHppWvcvKs0FGvqhU1CDq/Pi9bavpyml9al58rQeHjDIGl8CRnJK47HkaF1F9VoQLzhI/AjA==
Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by
 CH0P223MB0203.NAMP223.PROD.OUTLOOK.COM (2603:10b6:610:f7::17) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8511.26; Sun, 9 Mar 2025 18:55:23 +0000
Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM
 ([fe80::bf09:8e9:b07f:98a7]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM
 ([fe80::bf09:8e9:b07f:98a7%7]) with mapi id 15.20.8511.025; Sun, 9 Mar 2025
 18:55:23 +0000
From: Soft Works <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 v3 1/7] fftools/textformat: Extract and
 generalize textformat api from ffprobe.c
Thread-Index: AQHbipEFizx1C9jbWEO+DATMb/mrbbNpWdgAgAHXXSA=
Date: Sun, 9 Mar 2025 18:55:22 +0000
Message-ID: <DM8P223MB0365CC16A3B2094B9E1F460FBAD72@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM>
References: <pull.52.v2.ffstaging.FFmpeg.1740137232.ffmpegagent@gmail.com>
 <pull.52.v3.ffstaging.FFmpeg.1740823324.ffmpegagent@gmail.com>
 <6239813ba0e293bd427cecf8437aadef778ea3ee.1740823324.git.ffmpegagent@gmail.com>
 <Z8xV8g1pb2RPTKw1@mariano>
In-Reply-To: <Z8xV8g1pb2RPTKw1@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_|CH0P223MB0203:EE_
x-ms-office365-filtering-correlation-id: 49663705-8de2-43d7-f34e-08dd5f3bf252
x-microsoft-antispam: BCL:0;
 ARA:14566002|8062599003|19110799003|461199028|7092599003|15080799006|8060799006|440099028|3412199025|102099032;
x-microsoft-antispam-message-info: =?iso-8859-1?Q?Cf4wbWwrqsjdXg0BjKophmFVaG/jAJTI2ijnyX+JDLisJmc1vP6YlxOmuG?=
 =?iso-8859-1?Q?cjXH1TQC6iHsL7Th0yKnDVYvsiDp9BzUlXLdpeE2S00rSKYEtGD9KjNSRC?=
 =?iso-8859-1?Q?hhvLuAQldNHXrxfKaS8UWVVHQqISKjWD6DHT0yGRL2WkWycLQCy8uH1QVT?=
 =?iso-8859-1?Q?C05O/tG9M3lLNugli8/Zd1Gbu5h67UPHFITMSeUOo7KjdQp1/u23wjnwvL?=
 =?iso-8859-1?Q?PQ2j/qhVsKqNLcdDu/ACyP41SLvMwD9ooVxuFDF/2YZU6Jo2n6BLAxdbs6?=
 =?iso-8859-1?Q?q+QUBjvo9P/eVurxtboZ75lbHeTEWrzp+CtqGJCHEVVetQYYQvlzNl7UL7?=
 =?iso-8859-1?Q?f+8JeaxhroeL5A2g9TMV+KOKx6brw2aoSyDD+bBzayQ075SN/3BlKuAFq0?=
 =?iso-8859-1?Q?DqNfyfqVKyI4EzDiS5gpkOJGHAPPlFIQ6QhzDX0u5yNQeYKPFj+hVAWMan?=
 =?iso-8859-1?Q?CrWsjXBN1CNjs1Ckspz7Rq0QDIF/Y3N6WmtLLMTj2Ufrh/V0rGlO2R5gvV?=
 =?iso-8859-1?Q?HsrRB2ydPaB7f/7LVj2ovY4TGvtgDuPhUvhMK74tYgvHB1ZJL59SQKJ00F?=
 =?iso-8859-1?Q?YFeG5ddk+djSrnG5QYOetvHOdef0bzRwooV17n02knKHI30PYX7NHDdRtX?=
 =?iso-8859-1?Q?+iZjwt8O3vc/0/Plds169i6ISVCIk8mPl03yGaOdlVUdn30SBWdwFZJpkG?=
 =?iso-8859-1?Q?DeWp77tkeJsgV5biakW7Uvozc4P/ndIekA846xJKgnC6EgAGeYraIAX3hZ?=
 =?iso-8859-1?Q?XCaxQa19v6ausZ9HSnX6hwsgLYFfCA2prNSo/DK0R6K3qtkvRTyVDRf8Dp?=
 =?iso-8859-1?Q?p+0mYl0OkH7wVembHXLAxLSby4ijJzw++iZn1XD9XfLkMfMfhCnT7uQ4VR?=
 =?iso-8859-1?Q?XekvI+s4k5MISxwF+P20NF/Lk5Fac1jC4HR/vcbs1G7+xEAFDoOlGolq54?=
 =?iso-8859-1?Q?+NJrCA/ovF/O4YSHLexWhFtASAO3tKmESvVy3/BSxqSUJCWexwbpD/TCNp?=
 =?iso-8859-1?Q?kzL2DUsYEdMFPBKeEqWHVWhpJ3MLF6dwvV5i5RnohfZii1w5+xadx2qzHG?=
 =?iso-8859-1?Q?p40OsWgrtJrIvFWs4hCc90WCxc9n96Q3tsg4/5eM1hujMPva9G1arAnVa+?=
 =?iso-8859-1?Q?+PV8CMpA=3D=3D?=
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?urxYq+8dlTGmRroxvDEZD7JYFsv0oNM0cZHyC5cfnxB8h0Up/yIpphmrCF?=
 =?iso-8859-1?Q?2AfpyioldjQxZ1l8jnthX8Vow1saiHjpKZ2El9po6sUOugy9K5gIFKgzm/?=
 =?iso-8859-1?Q?zT8pNKdum1Vwx5kxj71O8e83GPdvgAfAjbNR0OKXlZlPSAT5t21HWl9xIB?=
 =?iso-8859-1?Q?c3hc/225eaUHlJKAeN5FB6rwHhJl45fjk4qt7WuHuLwY9+4nH5tdPSsbNi?=
 =?iso-8859-1?Q?2kY4WRylPGOV8motUiutFyPgicyQZ/XrCjlDWc+yG2382PRRjjFhSLJkpM?=
 =?iso-8859-1?Q?EKJdC3uCsEZbTVKeLfnfAA439mX/CSqqU8wpUE5MC5SYao/qlG1WojzkGf?=
 =?iso-8859-1?Q?sJEeNCopLyYqWWQnpzudoFdIXYBFnOtoMAS0i1fg9ekgqkVnuOj2iLrfAt?=
 =?iso-8859-1?Q?YV47Zgd9/38K9LcmmriLqhyL7oHi4/AHzXhBQKUSWm3T7ahla/bnULP6gC?=
 =?iso-8859-1?Q?gQurEqX9cl69jSlBEwpyUzcyrVTo23+NUukBPelxveviFiLAsLO4VZOTWy?=
 =?iso-8859-1?Q?GrCOkTks+Jxaotlu2GiLayBM+c7vh1UdwV8aH/QKAqyUUWYTIUwMPM07ZQ?=
 =?iso-8859-1?Q?6KOwOaW73r4xBStVPltpEfHXMIc/r56YvQGhIspsc/p92Y2pLVxIlXjMM/?=
 =?iso-8859-1?Q?0Z7J74UqfovXo6LNbsRkkEtcQJ09XYVIp5fhHnBh/m4MOWoW0NQZ7WWtEe?=
 =?iso-8859-1?Q?8vkrQlT4ffgg/apCB0GQ8lr+k7kzMSmlBCiZ3txuSMkm7zM7nG/iMMOSee?=
 =?iso-8859-1?Q?uNFUQzpvrWVow8zUX2MHWwNakQuM6wISP1+o6M9DQVIFmPVlsOFWcQOplB?=
 =?iso-8859-1?Q?+sZe2gTPBJRp+umO/qYV9nv6fao9hH58c8TUAwCRnzjzTldF7qWv912O/8?=
 =?iso-8859-1?Q?EphhzS1uhDnFbLjrbknzvrhH2cpXtl5A25qxK2VXci3sgQ99eJu4U1k0wn?=
 =?iso-8859-1?Q?J+OLmrDLAL0rX1QG92jOPv6aty1n1bkPKQbAGenkG0UoGYZIBVotla+n+l?=
 =?iso-8859-1?Q?j6wmLHRp9n/cSzfXnWycSCzmVds+qr7Sg0nhrVbLuILEN2PwLQgKzqBNK0?=
 =?iso-8859-1?Q?DO1t5wJJiJtL593P0QbFF3fGgt40+FcZwDUGXU2PaTvrXfLD4Fm+SQnp5a?=
 =?iso-8859-1?Q?4rIe0Gw0px7ka2VLkpSFw2gJuAlPSaiNsJedWnP+oKMaIjt/6M2yn9eE2o?=
 =?iso-8859-1?Q?m5DIJhRRdtwBrK8/lXfItuhjYbzGmYRlBOB0UckuT2FJnj7eat+JoEnV5i?=
 =?iso-8859-1?Q?ugVA6GWbLXwqYW/SUHE7LDA62rDx3hA0dHscw2C3k=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: 49663705-8de2-43d7-f34e-08dd5f3bf252
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Mar 2025 18:55:22.9662 (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: CH0P223MB0203
Subject: Re: [FFmpeg-devel] [PATCH v3 1/7] fftools/textformat: Extract and
 generalize textformat api from ffprobe.c
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: Soft Works <softworkz-at-hotmail.com@ffmpeg.org>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/DM8P223MB0365CC16A3B2094B9E1F460FBAD72@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: Samstag, 8. M=E4rz 2025 15:37
> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
> Cc: Soft Works <softworkz-at-hotmail.com@ffmpeg.org>; softworkz
> <softworkz@hotmail.com>; Andreas Rheinhardt
> <andreas.rheinhardt@outlook.com>
> Subject: Re: [FFmpeg-devel] [PATCH v3 1/7] fftools/textformat: Extract
> and generalize textformat api from ffprobe.c
> =

> On date Saturday 2025-03-01 10:01:58 +0000, softworkz wrote:
> [...]
> =

> > +int avtext_context_open(AVTextFormatContext **ptctx, const
> AVTextFormatter *formatter, AVTextWriterContext *writer, const char
> *args,
> > +                        const struct 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);
> =

> writer -> writer_ctx?
> =

> I'm fine with changing this later to avoid massive rebase edits.
> =

> Also I notice there is some of the usual inconsistencies here:
> av_X_Y against avXY and avX_Y that we have in the rest of the code.
> =

> Maybe let's stick to avX_Y or to av_X_Y.
> =

> Also this might be:
> av_text_format_open(...)
> av_text_format_close(...)
> av_text_format_print_X(...)
> =

> Or to simplify we can just call the structure AVTextContext (I see
> text as an evolution of a string, meant for structured formatted data,
> which is implied by the fact that we need a formatter) and simplify
> related functions naming to:
> av_text_open(...)
> av_text_close(...)
> av_text_print_X(...)
> =

> av_text_formatter_...
> av_text_writer_open...
> av_text_writer_close...
> =

> In fact I don't think there is much gain in keeping "context" in the
> name of the functions.
> =

> What do you think?
> =

> Again, since this is not public API (yet?) this should not be
> considered a blocker (also I've been out of touch with FFmpeg and I
> might be not aware of API conventions evolution).


Hi Stefano,

regarding the API naming I thought that maybe it's better to get it straigh=
t right away. To make it fully consistent as mentioned, we should look at a=
ll "public" API names. Here's a complete list:


# "avtexformat.h"

## Defines

AV_TEXTFORMAT_FLAG_SUPPORTS_OPTIONAL_FIELDS
                                        =3D> AV_TEXTFORMAT_FLAG_SUPPORTS_OP=
TIONAL_FIELDS
AV_TEXTFORMAT_FLAG_SUPPORTS_MIXED_ARRAY_CONTENT
                                        =3D> AV_TEXTFORMAT_FLAG_SUPPORTS_MI=
XED_ARRAY_CONTENT

AV_TEXTFORMAT_PRINT_STRING_OPTIONAL     =3D> AV_TEXTFORMAT_PRINT_STRING_OPT=
IONAL
AV_TEXTFORMAT_PRINT_STRING_VALIDATE     =3D> AV_TEXTFORMAT_PRINT_STRING_VAL=
IDATE

## Enum

StringValidation                        =3D> StringValidation
AV_TEXTFORMAT_STRING_VALIDATION_FAIL    =3D> AV_TEXTFORMAT_STRING_VALIDATIO=
N_FAIL
AV_TEXTFORMAT_STRING_VALIDATION_REPLACE =3D> AV_TEXTFORMAT_STRING_VALIDATIO=
N_REPLACE
AV_TEXTFORMAT_STRING_VALIDATION_IGNORE  =3D> AV_TEXTFORMAT_STRING_VALIDATIO=
N_IGNORE
AV_TEXTFORMAT_STRING_VALIDATION_NB      =3D> AV_TEXTFORMAT_STRING_VALIDATIO=
N_NB

## Structs

AVTextFormatSection                     =3D> AVTextFormatSection

AVTextFormatter                         =3D> AVTextFormatter
AVTextFormatContext                     =3D> AVTextFormatContext

## Functions

avtext_context_open()                   =3D> avtext_context_open()
avtext_context_close()                  =3D> avtext_context_close()

avtext_print_section_header()           =3D> avtext_print_section_header()
avtext_print_section_footer()           =3D> avtext_print_section_footer()
avtext_print_integer()                  =3D> avtext_print_integer()
avtext_print_string()                   =3D> avtext_print_string()
avtext_print_unit_int()                 =3D> avtext_print_unit_int()
avtext_print_rational()                 =3D> avtext_print_rational()
avtext_print_time()                     =3D> avtext_print_time()
avtext_print_ts()                       =3D> avtext_print_ts()
avtext_print_data()                     =3D> avtext_print_data()
avtext_print_data_hash()                =3D> avtext_print_data_hash()
avtext_print_integers()                 =3D> avtext_print_integers()
avtext_get_formatter_by_name()          =3D> avtext_get_formatter_by_name()


# "avtextwriters.h"

## Structs

AVTextWriter                            =3D> AVTextWriter
AVTextWriterContext                     =3D> AVTextWriterContext

## Functions

avtextwriter_context_open()             =3D> avtextwriter_context_open()
avtextwriter_context_close()            =3D> avtextwriter_context_close()

avtextwriter_create_stdout()            =3D> avtextwriter_create_stdout()
avtextwriter_create_avio()              =3D> avtextwriter_create_avio()
avtextwriter_create_file()              =3D> avtextwriter_create_file()
avtextwriter_create_buffer()            =3D> avtextwriter_create_buffer()



If you could edit the right sides in the way you think it should be, I'll m=
ake the changes accordingly.

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