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 1863C49444 for ; Tue, 12 Mar 2024 11:52:44 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CEFD568CF38; Tue, 12 Mar 2024 13:52:41 +0200 (EET) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01olkn2016.outbound.protection.outlook.com [40.92.65.16]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3A20D68C970 for ; Tue, 12 Mar 2024 13:52:35 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=duzB/JT3YuQTPLLlUM3JuJCtBE3Mf5H7CIEGCgV5+vccJSLfH5oos/hbi7y386qiCcunfRHkLNLShiYGGWr8Rl4MNGdK4lMMQoXzTdKMRNsVc9w5sQpxEU/GHiGp78cBZ8vDgxKFAMsVqoaAE3XfQZVUtV+dnz5V9CtVcoAl2d3kMaJ0JXILgsjACe85rE0awHAL3a0grRy712mHTlTwXCvLItdDhmOyWFJ94rb0eynwwpVvHlveoT1/C00UtNr7wlZU4nAb3ZIjuSXsFEgUhFSekgudJPCtMYi/wpaN80uMn4w0WE6PcF+XwW/IcOIsD2wLPxmkycOuoQcrbr/d8w== 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=aIUP3oF4/iuCKTO0rYybZ1NA/yuIz+C5B8AkJdjBVFI=; b=EKyB4WASUtyElWFdCMQ7V+68B3JW45wSf69tzxz+VA1mTTpd4g8a4BFAtm03WWbW4o4Ok2mSpsYXBiSG5L4Xw+/XDHGBl+qAg3Mcd00bhC4o2tk/bQPqKbu2noKWjEOC2OAHZ4qvELC4IeiJMGYiTJoBkqixsqMqZlNH69OWN/4S/hj6QW8vhtKXghRk/OuXVEMR5dt+IkLrKb2SpVzRvVqjlQi63GfX16WRpPgCAeig/s98dcfH8o5C5NTVW05iHWASC2t/LXa5NZ0SEHh0j+zjzw92U+B492szzuflUNs25feKad9LZopu6wbIUIeD+KGLU63rkY+eJPLpqR52YA== 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=aIUP3oF4/iuCKTO0rYybZ1NA/yuIz+C5B8AkJdjBVFI=; b=duf7v5vUQ6zawQ7IsHSqmdkhpXSVbG+q2LSEikgl9yxqLyCtEuMWl5+NPI/JmzrgfVVjuY0a/DQtwB55nj8dL2xamuxDuAiO6GN485zB4ZupmvOQK4C6qV1iqP6ZiEL9fR9XBJgChbq1FF6wiVQryh2w/2xNml32iYY/fir/7bzsgq5McMJD6rIlMUgN5r11jNZfrEoyjxNbBHvWKi4+F59huc6tCkMD9DdvbUHMIy/yn2VVTOSM5R8DbuDONHirboABTXbphFz2gChk62WSph2HIRTNX4IlWjhudNT7Amms/NS8ILBKZtr4n7w8Qn8FqdDBD+HtaaukeFUoIxp5EA== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PR3P250MB0023.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:14e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.36; Tue, 12 Mar 2024 11:52:33 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::228d:8c6f:ed10:82eb]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::228d:8c6f:ed10:82eb%7]) with mapi id 15.20.7362.035; Tue, 12 Mar 2024 11:52:33 +0000 Message-ID: Date: Tue, 12 Mar 2024 12:52:29 +0100 User-Agent: Mozilla Thunderbird Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20240312060005.2111135-1-marth64@proxyid.net> <20240312060005.2111135-2-marth64@proxyid.net> From: Andreas Rheinhardt In-Reply-To: X-TMN: [lXbqN/Y9lHSCwcJvz+vnDYqfZipO4JZpCUDvRvWPAeI=] X-ClientProxiedBy: ZR2P278CA0054.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:53::17) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <803be82d-6f88-4c80-a912-0820c6f48251@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PR3P250MB0023:EE_ X-MS-Office365-Filtering-Correlation-Id: 993458c3-1f80-45db-3895-08dc428ae737 X-MS-Exchange-SLBlob-MailProps: Cq7lScuPrnoAVlBsXi+5fjBAzVXFn6z1BZc5XM3qbyh1NfXnqA/0wWvokUcparo2eKmXOBqWERGrb2hMbX13JsfKChKn2QzYwKownkM6fxv/QDXtvfG/OvBQkPZQ/lCdPSLQ3okklIhrJSe0dEcIWfgpNe3/dc9HRm1PG1iRlEM2gD2gXoOJRnEzKqbFjAGqWg8zOMGTSVOhsT01Dohb/SyStw+uYu3bWJ32xc44y/m4ZPoduHMXIfKHnyPIOjQAmwIfUbIDLNzryn1d1Ty09GriUHPYmA/8HVg0P8s4Fa0PuwkAPzYo1zOjDar/5xviLKspfihK2GXZ4/SFhJQOVGd99DrNqmPtjx4wwjCWNSw3IHhNmUweHw+hI+zCmmbuROIF8tAlreUjoPXkE2LV7NvHrUOdwWaDn86mEMCDBM+6Q8hVMZOWaeTePgrHw2xdgjpmhkDrHW2tXpvkMn6qgAh6wAVLXmuGqtM26YudkHgpoNc7UfIdvpKcjH/hwLTMp7+yQ3vOQlHjupduqrSZCBUfznGodaqJMMwcqd0nqIKN6OD/r4dfNu3vAp4YegajTZLWkY5IAjcOP4eBwW76rzru3g3nPZ+WBnSTJl/2d1tc9FGB0FIztM+YACSWdAp6wn5vgwKFfBacVK6B0FxPR98tTR+WQImx+1f2QWO/C2XeJkWjokx7t/gxouysImrY2vDwfy5KN5JveU423C0JTQCqpxUNzPGdaAFtf8xUqjh7kpJu7x4T23ncuV8zpdYGa+t6IvBr6no= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: X8NXczy716xqTmrdRWulbKvhAXUeXSrAanvwfvtFzhM+EV/0OJvRUp6ssPx5Ytf+c30wVSzMPpALgHDYdmVfwnH2FnH2T0SC0UYgY1tBJDtCi+nPQNmSkJpKK27GKArsLFLdmJY/NOEClJ2sHl1kbXdUzSZqehxTE1GYESaCYLxMOISnHEuMtBotZQwEhRQowBbc1elPXuQhv4AGqxDH+n12F0NPbhZahwE9KdeKfAm3bVNtcckg1TtGacFGAPOxHOtTcLLTvmBY55u7t9phuPosK47UleWBQjy9SakkCEZoJc+41/9eIPyJx50vO4vnhiLqpBPXcnPhIBpV1SbKF9XyoTC4TNXJiAlyXNpLrZxYSV8XJ+6Iw8g4qIR+0L3qkrrRqJRPkcqurASGF55MLHjVday9iMWyx3n51k/xxQ6NeQ8kGw3RqBaqSJzuGukO5riD/0IqxxqpbEm/oj4P60UQmO0Pz2Tyf4XxglmC+3UMdmxZqIoUjTK16Adq3LDMvWGZeIEOxNU9URXX/k3KzH3h0WPmpUu2gBxM5QLQXOXiXhRcv8ffshs2K66fGeUT X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?S21vWjhNK25TMFFJNllJUHdyYUI5YitRa0lMeUNZYWVENFVwY012SUw4Mlp6?= =?utf-8?B?V0ZxT3prcTAvaWlXZlhlMWdJdHNIVGZLblloMktRVHROc2dUMnNtdzE5eWhl?= =?utf-8?B?OG1XYmlTOUVidXBHWWV1UEN5WDhTcHBCQmZOV3dIcVFKNjMrZjZYQUJ2enh3?= =?utf-8?B?SXZrazJIbi9oQTQ2OXNCUkQwa0hra0JhTFdZQW5lYjZXVU1HdzkrS2w4czEz?= =?utf-8?B?Yi9WeitkMm10b25nU0lLWVNJQ3lCSjFjckovblNnNkZBTWM4bTU5cFEwdi9W?= =?utf-8?B?VWdPNDRtbUxYOXYvaGFpL0w1d3ljWnRjUVNlOUFMZDZaaW1wbmd5VUFVZDg5?= =?utf-8?B?aU9SYWJzQ3FWQXRDTURoUGZLRlRMbjl3VG9LcGMwa0ZqQlY0OU4vOWhHSVFS?= =?utf-8?B?OHBhbkliYUlXUzB2T3orUEE3ZVZjY3A2N2U3UlNrWUdqZ0J3Rmw2NVl2QU9S?= =?utf-8?B?bGZnNDlrMVNGS2ZxZjB5ZWM5VXkzVHZsOVVGNmlPaTdza2ZYeFhCU25jWlBL?= =?utf-8?B?QWlrdTFzSUp3QTd2bEcrZ2JxeUFsd2x3Zm5PKzM1dmo2RFNyWHlHMjNqUTFu?= =?utf-8?B?WjRyalpWWDFhK1NPVE1ndWdOdTdjbEtXTEY0Ni8rVXZwMHpubUFvbXEvRWF0?= =?utf-8?B?RUswRVZ4OVBpMXVCU1pzcWxUdnVvVTRPOFF0VzlJaG1za1ptZVJVSGNpRVNS?= =?utf-8?B?WGJHcnNkTnIxYUs2TWp1WmlnQ3FzWG1hcTJZaDZkNlF1WGM5a1BLNlphcGNv?= =?utf-8?B?WXBZcTg4TlRnOUR4T1NHZmdVNnlqeVJLb3VTK3hCNVFjK2psbjdXTWZabjA0?= =?utf-8?B?czJGeVVhcTBXL3dJWWhZaDFXSEpnd0Z0R29renliNFFjNkFrb1hSTWVtKytT?= =?utf-8?B?VmZmU3VNVFdGRHVrdkdmQTg5R09NNzNCa0pzdjArZE9FdkxuUGJRT2JDeFo3?= =?utf-8?B?bkJoNUhMcFloaVpHS09GVGtBU0RwdlExZjFyRWZFdHdZY2NUa2YzZ0N6NSts?= =?utf-8?B?QnpzNGgvZW5OcHhzUmw2WVhJb1RVRnZzamxHSDFrazk1c3lRTktLaWhpek1o?= =?utf-8?B?ZmJSb0Q4M3Vkc04yY09zT1M5SGd0K0ROK2RxcWVDMzJoNW9pdEVIZk94LzZS?= =?utf-8?B?M1o5VmRWWWV5WC9oY3VXWU9JbXE3ME5jVjNOTy8vRWc0SGc4VHRyV0hsOVVq?= =?utf-8?B?YXVtZ0lWSzBJNnFHRHJqTW1IV0FYY3MzMys5T0crNGZPVjhWeGVaMkFTZjdG?= =?utf-8?B?T0NSeHVkT0c4VzJBeGVxWHpMdG1LNk5QZEs0OGY0NmhndU9WUGovMGlTUG5C?= =?utf-8?B?MEE4U0wzeDJwMzVpek5SQ1Zha0d0Y2R6Ni9mZ3hVQ0g0bXV1QmcvaGs5QnMv?= =?utf-8?B?TTNFczFBc0ZtQkpEZVA3SUhhRGJEd1QxZXh1MTg0NVdPajVlUVNPSnhaUDYv?= =?utf-8?B?ekJzRTUrOXpzMzZFdjN5RXZ2YkpHaGZiN1o1L3hUclFaZXBMcVFQQ1ZZYWJR?= =?utf-8?B?d05WYWJJbTFlcDM4Z1NsM0dhR1B6RXBMNkRYWEl3RVJoWmtIWjZuNkNxTU0w?= =?utf-8?B?M1ZRSk5sMEExODhrZlNVR2R1YmNVZ3FXVk92T3pjd051VGEvZmZZTjJJY0VS?= =?utf-8?B?ZXlJNHJMRTQ2bEM4QTRwcUFnNnNtRDkvbzl0OTBzdzFIMHRmTVZEY3pTM2xT?= =?utf-8?B?M2NXOTJja3ZwT2p3bUxDQUZBQTEybXluaVdUVzFyZGVFOGxHWmlmdzRRPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 993458c3-1f80-45db-3895-08dc428ae737 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2024 11:52:33.3752 (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: PR3P250MB0023 Subject: Re: [FFmpeg-devel] [PATCH v3 1/6] avcodec/mpeg12dec: extract only one type of CC substream 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: Stefano Sabatini: > On date Tuesday 2024-03-12 01:00:00 -0500, Marth64 wrote: >> In MPEG-2 user data, there can be different types of Closed Captions >> formats embedded (A53, SCTE-20, or DVD). The current behavior of the >> CC extraction code in the MPEG-2 decoder is to not be aware of >> multiple formats if multiple exist, therefore allowing one format >> to overwrite the other during the extraction process since the CC >> extraction shares one output buffer for the normalized bytes. >> >> This causes sources that have two CC formats to produce flawed output. >> There exist real-world samples which contain both A53 and SCTE-20 captions >> in the same MPEG-2 stream, and that manifest this problem. Example of symptom: >> THANK YOU (expected) --> THTHANANK K YOYOUU (actual) >> >> The solution is to pick only the first CC substream observed with valid bytes, >> and ignore the other types. Additionally, provide an option for users >> to manually "force" a type in the event that this matters for a particular >> source. >> >> Signed-off-by: Marth64 >> --- >> libavcodec/mpeg12dec.c | 67 ++++++++++++++++++++++++++++++++++++++++-- >> 1 file changed, 64 insertions(+), 3 deletions(-) >> >> diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c >> index 3a2f17e508..8961a290a3 100644 >> --- a/libavcodec/mpeg12dec.c >> +++ b/libavcodec/mpeg12dec.c >> @@ -62,6 +62,16 @@ >> >> #define A53_MAX_CC_COUNT 2000 >> >> +enum Mpeg2ClosedCaptionsFormat { >> + CC_FORMAT_AUTO, >> + CC_FORMAT_A53_PART4, >> + CC_FORMAT_SCTE20, >> + CC_FORMAT_DVD >> +}; > >> +static const char mpeg2_cc_format_labels[4][12] = { > > nit: this might be > static const char *mpeg2_cc_format_labels[4] = { > This would add relocations and put this into .data.rel.ro. > to avoid unnecessary constraints on the string length, or you might > pass the CC name in the function directly to avoid to maintain the > array (as it is not shared at the moment) > That sound like a good idea. >> + "Unknown", "A/53 Part 4", "SCTE-20", "DVD" >> +}; >> + > > [...] > > LGTM otherwise. _______________________________________________ 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".