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 4AC6A43C2C for ; Mon, 22 Aug 2022 23:08:38 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9AAFD68B9E4; Tue, 23 Aug 2022 02:08:35 +0300 (EEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12olkn2085.outbound.protection.outlook.com [40.92.23.85]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8505668B808 for ; Tue, 23 Aug 2022 02:08:29 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PxIPyIH6V+F4ugB3Bb134T6nrDcTYOL7haRVeGpIYF0W6BOqNW6ohTyjgn3gYigZXbUELDIqHPDvru8BMCTruPT5bkyUw+jBRFEWI2X7Vo0fRcZx9krxWjs61LBmctboiVNwcYqPB/ua38pket8inCQLbbJuK5yxavIgetPDeHO4aIK7bB9H+0SqBqNyWeaLSTfZ1W5xrWvK69i5Zgo0fThEy2bPk1Cm5Q4AQ9qHXcvhFKOMdozqgzXmJAkDj1i127SeKYS0kis9rZ0VVGO9WiZszAYblFIaNs4igit5uw7sIMUc7vdZ2KM2rZe66mNbFTsOgccgePgAQoASUlErXA== 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=1WBROMzEf7/4H1XL1FnE/S9QyEPVvtIB3/2A1PlGoOU=; b=QKEtCgKqB8WTRWHDbeqBkIL9fC8Kt4YJL97jd6uoT54nYZDP65mIzmWa0AOMXjjNvVAaFRi7AD+rIVq4WGXR0cnRkq1vOBPMIijO0c08Y8EBytNwgxvjk/IdWjiiIPbX8duMRKBAzs7b0c7OIfyRCDO7v/KnISB17Mxf52KwPQuEBPtjSDhXabpUfi/HU7BRdQidiTM5XiDMSdB9dVip2GtnPnmHaNPYL/m4ekCDqApRSBdScrttfpYjSTd5JLYo7/wrtYDUB9JU+mUVPCeItGudBOCGhJJtpKFT2NVXRqjqR7WyMGQj1t9PCg6LXRynSkzgHghqZJmv2WiU99X9hg== 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=1WBROMzEf7/4H1XL1FnE/S9QyEPVvtIB3/2A1PlGoOU=; b=CVRKm5pPhTLj1NfmrByaPPj7F2G90P71kKKSqfpCPIGv3cOMBwb4UGYqXhYyVvyfBdL/GecHDgJN7JKVuwIhbnzGHlAHB23S2uioO0BGxUKaWLwn9gD2p+xruZpqUujlvGghWetFpA7E2ckHg5/2nC4g9eD0witw1zPNzw32oFGab+3lUBLCWyxBahZ9ycq+8/XH4R0DyS/eHawSyNYmmrAATVhTzvJpZnSfNTLoLvxUJ9t8KlHR9IdOKRv3U8/z0YYDmwMF75uSjObODLZpKIS5VGvEkPuYKcr2fh8/fANg6NZrOrTKVBrSuD1fugCX60FSO6u9M3oFAgb0TmBK4g== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by PH7P223MB0549.NAMP223.PROD.OUTLOOK.COM (2603:10b6:510:1b0::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Mon, 22 Aug 2022 23:08:26 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::59af:f946:e59d:784b]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::59af:f946:e59d:784b%6]) with mapi id 15.20.5546.023; Mon, 22 Aug 2022 23:08:26 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH v5 00/25] Subtitle Filtering 2022 Thread-Index: AQHYiHoQ/s8zpruhyEis6n+SHo1FCK2qkhHggA7hQ4CAABDRAIABrZcAgACUof2AABgDkQ== Date: Mon, 22 Aug 2022 23:08:26 +0000 Message-ID: References: =?utf-8?q??= =?utf-8?q?=3CDM8P223MB0365D91C08ED6BA00BCDE342BA649=40DM8P223MB0365=2ENAMP2?= =?utf-8?q?23=2EPROD=2EOUTLOOK=2ECOM=3E?= <166117073498.25402.3952806733544526391@lain.khirnov.net> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [mHvBxDKjQxHrbAYMqFtPezqBFDCzYEfc0++q3wAMxVb8Dpwe5P/8+Wjq9+ySlAD+] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4ccb005d-b518-47bd-4dcc-08da84933818 x-ms-traffictypediagnostic: PH7P223MB0549:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: wVZ1auaZY3EKm8YmpszG2/KvaUzsMXETcn8QTqmHDgcbSSaxrzTESa9Q5UmufWrjBIiDCfMZ59usGWJUJ1tbTPGfK0SOLg5uUKIvK3ekGX2BpURUNDUjkEclcPgjYQEqvh8BtGirIAz/WCrhm665QwUyNE1JNky9OqLdCRIfRYojXpkaetdaXhyH5KOTxbXjeJ+TztKXQtIBHmCHDkdo3662onro9QIYcZBDS05H7fDoouG5DYPFhI8Omhc2b94lahWzz+VsNyR3Rq0Q6kAAHZdcejOf4J5gPSIJeOQIr3VbYsuGXJjv4AVGm3HaXnfTo9R3vU9e52ag3xhDXs/vZHJkkAGjVPfkVpkHWGWD41gN/Vb4vHh9w6AHDvx0aLZ8git7XkI0FOtVEg8LWtP4kSY4s+wZGH8omndktjHMDb/fOkru2Sr8OjmZwxFZ0CILqAcL/VlOdBuwRyOcOcHNev32jJED+FK5zqgLBl9jmBdybZz8f74ve9SRrgqVDTp1AjzQTI6qpy9zkTy0zM5/lyHGeIu890PbVdUVObVH5uC4r+Nb95O61d2NEttKA4ntosN2fCdD0RjsOx+i5yNQ7ErA6h5oRvCeTarWbXFjD5P71RaEwyedtc8apiZCQa89tczu9w6bDx3jhPV0cJpKwGC6YKedgZPhTsMwnxPiw0OmdEOtqXyVBIJ/BEev9xue x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?hxQU+joownwhIdAzTrvJD0UYneNDzWbCPpZkBD4jO7MREV7XP2CmbhA8iy?= =?iso-8859-1?Q?Q8P2IlZQoQ2+QNtuSFC+YFDQC3DHSfo8hLzklksz7PiUQq1ExKlz2zuv9n?= =?iso-8859-1?Q?n4aAkN//CRY4bIdC6uRhAQGh6BSpDpUPmMPZWAFhz3z9gqmRXOC42zuxAW?= =?iso-8859-1?Q?ruvoafGkWrhT4qPOyqOz2Pm17RET4EmSmdkyyzabJG83JD+xNPc7LdRzgF?= =?iso-8859-1?Q?9XQYkYbcuyRO3xtfKlDgmiInA9Gs0q81iVNX0elcoqI0+RthPGAjfJmf9q?= =?iso-8859-1?Q?/eZhDx/rBclsp1Qxy1AmvbeiSXOxj6heibjrJAM9A1tceSPXrHiEMlDazH?= =?iso-8859-1?Q?szOjcTkoToMrlRECh+zBfL8T6BTcGQNzREqspUF0UwC0DR2F3ETch5SJI9?= =?iso-8859-1?Q?St79EWXYg3ldok7pTOsjREDRKp7ThmQpbME7mwiBd7/6tKCMmkvjPpeIN7?= =?iso-8859-1?Q?AN63NCefKq78g1yq5c095K5r2DJbep2rsV8+GAqkCIAJf+zmERP0IbdcWB?= =?iso-8859-1?Q?gENJk+lWbnqravLMbYNXfEAYEskxN36wcjXq+OSom2FTXkZDLVP3Uh/ayi?= =?iso-8859-1?Q?OmFplX+Pu3Gaw2lrA9MvIpYiMV+Xm8b1L8Kpg5UCBiW2x+yAwkn7qEmN7e?= =?iso-8859-1?Q?aiZVrFY3dc8meoHjERjq/j0nyVzqrEnCCglbflODsbkD8Jus5+tqkZilmK?= =?iso-8859-1?Q?JJrRno7IeDyG71o0u+0aLxzIx9Ym5EM0EWIjwR5TF3KKrYLa0PZcPcGNdj?= =?iso-8859-1?Q?oDRJ9rUV0w/S7xy9SMfocwMMqZ+7T04qLbIvYlWW/AJc4AuHbaZhiMZtMl?= =?iso-8859-1?Q?d5G+zUy6PS315UPCGMmRBZIqzHuaIjQ0VQ5aR9ww03wAja++OUko0X74Ow?= =?iso-8859-1?Q?qNQqztQwSR+P17ZjV29PRsBDVDzcV5d4AJu0Vwl/79aSrPw8d+bvaNvUAB?= =?iso-8859-1?Q?AIYKWegVbhmoedwANBKXsfEeWp5jn+3pxqMqG2TRUfK2lmON/J+Iwd+coC?= =?iso-8859-1?Q?fAVxQqN0sQrMNS2ZntPYlRQ/ePp7bhrIvTGSZaJn2WjuLMxkapEziaWaw7?= =?iso-8859-1?Q?EvY0ScvT0XYMDUTsmSVvQn0Z0kb+jE9QL22mK/tdAUEe8NRnrYN7TDjweX?= =?iso-8859-1?Q?aPs7ZIyu/dgEhvsf4LNYYIGGf4P7NCWinpycltMv+zPXnkO24jvQFYf0Tm?= =?iso-8859-1?Q?yARSqYNQ8MjVfGaii+AtauM3xfsavLT39FYm9PWqjI+XRJMyAv9X33oIzr?= =?iso-8859-1?Q?Cg3Zf0JDROLjtbcC5P/LhzPrvhoTMWNjyKJuxnptQVVjtVnC2U93BwwU7m?= =?iso-8859-1?Q?+FD2aKl5/oEeXKbp3RvVwdw4jNSWw4UEkFdhntSOt87Uen4F8ZdO2FJTxG?= =?iso-8859-1?Q?Wh6uvzspRI?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-1ff67.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: 4ccb005d-b518-47bd-4dcc-08da84933818 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Aug 2022 23:08:26.2366 (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: PH7P223MB0549 Subject: Re: [FFmpeg-devel] [PATCH v5 00/25] Subtitle Filtering 2022 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: ________________________________________ From: ffmpeg-devel on behalf of Soft Works Sent: Tuesday, August 23, 2022 12:08 AM To: FFmpeg development discussions and patches Subject: Re: [FFmpeg-devel] [PATCH v5 00/25] Subtitle Filtering 2022 ________________________________________ From: ffmpeg-devel on behalf of Anton Khirnov Sent: Monday, August 22, 2022 2:18 PM To: ffmpeg-devel Subject: Re: [FFmpeg-devel] [PATCH v5 00/25] Subtitle Filtering 2022 Quoting Jean-Baptiste Kempf (2022-08-21 12:41:20) > > On Sun, 21 Aug 2022, at 11:41, Paul B Mahol wrote: > > We should more forward and merge this considerable subtitle work > > Are there parts of this work that have reach majority consensus? Almost exactly identical objections to the basic aspects of the API were raised independently by me, Lynne, and Hendrik. IIUC Soft Works still refuses to address them (though it's not so easy to tell in a 200-email thread). --- Anton, thanks for the reply. Please correct me if I'm wrong. From my memory and understanding, the one any only remaining point of discussion was the necessity to have a separate field for subtitle start PTS in addition to the AVFrame's PTS field. I wasn't refusing to make a change, but I have taken a lot of effort to explain the reasons for that necessity. I did that in several chats on IRC, on the ML, and recently, I have written an article especially to address that concern and better explain the background: https://github.com/softworkz/SubtitleFilteringDemos/issues/1 It remained unresponded (but maybe unnoticed?). Bottom line is that without having the separate subtitle pts field, the whole patchset cannot work. @Anton: you said the reason for this is because I would have designed it like this. But this not the case. The reason why this field is needed it due to the way how libavfilter is designed to work. The only way to avoid that second field would be to fundamentally rework the scheduling of frames in filter graphs and making changes to a core part like that (which is working pretty well and reliably btw) would impose a huge risk of regressions and incompatibilities (it's more a guarantee for issues rather than an abstract risk only), which doesn't make any sense to do at this time and in this context. My conclusion is that having that one additional field in AVFrame is by far the better option. Please let me know what you think should be done and what kind of concern you have with regards to the additional field in AVFrame. It might not qualify as a top candidate for "API Beauty", but it's none of the worst ones either. Your preceding arguments were based on the assumption that it could easily be avoided. I hope the referenced article helps to understand why it can't (without fundamental changes to libavfilter). Please also let me know whether there are any other objections or desired changes and I'll try to address them. I am in no way refusing to make changes, as long as they are feasible. Thanks, softworkz ------------ Other alternatives that were discussed: 1. Move the SubtitleStartTime field to AVSubtitleArea One AVFrame can have multiple AVSubtitleArea instances (bitmaps in case of graphic subs or text events in case of text subs). But all AVSubtitleArea instances of an AVFrame must always have the same start and duration - so it would be semantically incorrect to have those values at the area level (when a frame has multiple areas, with different timings, which value is valid? The ones from area0 and the values from area1 to areaN are irrelevant?) 2. Put the SubtitleStartTime into AVFrame's user/opaque data field This is what Lynne had suggested. It avoids adding an additional field to AVFrame but it blocks the use of the user/opaque field for actual user data in case of subtitle frames. Also, each subtitle decoder, each subtitle encoder and many subtitle filters would need to cast the user/opaque field of AVFrame back and forth to a time value. Neither of the two options does make much sense to me, but when there would be consensus on any of those, then I'd be ok with it and make those changes. Thanks, softworkz _______________________________________________ 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".