From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 85A1B4D908 for ; Wed, 2 Jul 2025 22:59:11 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 9036468DAB1; Thu, 3 Jul 2025 01:59:07 +0300 (EEST) Received: from BN8PR09CU001.outbound.protection.outlook.com (mail-eastus2azon11012022.outbound.protection.outlook.com [52.101.58.22]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 6717F68D5E4 for ; Thu, 3 Jul 2025 01:59:00 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yYvMUW7KYPN9Lq3Be6AIN1zuKgbp+0yMk1XcYms15Fk6SCC3i0w7dCu0rdcPKkUESUfOUdS5Y4TmiGkrK7A33P8wfEYz4csjM0egNsdmduxo284HhwD+IkJoX8XxFFPyZ3lZf3oVyMh4Tn5v/CJRKsAJzvJARRG6NVj/a731x9L+Nkt3KklCbS5ZMUWkMLcZvnL6p0yyJ7Q3E7UzwZ7xO/XYrAf83cGRGG6eV6c4bbEXhEhiQUvvQZxCwIU9Syx6cWCk5VAJnX1jLm76CQ8V83lSz94s3rAb86Py5eMWcLioSzqQGMQE8pNxiERKePS+4U76JzVr4uNCEDsF2dIaZQ== 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=tzKxprLCkHLLpYyXCLJrKtHCBcpXdzdLZ5m2zz3RJm4=; b=kG8fMSPb9zD/adafZfyxzsTI+kmoNizjGQtzgkDTZJsZrr2TvnMw5MSTEuc+wK6amPey4upCVC0aJ6PPtQ8jk+VZpKfUDTRTFdSIVW+eCDIHw0HVIgDY9fSMDgLE+ddBqVS+e8pezuM1I7cjC+aAVFd15IC0/0zkvzTIZigiuUZb4BcvhCShT6c4AFfsNtxfSLg114kS9gEZY0e5mNOIJ6RuurYXLuYlWEQi9IWoqH+m9gSJA0ecv3j7eGIRTbgkX++miDIaFbkCcRKfSgJNic01wj1lADQRmtI3rEM/VQFbYqNysQT2Z8gXDYT+9CUd37iUKxIkXk8Zu+EaLNqS/Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=gsdeng.com; dmarc=pass action=none header.from=gsdeng.com; dkim=pass header.d=gsdeng.com; arc=none Received: from DM8PR09MB6216.namprd09.prod.outlook.com (2603:10b6:5:2f1::22) by PH8PR09MB10222.namprd09.prod.outlook.com (2603:10b6:510:18d::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.20; Wed, 2 Jul 2025 22:58:54 +0000 Received: from DM8PR09MB6216.namprd09.prod.outlook.com ([fe80::18de:fe20:1c5e:693]) by DM8PR09MB6216.namprd09.prod.outlook.com ([fe80::18de:fe20:1c5e:693%5]) with mapi id 15.20.8901.018; Wed, 2 Jul 2025 22:58:53 +0000 From: Caleb Sawyer To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH v2] mpegtsenc: Add SYNC KLV metadata descriptors (MISB ST1402) Thread-Index: AQHb66SaP+lSa5Fn4EiPq3b897SETA== Date: Wed, 2 Jul 2025 22:58:53 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_defa4170-0d19-0005-0004-bc88714345d2_Enabled=True; MSIP_Label_defa4170-0d19-0005-0004-bc88714345d2_SiteId=d94bea1e-2eee-4e3c-8350-5f96c528fe02; MSIP_Label_defa4170-0d19-0005-0004-bc88714345d2_SetDate=2025-07-02T22:58:53.366Z; MSIP_Label_defa4170-0d19-0005-0004-bc88714345d2_Name=All Employees (unrestricted); MSIP_Label_defa4170-0d19-0005-0004-bc88714345d2_ContentBits=0; MSIP_Label_defa4170-0d19-0005-0004-bc88714345d2_Method=Standard; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=GSDeng.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM8PR09MB6216:EE_|PH8PR09MB10222:EE_ x-ms-office365-filtering-correlation-id: 0921f7e7-6f47-44c2-4cd2-08ddb9bc0477 x-ms-exchange-atpmessageproperties: SA x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|41320700013|10070799003|38070700018; x-microsoft-antispam-message-info: =?iso-8859-1?Q?ADYYTXW7AOnvfDVi2JTCdxQkDvktRmQRee9qypN5aUvnIpVbHnk8biFV40?= =?iso-8859-1?Q?O9vzawn0i0sNGNVVF9JJPgwxXDXIgylnWg3pnoLFfCveQddzmih/UmaCM6?= =?iso-8859-1?Q?5NMd7XyPJNdG1CGGkZ/JxvVb0wm5s4WLlbBGFqAKnESJkdwcjtK0q7Q8ow?= =?iso-8859-1?Q?KspUueyGoz+Z6C5u9dtuZbHtyqZqvIysnK+E0XXSH/Ub2RaWNsZJw/4W/c?= =?iso-8859-1?Q?TA7fqsx7eMqpsv7yhGHcAc95Ti1rDbhCJpgGq4drvQgFqF+uEg2sEFsWso?= =?iso-8859-1?Q?Ya5bEcToWmo/Pbb90Ww6CtQlQoyaAocO0Hpq+Y5Aq3X/hcY7+4PKTWI8jw?= =?iso-8859-1?Q?cbEnLBUDMFWvkB9w2mXEi3mBHXkLUVf8zTyZnj3P6aaeqhwj5J8sw3xK3k?= =?iso-8859-1?Q?gcQUZWeQATtC7932Atx6HUGLj+L4wIdzTeFIR5wi92PCBrQTigN6jD51hO?= =?iso-8859-1?Q?gRSrmH2tOukO8udHvg8nHEjuiadHr8FctOHAviVnz6jPtTAFHlq5r9ZFr8?= =?iso-8859-1?Q?Td6tXlZ8SuH4STPb7ysH+ypqpdHXomkPMgvSYH1F8A26aF7q34zCjwSjHu?= =?iso-8859-1?Q?oRqG1SgsSFIbZcphnOBq6GYUIV0Y4RFN9Ovvlo0FpM7/L6MEiZfqEqydAb?= =?iso-8859-1?Q?EKQBgOSSqNNzQ6aMJ51KSpT8n32tQUm+G9lpmv9D6bWXBRUhwX7e4Mb/ZI?= =?iso-8859-1?Q?ctd5AZIwDkwtwfCt00KM3XCXTmL0Ks5TiPGtNbuUMa/rHknW6WdItH2KFZ?= =?iso-8859-1?Q?ULFcnVg2jQ2cW4uLbuh6jUhZ7woslV4VANYv2g1ccPrJN5wf2BZAXmldjj?= =?iso-8859-1?Q?QJ/hI5PupCZYrt9FXVeRVKZtFDpkzoQ5Es0rOdSlw/vikjTHu+Tcmvu09W?= =?iso-8859-1?Q?+avK6Aun0F/x2Hs+aSOSOqomKAtkFI6J/0qfityT7OPJm2FzTel4uLf8Aw?= =?iso-8859-1?Q?AsR/hWhoWYFb9DBL8dKW/p3GbRFC2egzHnn58BL04G4ErkMEu95GVIDOa7?= =?iso-8859-1?Q?tp87PE6XHl8Du9Q0f37ELiku+C8ePcp4SbPQAQl1ARu0yNDRc1NTSjFIW8?= =?iso-8859-1?Q?VjrO/egEt/5ML6qC7p5dS+jUwuLyZNBXFuRvPpGvT8r/dsggi1uv0l9kEs?= =?iso-8859-1?Q?CrSvKKHTc7hdqh2GZkMzemE4GZT3DytKSqqhgRVB1OMmU2NtpJsUXqDOQD?= =?iso-8859-1?Q?QkFoI301sC7CuvvzKJGTIYBUGqthvpecR43d2WDjL6F0LMyUxdcPjYY2pd?= =?iso-8859-1?Q?3yV5wrOFpN+7uzMehglaDqqYD/rPoCUjKOjmwHOZoGMdAVC5TnSOixiDbk?= =?iso-8859-1?Q?pJ2z+EhNh/moJfPvF+ByUpubbIpUyQgB2bKjk0TqjvxjlZPfYb/LHvySX3?= =?iso-8859-1?Q?C94DldXQZ2cBRXPCW3MN/2bj9URl9r6DB4FF2Grzl0k8ytXiwzxa7ZD1ET?= =?iso-8859-1?Q?7Nom37mXrq0mQt1B6KzAelN3W587M11WpVyyT3E66Txby6Dy7BwcxlDc1/?= =?iso-8859-1?Q?U=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM8PR09MB6216.namprd09.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(41320700013)(10070799003)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?RkjpFY4/R2792LWu1XZpOpqizoBQuIOUEZNN93RO+0xJpjHv28eMnPfyBR?= =?iso-8859-1?Q?3nEKzlP+B1f2f3fCk27FJhI13WqTRqov5fCib7h+98g3HqnLwS/ASryhDK?= =?iso-8859-1?Q?9NZWpv6MRAsw/EXr33n8Jz2+zabvOvgfLjwAqRwDJafnkdFkmOF50lh4wO?= =?iso-8859-1?Q?RBJPsN5VxuaiaDqlZE7DtkZ0DQQrJYMazXyeEuYNbf41bZ6vLvrr8+8QVS?= =?iso-8859-1?Q?RVXSKTSci/yf6yqmPD260wK/dLzmcQa5ml7gLomB97+QVokn3nuXBPLmeo?= =?iso-8859-1?Q?e+CBkGx8VPBAQV/caeBN6s1VLE6Nx4xul2NaCSLSDLSeD23eIwfSiOmvBF?= =?iso-8859-1?Q?S8E0xjPtN5M6OuDb72/H6c7QG7QG8FumeaQLPC8BZquvbQRy1esi2eKJVf?= =?iso-8859-1?Q?InI6B0kcvvU7b0ST3T3juSWkebl2/+PPLpufpucTmbUPP1RAOCn3kOARUB?= =?iso-8859-1?Q?hiBEya/GK64NaJw5nv1nS9SNSHnucwJm6CvD1BVxvhPBo9ZVToUgAEl5te?= =?iso-8859-1?Q?1SeEbhrKmmBnu4yw/3NLxBAVsibLOhJLe2wwc7EmmcPVUv0pzMRWwL2U7b?= =?iso-8859-1?Q?OYdyaAfP21UJ/azQV/vtQ8OSprJsr9X2KENLiAjYu7ID7LoMmeaEM/I8fB?= =?iso-8859-1?Q?hvEpOdwCkKtG4aiIe751Qvv+cgbBcyGp+hUG5zpQodQ0bKnomtHH1cy5Um?= =?iso-8859-1?Q?Owh2ND95TryVz57ehQkbNBjHskEKgmm3LUEUJGYBL5wmCPe43kTCG++eSF?= =?iso-8859-1?Q?pSBpkZyn+YJ8t9hWF+MAn0iBrtKf2KcF0Pr8OKrzJ3LJfaWCCFHAvqBGBq?= =?iso-8859-1?Q?hZYPZg4Rm/1gPlM1mmVE0ai7rYEtJFOFUHGbv49iN1PdBk5OlKpskdTrjD?= =?iso-8859-1?Q?VBLcLNy8BG44hrBFP/FayK8qY0RWwMETTjzkg+AR7xZRjWYMwA7pNRiFrK?= =?iso-8859-1?Q?K0SL58vDaNUl2j2KVP8gcHwsuTREYE07lJGfcpnm6uuky/7tifzgYQovMj?= =?iso-8859-1?Q?8fd33DdG+YhsBMX6AqBYddeKnpc2CCr5q4R/qv7pYQDOrr/uZWDmbPJsr+?= =?iso-8859-1?Q?tB+BdOdAGbK6Hh+9dlWODzJsetTJCLkCi6FbFtmBfxqhYw4fw1I6GQisJG?= =?iso-8859-1?Q?LcNWDTT5wuVBe/MVWTTWTohjCWa3bUDg4V8Prc4wn2bBT/pFTz1y+Ph0Za?= =?iso-8859-1?Q?pREBO9cRqI6labrAqBEW2bjxzyr4XkTXtsNVSW7sqJQLmMz2uFzPDZJ/M7?= =?iso-8859-1?Q?35sdp2Kd2QUmL+AeZVCWBf3BTodjPapBhWew4drWmie1MzxpQuijrDp0oh?= =?iso-8859-1?Q?isPK6iK37+cW+8KxrJ8DxOKKtH5rTm3GKiqicuf+8TYZCWUSGRsbALi9B8?= =?iso-8859-1?Q?kolNKfR1CqQGn9M/u/EoTdAbzPiSjf35HMoRTF72/q7xIZ1m5G53KswIYk?= =?iso-8859-1?Q?cLdLTfGd5cezBTrbvBB2Ath2lf148hQLD3OQjn0jwnNDoGPyI2N10ItJQC?= =?iso-8859-1?Q?sUzPp8/OLYhP+WmK3OrJYRO7jXsKaMxHXr0+yP6SuzyIZeNej8m0O10eCO?= =?iso-8859-1?Q?GLwp15QHxCeuL7w/+znEk5cD9JN+4tbEX09JPUucJY6UdFLbgWrfgmsLuZ?= =?iso-8859-1?Q?KcXNE4HWZEJceV7zYllhuHYrVIZ7GFgpoLHTbd0patz8niOVTj6y4/70XD?= =?iso-8859-1?Q?Lj4pwg1hRPRgPLd5y5/z5j+RxahCZc+UazAVN8mn?= MIME-Version: 1.0 X-OriginatorOrg: GSDeng.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8PR09MB6216.namprd09.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0921f7e7-6f47-44c2-4cd2-08ddb9bc0477 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2025 22:58:53.6064 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: d94bea1e-2eee-4e3c-8350-5f96c528fe02 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR09MB10222 Subject: [FFmpeg-devel] [PATCH v2] mpegtsenc: Add SYNC KLV metadata descriptors (MISB ST1402) 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: Added metadata_descriptor and metadata_std_descriptor to the PMT for synchronous KLV streams. Asynchronous KLV streams remain as they were. The descriptors are required by MISB ST-1402.2 and are in accordance with ISO/IEC 13818-1. Apologies for the previous version. The instructions at "https://ffmpeg.org/developer.html#toc-Submitting-patches-1" "Sending patches from email clients" no longer appears to work with outlook. Signed-off-by: Caleb Sawyer --- libavformat/mpegtsenc.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index 6935b71cfe..e99e189299 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -814,7 +814,28 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) break; case AVMEDIA_TYPE_DATA: if (codec_id == AV_CODEC_ID_SMPTE_KLV) { - put_registration_descriptor(&q, MKTAG('K', 'L', 'V', 'A')); + if (st->codecpar->profile == AV_PROFILE_KLVA_SYNC) { + const char *fmtIdent = "KLVA"; + *q++ = METADATA_DESCRIPTOR; + *q++ = 9; /* descriptor length */ + put16(&q, 0x0100); /* metadata_application_format */ + *q++ = 0xff; /* metadata_format */ + putbuf(&q, fmtIdent, 4); /* KLVA */ + *q++ = 0x00; /* metadata_service_id */ + *q++ = 0x0f; /* decoder_config_flags, DSM-CC_flat, reserved */ + *q++ = METADATA_STD_DESCRIPTOR; + *q++ = 9; /* descriptor length */ + *q++ = 0xc0; + put16(&q, 0x0000); /* reserved, metadata_input_leak_rate 0x01c4 */ + *q++ = 0xc0; + put16(&q, 0x0000); /* reserved, metadata_buffer_size 0x0400 */ + *q++ = 0xc0; + put16(&q, 0x0000); /* reserved, metadata_output_leak_rate */ + } else { + put_registration_descriptor(&q, MKTAG('K', 'L', 'V', 'A')); + } + } else if (codec_id == AV_CODEC_ID_SMPTE_2038) { + put_registration_descriptor(&q, MKTAG('V', 'A', 'N', 'C')); } else if (codec_id == AV_CODEC_ID_SMPTE_2038) { put_registration_descriptor(&q, MKTAG('V', 'A', 'N', 'C')); } else if (codec_id == AV_CODEC_ID_TIMED_ID3) { -- 2.47.1.windows.1 _______________________________________________ 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".