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 E698248F21 for ; Tue, 30 Jan 2024 07:36:20 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D398F68D2C3; Tue, 30 Jan 2024 09:36:17 +0200 (EET) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01olkn2050.outbound.protection.outlook.com [40.92.66.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 588EF68D22F for ; Tue, 30 Jan 2024 09:36:11 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=adZHDzydmXpiBOZ1iGacT3AwjelZYB8FfWEREp7doA5NAnYCiuHdlWIljs1g20jMdVg2ht6uklTZGgd1zSo/O04A/sjljoRSjeh82S3X4NnJwdhmC0szmqf5xCKw+YCyziK333fL5lYavSy1KjAC9nNUHjrNWSJwNxazdrM5641HNwGRPgkvJ5kU/zhyq0qgiDNfEoXZCWixtLYjkVSl2V1Ztuvv7MDJsB7OCfnTR3/u7Ua5jjUHRgxoc8sAZFd82nxvdefqxOdUgRBJGUcDmPUOcYoP2u8uhu8OTqKTgsSi6Kj2uBfp9cdgEH1FRpePvAXcUHPa9K5Ze8S8YMBppw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=1xZBvY4Viu+kMaP7zc2+JHCdTS2QGnt3pa3y0Q5lHq8=; b=S2qDeXfwj9ZB0OM0x78uAECec2Y7V1XwDlH6Bpq6sZuKBljz6MpqZah+F6Sm0do7o0R47lLTtlAkGXmY2zXxqu/kozSNpK2KvNFEY2n8+cG9k/rliGuyMGkt1eXmAtxRhOuD9ohld4BQFuaARRY3e6GywVnymtxXWyjEZ76SCZDOuur4/dmvfc80klscOlnYxTgPwvLzIDfdtFORTfz5PLE6hMIpyzzlcx9mCiHekTVQSOG7mn9lJAB4jHvs3elIFWdCKLmZh+iRVI65YLvZO5kPstTpFXnHX+NdseH/cDcl86+1s69D1C66JogMsTZMLrHNQ/eBcFSW0oA3U2gRDg== 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=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1xZBvY4Viu+kMaP7zc2+JHCdTS2QGnt3pa3y0Q5lHq8=; b=izkSNoshJ2eoqmz/8yRSVcNNpz+TIaQSrH3Zz+vT/06x+Ppf4Gr3mQlqQgB6xYcyMHtDDH1xI0365kXJA9CXiGCoqFwWycIUJmyX3t7BO3SjJwm13uv532NO/0eG6gGfXKgT5LrpczWNll6B8F+ZiC/So2u+2EmdMXSmA2U3ElbButrVORsLZgLRheZx7zKFn6TqnAah3KmuUX1oaNmW7wsbZWBPx7ByXFvA8FLg6QGSPBXktE8ducDF4rzNX2DiA4WLAPqPlqemD7juTxfjsFpjVpJVsPccy9x7e7stL6ZT+ptbSmLEMKdLWM5kWFnlwgRufppjgjpwgjkazQk8EQ== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DU2P250MB0271.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:270::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.32; Tue, 30 Jan 2024 07:15:43 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d%5]) with mapi id 15.20.7202.031; Tue, 30 Jan 2024 07:15:43 +0000 Message-ID: Date: Tue, 30 Jan 2024 08:17:23 +0100 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20240129184215.16685-1-anton@khirnov.net> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: <20240129184215.16685-1-anton@khirnov.net> X-TMN: [TRIHofuj/318qDxDVZyyz4JJFcPhOQkV5MqizYyutis=] X-ClientProxiedBy: FR5P281CA0037.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:f3::17) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <4a083614-0336-4c11-ac86-f6a560c5bd5d@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DU2P250MB0271:EE_ X-MS-Office365-Filtering-Correlation-Id: f1badd60-446f-4df4-d194-08dc21634542 X-MS-Exchange-SLBlob-MailProps: Cq7lScuPrnrkpZ6odGwC3elTTXy6+DH8vV6O5HlgBxvm+WC9j9G+zx6jPCpJhfHMkbs+d3WzKryG+ecn03oMBz703UvBQ6aK0PtcaFQE0xr2viGz88BxEymnmxHirPJH+pqA4H8spCrfnLXUOpUwEufOk5Kv7fGQyq0lese0a/1xc16qHqIIvs35CSrTZGgVF5mo0gYuJF7TXHmMlTrybDS+Aw2zzTsd3X9rX9TR3GDLDhx4GyitDFF4U0BrIkoZuyqyGfBEbXx3c3c6JjKplno/3/frfAnKAq0206VwQQpIajuagoYXUd4VyFAb4TT0pi75TEVqbGlNe0gYlHm0uNq0HWZQM4wPMOXO33dm2mt7G70OJCEeh6/bpxtMXZ+Rr6D/jnoj6LqnKgb/T66frLVhrE9TpYHWqr0JWicw1+Icvll3PvP15ugbzuHUJcJn/VNA687IbQjqbrYuYYfwNSK1DZtSBtLXItZw/a3MKj3acIgOJz06UDLHzkg9bi02+jw/Xc9ST2Iy4FjAn4T3krLJ2Ash3NHu3WbCpm/J/KVhfHc6aHMJZzyCTtTBIhy6qu+0hKmfRjAYKNzQBQVeKHRwwofJ+49hibk+I6QpJA8F87xy9onPRDsroN1JOJdZ1P5eRG67PWweuwC2I3ULisFoAxbd+G33rNdMzsgl3WagngXG/Ye4vqUNdRLIittJmTfh15q6txHM203ZEj5Gmh7RFpw+GhHGkXty46inxlseJFDRYcYpKW66eFC0QtLptBOgvqlhuCk= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CY/FJRtIryQotu0PB7+zLP/nn+oYCjEbpcoeo++Qk8gLazbUhBO5VGs3EEEG5Y3ypiAQ4PTm3weau4qD/lej2HNUnSnzliexFO/Ja3sMDEoYlIk63tk5UXoAyRmxSfCUidirlvrkyYdF9t3yy6geyQeb5orT6EYj0WSpdZjo2GdLFq3FdhECh1Zla9Mvg3W88PkNZP01zGFVivtCneiJCNrmdlKDLjDeeW5/nopKpg8f4OJft6VmHGjnQTNUBPSJTgj4r+sarAkRTmY+v7D596Pj4OyufKzM/hH9yUuTSI6MkmiYp8+UzwgRG/wnwOVPvLR11zKksVitkj3P5R6Smzbt0DN6fTSUJvbfTIk29dx6PCoUUi04vQWmUKge9c6SuLixXz1+q4OWZdJ5bcDvGSzCkND3cvDf1MStPYPdzpJO/bl4+pfogKO4jlre5RuCJXoyi8raIzISkebmvLTiz2YO+dtMe7kWh+rKIUun8KMOKq3wE0xYlpsGZVyvIkhfLbsVslrkP1+uhH15/9WOKI9O2cDXVKP9GzjaOiqaJGIY/KOlmO0kTRu5O1Frs+Yg X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RVpUdFMyT2VlajhBcFkvQWxic0pJUG5tdkJhL0tSZWZCUk1nKzdNRThvZWNR?= =?utf-8?B?VHlzME5WQkFlRm1pMklGZHRHd1hpMVQ0MWJwb09UK2FNQ1Q4dWFkZjUwejJp?= =?utf-8?B?Tk1rdHQrNGlaeHRTMlA1eEVoUzJ0aVZyQldEODZWNDVIc2NsMVY3a3BDQzBS?= =?utf-8?B?RGppdWk1YW4waWZvSG1tL2NxWHlXVnpDMDE5U2M3N0JTS2x0RmZSMlJFNWR4?= =?utf-8?B?eHJoY1BlSUw5WXR5aTJpTE1vaXZiQjZEZkxJSkdjMDN2aHgzOEh2QnFkSWhI?= =?utf-8?B?SXladWkrQnBCZWZidzI4OEc1MHhNMEdacjVxenoxY3FXU3RkOFFuVVRsZVF5?= =?utf-8?B?MFFFOHdDcGs0NmtETjJmT2pOZnEvTXlJVTdnMjZNeGR1TmhabUVmTlRqWksr?= =?utf-8?B?cUFKTnlmTDd4bllBTkVXOG5Ic2R0NjhOU2VGNWVxU2QwK1VSQTNJdEQ5c3JV?= =?utf-8?B?MVdpckV4RHBmZml2amRJVnB0Z3hxZzNoYjEvTjRJb3k2QzF4NGJUSjE1Um41?= =?utf-8?B?cFZtdkRUeDZ2NXdCUmQybkxnZVJoMHpNdFJuQUdYU0piWXdTM0ZFemhodDdp?= =?utf-8?B?aVNxOXdmN1hkK1l6SUdib25GeUY2RE9rbXlTVlpiYk5oZlFrMFZGc04rT3Nl?= =?utf-8?B?U2RZWnVkNVpoSU9KejJmL2NHaFVhak85QWZBTHpuN0dCL2JZQnZRYWV1Y0RP?= =?utf-8?B?K3o2d2dFL09GK0JsQy9QN2VMSjlvcklmY0E5d2h3dVhlVE9YYTNYcmNjZlZI?= =?utf-8?B?dHpiQUNEQk55cCtsOFd2amtWM1FWVFZkbzRDV1FtditRSDJIRGhGQW5oYnVw?= =?utf-8?B?R1VRaWlBbnFybDZQN1ZGYytEQmUybWJCTnVrdDRMc1Q0WHV4eUhZbWtxNVFG?= =?utf-8?B?ZEdnNlpxcnBrbGpFYkJyOWl2c0kvbjM0dHdteStKWEprQWlKYWszdUF3QzZQ?= =?utf-8?B?Y0NsdURsU0ZLbndFZWlLb0FpMERVTU1NalRwTmREMXIyWFRvdk03Y1FMcEtR?= =?utf-8?B?Qk5Eb09BdUQrRjlqclJ2SmJFYmdPSVhHdGNkTlR3dGZTOTcwMzJkZ2tpTGlm?= =?utf-8?B?OTFXdFRVVWRoZVFGYlFEZ3VoTDczSG1BejhiaUdWSmhsaHo4ZVVDVTMyQ3RD?= =?utf-8?B?Q09yMWxQekFnVWFSV3lFQmI5Q2FGRDRtK3JEQmF1aWpKWHh0MXQ3MzJ1aS9j?= =?utf-8?B?bWhoRjd6QzNKZkUybE41aWh5TkhPWGpwVmg5dktDUmgwRnM0MWN2RnBnSEJ2?= =?utf-8?B?a2R6ckxnaDFZeWdjeUNaNTNzRjdlT2t2SkNXa01rOTh6c3dWTDJmM0ZlcW1Z?= =?utf-8?B?ZFJ1M2lhRXlMaVhLNHlGVlRFUTVLdmNod3JrUGRpZEpnaWM2bURtajhaQk5U?= =?utf-8?B?Q3dhZDJmZi85Q3A1dEEyM1RFWTI4ZStReW1aem5jSGZGNHlaNlJmQ1FHYUNB?= =?utf-8?B?cGJBaDdDUHE1dGZ4UGtLSlBXN1o0TURJRllHbUVha1hxaHVmTFlCT2MvdFZl?= =?utf-8?B?OEpFRUJFNVhWSUIyeTlFSkJXdEhqUk1oVTZaNk9JZmoyd3VuRmFEeTlrOTVu?= =?utf-8?B?cnVlZGpZZ0hNbDFGbG1oTm1hN1ZlRHNkbXltT2Y2T0NpRnRMbndQc0Fwd0lo?= =?utf-8?B?QWxTTzdrdC9POEQ4VVJEQXVYNjBZQXBTdFhQNks4S2FzMFYyYXJkdVZzK2pN?= =?utf-8?Q?ddz8703nACPt06hl81GM?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f1badd60-446f-4df4-d194-08dc21634542 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 07:15:42.9190 (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: DU2P250MB0271 Subject: Re: [FFmpeg-devel] [PATCH] lavc/bsf: add a showinfo filter 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Anton Khirnov: > Analogous to the (a)showinfo lavfi filters, logs basic packet > information. Mainly useful for debugging/testing/development. > --- > Changelog | 1 + > doc/bitstream_filters.texi | 4 +++ > libavcodec/bitstream_filters.c | 1 + > libavcodec/bsf/Makefile | 1 + > libavcodec/bsf/showinfo.c | 66 ++++++++++++++++++++++++++++++++++ > 5 files changed, 73 insertions(+) > create mode 100644 libavcodec/bsf/showinfo.c > > diff --git a/Changelog b/Changelog > index c1fd66b4bd..c5fb21d198 100644 > --- a/Changelog > +++ b/Changelog > @@ -23,6 +23,7 @@ version : > - ffmpeg CLI -bsf option may now be used for input as well as output > - ffmpeg CLI options may now be used as -/opt , which is equivalent > to -opt > > +- showinfo bitstream filter > > version 6.1: > - libaribcaption decoder > diff --git a/doc/bitstream_filters.texi b/doc/bitstream_filters.texi > index dc4f85bac0..d5bac105ff 100644 > --- a/doc/bitstream_filters.texi > +++ b/doc/bitstream_filters.texi > @@ -887,6 +887,10 @@ For example, to set PTS equal to DTS (not recommended if B-frames are involved): > ffmpeg -i INPUT -c:a copy -bsf:a setts=pts=DTS out.mkv > @end example > > +@section showinfo > +Log basic packet information. Mainly useful for testing, debugging, > +and development. > + > @anchor{text2movsub} > @section text2movsub > > diff --git a/libavcodec/bitstream_filters.c b/libavcodec/bitstream_filters.c > index 1e9a676a3d..1bae113d92 100644 > --- a/libavcodec/bitstream_filters.c > +++ b/libavcodec/bitstream_filters.c > @@ -58,6 +58,7 @@ extern const FFBitStreamFilter ff_pgs_frame_merge_bsf; > extern const FFBitStreamFilter ff_prores_metadata_bsf; > extern const FFBitStreamFilter ff_remove_extradata_bsf; > extern const FFBitStreamFilter ff_setts_bsf; > +extern const FFBitStreamFilter ff_showinfo_bsf; > extern const FFBitStreamFilter ff_text2movsub_bsf; > extern const FFBitStreamFilter ff_trace_headers_bsf; > extern const FFBitStreamFilter ff_truehd_core_bsf; > diff --git a/libavcodec/bsf/Makefile b/libavcodec/bsf/Makefile > index 7831b0f2aa..62609eb24e 100644 > --- a/libavcodec/bsf/Makefile > +++ b/libavcodec/bsf/Makefile > @@ -36,6 +36,7 @@ OBJS-$(CONFIG_PGS_FRAME_MERGE_BSF) += bsf/pgs_frame_merge.o > OBJS-$(CONFIG_PRORES_METADATA_BSF) += bsf/prores_metadata.o > OBJS-$(CONFIG_REMOVE_EXTRADATA_BSF) += bsf/remove_extradata.o > OBJS-$(CONFIG_SETTS_BSF) += bsf/setts.o > +OBJS-$(CONFIG_SHOWINFO_BSF) += bsf/showinfo.o > OBJS-$(CONFIG_TEXT2MOVSUB_BSF) += bsf/movsub.o > OBJS-$(CONFIG_TRACE_HEADERS_BSF) += bsf/trace_headers.o > OBJS-$(CONFIG_TRUEHD_CORE_BSF) += bsf/truehd_core.o > diff --git a/libavcodec/bsf/showinfo.c b/libavcodec/bsf/showinfo.c > new file mode 100644 > index 0000000000..dc1ac8ceb6 > --- /dev/null > +++ b/libavcodec/bsf/showinfo.c > @@ -0,0 +1,66 @@ > +/* > + * Copyright (c) 2024 Anton Khirnov > + * > + * This file is part of FFmpeg. > + * > + * FFmpeg is free software; you can redistribute it and/or > + * modify it under the terms of the GNU Lesser General Public > + * License as published by the Free Software Foundation; either > + * version 2.1 of the License, or (at your option) any later version. > + * > + * FFmpeg is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * Lesser General Public License for more details. > + * > + * You should have received a copy of the GNU Lesser General Public > + * License along with FFmpeg; if not, write to the Free Software > + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA > + */ > + > +#include You should use inttypes.h instead -- it provides everything stdint.h provides and the print directive defines like PRId64. > + > +#include "bsf.h" > +#include "bsf_internal.h" > + > +#include "libavutil/log.h" > +#include "libavutil/timestamp.h" > + > +typedef struct ShowinfoContext { > + uint64_t nb_packets; > +} ShowinfoContext; > + > +static int showinfo_filter(AVBSFContext *ctx, AVPacket *pkt) > +{ > + ShowinfoContext *priv = ctx->priv_data; > + > + while (1) { This loop will only ever be executed once and should be removed. > + int ret; > + > + ret = ff_bsf_get_packet_ref(ctx, pkt); > + if (ret < 0) > + return ret; > + > + av_log(ctx, AV_LOG_INFO, > + "n:%7"PRIu64" " > + "size:%7d " > + "pts:%s pt:%s " > + "dts:%s dt:%s " > + "ds:%"PRId64" d:%s " > + "\n", > + priv->nb_packets, pkt->size, > + av_ts2str(pkt->pts), av_ts2timestr(pkt->pts, &ctx->time_base_in), > + av_ts2str(pkt->dts), av_ts2timestr(pkt->dts, &ctx->time_base_in), > + pkt->duration, av_ts2timestr(pkt->duration, &ctx->time_base_in)); > + > + priv->nb_packets++; > + > + return 0; > + } > +} > + > +const FFBitStreamFilter ff_showinfo_bsf = { > + .p.name = "showinfo", > + .filter = showinfo_filter, > + .priv_data_size = sizeof(ShowinfoContext), > +}; _______________________________________________ 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".